:root{--orange:#FF8A1F;--app-accent:#FF8A1F;--bg:#0b0e13;--panel:#121820;--raised:#1c2530;--line:#2b3542;--fg:#eff3f7;--muted:#a4b0bf;--good:#71d8bd;--blue:#77b9e8}
:root[data-theme=light]{--bg:#f3f1ed;--panel:#fff;--raised:#eeeae5;--line:#d8d2ca;--fg:#18212a;--muted:#5d6873;--good:#177d66;--blue:#236da3}
body{background:radial-gradient(ellipse at 90% 0,#ff8a1f0b,transparent 38%),var(--bg)}button{min-height:42px;border-radius:8px}button[aria-pressed=true]{border-color:var(--orange);background:#ff8a1f20;color:var(--fg)}button.primary{background:var(--orange);color:#201105}.app-header{max-width:none;min-height:68px;padding-inline:max(24px,calc((100vw - 1440px)/2))}.app-header strong{font-size:12px;letter-spacing:.1em}.app-header strong span{color:var(--muted);font:10px var(--mono);margin-left:16px}.app-main{max-width:1488px;padding:28px 24px 35px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.intro .eyebrow{font-size:10px;margin-bottom:9px;color:var(--orange)}.intro h1{font-size:clamp(40px,4.2vw,62px)}.intro h1 span{color:var(--orange)}.intro p:last-child{color:var(--muted);font-size:14px;margin-top:11px}.phone-only{display:none}.intro-mark{display:flex;align-items:center;gap:18px;color:var(--orange);font:32px var(--mono);opacity:.8}.intro-mark span{font-size:14px;padding:20px 25px;border:1px solid #ff8a1f50;border-radius:50%}.experiments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px}.experiments button{text-align:left;padding:12px 16px;background:var(--panel);min-height:72px}.experiments button.active{background:linear-gradient(120deg,#ff8a1f20,transparent);border-color:var(--orange)}.experiments small{display:block;font:8px var(--mono);letter-spacing:.1em;color:var(--muted)}.experiments strong{display:block;font-size:13px;margin-top:6px}.workbench{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);box-shadow:0 18px 60px #00000025;scroll-margin-top:16px}.bench-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.view-tabs{display:flex;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:10px;gap:4px}.view-tabs button{border:0;background:transparent;min-height:38px;font-size:12px}.view-tabs button[aria-pressed=true]{background:var(--orange);color:#221306}.bench-actions{display:flex;gap:6px;flex-wrap:wrap}.bench-actions button{font-size:11px;padding:6px 12px;min-height:36px}.bench-actions #undo,.bench-actions #redo{font-size:21px;width:38px;padding:0}.meter-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.25fr;border-bottom:1px solid var(--line);background:var(--bg)}.meter-strip>div{padding:13px 24px;border-right:1px solid var(--line)}.meter-strip span{font:8px var(--mono);letter-spacing:.1em;color:var(--muted)}.meter-strip strong{font:500 25px var(--mono);display:block;margin-top:3px;line-height:1.4}.meter-strip strong small{font:12px var(--mono);color:var(--muted)}.meter-strip .circuit-status{display:flex;align-items:center;gap:10px;border:0}.circuit-status i{width:7px;height:7px;flex:0 0 7px;background:var(--good);border-radius:50%;box-shadow:0 0 12px currentColor}.circuit-status span{font:11px var(--font);letter-spacing:0;line-height:1.5;color:var(--fg)}.work-area{display:grid;grid-template-columns:112px minmax(0,1fr)}.tool-rail{border-right:1px solid var(--line);padding:12px 9px;background:var(--panel)}.tool-rail>p{font:8px var(--mono);letter-spacing:.1em;text-align:center;color:var(--muted);margin-bottom:9px}#palette{display:grid;gap:4px;max-height:530px;overflow-y:auto;scrollbar-width:thin}#palette button{display:flex;align-items:center;gap:7px;text-align:left;padding:5px 7px;font-size:10px;background:transparent;border-color:transparent;min-height:44px}#palette button[aria-pressed=true]{background:#ff8a1f20;border-color:var(--orange)}#palette svg{width:25px;height:25px;flex-shrink:0;stroke:currentColor}.viewport{min-width:0;position:relative;background:#0a1018}#scene{height:560px;position:relative;touch-action:none}#scene canvas{display:block;width:100%;height:100%;outline-offset:-3px}.camera-bar{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;flex-wrap:wrap;background:var(--panel);border-top:1px solid var(--line)}.camera-bar button{font-size:10px;min-height:34px;padding:5px 11px}.display-controls{display:flex;gap:5px}.bench-footer{padding:11px 17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center;background:var(--panel)}.bench-footer>p{font-size:11px;color:var(--muted);max-width:700px}.bench-footer>div{display:flex;gap:8px;align-items:center;flex-shrink:0}.bench-footer button{font-size:10px;min-height:34px;padding:6px 10px}.bench-footer span{font:10px var(--mono);color:var(--muted)}.notice{font-size:11px;color:var(--muted);min-height:24px;margin:12px 3px 19px}.notice.error{color:var(--danger)}.fallback{padding:10px 20px;color:var(--danger);font-size:12px}.instruments{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:16px}.instrument{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:21px;min-width:0}.instrument .eyebrow{font-size:9px;color:var(--orange);margin-bottom:9px}.instrument h2{font-size:27px;margin-bottom:13px}.fine{font-size:11px;color:var(--muted);line-height:1.8}.voltage-entry{display:flex;align-items:center;gap:10px;margin:8px 0}.voltage-entry input{font:32px var(--mono);background:var(--bg);width:116px;padding:9px 12px}.voltage-entry span{font:19px var(--mono);color:var(--orange)}input[type=range]{min-height:44px;accent-color:var(--orange)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono)}.voltage-presets{display:flex;gap:5px;margin:12px 0}.voltage-presets button{flex:1;font:10px var(--mono);padding:6px;min-height:35px}.inspector-heading,.section-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}.inspector-heading>button{font-size:10px;padding:5px 8px;min-height:32px}#partSelect{font-size:12px;min-height:38px;padding:7px 9px}#partInfo{min-height:37px;margin-top:10px}.part-readings{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0;padding:12px 0;border-block:1px solid var(--line)}.part-readings span{display:block;color:var(--muted);font-size:9px}.part-readings strong{display:block;font:13px var(--mono);margin-top:4px}.range-row{margin:0;font-size:12px}.range-row label{font-size:11px}#resistanceOut{color:var(--orange)}.part-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.part-actions button{font-size:11px;min-height:36px;padding:6px 10px}.resistor-reading{height:25px;width:160px;margin:10px auto 7px;border-radius:12px;background:#d1ae78;display:flex;align-items:stretch;justify-content:center;gap:8px;border-inline:10px solid #ac8b5c;box-shadow:inset 0 -5px 5px #3e270b44}.resistor-reading i{width:7px;background:var(--band);display:block}.resistor-reading i:last-child{margin-left:12px}#bandExplanation{font:9px/1.7 var(--mono);color:var(--muted);text-align:center}.branch-row{margin:14px 0}.branch-row>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:6px}.branch-row strong{font:11px var(--mono)}.branch-track{height:5px;border-radius:3px;background:var(--raised);overflow:hidden}.branch-track i{height:100%;display:block;background:var(--orange);min-width:0;transition:width .15s}.branch-row small{font-size:9px;color:var(--muted)}.equation{font:11px/1.8 var(--mono);color:var(--orange);margin-top:12px}.analysis-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:18px}.section-heading button{font-size:11px;flex-shrink:0}.section-heading h2{margin-bottom:7px}#sweepChart{display:block;width:100%;margin-top:15px;overflow:visible}.compare-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.compare-bar button{font-size:10px;min-height:36px}.compare-bar span{color:var(--muted);font:10px/1.7 var(--mono)}.chart-key{display:flex;gap:18px;font-size:10px;color:var(--muted);margin-top:11px}.chart-key i{display:inline-block;width:14px;height:3px;background:var(--orange);margin-right:6px;vertical-align:middle}.chart-key i.baseline{background:var(--blue)}.prediction-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.prediction-fields label{font-size:10px}.prediction-fields input{margin-top:5px;font:14px var(--mono)}#predictionResult{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0;min-height:42px}details{border-top:1px solid var(--line);padding-top:13px}summary{font-size:12px;cursor:pointer;min-height:36px;padding:6px 0;color:var(--fg)}details select{font-size:12px}#missionText,#missionStatus{font-size:11px;line-height:1.8;margin:10px 0}#missionStatus.success{color:var(--good)}.model-notes{margin-top:22px;padding:15px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.notes-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;margin:15px 0}.notes-grid h3{font-size:14px;margin-bottom:8px}.notes-grid p{font-size:11px;color:var(--muted);line-height:1.9;margin-bottom:10px}.notes-grid a{color:var(--orange)}
/* A semantic, keyboard-operable schematic shares the exact same circuit state. */
#diagram{min-height:560px;padding:30px 12px;background:radial-gradient(#74899f25 1px,transparent 1px) 0 0/18px 18px}.circuit-board{display:grid;grid-template-columns:90px minmax(0,1fr);gap:46px;align-items:center;position:relative;min-height:480px;padding:15px 30px 35px 12px}#boardWiring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.supply{position:relative;z-index:1;background:#141f2a;border:1px solid #ff8a1f80;border-radius:13px;text-align:center;color:#edf1f7;padding:22px 7px;display:grid;gap:12px}.supply>span{font:8px var(--mono);color:#a8b7c8}.supply>strong{font:23px var(--mono);color:var(--orange)}.supply>div{font-size:22px;color:var(--orange)}.supply>small{font:7px var(--mono);color:#a8b7c8}.branches{position:relative;display:grid;gap:26px;padding:30px 0}.branch{position:relative;display:grid;grid-template-columns:repeat(var(--slots,3),minmax(0,1fr));gap:32px}.branch-label{position:absolute;top:-22px;left:0;color:#9bafc4;font:9px var(--mono)}.slot{position:relative;z-index:1;min-height:104px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;background:#101a25;border:1px solid #2a3a4c;border-radius:12px;color:#edf3fa;min-width:0}.slot svg{width:68px;height:52px;stroke:currentColor;fill:none;stroke-width:2;overflow:visible}.slot.selected{border-color:var(--orange);box-shadow:0 0 0 2px #ff8a1f35;background:#202327}.slot.empty{border:1px dashed #456077;background:#0a121c}.slot span{font-size:10px}.slot small{font:8px var(--mono);color:#a0b6cb}.slot.bulb.powered svg,.slot.led.powered svg{filter:drop-shadow(0 0 8px #ffbb37);color:#ffdd77}.slot.heater.powered svg{color:#ff875b}.slot.motor.powered .fan{transform-origin:32px 24px;animation:spin var(--spin,1s) linear infinite}.slot .terminal{fill:#a9c5d8}.wire-path{fill:none;stroke:#456077;stroke-width:2.5}.wire-flow{fill:none;stroke:#ff9a3c;stroke-width:2.6;stroke-dasharray:3 15;animation:flow 1s linear infinite}.wire-short{stroke:#ff6565}.paused .wire-flow,.paused .fan{animation-play-state:paused!important}.hide-values .slot small{visibility:hidden}@keyframes flow{to{stroke-dashoffset:-36}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.instruments{grid-template-columns:1fr 1.4fr}.instruments>.instrument:last-child{grid-column:1/-1}.instruments #branchChart{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.intro-mark{display:none}.app-main{padding:23px 18px}.notes-grid{grid-template-columns:1fr 1fr}.notes-grid>div:last-child{grid-column:1/-1}.analysis-grid{grid-template-columns:1.2fr 1fr}.meter-strip>div{padding:12px 15px}}
@media(max-width:760px){.app-header{padding-inline:16px}.app-header strong{font-size:10px;letter-spacing:.04em}.app-header strong span{display:none}.app-main{padding:22px 12px}.intro h1{font-size:43px}.intro p:last-child{font-size:12px}.experiments{display:flex;overflow-x:auto;gap:8px;padding-bottom:5px;scrollbar-width:thin}.experiments button{min-width:149px;flex:0 0 auto;min-height:64px;padding:10px 12px}.work-area{grid-template-columns:minmax(0,1fr)}.tool-rail{border-right:0;border-bottom:1px solid var(--line);padding:7px 8px}.tool-rail>p{display:none}#palette{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;gap:4px;padding-bottom:4px;scrollbar-width:thin}#palette button{min-width:66px;flex:0 0 auto;flex-direction:column;gap:2px;text-align:center;min-height:57px;font-size:9px}#palette svg{width:25px;height:25px}#scene{height:440px}.meter-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.meter-strip .circuit-status{grid-column:1/-1;border-top:1px solid var(--line);padding:8px 13px}.meter-strip strong{font-size:21px}.meter-strip span{font-size:7px;letter-spacing:.05em}.bench-heading{gap:9px;padding:10px}.bench-actions{gap:5px}.bench-actions button{font-size:10px;padding:5px 10px;min-height:40px}.view-tabs button{font-size:11px;min-height:40px}.bench-footer{flex-direction:column;align-items:flex-start;padding:12px}.bench-footer>div{width:100%}.bench-footer button{min-height:40px}.instruments{grid-template-columns:1fr 1fr;gap:12px}.instruments .inspector{grid-column:1/-1;grid-row:1}.instrument{padding:17px}.instruments>.instrument:last-child{grid-column:auto}.instruments #branchChart{display:block}.analysis-grid{grid-template-columns:minmax(0,1fr)}.camera-bar{padding:8px;gap:6px}.camera-bar button{min-height:40px}.camera-bar .button-row{gap:4px}.camera-bar button{padding:5px 8px}.notes-grid{grid-template-columns:1fr}.notes-grid>div:last-child{grid-column:auto}#diagram{min-height:410px;padding:17px 3px}.circuit-board{grid-template-columns:52px minmax(0,1fr);gap:21px;min-height:360px;padding:10px 14px 25px 5px}.supply{padding:20px 3px;gap:9px}.supply>span{font-size:6px}.supply>strong{font-size:17px}.supply>div{font-size:15px}.supply>small{font-size:6px}.branch{gap:12px}.slot{min-height:93px;border-radius:8px}.slot svg{width:49px;height:44px}.slot span{font-size:8px}.slot small{font-size:7px}.branch-label{font-size:8px}.branch{margin-block:6px}}
@media(max-width:420px){.phone-only{display:initial}.intro h1{font-size:44px}.app-header>a{font-size:11px}.app-header{gap:9px}.meter-strip>div{padding:10px 12px}.meter-strip strong{font-size:19px}.instruments{grid-template-columns:1fr}.instruments>.instrument:last-child{grid-column:1}.instruments .source-panel{grid-row:2}.instruments #branchChart{display:grid;grid-template-columns:1fr 1fr;gap:12px}#scene{height:390px}.bench-actions #save,.bench-actions #load{flex:1}.bench-actions{width:100%}.bench-heading .view-tabs{width:100%}.view-tabs button{flex:1}.section-heading{flex-wrap:wrap}.prediction-fields{gap:8px}.prediction-fields label{font-size:9px}.instrument h2{font-size:25px}.camera-bar{flex-direction:column}.display-controls{justify-content:flex-end}.branch{gap:8px}.slot svg{width:42px}.slot span{font-size:7px}.slot small{font-size:6px}.circuit-board{gap:18px}.tool-rail{min-width:0}}
@media(prefers-reduced-motion:reduce){.wire-flow,.slot .fan{animation:none!important}.branch-track i{transition:none}}
.component-guide{margin:14px 0 18px;padding:14px 0;border-top:1px solid var(--line)}.component-guide h3{font-size:12px;margin-bottom:6px;color:var(--fg)}.component-guide p{font-size:12px;line-height:1.8;color:var(--muted)}.try-it{margin-top:12px;padding:11px 13px;border-left:2px solid var(--orange);border-radius:0 6px 6px 0;background:#ff8a1f09}.try-it strong{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--orange)}.try-it p{margin-top:4px}.component-guide details{border:0;margin-top:6px;padding-top:0}.component-guide summary{color:var(--muted);font-size:11px}.component-guide details p{font-size:11px}#inspector{scroll-margin-top:20px}.selection-brief{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-top:1px solid var(--line);background:linear-gradient(95deg,#ff8a1f0b,transparent)}.selection-brief strong{font-size:12px;color:var(--orange)}.selection-brief p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:3px;max-width:750px}.selection-brief button{flex-shrink:0;font-size:11px}.component-tooltip{position:fixed;z-index:90;pointer-events:none;width:280px;max-width:calc(100vw - 24px);padding:15px 17px;border:1px solid #ff8a1f70;border-radius:11px;background:var(--panel);box-shadow:0 12px 40px #0006;color:var(--fg)}.component-tooltip strong{display:block;color:var(--orange);font-size:14px}.component-tooltip p{font-size:12px;line-height:1.65;margin-top:7px}.component-tooltip small{display:block;color:var(--muted);font-size:10px;margin-top:9px}.component-tooltip[hidden],.selection-brief[hidden],.component-guide[hidden]{display:none}@media(max-width:760px){.selection-brief{align-items:flex-start;flex-direction:column;gap:9px;padding:13px 15px}.selection-brief button{min-height:44px}.component-guide p,.selection-brief p{font-size:13px}}

/* Comfortable touch targets and editable text without automatic phone zoom. */
@media(max-width:760px){.app-main button,.app-header button,.app-main summary{min-height:44px}.bench-actions #undo,.bench-actions #redo{width:44px;min-width:44px}.prediction-fields input,#partSelect,details select{font-size:16px;min-height:44px}}

/* Reserve a clear path below the lowest component and source terminal. */
.circuit-board{padding-bottom:40px}
.component-tooltip .tooltip-how{color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:9px;margin-top:9px}
.experiments{grid-template-columns:repeat(6,minmax(0,1fr))}.part-protection{margin:15px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.rating-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.rating-row label{font-size:11px}.rating-row input{width:95px;font:14px var(--mono);padding:7px}.rating-presets{display:flex;gap:5px;margin:10px 0}.rating-presets button{padding:5px 8px;min-height:32px;font:10px var(--mono)}#loadReading{font:11px/1.7 var(--mono);margin:8px 0;color:var(--orange)}.part-protection>label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}#partStress{width:100%;height:7px;display:block;margin:8px 0 10px;accent-color:var(--orange);border:0;border-radius:5px;overflow:hidden}#partStress::-webkit-progress-bar{background:var(--raised)}#partStress::-webkit-progress-value{background:var(--orange)}.part-protection[data-status=failed]{border-color:#e16b6555}.part-protection[data-status=overload]{border-color:#ff8a1f80}#repairPart{margin-top:8px;font-size:11px}.fault-advice{background:#ff8a1f0a;border:1px solid #ff8a1f45;border-radius:10px;padding:15px;margin:15px 0}.fault-advice h3{font-size:13px;color:var(--orange)}.fault-advice p,.fault-advice li{font-size:12px;line-height:1.75;color:var(--muted)}.fault-advice p{margin:8px 0}.fault-advice ul{padding-left:18px;margin:8px 0 12px}.fault-advice li+li{margin-top:8px}.fault-advice button{font-size:11px}.protection-panel{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:18px}.protection-options>label{font-size:11px}.protection-options select{font-size:13px;margin:6px 0 10px}.protection-options .fine{margin-top:10px}.protection-options button{font-size:11px}.fault-overlay{position:absolute;z-index:5;pointer-events:none;overflow:hidden}.fault-overlay[hidden]{display:none}#faultLeader{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--orange);stroke-width:2;filter:drop-shadow(0 1px 3px #000)}#faultPin{fill:#ff8a1f20;stroke-width:2.5}.fault-toast{position:absolute;display:flex;flex-direction:column;pointer-events:auto;box-sizing:border-box;border:1px solid #ff8a1f90;border-left:3px solid var(--orange);border-radius:10px;background:var(--panel);padding:11px 13px;box-shadow:0 8px 28px #0007;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--orange) var(--panel)}.fault-toast-heading{flex-shrink:0;display:flex;gap:8px;align-items:center}.fault-toast-heading strong{flex:1;min-width:0}.fault-toast-heading strong{font-size:14px;line-height:1.35;color:var(--orange)}#dismissFault{min-height:32px;width:32px;padding:0;font-size:23px;flex-shrink:0}.fault-toast p{font-size:12px;line-height:1.5;margin:7px 0;color:var(--fg)}.fault-toast #faultMessage{flex-shrink:0}.fault-toast #faultSuggestion{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;color:var(--muted);border-top:1px solid var(--line);padding-top:7px}.fault-toast #inspectFault{flex-shrink:0;align-self:center;padding:5px 8px;min-width:44px}.fault-toast #inspectFault{font-size:11px;min-height:36px;margin:0}.fault-toast[hidden],.part-protection[hidden],.fault-advice[hidden]{display:none}.slot.failed{background:#211b20;border-color:#e16b65;color:#e6a5a0}.slot.failed small{color:#ffaaa1}.slot.overloaded{border-color:var(--orange)}@media(max-width:760px){.rating-row input{font-size:16px;min-height:44px}.rating-presets button,#dismissFault{min-height:44px}.rating-presets{flex-wrap:wrap}.protection-panel{grid-template-columns:1fr;gap:15px}.protection-options select{font-size:16px}.fault-toast #inspectFault{min-height:44px}.protection-options .button-row{flex-wrap:wrap}}
#palette button span{min-width:0;white-space:normal;overflow-wrap:anywhere}#palette{overflow-x:hidden}@media(max-width:760px){#palette{overflow-x:auto}}
.work-area{grid-template-columns:140px minmax(0,1fr)}#palette button span{overflow-wrap:normal;word-break:normal}@media(max-width:760px){.work-area{grid-template-columns:minmax(0,1fr)}}

/* Extend paths without shrinking their component controls. */
.path-builder{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.path-builder>label{font-size:11px;font-weight:600;color:var(--orange)}.path-builder select{width:auto;max-width:100%;min-height:38px;font-size:12px;padding:7px 30px 7px 10px}.path-builder-actions{display:flex;align-items:center;gap:7px}.path-builder button{min-height:38px;padding:6px 12px;font-size:11px}.path-builder #addSlot{border-color:#ff8a1f80;background:#ff8a1f14}.path-builder #slotCount{font:10px var(--mono);color:var(--muted);white-space:nowrap}.path-builder>p{font-size:10px;color:var(--muted);margin-left:auto}#diagram{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.extended-board{width:max-content;min-width:100%;grid-template-columns:90px max-content}.extended-board .branches{width:max-content}.extended-board .branch{width:max-content;grid-template-columns:repeat(var(--slots),92px)}
@media(max-width:760px){.path-builder button{min-height:44px}.path-builder{gap:8px;padding:10px}.path-builder select{font-size:16px;min-height:44px;flex:1}.path-builder-actions{flex-wrap:wrap}.path-builder>p{margin-left:0;flex-basis:100%;font-size:11px}.extended-board{grid-template-columns:52px max-content}.extended-board .branch{grid-template-columns:repeat(var(--slots),66px)}}

/* Selected-component editing stays in the workbench. */
.selection-actions{display:flex;gap:8px;flex-shrink:0}.selection-actions #editValues{border-color:#ff8a1f80;color:var(--orange)}.quick-overlay{position:absolute;z-index:6;pointer-events:none;overflow:hidden}.quick-overlay[hidden]{display:none}#quickEditor{position:absolute;pointer-events:auto;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}#quickLeader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:var(--orange);stroke-width:2;filter:drop-shadow(0 1px 3px #000)}#quickPin{fill:#ff8a1f20}.quick-overlay.docked{position:relative;padding:10px 12px;background:#0a1018;border-top:1px solid #ff8a1f55;overflow:visible}.quick-overlay.docked #quickLeader{display:none}.quick-overlay.docked #quickEditor{position:relative;width:100%;max-height:none;left:auto;top:auto}.quick-overlay:not(.docked) #quickLeader{display:block}@media(max-width:760px){.viewport.quick-editing #scene{height:300px}.selection-actions{flex-wrap:wrap}}

:root[data-theme=light] .cqe h3,:root[data-theme=light] .cqe-warning strong{color:#a84f00}

/* Source control beside the live meters, tool banner, readable labels and sweep table. */
.meter-strip{grid-template-columns:minmax(200px,1.3fr) repeat(3,minmax(0,1fr)) 1fr}
.meter-strip span,.bench-source>label{font:10px var(--mono);letter-spacing:.08em;color:var(--muted)}
.bench-source{display:flex;flex-direction:column;gap:2px}
.bench-source-row{display:flex;align-items:center;gap:8px}
.bench-source-row output{font:500 25px var(--mono);min-width:4.4ch;text-align:center;line-height:1.4}
.bench-source-row output small{font:12px var(--mono);color:var(--muted)}
.bench-source-row button{min-width:44px;min-height:44px;padding:0;font-size:20px;line-height:1}
.bench-source input[type=range]{width:100%;min-height:28px;accent-color:var(--orange)}
.tool-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 14px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
.tool-banner[hidden]{display:none}
.tool-banner.active-tool{background:linear-gradient(90deg,#ff8a1f26,var(--panel));border-bottom-color:#ff8a1f80}
.tool-banner button{flex-shrink:0;min-height:44px;padding:6px 14px;font-size:12px}
.tool-banner.active-tool button{background:var(--orange);border-color:var(--orange);color:#201105}
.sweep-details{margin-top:12px}
.sweep-details summary{cursor:pointer;font-size:12px;min-height:44px;display:flex;align-items:center}
.sweep-table-wrap{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:6px}
.sweep-table-wrap:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
#sweepTable{border-collapse:collapse;width:100%;font:11px var(--mono);font-variant-numeric:tabular-nums}
#sweepTable th,#sweepTable td{padding:5px 9px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
#sweepTable thead th{position:sticky;top:0;background:var(--raised);color:var(--muted);font-weight:500}
#sweepTable tr.current-row>*{background:#ff8a1f22}
.experiments small{font-size:10px}
.bench-footer>p,.bench-footer span{font-size:12px}
@media(max-width:1100px){.bench-source input[type=range]{width:auto}.meter-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.meter-strip .bench-source{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.meter-strip .circuit-status{grid-column:1/-1;border-top:1px solid var(--line)}.bench-source{flex-direction:row;align-items:center;flex-wrap:wrap;column-gap:14px}.bench-source input[type=range]{flex:1;min-width:140px;min-height:44px}}
@media(max-width:760px){.meter-strip span,.bench-source>label{font-size:10px;letter-spacing:.04em}.bench-source>label{flex-basis:100%}.bench-source-row output{font-size:21px}
  .slot span{font-size:10px}.slot small{font-size:9px}.branch-label{font-size:10px}.supply>span,.supply>small{font-size:8px}
  .tool-banner{font-size:12px}}
@media(max-width:420px){#scene{height:clamp(390px,56svh,500px)}}
.meter-strip .circuit-status span{font:12px var(--font);letter-spacing:0;color:var(--fg)}
/* Small orange text needs a darker orange on light surfaces (about 5:1 on white). */
:root[data-theme=light] :is(.intro .eyebrow,.instrument .eyebrow,.voltage-entry span,#resistanceOut,.equation,.notes-grid a,.try-it strong,.selection-brief strong,#loadReading,.fault-advice h3,.path-builder>label,.selection-actions #editValues){color:#a84f00}
@media(max-width:420px){.bench-source input[type=range]{flex:1 1 90px;min-width:90px;flex-basis:auto}.bench-source{row-gap:0}.meter-strip span{letter-spacing:.02em}}
@media(max-width:420px){.meter-strip>div:not(.bench-source):not(.circuit-status){padding:10px 9px}.meter-strip span{letter-spacing:0}}
/* The schematic board stays dark in both themes, so a selected slot keeps light text. */
.slot[aria-pressed=true]{color:#edf3fa}
@media(pointer:coarse){.app-main input:not([type=range]):not([type=checkbox]),.app-main select,.app-main #partSelect{font-size:16px;min-height:44px}}

/* Phone touch targets: at least 44px wide (audit 2026-10-21) */
@media (pointer:coarse),(max-width:600px){.button-row.compact button,.rating-presets button{min-width:44px}}
