:root{--ink:#263535;--muted:#83908b;--green:#137b60;--light:#e8f3ee;--line:#e5eae7;--bg:#f5f7f4;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:13px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:8px 13px;color:var(--ink);background:white;transition:background .15s,box-shadow .15s}button:hover{background:#eff5f1;border-color:#cbd9d1}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}button.primary:hover{background:#09684e}.quiet{border:0;background:transparent}.topbar{height:70px;background:white;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--line);gap:28px}.brand{display:flex;align-items:center;gap:8px;white-space:nowrap}.brand-icon{font-size:30px;background:var(--green);width:33px;height:34px;display:grid;place-items:center;color:white;border-radius:8px;line-height:1}.brand strong{font-size:19px;letter-spacing:-.6px}.brand strong span{font-weight:400}.brand em{font-style:normal;color:var(--muted);font-size:11px;margin-left:7px;padding-left:12px;border-left:1px solid var(--line)}.project-name{display:flex;align-items:center;gap:8px;flex:1}.project-name input{background:transparent;border:0;width:165px;min-width:100px;font-weight:500;color:var(--ink);outline:0}.project-name input:focus{border-bottom:1px solid var(--green)}.project-icon{color:#8fa69a}.project-name #saveState{font-size:10px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}kbd{font-size:10px;color:#91a198;margin-left:10px}.appbody{display:flex;min-height:calc(100vh - 70px)}.sidebar{width:204px;flex-shrink:0;background:#fbfcfa;border-right:1px solid var(--line);padding:26px 16px 14px;display:flex;flex-direction:column}.side-label{font-size:10px;letter-spacing:1px;color:#8a9690;font-weight:600;margin:0 10px 12px}.side-label span{float:right;font-size:9px;font-weight:400;letter-spacing:0}nav{display:grid;gap:4px}nav button{border:0;background:transparent;text-align:left;font-size:12px;padding:11px 12px;display:flex;align-items:center;gap:11px}nav button.active{background:#e9f1eb;color:#14654e;font-weight:600}nav button span{font-size:18px;width:19px;text-align:center}nav button small{margin-left:auto;color:#9eaaa4;font-family:var(--mono);font-size:9px}.side-divider{height:1px;background:var(--line);margin:23px 9px}.search{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:11px;background:white;outline:0}.library{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.library button{padding:10px 4px;text-align:center;font-size:11px;background:white;display:flex;gap:6px;flex-direction:column;align-items:center}.library .symbol{font-family:var(--mono);font-size:20px;color:#557166;height:22px}.library small{font-size:9px;color:#9aa69f}.templates{display:grid;gap:3px}.templates button{border:0;background:transparent;font-size:11px;text-align:left;padding:8px 10px;color:#66786d}.templates button:hover{background:#eff4ef}.templates button span{margin-right:9px;color:#9cac9f}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-bottom>button{font-size:11px;width:100%;display:flex;align-items:center;gap:7px;padding:9px 7px}.sidebar-bottom>button>span{margin-left:auto;color:#799085;font-size:10px}.sidebar-bottom .help-link{border:0;background:none;color:#7b8a81;margin-top:6px}.local-note{font-size:9px;color:#9ba59e;padding:12px 6px 0}.dot{height:6px;width:6px;border-radius:50%;background:#48a17b;display:inline-block;flex-shrink:0}main{padding:25px 26px 0;min-width:0;flex:1}.workspace-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:10px}.eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:1.7px;color:#8d9b93;margin-bottom:8px}h1{font-size:23px;font-weight:550;letter-spacing:-.8px;margin:0}.engine-pill{display:flex;align-items:center;gap:7px;padding:7px 10px;background:white;border:1px solid var(--line);border-radius:20px;white-space:nowrap;font-size:11px}.engine-pill select{border:0;outline:none;background:none;font-family:var(--mono);font-size:10px;color:#4a6658;max-width:130px}.engine-pill>span{padding-left:8px;border-left:1px solid var(--line);color:#98a29b;font-size:9px}.editor-layout{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;min-height:420px}.drawing-panel{flex:1;min-width:0;display:flex;flex-direction:column}.canvas-toolbar{height:46px;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid #edf0ed;gap:4px}.segmented{display:flex;background:#f4f6f3;padding:3px;border-radius:5px}.segmented button{border:0;background:transparent;padding:4px 9px;font-size:12px}.segmented button span{font-size:10px;margin-left:3px}.segmented button.active{background:white;box-shadow:0 1px 3px #20372815;color:var(--green)}.tool-cluster{display:flex;align-items:center;gap:2px}.tool-cluster button{border:0;padding:4px 7px;background:none;font-size:16px;color:#6b7b70}.separator{height:16px;background:var(--line);width:1px;margin:0 4px}.canvas-wrap{position:relative;flex:1;min-height:330px;background:#fffefa;overflow:hidden}#circuitCanvas{width:100%;height:100%;min-height:330px;display:block;touch-action:none}.canvas-badge{position:absolute;top:15px;left:18px;display:flex;gap:6px;align-items:center;font-size:10px;color:#9aaa9b;pointer-events:none}.canvas-zoom{position:absolute;bottom:13px;right:14px;border:1px solid var(--line);border-radius:5px;background:white;display:flex;align-items:center;font-size:9px;color:#849285;overflow:hidden}.canvas-zoom button{border:0;border-radius:0;padding:4px 8px;font-size:14px}.canvas-zoom span{width:38px;text-align:center}.canvas-footer{height:30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0ed;padding:0 12px;color:#8d9990;font-size:9px}.inspector{width:214px;flex-shrink:0;border-left:1px solid var(--line);padding:16px;background:#fdfefd}.inspector-heading{font-size:12px;font-weight:600;display:flex;justify-content:space-between;margin-bottom:19px}.inspector-heading span{color:#a0aba4}.selected-title{display:flex;gap:8px;align-items:center;margin-bottom:14px}.selected-title strong{background:#edf4ef;padding:7px;border-radius:6px;color:#35745b;font-family:var(--mono)}.selected-title span{font-size:11px}.selected-title small{display:block;color:#9aa49d;font-size:9px;margin-top:4px}.inspector label{display:flex;flex-direction:column;font-size:10px;color:#8a968d;gap:6px;margin-bottom:12px}.inspector input,.inspector select{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:5px;background:white;color:#43564a;font-size:11px;outline-color:#7cb99c}.inspector-divider{height:1px;background:var(--line);margin:19px 0}.field-heading{font-size:11px;font-weight:600;margin-bottom:13px}.native-link{font-size:10px;width:100%;background:#f3f7f3;margin-top:3px}.microcopy{font-size:9px;line-height:1.7;color:#a0aaa1;margin:9px 0 0}.empty-props{font-size:11px;line-height:1.9;color:#91a094}.wave-panel{border:1px solid var(--line);border-radius:9px;background:white;margin-top:17px;overflow:hidden}.panel-header{min-height:49px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #eef1ed;gap:10px}.panel-header>div{display:flex;align-items:center;gap:10px}.panel-header strong{font-size:12px;font-weight:600}.panel-symbol{font-size:24px;color:#7f9d8c}.subtle{font-size:10px;color:#9ba59e}.result-controls button{font-size:10px;padding:5px 7px}.plot{height:190px;position:relative;padding:0 12px}.plot svg{height:100%;width:100%;overflow:visible}.plot .legend{position:absolute;right:20px;top:10px;display:flex;gap:12px;z-index:1}.legend button{padding:0;background:transparent;border:0;font-size:10px;font-family:var(--mono);display:flex;align-items:center;gap:5px}.legend i{width:15px;height:2px;display:inline-block}.legend button.off{opacity:.3}.plot-tooltip{position:absolute;background:#263b30ed;color:#fff;padding:8px 10px;border-radius:5px;font-size:10px;pointer-events:none;z-index:2;line-height:1.7;font-family:var(--mono)}.metrics{border-top:1px solid var(--line);display:flex;padding:13px 20px;gap:34px;background:#fdfefc;flex-wrap:wrap}.metric span{font-size:9px;color:#98a397;display:block;margin-bottom:5px}.metric strong{font-size:12px;font-weight:500;font-family:var(--mono);color:#597464}.statusbar{font-size:9px;color:#97a497;display:flex;justify-content:space-between;padding:12px 1px}.status-sep{padding:0 9px;color:#c2cac1}.hidden{display:none!important}.view:not(#schematicView){border-radius:9px;overflow:hidden;background:white;border:1px solid var(--line)}.full-plot{height:500px}.notice{padding:11px 18px;font-size:11px;line-height:1.7;background:#f0f6f2;color:#6b8272;border-bottom:1px solid var(--line)}.notice.amber{background:#fff8e8;color:#927643}iframe{width:100%;height:590px;border:0;display:block;background:#fff}.board-container{min-height:430px;background:#172d25;display:grid;place-items:center;padding:32px}.board-container img{max-width:100%;max-height:480px;filter:brightness(1.1)}.empty-state{padding:40px;text-align:center;color:#8fa89a}.empty-state>span{font-size:42px;color:#668675}.empty-state h3{font-size:18px;font-weight:500;color:#c5d6ca}.empty-state p{font-size:12px;margin-bottom:20px}.plot .empty-state{padding:15px;color:#a1afa4}.plot .empty-state h3{font-size:13px;margin:7px;color:#829b8a}.plot .empty-state p{font-size:11px}dialog{width:560px;max-width:90vw;border:1px solid var(--line);border-radius:14px;padding:0;box-shadow:0 20px 100px #1635223a;color:var(--ink)}dialog::backdrop{background:#17362645;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 24px}.modal-header h2{font-size:17px;margin:0;font-weight:550}.modal-header button{border:0;font-size:23px;padding:0 6px}.modal-header+div{padding:22px 24px 25px}#modalBody p{line-height:1.9;font-size:12px;color:#6f8175}#modalBody pre{max-height:400px;overflow:auto;white-space:pre-wrap;font-size:10px;line-height:1.7;background:#f2f5f1;padding:14px;border-radius:6px}#modalBody .option{display:flex;width:100%;align-items:center;justify-content:space-between;padding:13px;margin-bottom:8px;text-align:left}#modalBody .option small{display:block;font-size:10px;color:#8c9c8f;margin-top:5px}.connection-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.connection-row b{font-family:var(--mono);font-size:12px;min-width:90px}.connection-row span{font-size:11px;color:#819284}.connection-row em{margin-left:auto;font-style:normal;font-size:10px;color:#358261;background:#eaf4ed;padding:4px 7px;border-radius:5px}.connection-row em.pending{color:#9b8050;background:#fbf4e7}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:#253e30;color:white;border-radius:8px;padding:13px 20px;font-size:12px;max-width:650px;line-height:1.7;pointer-events:none;transition:.2s;z-index:20;box-shadow:0 8px 25px #203e3020}#toast.show{opacity:1;transform:translate(-50%,0)}.metric-table{border-collapse:collapse;width:100%;font-size:12px}.metric-table td,.metric-table th{text-align:left;padding:12px 20px;border-bottom:1px solid var(--line)}.metric-table th{color:#829786;font-size:10px}.error-banner{padding:16px;color:#9c4b32;background:#fff5ed;font-size:12px;white-space:pre-wrap}.circuit-component{cursor:grab}.circuit-component.selected .selection-box{fill:#e0f0e688;stroke:#6d9b7d;stroke-dasharray:4 4}.pin{cursor:crosshair;fill:white;stroke:#347a5d;stroke-width:1.5}.pin:hover{fill:#62b889;stroke-width:3}.wire-hit{stroke:transparent;stroke-width:12;cursor:pointer}.wire-selected{stroke:#e8b267!important}.wire-ghost{stroke:#72aa89;stroke-dasharray:5 4;fill:none}.plot line{vector-effect:non-scaling-stroke}.progress{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.45}}@media(min-width:1500px){main{padding:30px 34px 0}.canvas-wrap,#circuitCanvas{min-height:420px}.plot{height:220px}.full-plot{height:570px}.sidebar{width:220px}.inspector{width:250px}}@media(max-width:1150px){.brand em,#saveState{display:none}.topbar{gap:18px;padding:0 18px}.sidebar{width:174px;padding:24px 12px}.inspector{width:185px;padding:13px}main{padding:22px 17px 0}.tool-cluster button{padding:4px}.segmented button{padding:4px 6px}.segmented button span{display:none}.project-name input{width:142px}.metrics{gap:20px}.canvas-footer{font-size:8px}.top-actions button{padding:8px 10px}.canvas-wrap,#circuitCanvas{min-height:310px}}@media(max-width:800px){.sidebar{width:60px;padding:20px 6px}.side-label,.side-divider,.search,.library,.templates,.sidebar-bottom,.sidebar nav small,.brand em{display:none}nav button{font-size:0;padding:12px;gap:0}nav button span{font-size:20px}.project-name{display:none}.topbar{justify-content:space-between}.top-actions .quiet,kbd{display:none}main{padding:18px 10px 0}h1{font-size:18px}.eyebrow{font-size:8px}.engine-pill>span{display:none}.editor-layout{flex-direction:column}.inspector{width:100%;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.inspector-heading{grid-column:1/-1;margin:0}.inspector-divider,.inspector .microcopy,.field-heading{display:none}.native-link{align-self:start}.panel-header{padding:10px}.panel-header .subtle{display:none}.result-controls{gap:0!important}.result-controls button{padding:4px}.canvas-footer #toolHint{display:none}.metrics{padding:12px;gap:18px}.full-plot{height:400px}iframe{height:560px}.board-container{padding:12px}}
/* Keep the schematic and the first waveform visible in compact desktop windows. */
@media(min-width:801px){.editor-layout{height:380px;min-height:0}.drawing-panel{min-height:0}.canvas-wrap,#circuitCanvas{min-height:0;height:100%}.inspector{overflow:auto}.canvas-toolbar,.canvas-footer{flex-shrink:0}.canvas-wrap{min-height:0;flex:1}.plot{height:155px}.full-plot{height:490px}}
@media(min-width:1500px) and (min-height:900px){.editor-layout{height:440px}.plot{height:200px}.full-plot{height:570px}}
.appbody{height:calc(100vh - 70px);min-height:0}.sidebar{overflow:auto}main{overflow:auto}.sidebar-bottom{padding-top:20px}
.board-container img{width:min(100%,760px);height:auto;max-height:480px}.board-container{min-height:360px}
