.signal-lab{--sl-border:#dce5d8;--sl-green:#2d6850;--sl-muted:#7e917d;color:#294738;font-size:12px;min-width:0}.signal-lab button,.signal-lab .sl-button{border:1px solid #d5e1cf;border-radius:7px;padding:8px 11px;background:#fafcf7;color:#466b47;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}.signal-lab button:hover,.signal-lab .sl-button:hover{background:#eaf2e4;border-color:#a8bf9c}.signal-lab button.active{background:#e1edda;border-color:#8fae7f;color:#2d6547}.signal-lab button:disabled{opacity:.4;cursor:not-allowed}.signal-lab p{line-height:1.7;color:var(--sl-muted);margin:7px 0}.signal-lab h2{font-size:23px;font-weight:550}.signal-lab h3{font-size:14px;margin:0;font-weight:600}.signal-lab h4{font-size:12px;margin:0 0 10px}.signal-lab input,.signal-lab select,.signal-lab textarea{font:inherit;border:1px solid #d9e4d3;border-radius:6px;background:#fff;padding:7px;color:#385d3d;max-width:100%}.signal-lab input[type=range]{padding:0;accent-color:#54875e;width:100%}.signal-lab summary{cursor:pointer;font-size:11px;color:#6d8267;margin:10px 0}.signal-lab details pre{margin:10px 0;white-space:pre-wrap;font:11px/1.8 ui-monospace,monospace;background:#f0f5ed;padding:14px;border-radius:8px;color:#61785c;overflow-wrap:anywhere}.sl-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:19px}.signal-lab .sl-eyebrow{font-size:9px;font-weight:650;letter-spacing:1.7px;color:#8a9c80;margin:0 0 9px}.sl-heading>div>p:last-child{font-size:11px}.sl-source{display:inline-block;white-space:nowrap;color:#51815a;background:#eaf2e3;border:1px solid #d4e2c9;padding:7px 11px;border-radius:30px;font-size:10px}.sl-modebar{display:flex;align-items:center;gap:18px;margin-bottom:20px}.sl-modebar>span{font-size:11px;color:#889a7e}.sl-segment{display:flex;gap:3px;background:#eaf0e3;padding:4px;border-radius:9px}.signal-lab .sl-segment button{border-color:transparent;background:none;padding:8px 20px;font-size:12px}.signal-lab .sl-segment button.active{background:#fff;box-shadow:0 2px 6px #42643810;color:#366d4c}.sl-workbench{display:grid;grid-template-columns:175px minmax(0,1fr) 235px;gap:13px;align-items:stretch}.sl-library,.sl-inspector,.sl-canvas-card,.sl-table-section,.sl-simulation,.sl-results>section{border:1px solid var(--sl-border);border-radius:11px;background:#fcfdf9;min-width:0}.sl-library,.sl-inspector{padding:16px}.sl-library h3{font-size:12px;line-height:1.7}.sl-library>p{font-size:10px}.sl-library>button{width:100%;margin:5px 0}.sl-library details textarea{width:100%;font-size:10px;resize:vertical}.sl-point-list{display:flex;flex-direction:column;gap:5px;margin:15px 0;max-height:290px;overflow:auto}.signal-lab .sl-point-list button{display:block;text-align:left;padding:9px;border-color:transparent;background:#f1f5ec}.sl-point-list span{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-point-list small{display:block;font-size:9px;color:#90a184;margin-top:4px}.sl-library-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;border-top:1px solid var(--sl-border);padding-top:13px}.signal-lab .sl-library-actions button{font-size:9px;padding:7px 4px}.sl-canvas-card{display:flex;flex-direction:column;overflow:hidden}.sl-canvas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:11px;border-bottom:1px solid var(--sl-border);flex-wrap:wrap}.sl-view-tabs{display:flex;gap:4px;flex-wrap:wrap}.signal-lab .sl-view-tabs button{font-size:10px;padding:6px 8px;border-color:transparent;background:transparent}.signal-lab .sl-view-tabs button.active{background:#e6efdf}.sl-view-tabs>span{font-size:11px;color:#627a58}.sl-zoom{display:flex;gap:3px}.signal-lab .sl-zoom button{font-size:10px;padding:5px 7px;background:#fff}.sl-circuit-scroll{min-height:380px;max-height:640px;overflow:auto;flex:1;background-color:#f8fbf6;background-image:radial-gradient(#dbe6d2 .8px,transparent .8px);background-size:18px 18px;padding:13px}.sl-circuit-scroll>[data-sl=circuit]{min-width:500px;transform-origin:0 0;margin:auto}.sl-canvas-caption{font-size:9px;line-height:1.6;color:#8b9b80;padding:10px 13px;border-top:1px solid #e7eddf}.sl-schematic{width:100%;height:auto;display:block;font-family:inherit}.sl-schematic text{pointer-events:none;fill:#63805c;font-size:12px}.sl-part{cursor:pointer;outline:none}.sl-part-bg{fill:#fcfef9;stroke:#b5c9a7;stroke-width:1.4}.sl-part:hover .sl-part-bg{fill:#edf5e7;stroke:#6f9862}.sl-part.selected .sl-part-bg,.sl-part:focus-visible .sl-part-bg{stroke:#bf9851;stroke-width:2.8;fill:#fffcf0}.sl-schematic .sl-node-title{font-size:14px;font-weight:650;fill:#345c3e}.sl-schematic .sl-node-sub{font-size:10px;fill:#90a281}.sl-schematic .sl-node-reading{font-size:12px;fill:#4e7e4a;font-weight:600}.sl-chip{fill:#476b52;stroke:#a4b59d}.sl-chip-pin{stroke:#a9bb98;stroke-width:2;fill:none}.sl-icon-circle{fill:#e1edd8;stroke:#8da97b;stroke-width:1.5}.sl-pin{fill:#f9fcf7;stroke:#93af86;stroke-width:1.5}.sl-wire{fill:none;stroke:#84a694;stroke-width:2;stroke-linejoin:round}.sl-wireless{stroke:#76a4b0;stroke-dasharray:6 5}.sl-schematic .sl-wire-label{font-size:9px;fill:#819786}.sl-schematic .sl-svg-caption{font-size:11px;fill:#91a185}.sl-inspector{max-height:710px;overflow:auto}.sl-inspector>h3{font-size:14px;line-height:1.5}.sl-inspector>p{font-size:10px;line-height:1.8}.signal-lab .sl-inspector-id{color:#9aa98e;font-size:9px}.sl-node-live{font-size:14px;line-height:1.6;font-weight:500;color:#4d7a47;padding:12px 0;border-bottom:1px solid #e4ecdc;margin-bottom:10px}.sl-inspector dl{font-size:10px;line-height:1.8;margin:0 0 15px}.sl-inspector dt{color:#54784c;margin-top:10px;font-weight:600}.sl-inspector dd{margin:3px 0 0;color:#8a9a7c}.sl-inspector label{display:flex;flex-direction:column;gap:6px;font-size:10px;margin:10px 0;color:#829676}.sl-inspector label input,.sl-inspector label select{font-size:11px;width:100%}.sl-inspector button{width:100%;margin:3px 0;font-size:10px}.sl-point-inputs{border-top:1px solid #e1ead9;margin-top:14px;padding-top:5px}.signal-lab .sl-remove{color:#ad7866;border-color:#e5d7ca;margin-top:12px}.sl-table-section{margin-top:15px;overflow:hidden}.sl-table-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid #e5eddd}.sl-table-head>span{font-size:9px;color:#99a98e}.sl-table-scroll{overflow:auto;max-height:235px}.sl-table-scroll table{font-size:10px}.sl-table-scroll th,.sl-table-scroll td{padding:9px 14px}.sl-table-scroll th{position:sticky;top:0;background:#f1f6eb;font-size:9px;z-index:1}.sl-simulation{margin-top:20px;padding:19px}.sl-experiment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.sl-experiment-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.sl-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.sl-inputs label{font-size:10px;color:#71876a;min-width:0}.sl-inputs label>span{display:flex;justify-content:space-between;gap:6px;margin-bottom:8px}.sl-inputs output{color:#427344;font-size:11px;font-variant-numeric:tabular-nums}.sl-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sl-scenarios h4{grid-column:1/-1;margin:0}.signal-lab .sl-scenarios button{display:block;text-align:left;padding:9px 11px;background:#f3f7ee}.sl-scenarios strong{display:block;font-size:10px;font-weight:550}.sl-scenarios small{display:block;font-size:9px;color:#93a484;margin-top:5px}.sl-results{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}.sl-results>section{overflow:hidden}.sl-results>section>details{padding:0 17px}.sl-decision{margin:0 17px;padding:11px 0;border-bottom:1px solid #eaf0e3}.sl-decision:last-child{border-bottom:0}.sl-decision>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.sl-decision strong{font-size:11px;font-weight:550}.sl-decision b{font-size:12px;color:#5b8050;font-weight:550}.sl-decision p{font-size:10px;margin:6px 0 0}.sl-events{padding:12px 17px;font-size:10px;max-height:280px;overflow:auto}.sl-events>div{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #edf2e8;line-height:1.7;color:#7c9072}.sl-events time{color:#a3af98;font-size:9px;white-space:nowrap}.sl-serial{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.8 ui-monospace,monospace;color:#5f8159}.signal-lab .sl-notice{padding:12px 15px;background:#edf3e7;border-radius:8px;font-size:10px;margin-top:14px}.sl-firmware-setup{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;border:1px solid #d4e2d4;border-radius:11px;padding:20px;background:#eef5ec;margin-bottom:17px}.sl-firmware-setup strong{font-size:13px}.sl-firmware-setup p{font-size:10px;line-height:1.9}.sl-firmware-setup .sl-button{margin-right:6px;margin-top:8px;background:#fff;font-size:10px}.sl-gateway{border-left:1px solid #dbe6d7;padding-left:20px}.sl-gateway label{font-size:10px;color:#7b9271}.sl-gateway>div{display:flex;gap:7px;margin:10px 0}.sl-gateway>strong{font-size:11px;color:#548653}.sl-gateway select{margin-left:8px;font-size:11px}.sl-firmware-workbench{grid-template-columns:minmax(0,1fr) 255px}.sl-firmware-workbench .sl-circuit-scroll{min-height:390px}.sl-firmware-workbench .cw-schematic .cw-note-box{fill:#f1f5eb}
@media(min-width:1600px){.sl-workbench{grid-template-columns:190px minmax(0,1fr) 270px}.sl-firmware-workbench{grid-template-columns:minmax(0,1fr) 290px}.sl-circuit-scroll{max-height:700px}}
@media(max-width:1180px){.sl-workbench{grid-template-columns:150px minmax(0,1fr) 205px;gap:9px}.sl-library,.sl-inspector{padding:12px}.sl-firmware-workbench{grid-template-columns:minmax(0,1fr) 230px}.sl-modebar>span{font-size:10px}.sl-circuit-scroll{min-height:320px;padding:8px}.sl-experiment-grid{gap:18px}.sl-inputs{gap:13px}}
@media(max-width:980px){.sl-workbench{grid-template-columns:155px minmax(0,1fr)}.sl-inspector{grid-column:1/-1;max-height:none;display:block}.sl-inspector dl{display:grid;grid-template-columns:120px 1fr;gap:3px 10px}.sl-inspector dt{margin-top:3px}.sl-inspector label{display:inline-flex;vertical-align:top;width:30%;margin-right:2%}.sl-inspector button{max-width:230px;display:flex}.sl-firmware-workbench{grid-template-columns:minmax(0,1fr)}.sl-firmware-workbench .sl-inspector{grid-column:auto}.sl-circuit-scroll{max-height:550px}.sl-experiment-grid{grid-template-columns:1fr}.sl-scenarios{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.sl-heading{display:block}.signal-lab h2{font-size:19px}.sl-source{font-size:9px;margin-top:7px}.sl-modebar{align-items:start;flex-direction:column;gap:8px}.signal-lab .sl-segment button{font-size:11px;padding:8px 15px}.sl-workbench{grid-template-columns:1fr}.sl-library{display:block}.sl-library>button{width:auto;margin-right:5px}.sl-point-list{display:grid;grid-template-columns:1fr 1fr;max-height:160px}.sl-library-actions{grid-template-columns:repeat(4,1fr)}.sl-circuit-scroll{min-height:320px;max-height:480px}.sl-inspector label{width:100%;margin-right:0}.sl-inspector dl{grid-template-columns:95px 1fr}.sl-table-head h3{font-size:12px}.sl-table-head>span{font-size:8px}.sl-simulation{padding:13px}.sl-experiment-head{align-items:start}.sl-experiment-head h3{font-size:12px}.signal-lab .sl-experiment-head button{font-size:9px;padding:7px}.sl-scenarios{grid-template-columns:1fr 1fr}.sl-results{grid-template-columns:1fr}.sl-firmware-setup{grid-template-columns:1fr;padding:14px}.sl-gateway{padding:14px 0 0;border-left:0;border-top:1px solid #dbe6d7}.sl-inputs{gap:14px}.sl-inputs label>span{display:block}.sl-inputs output{display:block;margin-top:5px}}
.sl-registered{margin-top:16px;border:1px solid var(--sl-border);border-radius:11px;background:#fcfdf9;overflow:hidden}.sl-registered[hidden]{display:none}.sl-module-links{display:flex;gap:6px;flex-wrap:wrap}.sl-registered-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:0 17px}.signal-lab .sl-registered-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:12px;gap:6px;overflow-wrap:anywhere;min-width:0}.sl-registered-card strong{font-size:12px;color:#385f4c}.sl-registered-card span{font-size:10px;color:#779080}.sl-registered-card small{font-size:10px;color:#82947c}.signal-lab .sl-reg-note{margin:12px 17px;font-size:10px}.signal-lab .sl-reg-empty{margin:8px 0;font-size:11px}.sl-inspector>.sl-button{max-width:100%;text-decoration:none}.signal-lab .sl-module-links .sl-button{text-decoration:none;white-space:nowrap}@media(max-width:620px){.sl-registered>.sl-table-head{align-items:flex-start;flex-direction:column}.sl-registered-list{grid-template-columns:1fr}.sl-module-links{width:100%}.signal-lab .sl-module-links .sl-button{flex:1;font-size:10px}}
