:root{color-scheme:light;color:#12262e;--ink:#12262e;--muted:#5d6d72;--line:#cbd3d1;--line-strong:#9eaaa8;--paper:#fff;--wash:#f5f7f6;--nav:#102b35;--teal:#0f7f74;--teal-soft:#dcefeb;--amber:#b76624;--amber-soft:#fff1dc;--danger:#a63f35;--data-font:"Cascadia Mono", "SFMono-Regular", Consolas, monospace;background:#eef1ef;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#eef1ef;min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e28a38}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template:"topbar topbar"72px"nav main"minmax(calc(100vh - 72px),auto)/224px minmax(0,1fr);min-height:100vh;display:grid}.topbar{z-index:20;color:#fff;background:var(--nav);border-bottom:1px solid #28464f;grid-area:topbar;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:0 28px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:12px;min-width:0;text-decoration:none;display:inline-flex}.brand-mark{color:#8de0d3;width:38px;height:38px;font-family:var(--data-font);border:1px solid #66bcb0;border-radius:6px;flex:0 0 38px;place-items:center;font-weight:800;display:grid}.brand>span:last-child{gap:1px;display:grid}.brand strong{font-size:15px;font-weight:750}.brand small{color:#b5c9ce;font-size:11px}.topbar-actions{align-items:center;gap:16px;display:flex}.language-switch{background:#0b232c;border:1px solid #55717a;border-radius:5px;grid-template-columns:46px 46px;padding:2px;display:grid}.language-switch button{color:#b9cdd1;min-width:0;height:28px;font-family:var(--data-font);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0;font-size:11px;font-weight:700}.language-switch button:hover{color:#fff}.language-switch button.is-active{color:#0b3834;background:#8de0d3}.topbar-status{color:#ccdbde;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.status-dot{background:#46c2a8;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #46c2a829}.module-nav{border-right:1px solid var(--line);background:#f8faf9;grid-area:nav;align-self:start;min-height:calc(100vh - 72px);padding:24px 14px;position:sticky;top:72px}.nav-label{color:#78878a;text-transform:uppercase;margin:0 10px 10px;font-size:11px;font-weight:800}.nav-item{color:#405259;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:0 5px 5px 0;grid-template-columns:28px 1fr;align-items:center;width:100%;min-height:42px;padding:0 10px;display:grid}.nav-item span{color:#89979a;font-family:var(--data-font);font-size:10px}.nav-item:hover{background:#edf2f0}.nav-item.is-active{border-left-color:var(--teal);color:#0d4f4a;background:var(--teal-soft);font-weight:700}.nav-note{border-top:1px solid var(--line);color:var(--muted);margin:28px 10px 0;padding-top:18px;font-size:11px;line-height:1.5}.nav-note strong{color:var(--ink)}.nav-note p{margin:6px 0 0}.workspace{grid-area:main;width:100%;min-width:0;padding:30px 34px 24px}.module-panel{width:min(1440px,100%);margin:0 auto}.module-panel[hidden]{display:none}.module-header{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:24px;display:flex}.eyebrow{color:var(--teal);font-family:var(--data-font);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}h1{letter-spacing:0;max-width:820px;margin:0;font-size:42px;font-weight:760;line-height:1.08}.module-intro{max-width:780px;color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.65}.formula-tag{color:#265a55;font-family:var(--data-font);white-space:nowrap;background:#e6f2ef;border:1px solid #aac7c2;border-radius:4px;flex:none;padding:10px 12px;font-size:12px}.path-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;padding:22px 0 18px;display:flex}.command-group{flex-wrap:wrap;gap:8px;display:flex}.button{border:1px solid var(--teal);color:#fff;background:var(--teal);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:#0b6d63}.button.secondary{color:#fff;background:var(--nav);border-color:var(--nav)}.button.ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.button.external{color:#fff;background:var(--nav);border-color:var(--nav);flex:none}.field{gap:7px;display:grid}.field>span:first-child{color:#405259;font-size:12px;font-weight:700}.field>span:first-child small{color:var(--muted);font-size:10px;font-weight:500}.field input,.field select{width:100%;height:42px;color:var(--ink);font-family:var(--data-font);background:#fff;border:1px solid #aebbb9;border-radius:4px;padding:0 11px}.field input:hover,.field select:hover{border-color:#728583}.field.is-derived input{color:#315f5a;background:#edf6f3;border-color:#b9d5d0}.solve-banner{border-left:3px solid var(--teal);color:#235a54;letter-spacing:0;background:#e8f4f1;padding:8px 10px;font-size:11px;font-weight:750}.field-pair,.resistor-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-field{width:190px}.input-with-unit,.table-unit{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.input-with-unit input{grid-area:1/1/auto/3;padding-right:54px}.input-with-unit b{z-index:1;color:#6a7a7e;font-family:var(--data-font);pointer-events:none;grid-area:1/2;padding-right:11px;font-size:11px}.split-input{grid-template-columns:minmax(0,1fr) 90px;gap:7px;display:grid}.signal-rail{background:var(--nav);border-radius:6px;align-items:center;min-height:92px;padding:14px;display:flex;overflow-x:auto}.rail-step{flex:none;align-items:center;display:flex}.rail-step:before{content:"";background:#5f7d83;width:34px;height:2px}.rail-step>i{color:#95adb2;font-family:var(--data-font);margin:-48px 0 0 4px;font-size:9px;font-style:normal;position:absolute}.rail-step.warning:before{background:#e4934d}.rail-node{color:#fff;background:#183b45;border:1px solid #4f6c73;border-radius:5px;gap:4px;min-width:124px;padding:12px;display:grid}.rail-node.source{border-color:#65beb1}.rail-node span{color:#b9cdd1;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:10px;overflow:hidden}.rail-node strong{font-family:var(--data-font);font-size:13px}.rail-step.warning .rail-node{background:#4b3426;border-color:#d9813c}.inline-message,.error-message{min-height:20px;color:var(--danger);font-size:12px;line-height:1.5}.inline-message{padding:6px 0}.data-table-wrap{border:1px solid var(--line);background:var(--paper);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:12px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #dde3e1;height:50px;padding:7px 9px}.data-table th{color:#53666b;text-transform:uppercase;white-space:nowrap;background:#f1f4f3;height:38px;font-size:10px}.data-table tr:last-child td{border-bottom:0}.data-table tr.has-warning{background:#fffaf2}.table-input,.table-select{width:100%;min-width:90px;height:32px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:3px;padding:0 7px}.table-input:hover,.table-input:focus,.table-select:hover,.table-select:focus{background:#fff;border-color:#a8b6b4}.table-input.stage-name{min-width:126px;font-weight:650}.table-input.numeric{min-width:60px;font-family:var(--data-font);text-align:right}.table-unit{min-width:105px}.table-unit b{color:#718084;font-family:var(--data-font);font-size:9px}.numeric-cell{font-family:var(--data-font);white-space:nowrap}.numeric-cell.strong{color:#0d5f57;font-weight:800}.stage-status{text-align:center;white-space:nowrap;border-radius:3px;min-width:74px;padding:4px 6px;font-size:10px;display:inline-block}.stage-status.ok{color:#126557;background:#def2ec}.stage-status.warning{color:#8e471b;background:#ffebd1}.icon-command{color:#7b5a52;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;width:30px;height:30px;padding:0;font-size:20px}.icon-command:hover{background:#fff3ef;border-color:#d8b6ad}.calculator-layout{border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:430px;margin-top:24px;display:grid}.control-pane{border-right:1px solid var(--line);background:#f6f8f7;align-content:start;gap:18px;padding:24px;display:grid}#s11-z-inputs,#s11-gamma-inputs{gap:18px;display:grid}#s11-z-inputs[hidden],#s11-gamma-inputs[hidden]{display:none}.result-pane{min-width:0;padding:24px}.circuit-card,.topology-card{background-color:#f8faf9;background-image:linear-gradient(#e9efed 1px,#0000 1px),linear-gradient(90deg,#e9efed 1px,#0000 1px);background-size:18px 18px;border:1px solid #d6dfdc;border-radius:5px;margin-top:18px;overflow:hidden}.topology-card{background-color:#fff;margin-top:0}.circuit-card svg,.topology-card svg{width:100%;height:auto;max-height:210px;display:block}.circuit-card path,.topology-card path{fill:none;stroke:#18343c;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.circuit-card circle{fill:var(--teal);stroke:none}.circuit-card text,.topology-card text{fill:#27464c;font-family:var(--data-font);font-size:14px;font-weight:700}.ideal-readout{color:#53656a;font-family:var(--data-font);background:#f1f4f3;margin:14px 0 0;padding:9px 11px;font-size:10px;line-height:1.5}.result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:14px;font-weight:750;display:flex}.result-heading small{color:var(--muted);font-family:var(--data-font);font-weight:400}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.result-grid>div{border-bottom:1px solid #e1e6e4;min-width:0;padding:20px 16px 18px 0}.result-grid dt{color:var(--muted);margin-bottom:7px;font-size:11px}.result-grid dd{overflow-wrap:anywhere;color:#0f5e56;font-family:var(--data-font);margin:0;font-size:17px;font-weight:760}.engineering-note{color:#72502c;background:var(--amber-soft);border-left:3px solid #d58a3e;margin-top:18px;padding:12px 14px;font-size:12px;line-height:1.55}.power-bars{gap:14px;padding-top:24px;display:grid}.power-row>div:first-child{justify-content:space-between;gap:16px;font-size:12px;display:flex}.power-row b{font-family:var(--data-font)}.power-track{background:#e3e8e6;border-radius:3px;height:7px;margin:7px 0 5px;overflow:hidden}.power-track i{background:var(--amber);border-radius:3px;height:100%;display:block}.power-row small{color:var(--muted);font-size:10px}.external-tool-notice{color:#684d2e;background:#fff6e8;border:1px solid #d9c49b;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:20px 0 12px;padding:12px 14px;font-size:12px;line-height:1.5;display:grid}.iframe-shell{border:1px solid var(--line-strong);background:#fff;border-radius:6px;overflow:hidden}.iframe-toolbar{border-bottom:1px solid var(--line);min-height:42px;color:var(--muted);font-family:var(--data-font);background:#f4f6f5;justify-content:space-between;align-items:center;gap:18px;padding:0 13px;font-size:11px;display:flex}.iframe-toolbar span{align-items:center;gap:8px;display:inline-flex}.iframe-toolbar a,.iframe-fallback a{color:#0b6a61;font-weight:700}#jlc-frame{background:#fff;border:0;width:100%;height:720px;display:block}.iframe-fallback{color:var(--muted);margin:10px 0 0;font-size:11px}.app-footer{border-top:1px solid var(--line);color:#66777b;justify-content:space-between;gap:24px;width:min(1440px,100%);margin:28px auto 0;padding-top:16px;font-size:11px;display:flex}.app-footer p{margin:0}.app-footer span{font-family:var(--data-font);flex:none}@media (width<=1040px){.app-shell{grid-template-columns:188px minmax(0,1fr)}.workspace{padding:26px 24px 20px}h1{font-size:36px}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{display:block}.topbar{min-height:64px;padding:0 16px}.topbar-actions{gap:0}.language-switch{grid-template-columns:42px 42px}.brand small,.topbar-status{display:none}.module-nav{z-index:15;border-right:0;border-bottom:1px solid var(--line);gap:6px;min-height:0;padding:8px 12px;display:flex;position:sticky;top:64px;overflow-x:auto}.nav-label,.nav-note{display:none}.nav-item{border-bottom:3px solid #0000;border-left:0;border-radius:4px;width:auto;min-width:max-content;min-height:36px;padding:0 11px;display:block}.nav-item span{display:none}.nav-item.is-active{border-bottom-color:var(--teal)}.workspace{padding:22px 14px 18px}.module-header{align-items:start;gap:16px;display:grid}h1{font-size:31px;line-height:1.12}.module-intro{font-size:14px}.formula-tag,.button.external{justify-self:start}.path-toolbar{align-items:start;display:grid}.compact-field{width:100%}.command-group{grid-template-columns:1fr 1fr;display:grid}.command-group .button:first-child{grid-column:1/3}.command-group.stacked-on-narrow{grid-template-columns:1fr}.command-group.stacked-on-narrow .button:first-child{grid-column:auto}.calculator-layout{grid-template-columns:1fr;min-height:0}.control-pane{border-right:0;border-bottom:1px solid var(--line)}.field-pair,.resistor-entry-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.result-grid dd{font-size:14px}.external-tool-notice{grid-template-columns:1fr}#jlc-frame{transform-origin:0 0;width:1180px;height:680px;transform:scale(.57)}.iframe-shell{height:430px;overflow:auto}.iframe-toolbar{width:calc(100vw - 30px);position:sticky;left:0}.app-footer{display:grid}}@media (width<=420px){h1{font-size:28px}.result-grid{grid-template-columns:1fr}.result-heading{flex-direction:column;align-items:flex-start;gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
