@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{font-family:'Golos Text',system-ui,sans-serif;color:#273542;background:#f5f7f9;font-size:16px;--green:#119b76;--muted:#87939e;--border:#e5e9ee}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--border);background:white;border-radius:7px;color:#4c5b68;padding:9px 12px;transition:background .15s}button:hover{background:#f0f6f4;border-color:#a2ccbf}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #20aa88;outline-offset:2px}header{height:72px;background:#111b25;display:flex;align-items:center;padding:0 26px;color:#e4e9ed;gap:27px}.brand{font-size:28px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;text-decoration:none;color:white;gap:10px}.brand-icon{display:grid;place-items:center;background:#21c69a;width:31px;height:35px;border-radius:9px;color:#102b25;font-size:31px}.brand-dot{color:#21c69a;margin-left:-10px}.header-divider{width:1px;height:24px;background:#33404c}.workspace-title{font-size:16px}.badge{font-size:12px;border:1px solid #44505b;color:#98a6b0;padding:3px 5px;border-radius:4px;margin-left:9px;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.header-actions button,.header-actions .header-link{background:#1e2a35;border:1px solid #34414d;color:#d4dce3;font-size:15px;border-radius:7px;padding:9px 12px;text-decoration:none;line-height:1.25}.header-actions .header-link:hover{background:#293a47;border-color:#a2ccbf}.header-actions #saved{font-size:14px;color:#8caaa0;margin-right:16px}main{height:calc(100dvh - 72px);min-height:650px;display:grid;grid-template-columns:244px minmax(420px,1fr) 260px}.library,.inspector{background:#fff;display:flex;flex-direction:column;min-height:0}.library{border-right:1px solid var(--border)}.inspector{border-left:1px solid var(--border)}.panel-heading{height:66px;padding:0 21px;display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font-size:16px;font-weight:600}.panel-heading>span{color:#9aa5ae;font-size:14px}.search{display:flex;align-items:center;background:#f6f8fa;border:1px solid #e8ecf0;border-radius:7px;margin:0 17px;height:37px;padding:0 10px;gap:8px}.search>span{font-size:24px;color:#8b98a2}.search input{min-width:0;width:100%;border:0;background:transparent;font-size:14px;outline:none}.search kbd{color:#9ba6af;border:1px solid #dde3e8;border-radius:3px;padding:0 4px}.category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 17px 10px}.category-tabs button{border:0;padding:6px 8px;font-size:13px;color:#7b8895;background:#f2f5f7}.category-tabs button.active{background:#e4f5ef;color:#168564}#library-list{padding:0 12px 12px;overflow:auto;flex:1}.group-heading{font-size:12px;letter-spacing:1.4px;color:#99a3ad;padding:18px 9px 8px;font-weight:600}.component-button{display:flex;width:100%;align-items:center;border-color:transparent;text-align:left;gap:12px;padding:7px 9px;margin:2px 0;border-radius:8px}.component-button.selected{background:#eaf8f2;border-color:#b2e1cf}.component-button svg{width:39px;height:32px;color:#526673;background:#f4f6f8;border-radius:5px}.component-button .part-title{display:block;font-size:15px}.component-button .part-caption{display:block;font-size:12px;color:#9aa4ae;margin-top:3px}.component-button .add{margin-left:auto;color:#a9b3bb;font-size:18px}.library-footer{border-top:1px solid var(--border);margin:0 17px;padding:16px 0;display:flex;align-items:center;gap:12px;color:#9aa5ad;font-size:13px;line-height:1.6}.tip-icon{font-size:20px;color:#6c8a80}.library-footer p{margin:0}.workspace{display:flex;flex-direction:column;min-width:0}.project-bar{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#fcfdfe;border-bottom:1px solid var(--border);gap:10px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#94a1ac;display:block;margin-bottom:8px}#project-name{border:0;background:transparent;font-size:19px;font-weight:550;color:#293846;max-width:100%;width:290px;padding:0}.project-actions{display:flex;gap:7px;align-items:center}.project-actions select{max-width:160px;background:transparent;border:0;font-size:14px;color:#75838e}.project-actions button{font-size:14px;white-space:nowrap}.canvas-wrap{position:relative;flex:1;min-height:290px;overflow:hidden;background:#f6f8fa}#canvas{width:100%;height:100%;position:absolute;touch-action:none;outline:none}.canvas-toolbar{position:absolute;top:20px;left:20px;display:flex;align-items:center;padding:5px;border:1px solid #e2e8ec;background:#fff;box-shadow:0 3px 10px #24364506;border-radius:9px;gap:3px}.canvas-toolbar button{border:0;padding:6px 10px;font-size:20px;background:white}.canvas-toolbar button.active{color:#0d9470;background:#e8f6ef}.canvas-toolbar span{height:20px;width:1px;background:var(--border);margin:0 3px}.canvas-caption{position:absolute;left:23px;bottom:19px;display:flex;align-items:center;gap:8px;font-size:13px;color:#83919b}.live-dot{height:6px;width:6px;display:inline-block;background:#2ab48c;border-radius:50%}.zoom-controls{display:flex;align-items:center;position:absolute;right:20px;bottom:16px;background:white;border:1px solid var(--border);border-radius:6px;font-family:'IBM Plex Mono',monospace;font-size:13px}.zoom-controls button{border:0;background:transparent;padding:6px 10px}.zoom-controls span{min-width:40px;text-align:center}.part{cursor:grab}.part.selected .selection{display:block}.selection{display:none;fill:#119b7608;stroke:#19a982;stroke-width:1;stroke-dasharray:4 3}.part text{pointer-events:none;user-select:none;font-family:'IBM Plex Mono',monospace}.terminal{cursor:crosshair;fill:#fff;stroke:#678190;stroke-width:1.5}.terminal:hover{r:7;fill:#b7f4d7;stroke:#169671}.wire{fill:none;stroke:#5a7e79;stroke-width:2;cursor:pointer}.wire.selected{stroke:#12b58c;stroke-width:4}.running .wire{stroke:#23a383}.scope{height:191px;background:#fff;border-top:1px solid var(--border);padding:0 24px;flex-shrink:0}.scope-heading{display:flex;justify-content:space-between;align-items:center;height:51px;font-size:14px}.scope-heading>div{display:flex;align-items:center;gap:10px}.scope-icon{font-size:24px;color:#6a7c87}.scope-heading strong{font-weight:550}.scope-subtitle{font-size:12px;color:#9aa4ac;margin-left:7px}.scope-legend{color:#20a986;font:13px 'IBM Plex Mono',monospace}.scope-body{position:relative;padding-left:37px;height:114px}.scope-axis{position:absolute;left:0;top:0;height:110px;display:flex;flex-direction:column;justify-content:space-between;font:11px 'IBM Plex Mono',monospace;color:#a0abb3}#scope-chart{width:100%;height:110px}.scope-time{position:absolute;bottom:-17px;right:0;font:11px 'IBM Plex Mono',monospace;color:#a0abb3}.simulation-bar{height:64px;background:#fcfdfe;border-top:1px solid var(--border);display:flex;align-items:center;padding:0 22px;gap:12px;font-size:13px;flex-shrink:0}.run-button{background:#119b76;color:white;border-color:#119b76;padding:10px 15px;font-size:14px;font-weight:550}.run-button:hover{background:#09805f;color:white}.run-button span{margin-left:7px}#reset{border:0;background:transparent;font-size:20px;padding:5px}.sim-divider{height:20px;width:1px;background:var(--border)}#sim-status{color:#98a3ad;font-size:12px}.simulation-clock{margin-left:auto;color:#86959e;font:13px 'IBM Plex Mono',monospace}.simulation-clock b{font-weight:400;color:#455e6a}.simulation-bar label{color:#86959e;white-space:nowrap}.simulation-bar select{border:1px solid var(--border);border-radius:5px;color:#586b78;padding:4px;font-size:13px;background:white;margin-left:5px}#properties{padding:0 21px}.property-preview{height:91px;background:#f6f8fa;border:1px solid #edf0f3;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative}.property-preview svg{width:106px;height:66px}.property-preview .badge{position:absolute;top:10px;right:9px;color:#78998b;border-color:#c7e4d7;font-size:11px;background:#edf8f2}#properties h3{font-size:17px;font-weight:550;margin:17px 0 5px}.property-type{font-size:13px;color:#98a4ae;margin-bottom:24px}.field{display:block;font-size:13px;color:#7b8b96;margin:16px 0}.field input{display:block;width:100%;border:1px solid #dfe6eb;border-radius:6px;padding:10px;margin-top:8px;font:15px 'IBM Plex Mono',monospace;color:#45596a;background:#fff}.readings{border-top:1px solid var(--border);margin-top:24px;padding-top:15px}.readings>div{display:flex;justify-content:space-between;margin:12px 0;color:#8e9ca6;font-size:13px}.readings strong{font:14px 'IBM Plex Mono',monospace;color:#268a70}.inspector-buttons{display:flex;gap:7px;margin:20px 0}.inspector-buttons button{font-size:13px;flex:1}.circuit-stats{margin:18px 21px 0;border-top:1px solid var(--border);padding-top:8px}.circuit-stats h3{font-size:12px;color:#9aa7b0;letter-spacing:1.5px;font-weight:500}.circuit-stats>div{display:flex;justify-content:space-between;font-size:13px;color:#8c9ba7;margin:15px 0}.circuit-stats strong{font-weight:400;color:#4b606d}.note{display:flex;gap:10px;margin:25px 17px 0;background:#f4f8f7;padding:15px 12px;border:1px solid #e9efec;border-radius:7px;font-size:14px;color:#729185}.note strong{font-size:13px;color:#4f7567;font-weight:500}.note p{font-size:13px;line-height:1.7;margin:8px 0;color:#8c9e96}.note button{border:0;padding:0;text-align:left;background:none;font-size:12px;color:#4e8c76}.inspector-bottom{font-size:12px;color:#99a8a0;margin:auto 20px 0;padding:24px 0;display:flex;align-items:center;gap:7px}#toast{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);background:#203a35;color:white;padding:11px 18px;border-radius:7px;font-size:14px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:90%;text-align:center}#toast.visible{opacity:1}dialog{border:1px solid #dce5e1;border-radius:16px;max-width:600px;width:90%;padding:35px;color:#354a50;box-shadow:0 20px 80px #12231e33}dialog::backdrop{background:#14251f66;backdrop-filter:blur(3px)}dialog h2{font-size:23px;margin-top:0}dialog p,dialog li{font-size:16px;line-height:1.8}dialog li{margin-bottom:10px}#close-dialog{position:absolute;right:12px;top:12px;border:0;font-size:22px}kbd{font-family:monospace}.empty-properties{color:#92a0a9;line-height:1.8;padding:25px 0}.error-status{color:#b96f31!important}@media(min-width:1600px){main{grid-template-columns:270px minmax(420px,1fr) 285px}.scope{height:215px}.scope-body,.scope-axis,#scope-chart{height:130px}}@media(max-width:1120px){main{grid-template-columns:200px minmax(380px,1fr) 220px}header{gap:15px;padding:0 18px}.header-actions #saved{display:none}.project-bar{padding:0 18px}#project-name{font-size:16px;width:220px}.project-actions select{max-width:110px}.scope-subtitle{display:none}#sim-status{display:none}.note{margin-top:10px}.panel-heading{padding:0 17px}#properties{padding:0 17px}}@media(max-width:850px){main{grid-template-columns:165px minmax(380px,1fr);min-height:650px}.inspector{display:none}.workspace-title{display:none}.header-divider{display:none}.header-actions button span{display:none}header{height:60px}main{height:calc(100dvh - 60px)}.component-button{gap:6px;padding:6px 3px}.component-button .part-title{font-size:13px}.component-button .add{display:none}.category-tabs{margin:12px 10px}.search{margin:0 10px}.search kbd{display:none}.library-footer{font-size:12px}.brand{font-size:24px}}@media(max-width:560px){main{grid-template-columns:110px minmax(280px,1fr)}.library .panel-heading{padding:0 10px}.panel-heading h2{font-size:14px}.component-button svg{width:28px}.component-button .part-title{font-size:12px}.part-caption{display:none!important}.component-button{gap:4px}.search{padding:0 4px}.search input{font-size:12px}.search>span{display:none}.group-heading{font-size:11px;padding-left:1px}.category-tabs{gap:3px;margin:10px 6px}.category-tabs button{font-size:11px;padding:5px}.library-footer{display:none}.project-bar{height:90px;display:block;padding:12px}.project-actions{margin-top:8px}.eyebrow{display:none}.header-actions{gap:4px}.header-actions button{padding:7px;font-size:13px}header{padding:0 10px}.simulation-bar{padding:0 10px;gap:5px}.simulation-clock{font-size:11px}.simulation-bar label{font-size:11px}.run-button{padding:8px}.scope{padding:0 12px;height:180px}.canvas-toolbar{left:10px;top:10px}.canvas-toolbar button{padding:5px 8px}}

.inspector{overflow-y:auto}.inspector>*{flex-shrink:0}.limits-panel{border-top:1px solid var(--border);margin-top:20px;padding-top:6px}.limits-panel h4{font-size:14px;margin-bottom:10px}.limits-panel p,.damage-status p{font-size:13px;line-height:1.6;color:#7e8f99}.limits-panel .field{margin:12px 0}.damage-status{font-size:14px;margin:16px 0;color:#34836a}.damage-status progress{display:block;width:100%;height:6px;margin-top:10px;accent-color:#d59b32}.damage-status.failed{padding:12px;background:#fff0ed;border:1px solid #edbbb1;border-radius:8px;color:#af493a}.damage-status.failed p{color:#a5685d}#repair{font-size:13px;color:#b34b3b;border-color:#edc0b6;width:100%}.simulation-bar{position:sticky;bottom:0;z-index:3}main{min-height:0}.canvas-wrap{min-height:200px}

#show-properties,#close-properties{display:none}@media(max-width:850px){#show-properties,#close-properties{display:block}.inspector.mobile-open{display:flex;position:fixed;right:0;top:60px;bottom:0;width:285px;z-index:10;box-shadow:-12px 0 40px #132e2722}#close-properties{align-self:flex-end;margin:10px}}

.junction{fill:#287d69;stroke:#f6f8fa;stroke-width:1;cursor:crosshair}.junction:hover{r:7;fill:#16b98d}#ghost{pointer-events:none}
.part .selection{display:block;fill:transparent;stroke:transparent;pointer-events:none}
.part.selected .selection{fill:#119b7608;stroke:#19a982}
#canvas[data-tool="select"] .part .selection{pointer-events:all}
.brand-logo{display:block;width:190px;height:auto;max-height:64px;object-fit:contain}
@media(max-width:850px){.brand-logo{width:150px}}
@media(max-width:560px){.brand-logo{width:126px}}

.terminal-sign{font-size:13px;color:#8a99a2;line-height:1.6}
.scope{height:285px;padding:0 20px;overflow:hidden}.scope-top{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;flex-wrap:wrap}.scope-actions{display:flex;gap:4px}.scope-actions button{font-size:13px;padding:4px 7px}.scope-actions button.active{color:#008765;background:#e8f6f0;border-color:#b6dfd0}.scope-channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 12px}.scope-channel{border-top:2px solid var(--channel);background:#f8fafb;padding:5px 6px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px;font-size:13px;min-width:0}.scope-channel label{display:flex;align-items:center;gap:3px;color:var(--channel);cursor:pointer}.scope-channel input{accent-color:var(--channel);margin:0;width:12px;height:12px}.scope-channel select{width:100%;min-width:0;padding:3px;border:1px solid #dfe7ed;border-radius:4px;background:white;font-size:13px;color:#445867}.scope-channel output{grid-column:2;color:var(--channel);font:13px 'IBM Plex Mono',monospace;min-height:12px}.scope-plot{position:relative;margin-left:48px;height:120px}.scope-y{position:absolute;right:calc(100% + 7px);top:0;height:120px;display:flex;flex-direction:column;justify-content:space-between;white-space:nowrap;font:12px 'IBM Plex Mono',monospace;color:#788c99}.scope #scope-chart{display:block;width:100%;height:120px;touch-action:none;cursor:grab}.scope #scope-chart:active{cursor:grabbing}.scope #scope-chart:focus-visible{outline:2px solid #09987a}.scope-ticks{display:flex;justify-content:space-between;margin:6px 0 0 48px;font:12px 'IBM Plex Mono',monospace;color:#788c99;gap:6px}.scope-hint{font-size:12px;color:#788c99;margin-top:9px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}#scope-empty{position:absolute;left:10px;top:44px;color:#8b9aa4;font-size:14px;pointer-events:none}#scope-empty[hidden]{display:none}@media(max-width:1300px){.scope{height:340px;padding:0 12px}.scope-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-top{padding:5px 0}.scope-actions{flex-wrap:wrap}.scope-hint{font-size:11px}}@media(max-width:560px){.scope{height:360px}.scope-top{gap:5px}.scope-actions button{font-size:12px;padding:4px}.scope-ticks{font-size:11px}.scope-channel{padding:4px}.scope-channel select{font-size:12px}.scope-hint{line-height:1.5}}

/* Readable panels and wrapping controls at enlarged type sizes. */
.scope{height:auto;min-height:300px;padding-bottom:14px;overflow:visible}.scope-top{padding:10px 0;gap:10px}.scope-channels{gap:9px}.scope-channel{padding:7px;row-gap:6px}.scope-channel input{width:15px;height:15px}.scope-channel select{padding:5px}.scope-channel output{min-height:17px}.scope-plot{margin-left:64px}.scope-ticks{margin-left:64px;flex-wrap:wrap}.scope-hint{line-height:1.6}.scope-actions button{padding:7px 10px}.simulation-bar{height:auto;min-height:82px;flex-wrap:wrap;padding:12px 18px;gap:10px}.simulation-bar label{font-size:13px}.simulation-bar select{font-size:13px;max-width:190px}.simulation-clock{font-size:13px}#actual-speed{font:12px 'IBM Plex Mono',monospace;color:#56776d}#actual-speed.behind{color:#b26a20}.component-button{padding:10px 7px;gap:9px}.component-button>span{min-width:0}.component-button .part-caption{line-height:1.45;color:#778995}.group-heading{letter-spacing:.8px}.field{line-height:1.5}.readings>div{gap:8px;flex-wrap:wrap}.empty-properties{font-size:15px}.scope-y{color:#607986}.scope-ticks,.scope-hint{color:#607986}.panel-heading{min-height:66px}.inspector.mobile-open{width:min(340px,95vw)}
@media(min-width:1301px){main{grid-template-columns:270px minmax(420px,1fr) 310px}}
@media(min-width:851px) and (max-width:1300px){main{grid-template-columns:225px minmax(340px,1fr) 270px}.scope-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){main{grid-template-columns:180px minmax(300px,1fr)}.scope-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-top{align-items:flex-start}.component-button .part-title{font-size:14px}.component-button .part-caption{font-size:12px}.simulation-bar{padding:10px}.scope-actions{flex-wrap:wrap}}
@media(max-width:560px){main{grid-template-columns:135px minmax(280px,1fr)}.scope-actions button{padding:6px;font-size:12px}.scope-channel{padding:5px}.scope-channel select{font-size:12px}.scope-top{font-size:14px}.category-tabs button{font-size:12px}.simulation-clock{margin-left:0}}
.part>text{paint-order:stroke fill;stroke:#f6f8fa;stroke-width:3px;stroke-linejoin:round}
.net-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 20px;background:#fbfdfc;border-bottom:1px solid #e0ebe5;font-size:12px;color:#527164}.net-toolbar label{display:flex;align-items:center;gap:5px}.net-toolbar input{accent-color:#119b76}.net-hover .wire{stroke:#e5a51c!important;stroke-width:4.5;filter:drop-shadow(0 0 3px #e5a51c88)}.terminal.net-pin,.junction.net-pin{fill:#ffd260;stroke:#ab760d;stroke-width:2.5}#net-info{font-family:'IBM Plex Mono',monospace}.scope-tools{margin:6px 0 10px;border:1px solid #dce7e3;border-radius:7px;padding:8px 10px;font-size:12px}.scope-tools summary{cursor:pointer;font-weight:550;color:#526b78}.scope-tools-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0}.scope-tools-row label{display:flex;align-items:center;gap:5px}.scope-tools-row select,.scope-tools-row input[type=number]{border:1px solid #dce5e9;border-radius:4px;padding:5px;font:inherit;max-width:120px}.scope-tools-row input[type=checkbox]{accent-color:#119b76}.scope-tools-row span{color:#768994;font-size:11px}#cursor-readout{display:block;color:#365e72;font:12px/1.8 'IBM Plex Mono',monospace}.block-list>div{display:flex;gap:9px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid #e4ebe7}.block-list strong{flex-basis:100%;font-size:16px}.block-list span{color:#71838c;flex-basis:100%}.block-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:180px;overflow:auto;margin:10px 0}.block-parts label{font-size:13px}.block-port{display:flex;gap:7px;margin:8px 0}.block-port input{width:80px;min-width:0}.block-port select{min-width:0;flex:1}.block-port input,.block-port select{padding:7px;border:1px solid #dbe4e9;border-radius:5px}#block-error{color:#b34b3b}.field select{display:block;width:100%;padding:9px;margin-top:7px;border:1px solid #dfe6eb;border-radius:6px;background:white;color:#45596a}.block-description{font-size:13px;line-height:1.6}.project-actions{flex-wrap:wrap;justify-content:flex-end}.project-bar{height:auto;min-height:85px;padding-top:12px;padding-bottom:12px}.current-flow{pointer-events:none}@media(prefers-reduced-motion:reduce){.current-flow{display:none}}
/* Workspace stays inside the viewport; panels own their scrolling. */
html,body{height:100%;overflow:hidden}body>header{height:56px;padding:0 18px;gap:18px}body>main{height:calc(100dvh - 56px);min-height:0;grid-template-columns:var(--library-width,235px) minmax(0,1fr) var(--inspector-width,280px);overflow:hidden}main.hide-library{--library-width:0px}main.hide-inspector{--inspector-width:0px}main.hide-library>.library,main.hide-inspector>.inspector{display:none}main>.library,main>.inspector{min-width:0;overflow-y:auto}main>.inspector{display:flex}.workspace{min-height:0;overflow:hidden}.layout-bar{display:flex;align-items:center;gap:5px;padding:5px 12px;background:#fff;border-bottom:1px solid #e4ebe8;flex-shrink:0;overflow-x:auto}.layout-bar button{white-space:nowrap;padding:5px 9px;font-size:12px}.layout-bar button.active{background:#e7f5ef;color:#07805f;border-color:#b6dfd0}.project-bar{min-height:52px;padding:7px 18px;flex-shrink:0}.project-bar .eyebrow{display:none}.project-actions button{padding:6px 9px}.net-toolbar{padding:5px 14px;gap:10px;min-height:30px;flex-shrink:0}.canvas-wrap{min-height:120px;flex:1 1 0}.canvas-toolbar{top:10px;left:12px}.scope-resizer{height:8px;flex-shrink:0;cursor:ns-resize;background:linear-gradient(#f4f7f8,#e0e9e5);touch-action:none;position:relative}.scope-resizer:after{content:'';position:absolute;width:42px;height:3px;background:#8ba69b;left:calc(50% - 21px);top:2px;border-radius:3px}.scope-resizer:focus-visible{outline:2px solid #12a17b;outline-offset:-2px}.workspace>.scope{height:var(--scope-height,260px);min-height:0;flex-shrink:0;position:relative;padding:0 14px 6px;display:grid;grid-template-rows:40px 48px minmax(35px,1fr) 20px 18px;gap:4px;overflow:visible}.scope-top{grid-row:1;padding:4px 0;min-height:0;flex-wrap:nowrap;font-size:13px;gap:6px}.scope-actions{flex-wrap:nowrap;gap:4px}.scope-actions button{padding:5px 7px;font-size:12px;white-space:nowrap}.scope-channels{grid-row:2;grid-template-columns:repeat(4,minmax(170px,1fr));gap:6px;margin:0;overflow-x:auto}.scope-channel{padding:5px;grid-template-columns:auto minmax(55px,1fr) auto;align-items:center;gap:4px}.scope-channel output{grid-column:3;font-size:11px;min-height:0}.scope-channel select{font-size:12px;padding:4px}.scope-plot{grid-row:3;min-height:0;height:auto;margin-left:58px}.scope .scope-y,.scope #scope-chart{height:100%}.scope-ticks{grid-row:4;margin:0 0 0 58px;align-items:center;flex-wrap:nowrap;font-size:10px}.scope-hint{grid-row:5;margin:0;font-size:10px;line-height:1.3;overflow:hidden;white-space:nowrap;flex-wrap:nowrap}.scope-tools{display:none;position:absolute;right:10px;bottom:calc(100% - 40px);z-index:12;width:min(760px,calc(100% - 20px));max-height:55vh;overflow:auto;background:white;box-shadow:0 8px 35px #19332a33;border:1px solid #a5cabb;margin:0;padding:14px}.scope-tools[open]{display:block}.scope-tools summary{display:none}#scope-empty{top:35%;font-size:12px}#scope-recover{position:absolute;right:16px;bottom:44px;z-index:2;font-size:12px;padding:5px 9px}.scope-collapsed>.scope{height:40px;grid-template-rows:40px;padding-bottom:0}.scope-collapsed>.scope>:not(.scope-top){display:none!important}.scope-collapsed .scope-actions>:not(#scope-collapse){display:none}.scope-collapsed .scope-resizer{display:none}.simulation-bar{position:static;min-height:54px;padding:7px 12px;gap:8px;flex-shrink:0}.simulation-bar .sim-divider,#sim-status{display:none}.simulation-bar .run-button{padding:8px 11px}.simulation-clock{margin-left:auto;font-size:12px}.simulation-bar label,.simulation-bar select{font-size:12px}.simulation-bar select{max-width:160px}.library-footer,.inspector-bottom,.note{display:none}.panel-heading{height:52px;min-height:52px}.property-preview{height:64px}.property-type{margin-bottom:14px}#show-properties{display:none!important}.header-actions #saved{font-size:12px}
@media(max-width:1250px){body>main{--library-width:200px;--inspector-width:250px}main.hide-library{--library-width:0px}main.hide-inspector{--inspector-width:0px}.header-actions #saved,.workspace-title{display:none}.scope-top>strong{font-size:12px}.scope-actions button{font-size:11px;padding:5px}.scope-hint{display:none}.workspace>.scope{grid-template-rows:40px 48px minmax(35px,1fr) 20px}.scope-collapsed>.scope{grid-template-rows:40px}}@media(max-width:850px){body>main{grid-template-columns:minmax(0,1fr)}main>.library,main>.inspector{position:fixed;top:56px;bottom:0;z-index:20;width:min(290px,90vw);box-shadow:0 6px 30px #183e2e33}main>.library{left:0}main>.inspector{right:0}.layout-bar{position:relative;z-index:21}.project-bar{min-height:50px;display:flex}.project-actions{gap:4px}#project-name{width:180px;font-size:15px}.project-actions select{max-width:90px}.scope-top>strong{max-width:110px}.scope-top{height:40px}.scope-actions{overflow-x:auto}.simulation-bar{gap:5px}.simulation-bar label{font-size:11px}body>header{gap:8px}.brand{font-size:24px}.scope-tools{bottom:calc(100% - 40px)}}

main>.library{grid-column:1}main>.workspace{grid-column:2}main>.inspector{grid-column:3}.scope-actions{min-width:0;overflow-x:auto}.scope-top>strong{flex-shrink:0}@media(max-width:850px){main>.workspace{grid-column:1}}

.engine-choice{margin-left:auto}.engine-choice select{max-width:210px;padding:4px;border:1px solid #d8e5de;border-radius:5px;background:white;font-size:12px}#spice-settings{padding:4px 7px;font-size:12px}#engine-status{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}#spice-message{color:#8c5620}@media(max-width:1100px){#engine-status{max-width:160px}.engine-choice select{max-width:150px}}
/* Component SPICE model selector and in-circuit model library */
.spice-model-panel{margin:18px 0;padding:12px;background:#f3f7f6;border:1px solid #e0ebe7;border-radius:8px}.spice-model-panel .field{margin:0;font-weight:550;color:#526d65}.spice-model-panel select{display:block;width:100%;margin-top:7px;padding:9px;border:1px solid #d6e2dd;border-radius:6px;background:#fff;color:#41565e}.spice-model-panel p{font-size:12px;line-height:1.55;color:#72827e;margin:8px 0}.spice-model-panel button{font-size:12px;padding:7px 9px}.spice-model-list{max-height:260px;overflow:auto}.spice-model-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e7ecef}.spice-model-row strong,.spice-model-row small{display:block}.spice-model-row strong{font-size:14px}.spice-model-row small{margin-top:4px;color:#83919a;font-size:12px}.spice-model-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.spice-model-row button{font-size:12px;color:#99594c}.spice-model-row .model-use-button{color:#fff;background:#138b6d;border-color:#138b6d}
.model-format-help{margin:14px 0;padding:12px;border:1px solid #dfe9e5;border-radius:8px;background:#f7faf9}.model-format-help h3{margin:8px 0 4px;font-size:14px;color:#315a4f}.model-format-help h3:first-child{margin-top:0}.model-format-help p{margin:0 0 7px;font-size:12px;line-height:1.5;color:#6e807b}.model-format-help pre{max-height:150px;overflow:auto;margin:0 0 12px;padding:9px;border-radius:6px;background:#15252a;color:#d8f3e8;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.physical-model-panel{margin:12px 0;padding:12px;border:1px solid #dce9e4;border-radius:8px;background:#f6faf8}.physical-model-panel h4{margin:0 0 10px;color:#315a4f}.physical-model-panel .field{margin:8px 0}.physical-model-panel input{width:100%;margin-top:5px}
.spice-pin-map{margin:9px 0}.spice-pin-map>strong{display:block;font-size:12px;color:#596e69;margin-bottom:6px}.spice-pin-map label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;color:#697b84}.spice-pin-map select{max-width:150px;padding:5px;border:1px solid #d6e2dd;border-radius:5px;background:white}.spice-pin-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:#627a72}
#language{appearance:none;background:#1e2a35;color:#e4e9ed;border:1px solid #34414d;border-radius:6px;padding:7px 25px 7px 9px;font-size:13px;max-width:125px;min-width:80px;cursor:pointer}
@media(max-width:850px){#language{max-width:94px;padding-right:5px}.header-actions{gap:4px}.header-actions button{padding:6px}}

.cloud-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.cloud-list{max-height:45vh;overflow:auto}.cloud-row{display:flex;align-items:center;gap:8px;border-top:1px solid #e1e8e5;padding:10px 0}.cloud-row>div{flex:1;min-width:0}.cloud-row strong,.cloud-row small{display:block;overflow:hidden;text-overflow:ellipsis}.cloud-row small{font-size:12px;color:#788b86}.cloud-row button{flex-shrink:0}#cloud-email-form{margin-top:18px}#cloud-message{min-height:1.5em;color:#477e6d}

/* Signed-in account identity and cloud library */
.cloud-account-button{display:inline-flex!important;align-items:center;gap:8px;max-width:230px;min-width:0;padding:5px 10px 5px 6px!important;border-color:#b7ded1!important;background:#f3faf7!important;color:#345c50!important}
.cloud-account-button:hover{background:#e8f5ef!important;border-color:#83c9b0!important}
.cloud-account-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#dff3ea;color:#0a8e68;font-weight:700;font-size:16px;flex-shrink:0}
.cloud-account-label{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2}.cloud-account-label strong,.cloud-account-label small{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-account-label strong{font-size:12px;font-weight:600}.cloud-account-label small{font-size:10px;color:#71877f}
.cloud-account-avatar,.cloud-profile-avatar{position:relative;display:grid;place-items:center;overflow:hidden;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,#d6f5e8,#a9deca);color:#137c60;font-weight:650}.cloud-account-avatar{width:30px;height:30px;font-size:11px}.cloud-account-avatar img,.cloud-profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cloud-avatar-fallback,.cloud-profile-fallback{display:grid;place-items:center;width:100%;height:100%}
dialog:has(.cloud-profile-card){width:min(680px,calc(100vw - 32px));max-width:680px;padding:30px 34px 26px;border-color:#dce9e4;border-radius:18px;box-shadow:0 26px 90px #10282042}
.cloud-dialog-heading{display:flex;align-items:center;justify-content:space-between;margin:0 34px 19px 0}.cloud-dialog-heading h2{margin:4px 0 0;font-size:25px}.cloud-eyebrow{font-size:10px;font-weight:650;letter-spacing:1.5px;color:#168a69}.cloud-lockup{display:block;width:48px;height:48px;object-fit:cover;border-radius:13px;box-shadow:0 3px 10px #123b3020}
.cloud-profile-card{display:flex;align-items:center;gap:14px;padding:15px 17px;border:1px solid #dcebe4;border-radius:13px;background:linear-gradient(110deg,#f3faf7,#f8fafc 74%);min-width:0}.cloud-profile-avatar{width:54px;height:54px;font-size:18px}.cloud-profile-details{display:flex;flex-direction:column;gap:3px;min-width:0}.cloud-profile-details>strong{font-size:16px;color:#2e454b}.cloud-profile-details>span{font-size:14px;color:#617780;overflow-wrap:anywhere}.cloud-profile-details>small{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;color:#638276}.cloud-profile-details>small i{width:7px;height:7px;border-radius:50%;background:#19ac7d}.cloud-secure-mark{display:grid;place-items:center;margin-left:auto;width:25px;height:25px;border-radius:50%;background:#e1f5e9;color:#11845e;font-weight:700;flex-shrink:0}
.cloud-device-note{margin:10px 2px 0;font-size:12px;color:#7b8c91}.cloud-actions{margin:15px 0;padding-bottom:15px;border-bottom:1px solid #e4ece8}.cloud-actions .cloud-primary-action{background:#0b9a73;color:white;border-color:#0b9a73}.cloud-actions .cloud-primary-action:hover{background:#087c5f;color:white}.cloud-list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 4px;color:#415a62}.cloud-list-heading strong{font-size:14px}.cloud-list-heading>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:12px;background:#edf4f1;color:#638078;font-size:11px}.cloud-row{gap:9px;padding:11px 1px;border-color:#edf1ef}.cloud-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f0f6f3;color:#118966;font-size:19px;flex-shrink:0}.cloud-row-info{flex:1;min-width:0}.cloud-row-info strong{font-size:14px;color:#344d54}.cloud-row-info small{margin-top:2px;font-size:11px}.cloud-row button{padding:7px 11px;font-size:12px}.cloud-empty-state{margin:0;padding:18px 8px;border:1px dashed #d9e5df;border-radius:10px;color:#7d8f8a;font-size:13px;text-align:center}#cloud-message{font-size:13px}
@media(max-width:560px){dialog:has(.cloud-profile-card){padding:24px 18px 18px}.cloud-dialog-heading{margin-right:30px}.cloud-dialog-heading h2{font-size:22px}.cloud-profile-card{padding:12px}.cloud-profile-avatar{width:46px;height:46px}.cloud-account-button{max-width:130px}.cloud-account-label strong,.cloud-account-label small{max-width:88px}.cloud-row{flex-wrap:wrap}.cloud-row-info{min-width:calc(100% - 50px)}.cloud-row button{margin-left:4px}}

/* Polished sign-in form */
dialog:has(.auth-dialog){width:min(490px,calc(100vw - 32px));max-width:490px;padding:34px 38px 26px;border:1px solid #e0e9e5;border-radius:18px;box-shadow:0 26px 90px #10282042}
.auth-dialog{color:#344951}.auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:25px;font-weight:700;font-size:15px;letter-spacing:-.2px;color:#263d43}.auth-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#1bc89a,#0a8b68);color:#fff;font-weight:800;font-size:19px;letter-spacing:-1px}.auth-heading h2{margin:0;font-size:25px;line-height:1.25;letter-spacing:-.45px;color:#263d43}.auth-heading p{margin:9px 0 22px;font-size:14px;line-height:1.6;color:#74858b}.auth-dialog button{font-size:14px}.google-signin{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #dce4e8;border-radius:8px;background:#fff;color:#394c53;font-weight:550;box-shadow:0 1px 2px #172c2910;transition:background .15s,border-color .15s,box-shadow .15s}.google-signin:hover{background:#f9fbfa;border-color:#bdcbc7;box-shadow:0 2px 6px #172c2916}.google-signin svg{width:19px;height:19px}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#96a2a6;font-size:11px}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:#e7ecea}.auth-label{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:#52666d}.auth-input-wrap{height:44px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #dce4e8;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.auth-input-wrap:focus-within{border-color:#16a37a;box-shadow:0 0 0 3px #16a37a1c}.auth-input-wrap svg{width:17px;height:17px;fill:none;stroke:#8b9ba0;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.auth-input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#344951;font:14px 'Golos Text',system-ui,sans-serif}.auth-input-wrap input::placeholder{color:#a2adb0}.auth-submit{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:12px;border:1px solid #0b9871!important;border-radius:8px!important;background:#0b9871!important;color:#fff!important;font-weight:600;transition:background .15s,transform .15s}.auth-submit:hover{background:#087d5e!important}.auth-submit:active{transform:translateY(1px)}.auth-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-message{min-height:0;margin:10px 0 0;color:#267e62;font-size:12px;line-height:1.5}.auth-message:empty{display:none}.auth-privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin:20px 0 0;padding-top:14px;border-top:1px solid #edf0ef;color:#8b999b;font-size:11px}.auth-privacy svg{width:13px;height:13px;fill:none;stroke:#8b999b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#cloud-code-form[hidden],#cloud-email-form[hidden]{display:none}#cloud-code-form .auth-input-wrap input{text-align:center;font-size:22px;font-weight:700;letter-spacing:.35em;font-variant-numeric:tabular-nums}#cloud-resend{display:block;margin:9px auto 0;border:0;background:transparent;color:#60777d;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){dialog:has(.auth-dialog){padding:28px 22px 20px}.auth-brand{margin-bottom:21px}.auth-heading h2{font-size:22px}}

.cloud-row-preview{display:block!important;flex:0 0 180px!important;width:180px;height:64px}.cloud-circuit-preview{display:block;width:100%;height:100%;overflow:visible}.cloud-lockup{display:block;width:48px;height:48px;object-fit:cover;border-radius:13px;box-shadow:0 3px 10px #123b3020}
@media(max-width:700px){.cloud-row-preview{flex-basis:100%!important;width:100%;height:76px}.cloud-row-info{flex:1!important}}

/* Engineering tools */
dialog:has(.engineering-suite){width:min(1050px,calc(100vw - 36px));max-width:1050px;height:min(760px,calc(100vh - 36px));padding:0;overflow:hidden;border-radius:18px}.engineering-suite{height:100%;display:flex;flex-direction:column;color:#314950}.engineering-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:26px 32px 18px}.engineering-heading span{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#078565}.engineering-heading h2{margin:4px 0 0;font-size:26px}.engineering-heading p{max-width:430px;margin:0 35px 2px 0;color:#73858b;font-size:13px}.engineering-tabs{display:flex;gap:3px;padding:0 28px;border-bottom:1px solid #dfe8e4;overflow-x:auto}.engineering-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:10px 12px;color:#6c7f84;white-space:nowrap}.engineering-tabs button.active{color:#078565;border-bottom-color:#0ba079}#engineering-content{padding:24px 32px 34px;overflow:auto;flex:1}#engineering-content h3{margin:0 0 10px}#engineering-content button{padding:8px 12px}#engineering-content table{width:100%;border-collapse:collapse;font-size:12px}#engineering-content th,#engineering-content td{text-align:left;padding:9px;border-bottom:1px solid #e4ebe8}#engineering-content th{color:#60777b;background:#f6f9f8}#engineering-content pre{padding:12px;border-radius:8px;background:#15252a;color:#d9eee7;overflow:auto}.instrument-grid,.analysis-cards,.export-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.instrument-card,.analysis-cards article,.export-cards article,.exercise-list article{border:1px solid #dfe9e5;border-radius:13px;background:#fbfdfc;padding:20px}.instrument-card>span{font-size:10px;letter-spacing:1.4px;color:#75898d}.instrument-card output{display:block;margin:22px 0;font:600 38px/1 'IBM Plex Mono',monospace;color:#087e61}.instrument-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.instrument-card dl div{padding:9px;background:#f0f6f3;border-radius:8px}.instrument-card dt{font-size:10px;color:#77898e}.instrument-card dd{margin:5px 0 0;font-weight:600}.engineering-form,.parts-toolbar,.metric-strip{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:17px}.engineering-form label,.analysis-cards label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#647a7f}.engineering-form select,.engineering-form input,.analysis-cards select,.analysis-cards input,.gpio-panel select{padding:7px;border:1px solid #d7e3df;border-radius:6px;background:#fff}.logic-chart,.engineering-chart{display:block;width:100%;height:auto;border:1px solid #e1e9e6;border-radius:10px;background:#fbfdfc}.logic-chart path{fill:none;stroke-width:2}.logic-chart rect{fill:#dff2eb;stroke:#5eb89b}.logic-chart text{font-size:10px;fill:#526b72}.engineering-chart>path:first-child{fill:none;stroke:#b5c5ca}.engineering-trace{fill:none;stroke:#0b9b75;stroke-width:2}.decode-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.decode-list span{padding:6px 9px;border-radius:6px;background:#edf7f3;font:11px monospace}.decode-list .invalid{background:#fff0ed;color:#a34d3f}.inline-fields{display:flex;gap:7px}.inline-fields input{min-width:0;width:80px}.issue-list{display:grid;gap:8px}.issue-list>div{display:flex;gap:12px;padding:10px;border-left:4px solid #e2a11b;background:#fff9ed}.issue-list>div.critical{border-color:#c94d43;background:#fff2f0}.issue-list strong{min-width:90px}.analysis-ok{padding:13px;background:#eaf8f2;color:#087b5c;border-radius:9px}.status{padding:3px 7px;border-radius:10px;background:#e8f6f0}.status.warning{background:#fff3d9}.status.critical{background:#ffe6e2;color:#a53b35}.metric-strip span{padding:9px 12px;background:#eef6f3;border-radius:8px}.parts-toolbar{justify-content:space-between}.parts-toolbar p{max-width:650px}.exercise-list{display:grid;gap:12px}.exercise-list article{display:grid;grid-template-columns:1fr auto;align-items:center}.exercise-list article p,.exercise-list article output{grid-column:1}.exercise-list article button{grid-column:2;grid-row:1/3}.exercise-list output{margin-top:8px;color:#087d61}.breadboard{overflow:auto}.breadboard svg{min-width:760px}.breadboard .board{fill:#f5ead5;stroke:#d3c3a8}.breadboard .holes{fill:#8b806c}.breadboard .jumper{fill:none;stroke-width:4}.breadboard .j0{stroke:#da4b42}.breadboard .j1{stroke:#2d72c4}.breadboard .j2{stroke:#e1a52b}.breadboard .j3{stroke:#238f69}.breadboard g rect{fill:#26393e;stroke:#17272b}.breadboard g text{fill:white;text-anchor:middle;font-size:10px}.engineering-note,.engineering-empty{color:#71858a}.gpio-panel{margin:14px 0;padding:12px;border:1px solid #dce8e4;border-radius:9px;background:#f5faf8}.gpio-panel h4{margin:0 0 8px}.gpio-panel>div{display:grid;grid-template-columns:55px 1fr 80px;gap:6px;align-items:center;margin:6px 0}.gpio-panel p{font-size:11px;color:#75878b}@media(max-width:700px){.engineering-heading{align-items:start;flex-direction:column;padding:22px}.engineering-heading p{margin:0}.engineering-tabs{padding:0 16px}#engineering-content{padding:18px}.instrument-grid,.analysis-cards,.export-cards{grid-template-columns:1fr}.exercise-list article{display:block}.exercise-list article button{margin-top:8px}}
/* Engineering workspace improvements */
dialog:has(.engineering-suite){width:min(1400px,calc(100vw - 28px));max-width:1400px;height:min(900px,calc(100vh - 28px))}
.instrument-dock{position:relative;z-index:8;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid #dfe8e4;background:#f8fcfa;box-shadow:0 -3px 12px #183d3214}
.instrument-dock .dock-title{font-weight:700;color:#087e61}.instrument-dock output{font:600 18px/1 'IBM Plex Mono',monospace;color:#087e61}.instrument-dock button{padding:5px 9px}
.breadboard-wrap{display:grid;gap:12px}.breadboard-legend{display:flex;gap:14px;flex-wrap:wrap;color:#516970;font-size:12px}.breadboard-legend span{display:inline-flex;align-items:center;gap:5px}.breadboard-legend i{display:inline-block;width:18px;height:4px;border-radius:3px}.breadboard-legend .red{background:#d94e43}.breadboard-legend .blue{background:#3476c4}.breadboard-legend .yellow{background:#e2a72e}.breadboard-legend .green{background:#218f6a}
.breadboard svg{min-width:980px;min-height:380px}.breadboard .board{fill:#efe1c5;stroke:#cdb88f;stroke-width:2}.breadboard .rail{fill:#fffaf0;stroke:#d8c8a8}.breadboard .rail-label{font-size:12px;font-weight:700}.breadboard .hole{fill:#c0b39c}.breadboard .slot{fill:#d6c5a4}.breadboard .component-card{fill:#26393e;stroke:#17272b;stroke-width:1.5}.breadboard .component-label{fill:#fff;text-anchor:middle;font-size:12px;font-weight:700}.breadboard .pin-label{fill:#415c63;text-anchor:middle;font-size:10px}.breadboard .jumper{fill:none;stroke-width:5;stroke-linecap:round}
@media(max-width:900px){dialog:has(.engineering-suite){width:calc(100vw - 16px);height:calc(100vh - 16px)}.instrument-dock{font-size:12px}}
.bb-scroll{max-width:100%;overflow:auto;border:1px solid #dce5e0;border-radius:12px;background:#f1f4f2}.bb-svg{display:block;max-width:none;height:auto;font-family:'IBM Plex Mono',monospace}.bb-coordinate,.bb-row{fill:#81918d;font-size:10px;text-anchor:middle}.bb-hole{fill:#bbb9b0;stroke:#fff;stroke-width:1}.bb-strip{stroke:#b9cfc5;stroke-width:9;opacity:.55}.bb-lead{fill:none;stroke:#80938c;stroke-width:2.5}.bb-pin{fill:#375e55;font-size:9px;text-anchor:middle;paint-order:stroke;stroke:#faf8f2;stroke-width:3}.bb-ref{fill:#25473e;font-size:13px;font-weight:700;text-anchor:middle}.bb-value{fill:#6d8077;font-size:11px;text-anchor:middle}.bb-body-text{fill:#f4fffa;font-size:12px;text-anchor:middle}.bb-net path{fill:none;stroke-width:3;stroke-linejoin:round}.bb-net text{font-size:10px;paint-order:stroke;stroke:#faf8f2;stroke-width:3}.bb-net{cursor:pointer}.bb-net.bb-highlight path{stroke-width:6;filter:drop-shadow(0 0 3px #26ae89)}.bb-explanation{margin:0 0 16px;font-size:14px;line-height:1.6;color:#587369}.bb-net-list{display:grid;gap:6px;margin-top:16px}.bb-net-list>div{display:flex;gap:12px;padding:9px 12px;border-radius:6px;background:#f4f8f6;font-size:13px;cursor:pointer}.bb-net-list .bb-highlight{background:#dff4eb}.bb-net-list span{overflow-wrap:anywhere}#engineering-content{min-height:0}.engineering-heading,.engineering-tabs{flex-shrink:0}
.bb-polarity-note{margin:-8px 0 12px;color:#587369;font-size:13px}.bb-positive{color:#d94d43;font-weight:800}.bb-negative{color:#3476c4;font-weight:800}.bb-contact.bb-positive{fill:#d94d43}.bb-contact.bb-negative{fill:#3476c4}.bb-pin.bb-positive{fill:#b43c36}.bb-pin.bb-negative{fill:#2863aa}
.analysis-help{margin:0 0 12px;color:#587369;font-size:13px;line-height:1.5}.analysis-cards label{display:block}.analysis-cards .inline-fields{align-items:end}.mc-components{margin:10px 0;border:1px solid #d7e3de;border-radius:8px;padding:8px 10px;max-height:160px;overflow:auto}.mc-components legend{padding:0 4px;font-size:12px;color:#587369}.mc-components label{display:flex;gap:7px;align-items:center;padding:3px 0;font-size:13px}.mc-components input{width:auto}.engineering-chart text{font:11px 'IBM Plex Mono',monospace;fill:#587369}.engineering-chart.histogram rect{fill:#168a70;opacity:.82}.engineering-chart.histogram text{font-size:11px;fill:#587369}.engineering-chart+details{margin-top:12px;border:1px solid #dce7e3;border-radius:8px;background:#fbfdfc}.engineering-chart+details summary{cursor:pointer;color:#375e55;padding:8px 11px;font-size:13px}.engineering-chart+details[open] summary{border-bottom:1px solid #dce7e3}.engineering-chart+details .engineering-chart{border:0;border-radius:0 0 8px 8px}
dialog:has(.engineering-suite){box-sizing:border-box;max-width:calc(100vw - 28px)!important;max-height:calc(100dvh - 28px)!important;margin:auto}.engineering-suite{min-width:0;width:100%;overflow:hidden}.engineering-heading{align-items:center}.engineering-heading>div{flex:1;min-width:0}.engineering-heading p{flex:0 1 400px;white-space:normal;overflow-wrap:anywhere}.engineering-tabs{min-width:0;max-width:100%}#engineering-content{min-width:0;width:100%}.bb-scroll{max-height:58vh;overflow:auto}.bb-svg{width:100%!important;max-width:100%;max-height:56vh;min-height:260px}.bb-net-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:700px){.engineering-heading p{flex:auto}.bb-svg{min-width:650px;max-width:none}}
/* Floating meters and a scrollable engineering dialog */
body>.instrument-dock{position:fixed;z-index:30;display:flex;flex-wrap:wrap;gap:10px 18px;width:max-content;max-width:calc(100vw - 16px);padding:10px 14px;background:#fff;border:1px solid #b9d8cb;border-radius:12px;box-shadow:0 8px 32px #183d3230}.dock-handle{display:flex;align-items:center;gap:10px;cursor:grab;touch-action:none;user-select:none;width:100%;border-bottom:1px solid #e5eee9;padding-bottom:8px}.dragging .dock-handle{cursor:grabbing}.dock-grip-label{margin-left:auto;color:#789087;font-size:11px}.dock-values{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.dock-values>span{white-space:nowrap}.instrument-dock output{font-size:19px}.instrument-dock #instrument-dock-remove{font-size:12px}
dialog:has(.engineering-suite){overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable;height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)!important}.engineering-suite{height:auto!important;min-height:100%;overflow:visible!important}#engineering-content{overflow:visible!important;flex:none;padding-bottom:32px}.engineering-note{font-size:13px!important;line-height:1.7;margin:16px 0 8px}.bb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.bb-toolbar>div{display:flex;align-items:center;gap:8px}.bb-toolbar output{min-width:48px;text-align:center;font:12px monospace}.bb-scroll{max-height:53vh;overflow:auto}.bb-svg{width:calc(100% * var(--bb-zoom,1))!important;max-width:none!important;max-height:none!important;min-height:0!important;min-width:600px!important}.bb-net-list{margin-bottom:10px}.bb-pin{font-size:11px}.bb-ref{font-size:15px}.bb-value{font-size:12px}@media(max-width:700px){.engineering-heading{padding:18px}.engineering-heading p{display:none}.engineering-tabs button{font-size:13px;padding:9px}.bb-toolbar{flex-wrap:wrap}body>.instrument-dock{gap:8px}.dock-values{gap:10px}}

.model-warning{display:grid;gap:4px;margin:12px 0;padding:10px 11px;border:1px solid #e7ca87;border-radius:8px;background:#fff9e9;color:#6d5417;font-size:12px;line-height:1.4}.model-warning strong{font-size:11px;letter-spacing:.02em}
.seo-fallback{max-width:760px;margin:48px auto;padding:0 24px;color:#273542;line-height:1.6}.seo-fallback h1{line-height:1.2}

.spice-controlled-parameter{margin:10px 0;padding:10px 11px;border:1px solid #bad9cd;border-radius:7px;background:#f1f8f5;color:#48655c;font-size:12px;line-height:1.45}.spice-controlled-parameter strong,.spice-controlled-parameter span{display:block}.spice-controlled-parameter span{margin-top:4px}

.my-components-heading{font-size:15px;margin:22px 0 4px}
.circuit-inspector{position:absolute;right:12px;top:12px;z-index:9;width:320px;max-width:calc(100% - 24px);max-height:calc(100% - 60px);overflow:auto;box-sizing:border-box;border:1px solid #b9d7c9;border-radius:11px;background:#fffffffa;box-shadow:0 5px 24px #173d3026;padding:12px 14px;color:#354e59;user-select:text}.circuit-inspector[hidden]{display:none}.point-heading{display:flex;align-items:start;gap:8px;position:sticky;top:-12px;background:#fff;padding:3px 0 7px}.point-heading strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere;flex:1}.point-heading button{padding:0 6px;border:0;font-size:20px;line-height:24px}.point-time{font-size:11px;color:#71838a}.circuit-inspector dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;margin:14px 0}.circuit-inspector dt{font-size:12px;color:#607980}.circuit-inspector dd{margin:0;font:13px 'IBM Plex Mono',monospace;color:#087d61;text-align:right}.point-notes p{margin:7px 0;font-size:11px;line-height:1.5;color:#70828a}.point-notes{border-top:1px solid #e2ebe6;padding-top:2px}
dialog:has(.device-project-list){max-width:800px;width:calc(100vw - 32px)}
.device-project-list{display:grid;gap:10px;max-height:55vh;overflow:auto}.device-project-list article{display:flex;align-items:center;gap:7px;padding:12px;border:1px solid #d9e6df;border-radius:9px;flex-wrap:wrap}.device-project-list article>div{flex:1;min-width:180px}.device-project-list strong,.device-project-list small{display:block}.device-project-list small{margin-top:5px;color:#71858b;font-size:12px}.device-project-list button{padding:6px 9px;font-size:12px}.device-project-list article>span{font-size:12px;color:#16896b}.library-persistence-note{padding:12px;border-radius:8px;background:#eff8f4;color:#31644f;font-size:14px}

.measurement-hint{display:grid;gap:5px;margin:12px 0;padding:10px 11px;border:1px solid #b9ddd3;border-radius:8px;background:#f1faf7;color:#365f5a;font-size:13px;line-height:1.4}.measurement-hint strong{color:#176f5b}.measurement-hint span{color:#55727c}
/* Per-channel oscilloscope scale and vertical offset. */
.scope-channel-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 8px;min-width:0}
.scope-channel-controls[hidden]{display:none}
.scope-channel-controls label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;font-size:11px;color:#526b78;white-space:nowrap;min-width:0}
.scope-channel-controls select,.scope-channel-controls input[type=number]{width:100%;height:30px;min-width:0;padding:4px 6px;border:1px solid #ccdcd6;border-radius:5px;font:12px 'IBM Plex Mono',monospace;color:#304e5c;background:#fff}
.scope-channel-controls button{height:30px;padding:4px 8px;font-size:12px}
.scope-channel-controls .scope-center{grid-column:1}
.scope-channel-controls .scope-position{grid-column:2;display:grid;grid-template-columns:1fr;font-size:10px;gap:0;text-align:center}
.scope-channel-controls input[type=range]{width:62px;height:18px;margin:0;accent-color:var(--channel)}
.scope-channel.channel-disabled .scope-channel-controls{opacity:.55}
.scope-channels{grid-template-columns:repeat(4,minmax(255px,1fr));align-items:start}
.workspace>.scope{grid-template-rows:40px 48px minmax(60px,1fr) 20px 18px}
.workspace>.scope.scope-separate{grid-template-rows:40px 112px minmax(60px,1fr) 20px 18px;min-height:340px}
.scope.scope-separate .scope-plot,.scope.scope-separate .scope-ticks{margin-left:6px}
.scope-collapsed>.scope.scope-separate{grid-template-rows:40px;min-height:0}
@media(max-width:1250px){.workspace>.scope{grid-template-rows:40px 48px minmax(60px,1fr) 20px}.workspace>.scope.scope-separate{grid-template-rows:40px 112px minmax(60px,1fr) 20px}.scope-collapsed>.scope.scope-separate{grid-template-rows:40px}}

@media(max-height:760px){.workspace>.scope.scope-separate{min-height:300px}.scope-collapsed>.scope.scope-separate{min-height:0}}
#scope-recording-mode{display:block;font-size:10px;font-weight:400;color:#627a88;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-actions button{white-space:nowrap}.signal-picker-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.signal-picker-controls label,.signal-difference label{display:grid;gap:5px;min-width:150px;flex:1}.signal-picker-controls select,.signal-picker-controls input,.signal-difference select{width:100%;padding:8px;border:1px solid #dce6eb;border-radius:6px;background:white;color:#375467}.recorded-signal-list{max-height:40vh;overflow:auto;border-top:1px solid #e0e8ed}.recorded-signal-list article{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e0e8ed}.recorded-signal-list span{min-width:0}.recorded-signal-list b{color:#738b98;font-size:12px}.recorded-signal-list button{flex-shrink:0}.signal-difference{margin-top:18px;padding:12px;background:#f4f8f7;border-radius:8px}.signal-difference summary{cursor:pointer;font-weight:600}.signal-difference label{margin:10px 0}
.recording-storage{padding:14px;margin:15px 0;background:#f4f8f7;border:1px solid #d5e6e0;border-radius:9px}.recording-storage p{margin:7px 0}.recording-storage .storage-estimate{font-size:12px;color:#6c8291}.cleanup-toggle{display:flex;gap:8px;align-items:center;margin:12px 0}.recording-storage input[type=number]{width:75px;padding:5px;border:1px solid #d5e1e8;border-radius:5px}.cleanup-candidates{max-height:42vh;overflow:auto}.cleanup-candidates ul{list-style:none;padding:0;margin:10px 0}.cleanup-candidates li{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #e0e8ed}.cleanup-candidates li span{font-size:12px;color:#6c8291}.cleanup-actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}[data-recording-pin][aria-pressed=true]{background:#e9f6ef;border-color:#80c7ad;color:#176e55}

.circuit-check-list{display:grid;gap:12px;max-height:52vh;overflow:auto;padding:0;list-style:none}.circuit-check-list li{border:1px solid #dbe4e8;border-left:4px solid #bd7909;padding:12px;border-radius:8px}.circuit-check-list .check-error{border-left-color:#b84638}.circuit-check-list p{margin:7px 0}.circuit-check-list pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:120px;overflow:auto}.circuit-check-list button{margin:3px 4px 0 0;padding:6px 9px;font-size:12px}.check-labels{font-size:13px;color:#526b78;overflow-wrap:anywhere}.check-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}

.net-label-list{display:grid;gap:10px;max-height:40vh;overflow:auto}.net-label-list article{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid #dce6e9;padding:10px;border-radius:8px}.net-label-list article span{flex:1;min-width:140px;color:#627a88;font-size:13px}.net-label-list button{font-size:12px;padding:5px 9px}#net-label-layer [data-net-label]{cursor:pointer}#net-label-layer [data-net-label]:focus{outline:2px solid #16896b}#net-label-error{color:#b34236}

/* One measurement instrument, shared by selection and the Measure tool. */
body>.floating-instrument{position:fixed;right:auto;bottom:auto;z-index:40;width:360px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);background:#fff}
.floating-instrument .instrument-handle{cursor:grab;touch-action:none;user-select:none;align-items:center;z-index:1}
.floating-instrument.dragging .instrument-handle{cursor:grabbing}
.floating-instrument .point-heading strong{font-size:14px}
.instrument-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.instrument-actions button{font-size:12px;padding:6px 9px}
.instrument-actions [aria-pressed=true]{background:#e5f5ee;border-color:#00a77d;color:#087d61}
.floating-instrument .instrument-main{align-items:center;margin:18px 0;gap:14px 10px}
.floating-instrument .instrument-main dd{font-size:20px;font-weight:600;white-space:nowrap}
.instrument-empty{font-size:13px;line-height:1.6;color:#607980}.instrument-empty:empty{display:none}
.instrument-details{border-top:1px solid #dfe9e5;padding-top:11px}.instrument-details[hidden]{display:none}
.instrument-details summary{font-size:12px;cursor:pointer;color:#45646e;line-height:1.5}
.instrument-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;font-size:13px;white-space:nowrap;cursor:pointer;color:#354e59}
.instrument-toggle input{accent-color:#009e7c;margin:0}

.canvas-toolbar .instrument-toggle span{width:auto;height:auto;background:none;margin:0}
.canvas-toolbar #inspect-tool{font-size:13px;padding:7px 8px;white-space:nowrap}

/* Hover readings must not reflow toolbars or resize the schematic viewport. */
.canvas-wrap>#net-info{position:absolute;left:23px;bottom:44px;max-width:calc(100% - 46px);padding:4px 7px;border-radius:5px;background:#fffffff0;color:#527164;font-size:12px;line-height:1.5;overflow-wrap:anywhere;pointer-events:none}
.canvas-wrap>#net-info:empty{display:none}
