:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--accent:#2a78d6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--accent:#3987e5}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--accent:#3987e5}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--page);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1060px;margin:0 auto;padding:24px}.app h1{margin:0 0 4px;font-size:1.25rem}.app .subtitle{color:var(--ink-2);margin:0 0 20px;font-size:1.125rem}.panels{flex-wrap:wrap;gap:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:460px;min-width:0;padding:16px}.panel h2{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:1.125rem;font-weight:600}.controls{flex-wrap:wrap;gap:32px;margin:20px 0;display:flex}.control{flex-direction:column;gap:4px;min-width:220px;display:flex}.control label{color:var(--ink-2);font-size:1.125rem}.control .value{font-variant-numeric:tabular-nums;color:var(--ink)}.control input[type=range]{accent-color:var(--series-1)}.legend{color:var(--ink-2);gap:16px;margin-bottom:8px;font-size:1.125rem;display:flex}.legend .swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.readout{color:var(--ink-2);margin-top:8px;font-size:1.125rem}.readout b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}canvas.plot{width:100%;height:260px;display:block}.app.wide{max-width:1400px}.topbar{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.topbar h1,.topbar .subtitle{margin:0}.topbar select{background:var(--surface);color:var(--ink);border:1px solid var(--border);font:inherit;border-radius:6px;padding:6px 10px}.grid2x2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=980px){.grid2x2{grid-template-columns:1fr}}.error-banner{background:var(--surface);color:var(--ink);border:1px solid #d03b3b;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:1.125rem}.panel-note{color:var(--muted);font-size:1.125rem}.node-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{font:inherit;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:1.125rem;transition:border-color .12s,color .12s}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip b{color:var(--ink);font-variant-numeric:tabular-nums}.chip.probed{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.device-cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.device-card{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;font-size:1.125rem;display:flex}.vt-pop-wrap{position:relative}.vt-pop{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:460px;padding:10px 12px;position:fixed;box-shadow:0 6px 24px #00000059}.vt-palette{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.vt-palette .chip{font-family:ui-monospace,monospace;font-size:.875rem}.vt-palette-note{color:var(--muted);margin:8px 0 0;font-size:.8125rem}.device-head{align-items:baseline;gap:6px;display:flex}.device-id{color:var(--ink);font-weight:600}.device-nodes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.region{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--ink-2);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:1.125rem}.device-slider{align-items:center;gap:8px;display:flex}.device-slider input{min-width:0;accent-color:var(--accent);flex:1}.device-slider .value{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.device-static{color:var(--muted)}.vt-row{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:1.125rem;display:flex}.vt-row .vt-input{min-width:120px;font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:4px;flex:1;padding:2px 6px;font-family:ui-monospace,monospace;font-size:1.125rem}.vt-row .vt-input:focus{border-color:var(--accent);outline:none}.vt-error{color:var(--series-2);flex-basis:100%;font-size:1.125rem}.device-current{color:var(--ink-2);font-variant-numeric:tabular-nums}.splane-bar{align-items:center}.pin-picker{color:var(--ink-2);align-items:center;gap:6px;margin-left:auto;display:flex}.pin-picker select{background:var(--surface);color:var(--ink);border:1px solid var(--border);font:inherit;border-radius:4px;padding:2px 6px;font-size:1.125rem}canvas.plot.dragging{cursor:grabbing}canvas.plot.interactive{cursor:crosshair}canvas.plot.pointer{cursor:pointer}select{transition:border-color .12s}select:hover{border-color:var(--accent)}svg.sch{width:100%;max-width:var(--sch-w,none);color:var(--ink);margin:0 auto 12px;display:block;overflow:visible}.sch-wire{stroke:var(--ink-2);stroke-width:1.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.sch-body{stroke:var(--ink);stroke-width:1.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.sch-dot{fill:var(--ink)}.sch-label{fill:var(--ink-2);text-anchor:start;font-size:13px}.sch-label .sch-id{fill:var(--ink);font-weight:600}.sch-pin{fill:var(--ink);font-size:13px}.sch-node{cursor:pointer}.sch-node text{fill:var(--ink-2);font-size:13px;font-weight:600}.sch-node .sch-volt{fill:var(--ink);font-variant-numeric:tabular-nums}.sch-node.probed text,.sch-node.probed .sch-volt{fill:var(--accent)}.sch-device{cursor:pointer}.sch-device.active .sch-body{stroke:var(--accent)}.sch-device.active .sch-id{fill:var(--accent)}.sch-device.iprobed .sch-body{stroke:var(--series-3)}.sch-hit{fill:#0000;stroke:none;pointer-events:all}.sch-wire-hit{fill:none;stroke:#0000;stroke-width:7px;pointer-events:stroke}.sch-wiregroup.clickable{cursor:pointer}.sch-wiregroup.probed .sch-wire{stroke:var(--accent)}.sch-wiregroup.pending .sch-wire{stroke:var(--series-3);stroke-dasharray:4 3}.sch-wiregroup.hovered .sch-wire{stroke:var(--ink);stroke-width:2.5px}.sch-node.hovered text{fill:var(--ink)}.sch-device:hover .sch-body{stroke-width:2.4px}.sch-device:hover .sch-id{text-decoration:underline}.sch-node.pending text{fill:var(--series-3)}.sch-toolbar{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:4px;display:flex}.sch-toolbar-hint{color:var(--series-3);font-size:1.125rem}.bottom-row{margin-top:16px}.bottom-row .aux-table-wrap{max-height:240px}.bottom-row canvas.plot{height:220px}.aux-controls{align-items:center;gap:12px}.aux-controls label{color:var(--ink-2);align-items:center;gap:5px;font-size:1.125rem;display:flex}.aux-controls select{background:var(--surface);color:var(--ink);border:1px solid var(--border);font:inherit;border-radius:4px;padding:2px 6px;font-size:1.125rem}.aux-table-wrap{max-height:300px;overflow-y:auto}.aux-table-wrap.optable{align-items:flex-start;gap:20px;display:flex}.aux-table{border-collapse:collapse;color:var(--ink-2);font-size:1.125rem}.aux-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:3px 12px 3px 0;font-weight:600}.aux-table th.sortable{cursor:pointer}.aux-table td{border-bottom:1px solid var(--grid);padding:3px 12px 3px 0}.aux-table .mono{font-variant-numeric:tabular-nums;color:var(--ink)}.aux-table tfoot td{color:var(--ink-2);border-bottom:none;padding-top:6px}.device-foot{align-items:center;gap:8px;display:flex}.value-input{width:90px;font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:4px;padding:1px 4px;font-size:1.125rem}.value.editable{cursor:text}.legend-sep{color:var(--muted)}canvas.plot.tall{height:300px}.panel-schematic{margin-top:16px}.import-btn{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:1.125rem}.import-btn:hover{border-color:var(--accent)}.tf-picker{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:1.125rem;display:flex}.tf-picker select{background:var(--surface);color:var(--ink);border:1px solid var(--border);font:inherit;border-radius:4px;padding:2px 6px;font-size:1.125rem}.grid2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=1100px){.grid2{grid-template-columns:1fr}}.sch-gnd.draggable{cursor:grab}.nyq-toggle{color:var(--ink-2);cursor:pointer;align-items:center;gap:5px;margin-left:8px;display:flex}.dash-top>.panel-tabs{margin-top:16px}.dash-divider{display:none}.tabs-panel{flex-direction:column;flex:1;min-height:0;display:flex}.tab-row{flex:none;gap:8px;margin-bottom:10px;display:flex}.tab-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.tab-body>*{flex:none}.tab-body>.netlist-view{flex:1}.netlist-view{flex-direction:column;gap:8px;min-height:0;display:flex}.netlist-src{resize:none;white-space:pre;background:var(--surface);min-height:180px;color:var(--ink);border:1px solid var(--border);border-radius:6px;flex:1;padding:8px 10px;font:.875rem/1.5 ui-monospace,monospace;overflow:auto}.netlist-src:focus{border-color:var(--accent);outline:none}.netlist-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.help-wrap{margin-left:auto}.help-chip{padding:2px 9px;font-weight:600}.help-pop{z-index:30;background:var(--surface);border:1px solid var(--border);width:420px;max-width:90vw;color:var(--ink-2);border-radius:8px;padding:4px 16px;font-size:.9375rem;line-height:1.55;position:fixed;box-shadow:0 6px 24px #00000059}.help-pop p{margin:10px 0}.help-pop b{color:var(--ink);font-weight:600}@media (width>=1600px){.app.wide{flex-direction:column;max-width:none;height:100vh;padding:10px 12px;display:flex;overflow:hidden}.app.wide .topbar{flex:none;margin-bottom:8px}.app.wide .panel{padding:12px}.dash-body{flex:1;gap:10px;min-height:0;display:grid}.dash-top{gap:10px;min-height:0;display:grid}.dash-divider{cursor:col-resize;background:var(--border);border-radius:3px;display:block}.dash-divider.h{cursor:row-resize}.dash-divider:hover{background:var(--accent)}.dash-left{grid-template-rows:minmax(0,6fr) minmax(0,5fr);gap:10px;min-height:0}.dash-left .panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.dash-left .panel>.panel-head{flex:none}.dash-left .panel>div:last-child{flex-direction:column;flex:1;min-height:0;display:flex}.dash-left .panel .legend,.dash-left .panel .readout{flex:none}.dash-left canvas.plot{flex:1;height:auto;min-height:160px}.dash-top .panel-schematic{flex-direction:column;min-height:0;margin-top:0;display:flex;overflow:hidden}.dash-top .panel-schematic>div{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:6px 16px;min-height:0;display:grid}.dash-top .panel-schematic .sch-toolbar{grid-area:1/1}.dash-top .panel-schematic .device-cards,.dash-top .panel-schematic>div>.panel-note{grid-area:1/2/3;min-height:0;margin:0;overflow-y:auto}.dash-top .panel-tabs{flex-direction:column;min-height:0;margin-top:0;display:flex}.dash-top .panel-tabs>.tabs-panel{flex:1;min-height:0}.dash-top .panel-schematic svg.sch{width:auto;height:auto;max-width:min(100%, var(--sch-w,9999px));max-height:min(100%, var(--sch-h,9999px));grid-area:2/1;align-self:center;margin:0 auto}}.panel-head{align-items:center;gap:8px;display:flex}.panel-head h2{flex:1}.expand-chip{flex:none;padding:0 9px;line-height:1.5}.expand-backdrop{z-index:39;background:#00000073;position:fixed;inset:0}.panel.expanded{z-index:40;flex-direction:column;display:flex;position:fixed;inset:4vh 5vw;overflow:hidden;box-shadow:0 12px 48px #00000080}.panel.expanded>.panel-head{flex:none}.panel.expanded>div:last-child{flex-direction:column;flex:1;min-height:0;display:flex}.panel.expanded .legend,.panel.expanded .readout{flex:none}.panel.expanded canvas.plot{flex:1;height:auto;min-height:200px}
