@scope(.field-theory){:scope{--paper:#faf8f3;--paper-2:#f1ede4;--paper-3:#e7e1d4;--ink:#1d1d1b;--ink-2:#3f3e3a;--muted:#6b6960;--rule:#d8d2c4;--accent:#2457c5;--accent-ink:#fff;--focus:#b8660a;--c-electric:#2457c5;--c-magnetic:#b5412a;--c-current:#d98b1a;--c-thermal:#8a3b8f;--c-geom:#2f8f5b;--c-neutral:#6b6960;--def-bg:#eef3fc;--def-border:#2457c5;--theorem-bg:#f3eef7;--theorem-border:#8a3b8f;--example-bg:#edf5ef;--example-border:#2f8f5b;--warn-bg:#fbeee9;--warn-border:#b5412a;--note-bg:#f6f1e4;--note-border:#d98b1a;--font-text:"Literata", "PT Serif", Georgia, "Times New Roman", serif;--font-ui:"Inter", "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius:10px;--shadow:0 1px 2px #14140a0f, 0 8px 24px -12px #14140a2e;--measure:68ch;--header-h:56px;--sidebar-w:300px;--t-fast:.16s;--t-mid:.28s}:scope[data-theme=dark]{--paper:#15171b;--paper-2:#1c1f25;--paper-3:#262a32;--ink:#ebe8e0;--ink-2:#c9c5ba;--muted:#9a968a;--rule:#343842;--accent:#7ea2f0;--accent-ink:#0d1424;--focus:#f0b85a;--c-electric:#7ea2f0;--c-magnetic:#ee8a6e;--c-current:#f0b85a;--c-thermal:#c88ad0;--c-geom:#6fc396;--c-neutral:#9a968a;--def-bg:#1a2233;--theorem-bg:#251d2c;--example-bg:#1a2a20;--warn-bg:#2d1e1a;--note-bg:#2b2518;--shadow:0 1px 2px #0006, 0 8px 24px -12px #0009}@media (prefers-color-scheme:dark){:scope:not([data-theme=light]){--paper:#15171b;--paper-2:#1c1f25;--paper-3:#262a32;--ink:#ebe8e0;--ink-2:#c9c5ba;--muted:#9a968a;--rule:#343842;--accent:#7ea2f0;--accent-ink:#0d1424;--focus:#f0b85a;--c-electric:#7ea2f0;--c-magnetic:#ee8a6e;--c-current:#f0b85a;--c-thermal:#c88ad0;--c-geom:#6fc396;--c-neutral:#9a968a;--def-bg:#1a2233;--theorem-bg:#251d2c;--example-bg:#1a2a20;--warn-bg:#2d1e1a;--note-bg:#2b2518;--shadow:0 1px 2px #0006, 0 8px 24px -12px #0009}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);text-rendering:optimizelegibility;font-feature-settings:"kern", "liga", "onum";margin:0;font-size:1.0625rem;line-height:1.65}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.btn:focus-visible,.icon-btn:focus-visible,.hero .cta a:focus-visible{box-shadow:0 0 0 2px var(--paper)}main.content:focus{outline:none}.skip-link{background:var(--accent);color:var(--accent-ink);z-index:100;font-family:var(--font-ui);border-radius:6px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}noscript.no-js{font-family:var(--font-ui);padding:24px;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}h1,h2,h3,h4{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--ink);margin:2.2em 0 .6em;font-weight:600;line-height:1.25}h1{margin-top:.4em;font-size:clamp(1.8rem,3.2vw,2.5rem)}h2{border-top:1px solid var(--rule);padding-top:.5em;font-size:1.5rem}h3{font-size:1.2rem}h4{color:var(--ink-2);font-size:1.05rem}p{margin:0 0 1em}ul,ol{padding-left:1.4em}li{margin:.3em 0}strong{font-weight:600}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--paper-2);border-radius:4px;padding:.1em .35em}pre{background:var(--paper-2);border-radius:var(--radius);padding:1em;overflow-x:auto}pre code{background:0 0;padding:0}.table-wrap{margin:1.2em 0;overflow-x:auto}.table-wrap table{margin:0}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:1.2em 0;font-size:.95em}th,td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.5em .7em}th{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.85em;font-weight:600}hr{border:0;border-top:1px solid var(--rule);margin:2em 0}blockquote{border-left:3px solid var(--rule);color:var(--ink-2);margin:1em 0;padding:.2em 1em}figure{margin:1.5em 0}figcaption{font-family:var(--font-ui);color:var(--muted);margin-top:.5em;font-size:.9em}.katex{font-size:1.05em}.katex-display{margin:1.1em 0;padding:.2em 0;overflow:auto hidden}.katex-display>.katex{white-space:normal}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:var(--header-h) 1fr;min-height:100vh;display:grid}.site-header{z-index:30;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);min-width:0;font-family:var(--font-ui);grid-column:1/-1;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.brand{min-width:0;color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:.98rem;font-weight:600;text-decoration:none;display:flex}.brand .mark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);font-family:var(--font-text);border-radius:8px;flex:none;place-items:center;font-size:18px;display:grid}.brand .brand-text{min-width:0;line-height:1.2}.brand small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.header-spacer{flex:1}.icon-btn{appearance:none;border:1px solid var(--rule);background:var(--paper-2);color:var(--ink);min-width:36px;height:36px;font-family:var(--font-ui);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:.85rem;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--paper-3)}.theme-toggle{font-size:1.1rem;line-height:1}.nav-toggle{display:none}.sidebar{top:var(--header-h);height:calc(100vh - var(--header-h));border-right:1px solid var(--rule);background:var(--paper-2);font-family:var(--font-ui);grid-row:2;padding:16px 10px 32px;font-size:.9rem;position:sticky;overflow-y:auto}.sidebar .search{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:8px;margin-bottom:12px;padding:8px 10px}.nav-status{color:var(--muted);margin:0 0 8px;font-size:.8rem}.nav-status:empty{display:none}.nav-module{margin:10px 0 4px}.nav-module>summary{cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:baseline;gap:8px;padding:6px 8px;font-weight:600;list-style:none;display:flex}.nav-module>summary::-webkit-details-marker{display:none}.nav-module>summary:before{content:"▸";color:var(--muted);transition:transform var(--t-fast);font-size:.8em}.nav-module[open]>summary:before{transform:rotate(90deg)}.nav-module .code{color:var(--muted);font-weight:500;font-family:var(--font-mono);font-size:.8em}.nav-lessons{margin:0;padding:0 0 0 10px;list-style:none}.nav-lessons li{margin:0}.nav-lessons a{color:var(--ink-2);border-left:2px solid #0000;border-radius:6px;padding:5px 10px;text-decoration:none;display:block}.nav-lessons a:hover{background:var(--paper-3)}.nav-lessons a[aria-current=page]{background:var(--paper);color:var(--accent);border-left-color:var(--accent);font-weight:600}.nav-lessons .lab-dot{background:var(--c-geom);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.nav-misc{border-top:1px solid var(--rule);margin-top:18px;padding-top:12px}main.content{grid-row:2;min-width:0;padding:32px clamp(16px,4vw,56px) 96px}.prose{max-width:none}.prose>:not(.lab-slot){max-width:var(--measure)}[hidden]{display:none!important}.prose img,.prose svg.diagram{max-width:100%}.lesson-head{max-width:var(--measure);margin-bottom:2rem}.crumbs{font-family:var(--font-ui);color:var(--muted);margin-bottom:.3em;font-size:.85rem}.crumbs a{color:var(--muted)}.lesson-meta{font-family:var(--font-ui);grid-template-columns:1fr 1fr;gap:16px;margin:1.4em 0 0;font-size:.92rem;display:grid}.lesson-meta>div{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 16px}.lesson-meta h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:0;margin:0 0 .4em;padding:0;font-size:.78rem}.lesson-meta h2+h2{margin-top:.8em}.lesson-meta ul{margin:0;padding-left:1.1em}.lesson-nav{border-top:1px solid var(--rule);font-family:var(--font-ui);max-width:var(--measure);justify-content:space-between;gap:16px;margin-top:3rem;padding-top:1.2rem;display:flex}.lesson-nav a{border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);background:var(--paper-2);flex:1;padding:10px 14px;text-decoration:none}.lesson-nav a:hover{background:var(--paper-3)}.lesson-nav small{color:var(--muted);font-size:.78rem;display:block}.block{border-left:4px solid var(--c-neutral);background:var(--paper-2);border-radius:0 var(--radius) var(--radius) 0;margin:1.4em 0;padding:.9em 1.1em}.block>.block-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .4em;font-size:.82rem;font-weight:600}.block p:last-child,.block ul:last-child,.block ol:last-child{margin-bottom:0}.block.def{background:var(--def-bg);border-color:var(--def-border)}.block.theorem{background:var(--theorem-bg);border-color:var(--theorem-border)}.block.example{background:var(--example-bg);border-color:var(--example-border)}.block.warn{background:var(--warn-bg);border-color:var(--warn-border)}.block.note{background:var(--note-bg);border-color:var(--note-border)}.block.exercise{background:var(--paper-2);border-color:var(--ink-2)}details.solution{margin-top:.6em}details.solution summary{cursor:pointer;font-family:var(--font-ui);color:var(--accent);font-size:.9em}.badge{font-family:var(--font-ui);letter-spacing:.03em;border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:var(--c-neutral);border-radius:50%;width:8px;height:8px}.badge.analytic:before{background:var(--c-electric)}.badge.numeric:before{background:var(--c-magnetic)}.badge.illustrative:before{background:var(--c-current)}.badge.precomputed:before{background:var(--c-thermal)}.lab{border:1px solid var(--rule);background:var(--paper-2);max-width:1280px;box-shadow:var(--shadow);border-radius:14px;margin:2.2rem 0;overflow:hidden}.lab-head{border-bottom:1px solid var(--rule);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px;display:flex}.lab-head h2,.lab-head h3{border:0;margin:0;padding:0;font-size:1.05rem}.lab-head .spacer{flex:1}.lab-body{grid-template-columns:minmax(0,1fr) 320px;display:grid}.lab-body.wide-panel{grid-template-columns:minmax(0,1fr) 380px}.lab-stage{background:var(--paper);min-width:0;min-height:420px;position:relative;overflow:hidden}.lab-stage canvas{touch-action:none;width:100%;height:100%;display:block}.lab-stage .stage-canvas-wrap{width:100%;height:480px;position:relative}.lab-stage .overlay{pointer-events:none;font-family:var(--font-ui);color:var(--muted);background:color-mix(in srgb, var(--paper) 75%, transparent);border-radius:6px;padding:4px 8px;font-size:.78rem;position:absolute;top:10px;left:10px}.lab-stage .overlay.br{inset:auto 10px 10px auto}.lab-panel{border-left:1px solid var(--rule);min-width:0;font-family:var(--font-ui);background:var(--paper-2);flex-direction:column;gap:14px;max-height:720px;padding:14px 16px 18px;font-size:.9rem;display:flex;overflow-y:auto}.lab-panel h3,.lab-panel h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:0;margin:.2em 0 0;padding:0;font-size:.78rem}.lab-panel .readouts-title .katex{text-transform:none;font-size:1.1em}.lab-panel fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.lab-panel legend{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;padding:0;font-size:.78rem;font-weight:600}.param{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.param label{color:var(--ink-2);grid-column:1/-1;justify-content:space-between;gap:8px;font-size:.86rem;display:flex}.param label .unit{color:var(--muted);font-family:var(--font-mono);font-size:.8rem}.param input[type=range]{width:100%;accent-color:var(--accent);margin:0}.param input[type=number]{width:86px;font-family:var(--font-mono);border:1px solid var(--rule);background:var(--paper);color:var(--ink);text-align:right;border-radius:6px;padding:4px 6px;font-size:.84rem}.param select,.lab-panel select{font:inherit;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:6px;width:100%;padding:6px 8px;font-size:.86rem}.check{color:var(--ink-2);align-items:center;gap:8px;font-size:.86rem;display:flex}.check input{accent-color:var(--accent);width:16px;height:16px;margin:0}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn{appearance:none;font:inherit;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:.84rem;font-weight:500}.btn:hover{background:var(--paper-3)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.readouts{grid-template-columns:1fr;gap:6px;margin:0;display:grid}.readout{background:var(--paper);border:1px solid var(--rule);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;padding:6px 10px;display:flex}.readout dt{min-width:0;color:var(--ink-2);flex:14ch;margin:0;font-size:.82rem;line-height:1.35}.readout dd{max-width:100%;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:normal;overflow-wrap:anywhere;flex:0 auto;margin:0 0 0 auto;font-size:.9rem}.readout dd .unit{color:var(--muted);margin-left:4px;font-size:.82em}.readout.hl{border-color:var(--accent)}.readout.hl dd{color:var(--accent);font-weight:600}.lab-eq{border-top:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:48px;padding:10px 16px;font-size:.98rem;display:flex;overflow-x:auto}.lab-eq .katex{font-size:1em}.lab-foot{border-top:1px solid var(--rule);font-family:var(--font-ui);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 18px 14px;font-size:.84rem;display:flex}.lab-alt{border-top:1px dashed var(--rule);padding:12px 18px;font-size:.92rem}.lab-alt summary{cursor:pointer;font-family:var(--font-ui);color:var(--accent);font-size:.85rem}.lab-plots{background:var(--paper);border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:12px;display:grid}.lab-plots .plot{background:var(--paper);border:1px solid var(--rule);border-radius:8px;min-height:220px;overflow:hidden}.plot canvas{width:100%;height:100%;display:block}.plot-wrap{width:100%;height:100%;min-height:220px;position:relative}.lab-placeholder{min-height:300px;color:var(--muted);font-family:var(--font-ui);text-align:center;place-items:center;padding:24px;font-size:.9rem;display:grid}.lab-fallback{padding:24px;font-size:.95rem}.lab-stage.stage-2d{justify-content:center;align-items:center;padding:8px;display:flex}.lab-stage svg.diagram{width:100%;height:auto;font-family:var(--font-ui);display:block}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs .btn{border-radius:999px;padding:5px 10px}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:.8rem;display:flex}.legend span:before{content:"";vertical-align:-1px;background:var(--sw,var(--c-neutral));border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.hero{max-width:900px;padding:2rem 0 1rem}.hero h1{max-width:22ch;font-size:clamp(2rem,4vw,3.2rem)}.hero .lead{color:var(--ink-2);max-width:60ch;font-size:1.2rem}.hero .cta{font-family:var(--font-ui);flex-wrap:wrap;gap:12px;margin-top:1.5rem;display:flex}.hero .cta a{border:1px solid var(--rule);color:var(--ink);background:var(--paper-2);border-radius:10px;padding:12px 18px;font-weight:500;text-decoration:none}.hero .cta a.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.module-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:1200px;margin:2rem 0;display:grid}.module-card{border:1px solid var(--rule);background:var(--paper-2);font-family:var(--font-ui);border-radius:14px;flex-direction:column;gap:8px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.module-card:before{content:"";background:var(--mc,var(--c-neutral));width:5px;position:absolute;top:0;bottom:0;left:0}.module-card h2,.module-card h3{border:0;margin:0;padding:0;font-size:1.05rem}.module-card .code{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.module-card ol{color:var(--ink-2);margin:0;padding-left:1.2em;font-size:.9rem}.module-card ol a{color:var(--ink-2);text-decoration:none}.module-card ol a:hover{color:var(--accent);text-decoration:underline}.principles{max-width:1200px;font-family:var(--font-ui);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:1.6rem 0;font-size:.92rem;display:grid}.principles>div{border-top:2px solid var(--accent);color:var(--ink-2);padding-top:10px}.principles strong{color:var(--ink);margin-bottom:4px;display:block}.glossary-controls{font-family:var(--font-ui);flex-wrap:wrap;gap:10px;margin:1rem 0 1.5rem;display:flex}.glossary-controls input{border:1px solid var(--rule);background:var(--paper-2);min-width:min(220px,100%);color:var(--ink);font:inherit;border-radius:8px;flex:1;padding:10px 12px}.glossary-controls select{font:inherit;border:1px solid var(--rule);background:var(--paper-2);color:var(--ink);border-radius:8px;max-width:100%;padding:8px 10px;font-size:.95rem}.gl-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;max-width:1200px;display:grid}.gl-item{border:1px solid var(--rule);background:var(--paper-2);border-radius:10px;padding:12px 14px}.gl-item .sym{font-size:1.2em}.gl-item .name{font-family:var(--font-ui);border:0;margin:4px 0;padding:0;font-size:1rem;font-weight:600}.gl-item .unit{font-family:var(--font-mono);color:var(--muted);font-size:.85em}.gl-item p{margin:.4em 0 0;font-size:.95em}.gl-item .links{font-family:var(--font-ui);margin-top:6px;font-size:.82em}.gl-cat{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.bib-list li{margin:.7em 0}.toc-inline{font-family:var(--font-ui);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2);max-width:var(--measure);padding:12px 16px;font-size:.9rem}.toc-inline ol{margin:.3em 0 0}.toc-inline a{color:var(--ink-2);text-decoration:none}.toc-inline a:hover{color:var(--accent)}.site-footer{font-family:var(--font-ui);color:var(--muted);border-top:1px solid var(--rule);max-width:var(--measure);margin-top:4rem;padding-top:1rem;font-size:.82rem}.stage-toolbar{z-index:2;gap:6px;display:flex;position:absolute;top:10px;right:10px}.stage-toolbar .btn{background:color-mix(in srgb, var(--paper) 85%, transparent);padding:4px 9px;font-size:.78rem}.lab-note{font-family:var(--font-ui);color:var(--ink-2);background:var(--paper);border-top:1px solid var(--rule);padding:10px 16px;font-size:.84rem}.swatch-scale{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.swatch-scale .bar{border:1px solid var(--rule);border-radius:5px;flex:1;height:10px}mark.hit{background:color-mix(in srgb, var(--focus) 45%, transparent);color:inherit;border-radius:2px}@media (max-width:1100px){.lab-body,.lab-body.wide-panel{grid-template-columns:1fr}.lab-panel{border-left:0;border-top:1px solid var(--rule);max-height:none}.lab{margin-left:0;margin-right:0}}@media (max-width:900px){:scope{--sidebar-w:0px}.shell{grid-template-columns:minmax(0,1fr)}.nav-toggle{display:inline-flex}.sidebar{left:0;top:var(--header-h);visibility:hidden;width:min(320px,86vw);transition:transform var(--t-mid), visibility 0s linear var(--t-mid);z-index:25;box-shadow:var(--shadow);position:fixed;transform:translate(-100%)}.sidebar.open{visibility:visible;transition:transform var(--t-mid), visibility 0s;transform:translate(0)}.sidebar-backdrop{inset:var(--header-h) 0 0 0;z-index:20;background:#0000004d;display:none;position:fixed}.sidebar-backdrop.open{display:block}main.content{grid-column:1;padding:20px 16px 72px}.lesson-meta{grid-template-columns:1fr}.lab-stage .stage-canvas-wrap{height:360px}.brand small{display:none}.brand .brand-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lesson-nav{flex-direction:column}}@media (max-width:520px){body{font-size:1rem}.site-header{gap:8px;padding:0 12px}.nav-toggle .nav-toggle-text,.header-glossary{display:none}.brand{font-size:.9rem}.lab-stage .stage-canvas-wrap{height:300px}.lab-plots{grid-template-columns:1fr}.hero h1{font-size:1.75rem}.hero .lead{font-size:1.05rem}}@media (pointer:coarse){.btn,.icon-btn,.hero .cta a,.glossary-controls select,.param select,.lab-panel select{min-height:44px}.tabs .btn,.param input[type=number]{min-height:40px}.param input[type=range]{height:32px}.nav-lessons a,.nav-module>summary,.nav-misc a{padding-top:10px;padding-bottom:10px}.check{min-height:32px}.check input{width:20px;height:20px}details.solution summary,.lab-alt summary{padding:8px 0}}@media print{.site-header,.sidebar,.sidebar-backdrop,.lesson-nav,.lab-panel,.stage-toolbar,.skip-link,.theme-toggle{display:none!important}.shell{display:block}main.content{padding:0}.prose>:not(.lab-slot){max-width:none}.lab{box-shadow:none;break-inside:avoid}.lab-body{grid-template-columns:1fr}a{color:inherit;text-decoration:none}.block{break-inside:avoid}details.solution,.lab-alt{display:block}details.solution>summary,.lab-alt>summary{display:none}details.solution:not([open])>:not(summary),.lab-alt:not([open])>:not(summary){display:block}.lab-alt[hidden]{display:none!important}.lab-stage{min-height:0}.nav-module:not([open])>ul{display:block}.katex-display{overflow:visible}a[href^="#/"]:after{content:none}}.nav-lessons a.visited:after{content:" ✓";color:var(--c-geom);font-size:.8em}}.field-theory{color:var(--ink,#222);--font-text:Georgia, "Times New Roman", serif;--font-ui:system-ui, "Segoe UI", sans-serif;font-size:16px}.field-theory .lab{max-width:none;margin:1rem 0}.field-theory .lab-head{position:relative}.field-theory .lab-plots{min-width:0}.field-theory .plot-title{overflow-wrap:anywhere}.field-theory .stage-toolbar:empty{display:none}.field-theory .stage-toolbar{background:var(--paper-2);z-index:2;padding:.5rem;position:relative}.field-theory .lab-stage>canvas{height:480px!important}@media (max-width:700px){.field-theory .lab-body,.field-theory .lab-body.wide-panel,.field-theory .lab-plots{grid-template-columns:minmax(0,1fr)}.field-theory .lab-stage>canvas{height:400px!important}.field-theory .lab-head .badge{white-space:normal;max-width:100%}}
