:root{--reading-scale:1;--sidebar-bg:#eeefe6;--surface-tint:#edf1e5;--input-bg:#fbfcf7;--text-body:#42594d;--success-bg:#e8f0dd;--success-ink:#426b38;--warn-bg:#faf0e5;--warn-ink:#795538;--chart-green:#246a55;--chart-orange:#be7544;--chart-ink:#596a5f;--chart-grid:#e1e7d9;--chart-active:#d9ef9a;--chart-inactive:#e7ecdf}
:root[data-text-size="large"]{--reading-scale:1.111111}
:root[data-text-size="xlarge"]{--reading-scale:1.222222}
:root[data-theme="dark"]{--paper:#141d1b;--white:#1d2925;--ink:#e7eee6;--muted:#adbbb0;--line:#3b4b42;--green:#9ad6b1;--lime:#d9ef9a;--orange:#e5aa80;--sidebar-bg:#18231f;--surface-tint:#22352a;--input-bg:#17231e;--text-body:#d0ddd3;--success-bg:#253b2a;--success-ink:#c4e4ad;--warn-bg:#392c22;--warn-ink:#f0c49b;--chart-green:#9ad6b1;--chart-orange:#e5aa80;--chart-ink:#bac6bd;--chart-grid:#3b4b42;--chart-active:#36513a;--chart-inactive:#26352d}
body{font-size:calc(18px * var(--reading-scale));line-height:1.85}
.topbar{gap:22px}.topbar nav{gap:24px}.topbar nav a{font-size:15px}
.appearance-toggle{white-space:nowrap;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px 13px;font-size:14px}
.appearance-toggle:hover{background:var(--surface-tint)}
.appearance-panel{position:fixed;right:24px;top:78px;width:288px;max-width:calc(100vw - 32px);z-index:40;padding:22px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 45px #0003;font-size:16px}
.appearance-panel[hidden]{display:none!important}
.appearance-panel h2{margin:0 0 14px;font-size:20px}.appearance-panel label{display:block;font-size:15px;margin:14px 0 7px}
.appearance-panel select{width:100%;color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:5px;padding:9px;font-size:16px}
.appearance-panel p{font-size:14px;color:var(--muted);line-height:1.8;margin:16px 0 0}
.article p,.article li,.page-head p,.intro{font-size:calc(18px * var(--reading-scale));color:var(--text-body);line-height:1.95}
.formula{font-size:calc(18px * var(--reading-scale));line-height:1.9;color:var(--green);overflow-wrap:anywhere}
.article h2{font-size:calc(24px * var(--reading-scale))}.article h3{font-size:calc(20px * var(--reading-scale))}
.step-list li,.calculation .step-list li{font-size:calc(17px * var(--reading-scale));line-height:1.9}.step-list li:before{font-size:13px}
.callout,.status,.feature p{font-size:calc(16px * var(--reading-scale));line-height:1.9}
.unit-note,.chart-caption,.footer-note{font-size:calc(14px * var(--reading-scale));line-height:1.85}
.control label,.panel-head,.controls .unit-note{font-size:calc(15px * var(--reading-scale))}.control label{color:var(--text-body)}
.control input[type=number],.control select{font-size:calc(18px * var(--reading-scale));padding:9px 11px}
.controls h3,.calculation h3,.sidebox h3{font-size:calc(18px * var(--reading-scale))}
.result small{font-size:calc(14px * var(--reading-scale))}.result strong{font-size:calc(23px * var(--reading-scale))}.result span{font-size:calc(14px * var(--reading-scale))}
.btn{font-size:calc(15px * var(--reading-scale));line-height:1.65;padding:11px 17px}.pill{font-size:calc(12px * var(--reading-scale))}
.lesson-link{font-size:calc(14px * var(--reading-scale));padding:9px 12px}.lesson-no,.list-index{font-size:12px}
.group-label{font-size:13px}.aside-head h2{font-size:18px}.search input{font-size:14px}#progress,.aside-foot{font-size:13px}
.search{border-color:var(--line)}.crumb{font-size:14px}.eyebrow{font-size:12px}
.lesson-tabs a,.lab-picker a,.section-title a,.textbutton{font-size:calc(15px * var(--reading-scale))}
.sidebox p,.sidebox li,.sidebox a,.source-card p{font-size:calc(15px * var(--reading-scale));line-height:1.85}
.source-card h3,.path-card h3{font-size:calc(18px * var(--reading-scale))}.path-card p{font-size:calc(15px * var(--reading-scale))}.path-card small{font-size:13px}
.quiz-card h3{font-size:calc(20px * var(--reading-scale))}.quiz-options button,.quiz-answer,.study-plan{font-size:calc(17px * var(--reading-scale));line-height:1.8}
.section-title p,.stat{font-size:14px}.feature-formulas{font-size:calc(15px * var(--reading-scale))}.mini-heading,.mini-readouts{font-size:14px}.mini-demo label{font-size:16px}
.hero-visual .caption,.visual-meta{font-size:12px}.panel-head button{font-size:14px;border-color:var(--line)}
.lab-picker{max-height:128px;overflow-y:auto;padding:2px 4px 2px 0}.lab-grid{grid-template-columns:320px minmax(0,1fr)}
.circuit text{font-size:14px;fill:var(--text-body)}.circuit .wire{stroke:var(--text-body)}.circuit .component{fill:var(--surface-tint);stroke:var(--green)}.circuit .node{fill:var(--green)}.circuit .flow{stroke:var(--orange)}
aside{background:var(--sidebar-bg)}.lesson-side{background:transparent}.article p,.article ul,.article ol{color:var(--text-body)}
.hero-visual,.mini-demo,.diagram-panel{background:var(--surface-tint);border-color:var(--line)}
.feature-formulas,.quiz-options button{background:var(--input-bg)}
.callout,.quiz-answer{background:var(--surface-tint)}.callout.warn{background:var(--warn-bg);color:var(--warn-ink)}
.status{background:var(--success-bg);color:var(--success-ink)}.status.bad{background:var(--warn-bg);color:var(--warn-ink)}
.control input[type=number],.control select{background:var(--input-bg);border-color:var(--line)}
:root[data-theme="dark"] .brandmark,:root[data-theme="dark"] .btn:not(.secondary){background:#367b50;color:#f0f6e9;border-color:#55926b}
:root[data-theme="dark"] .btn.secondary,:root[data-theme="dark"] .pill{border-color:var(--line);color:var(--green);background:var(--surface-tint)}
:root[data-theme="dark"] .btn.secondary:hover,:root[data-theme="dark"] .lesson-link:hover{background:#2f4736}
:root[data-theme="dark"] .lesson-link{color:#c5d5c8}:root[data-theme="dark"] .lesson-link.selected,:root[data-theme="dark"] .lab-picker a.selected{background:#a7d9ad;color:#152319}
:root[data-theme="dark"] .group-label,:root[data-theme="dark"] .visual-meta{color:var(--muted)}
:root[data-theme="dark"] .progress-track{background:var(--line)}
:root[data-theme="dark"] .btn:hover{background:#438c5b}
:root[data-theme="dark"] .quiz-options button.correct{background:#35523a;border-color:#79ae81}:root[data-theme="dark"] .quiz-options button.wrong{background:#553a29;border-color:var(--orange)}
:root[data-theme="dark"] .study-plan th{background:var(--surface-tint)}
:root[data-theme="dark"] .circuit circle[fill="#d9ef9a"]{fill:#36513a}:root[data-theme="dark"] .circuit circle[fill="#dde5d7"]{fill:#26352d}
:root[data-theme="dark"] #toast{background:#c5dfc6;color:#14211a}
:root[data-theme="dark"] #kmap-buttons button[style*="#d9ef9a"]{background:#36513a!important}
@media(max-width:1180px){.topbar{gap:16px}.topbar nav{gap:16px}.lab-grid{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:1000px){.lab-grid{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.controls h3,.controls .unit-note,.controls button,.controls>a{grid-column:1/-1}.results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.topbar{gap:8px}.brand{font-size:16px}.appearance-toggle{font-size:12px;padding:8px 9px}.mobile-menu{padding:5px 9px}.topbar nav a{font-size:12px}.appearance-panel{top:60px;right:12px}.page-head h1{font-size:30px}.controls{padding:18px;gap:8px 12px}.result strong{font-size:calc(19px * var(--reading-scale))}.result small,.result span{font-size:13px}.path-grid{grid-template-columns:1fr}.hero h1{font-size:34px}.mini-readouts{flex-wrap:wrap;gap:8px}.quiz-options{grid-template-columns:1fr}.panel-head{flex-wrap:wrap}.lab-picker{max-height:100px}.formula{padding:14px}.btn{padding:10px 13px}.lesson-tabs{gap:18px}}
@media print{.appearance-toggle,.appearance-panel{display:none!important}:root[data-theme="dark"]{--paper:white;--white:white;--ink:#17241d;--muted:#435449;--line:#bbb;--green:#20513a;--text-body:#17241d;--surface-tint:#f1f3ee;--input-bg:white}.article p,.article li{font-size:11pt}.formula{font-size:11pt}}
