.calibration-course{--cal-bg: #0a1417;--cal-panel: #0f2024;--cal-line: #30474c;--cal-ink: #f0f5f1;--cal-muted: #a8b5b4;--cal-green: #80d9ae;--cal-gold: #efc76c;--cal-blue: #70c5dd;display:grid;gap:2.25rem;padding-block:1rem 5rem;color:var(--cal-ink)}.calibration-course button,.calibration-course input,.calibration-course select{font:inherit}.calibration-course button:focus-visible,.calibration-course input:focus-visible,.calibration-course select:focus-visible,.calibration-course a:focus-visible,.calibration-course summary:focus-visible{outline:3px solid var(--cal-gold);outline-offset:3px}.calibration-orientation,.calibration-lesson__header{display:grid;gap:1.2rem;align-items:end}.calibration-orientation{padding:1.5rem 0 2rem;border-bottom:1px solid var(--gray-700)}.calibration-orientation>div:first-child{max-width:68ch}.calibration-orientation span,.calibration-lesson__header span,.calibration-viewport header span,.calibration-gate>strong,.calibration-prediction>span,.calibration-action>span,.calibration-explanation>div>span{color:var(--cal-green);font-size:.72rem;font-weight:850;letter-spacing:.035em}.calibration-orientation h2{max-width:22ch;margin-top:.55rem;font-size:clamp(1.9rem,5vw,3.6rem);letter-spacing:-.045em;line-height:1.08;text-wrap:balance}.calibration-orientation p{max-width:66ch;margin-top:.75rem;color:var(--cal-muted);line-height:1.75;text-wrap:pretty}.calibration-mode{display:flex;flex-wrap:wrap;gap:.5rem}.calibration-mode button,.calibration-step-nav button,.calibration-gate button,.calibration-prediction button,.calibration-action button,.calibration-controls button,.calibration-controls-toggle,.calibration-pagination button,.calibration-pagination a{min-height:44px;padding:.68rem .82rem;border:1px solid var(--cal-line);border-radius:.55rem;color:var(--cal-ink);background:transparent;font-size:.78rem;font-weight:780;cursor:pointer}.calibration-mode button{display:grid;gap:.2rem;text-align:left}.calibration-mode button[aria-pressed=true]{border-color:var(--cal-green);background:color-mix(in srgb,var(--cal-green) 10%,transparent)}.calibration-mode small{color:var(--cal-muted);font-size:.65rem;font-weight:500}.calibration-step-nav{display:grid;grid-template-columns:repeat(18,minmax(9rem,1fr));overflow-x:auto;overscroll-behavior-inline:contain;border-block:1px solid var(--gray-700);scrollbar-width:thin}.calibration-step-nav button{min-width:9rem;display:grid;gap:.3rem;align-content:start;border:0;border-right:1px solid var(--gray-700);border-radius:0;text-align:left}.calibration-step-nav button[aria-current=step]{background:color-mix(in srgb,var(--cal-green) 10%,transparent);box-shadow:inset 0 -3px var(--cal-green)}.calibration-step-nav span{color:var(--cal-green);font:750 .66rem ui-monospace,monospace}.calibration-step-nav strong{font-size:.72rem;line-height:1.4}.calibration-lesson{display:grid;gap:1.5rem}.calibration-lesson__header{scroll-margin-top:1rem}.calibration-lesson__header h2{max-width:21ch;margin-top:.4rem;font-size:clamp(2rem,6vw,4.4rem);letter-spacing:-.047em;line-height:1.06;text-wrap:balance}.calibration-prerequisite{max-width:56ch;padding:1rem;border:1px solid var(--gray-700);border-radius:.65rem;color:var(--cal-muted);background:var(--gray-900);line-height:1.7}.calibration-prerequisite strong{display:block;color:var(--cal-ink)}.calibration-prerequisite p{margin:.25rem 0 0}.calibration-workbench{position:relative;min-height:45rem;overflow:hidden;padding:1rem;border:1px solid var(--cal-line);border-radius:.8rem;background:var(--cal-bg)}.calibration-viewport{min-height:43rem;display:grid;gap:1rem}.calibration-viewport header{min-height:3.2rem;display:flex;gap:1rem;align-items:end;justify-content:space-between;padding-right:min(19rem,31vw)}.calibration-viewport header h2{margin-top:.3rem;font-size:1.1rem}.calibration-viewport header output{color:var(--cal-gold);font:800 .82rem ui-monospace,monospace}.calibration-stage{position:relative;display:grid;gap:1rem;padding:1rem;border:1px solid #20383d;background:hsl(var(--cal-hue) 22% 10%)}.cal-light-source{display:flex;gap:.65rem;align-items:center;justify-content:center;color:var(--cal-muted);font-size:.62rem}.cal-light-source i{width:calc(.65rem + var(--cal-light-size) * 4rem);height:calc(.35rem + var(--cal-light-size) * 1.6rem);border-radius:.18rem;background:#fff4d4;box-shadow:0 0 calc(.5rem + var(--cal-light-size) * 2rem) #f4d998aa}.calibration-reference{min-height:12rem;display:flex;gap:clamp(.75rem,5vw,3rem);align-items:end;justify-content:center}.calibration-reference>div{display:grid;gap:.55rem;justify-items:center}.calibration-reference>div.is-sample{padding:.55rem;border:1px solid color-mix(in srgb,var(--cal-gold) 75%,transparent)}.calibration-reference span{color:var(--cal-muted);font-size:.62rem;text-align:center}.calibration-ball{width:clamp(4rem,10vw,6.6rem);aspect-ratio:1;display:block;border-radius:50%;box-shadow:0 1rem 2rem #0006}.calibration-ball.material{background:radial-gradient(circle at calc(27% + var(--cal-highlight) * 18%) 24%,hsl(var(--cal-hue) 80% calc(45% + var(--cal-value) * 48%)) 0 calc(3% + (1 - var(--cal-highlight)) * 10%),hsl(var(--cal-hue) 64% calc(22% + var(--cal-value) * 38%)) calc(15% + var(--cal-highlight) * 22%),hsl(var(--cal-hue) 48% calc(5% + var(--cal-value) * 26%)) 72%)}.calibration-ball.gray{background:radial-gradient(circle at 30% 25%,#ccc,#6f6f6f 60%,#262626)}.calibration-ball.white{background:radial-gradient(circle at 30% 25%,#fff,#d7d7d7 58%,#656565)}.calibration-ball.metal{background:radial-gradient(circle at 32% 25%,#fff 0 5%,#96b2b4 18%,#1c292d 55%,#dae9e8 72%,#202b2e)}.calibration-route{display:flex;gap:.45rem;align-items:stretch;overflow-x:auto}.calibration-route>div{min-width:8.4rem;display:grid;flex:1 0 auto;gap:.25rem;padding:.65rem;border:1px solid var(--cal-line);background:#0b1c20}.calibration-route>div span{color:var(--cal-muted);font-size:.61rem}.calibration-route>div strong{font:750 .74rem ui-monospace,monospace}.calibration-route>b{display:grid;place-items:center;color:var(--cal-green)}.calibration-evidence-grid{display:grid;gap:1rem}.calibration-evidence-grid>div{display:grid;gap:.55rem;padding:.8rem;border:1px solid #20383d;background:#0b1b1f}.calibration-evidence-grid>div>span{color:var(--cal-green);font-size:.7rem;font-weight:800}.calibration-evidence-grid small{color:var(--cal-muted);font-size:.65rem;line-height:1.5}.calibration-energy{height:1.4rem;display:flex;overflow:hidden;background:#172a2e}.calibration-energy i,.calibration-energy b{min-width:.25rem;display:grid;place-items:center;overflow:hidden;color:#071113;font:800 .57rem ui-monospace,monospace}.calibration-energy i{background:var(--cal-green)}.calibration-energy b{background:var(--cal-gold)}.calibration-evidence-grid svg{width:100%;height:5rem}.calibration-axis{fill:none;stroke:#496267;stroke-width:1}.calibration-physical{fill:none;stroke:var(--cal-green);stroke-width:3}.calibration-linear{fill:none;stroke:var(--cal-blue);stroke-width:2;stroke-dasharray:5 4}.calibration-evidence-grid circle{fill:var(--cal-gold)}.calibration-readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #20383d;background:#0b1b1f}.calibration-readouts>div{display:grid;gap:.25rem;padding:.6rem .7rem;border-right:1px solid #20383d}.calibration-readouts>div:last-child{border-right:0}.calibration-readouts span{color:var(--cal-muted);font-size:.59rem}.calibration-readouts strong{font:750 .66rem ui-monospace,monospace}.calibration-acceptance-track{display:flex;overflow-x:auto;padding:0;margin:0;list-style:none}.calibration-acceptance-track li{min-width:8.5rem;min-height:42px;display:flex;flex:1 0 auto;align-items:center;justify-content:center;padding:.5rem;border:1px solid #20383d;border-right:0;color:var(--cal-muted);background:#0b1b1f;font-size:.62rem}.calibration-acceptance-track li:last-child{border-right:1px solid #20383d}.calibration-visual-anchor{color:var(--cal-muted);font-size:.65rem}.calibration-visual-anchor strong{color:var(--cal-gold)}.calibration-viewport[data-focus=sample] .is-sample,.calibration-viewport[data-focus=references] .calibration-reference,.calibration-viewport[data-focus=input] .calibration-route,.calibration-viewport[data-focus=energy] .calibration-energy-panel,.calibration-viewport[data-focus=light] .calibration-distance-panel,.calibration-viewport[data-focus=camera] .calibration-route,.calibration-viewport[data-focus=acceptance] .calibration-acceptance-track{box-shadow:0 0 0 1px var(--cal-gold)}.calibration-controls-toggle{position:absolute;z-index:4;top:.65rem;right:.65rem;background:#11272c}.calibration-controls{position:absolute;z-index:3;top:3.65rem;right:.65rem;width:min(18rem,calc(100% - 1.3rem));display:grid;gap:.8rem;padding:.85rem;border:1px solid #405b61;border-radius:.65rem;background:#0e2328;box-shadow:0 1.25rem 3rem #0006}.calibration-controls>div{display:flex;gap:.5rem;align-items:center;justify-content:space-between}.calibration-controls>div span{color:var(--cal-muted);font-size:.65rem}.calibration-controls>div span.is-dirty{color:var(--cal-gold)}.calibration-controls>div button{min-height:36px;padding:.4rem .55rem;font-size:.65rem}.calibration-controls>div button[aria-pressed=true]{border-color:var(--cal-green);color:var(--cal-green)}.calibration-controls label,.calibration-controls__ack{display:grid;gap:.5rem}.calibration-controls__ack{padding:.65rem;border:1px solid var(--cal-line);color:var(--cal-muted);font-size:.68rem;line-height:1.5}.calibration-controls__ack strong{color:var(--cal-ink)}.calibration-controls label>span{display:flex;justify-content:space-between;color:var(--cal-muted);font-size:.72rem}.calibration-controls output{color:var(--cal-gold);font:800 .78rem ui-monospace,monospace}.calibration-controls input{width:100%;min-height:44px;accent-color:var(--cal-gold)}.calibration-controls select{min-height:44px;padding:.55rem;border:1px solid var(--cal-line);border-radius:.45rem;color:var(--cal-ink);background:#112a30}.calibration-controls>p{color:var(--cal-muted);font-size:.67rem;line-height:1.55}.calibration-controls .calibration-primary{border-color:var(--cal-gold);color:#171105;background:var(--cal-gold)}.calibration-controls .calibration-primary:disabled,.calibration-controls button:disabled,.calibration-controls select:disabled,.calibration-controls input:disabled{cursor:not-allowed;opacity:.45}.calibration-gate,.calibration-prediction,.calibration-action,.calibration-explanation{display:grid;gap:1rem;padding:1.2rem;border-block:1px solid var(--gray-700);background:color-mix(in srgb,var(--gray-900) 75%,transparent)}.calibration-gate p,.calibration-action p,.calibration-explanation>p,.calibration-formula p,.calibration-checklist p,.calibration-boundaries p{max-width:68ch;color:var(--cal-muted);line-height:1.75}.calibration-gate p b{color:var(--cal-ink)}.calibration-gate button,.calibration-action>button{width:fit-content;border-color:var(--cal-gold);color:#171105;background:var(--cal-gold)}.calibration-prediction h2{max-width:62ch;font-size:1.25rem;line-height:1.45}.calibration-prediction>div{display:flex;flex-wrap:wrap;gap:.55rem}.calibration-prediction>div button{background:#10262d}.calibration-prediction .calibration-skip{width:fit-content;padding-inline:0;border:0;color:var(--cal-muted);text-decoration:underline;text-underline-offset:.25rem}.calibration-prediction-feedback{display:grid;gap:.3rem;padding:.75rem;border:1px solid #476066;background:#0b1c20}.calibration-prediction-feedback[data-correct=true]{border-color:var(--cal-green)}.calibration-prediction-feedback strong{color:var(--cal-ink)}.calibration-action small{color:var(--cal-muted);line-height:1.55}.calibration-explanation{border-color:color-mix(in srgb,var(--cal-green) 55%,var(--gray-700));background:color-mix(in srgb,var(--cal-green) 5%,var(--cal-bg))}.calibration-explanation h2{margin-top:.3rem;font-size:1.3rem}.calibration-explanation>p strong{display:block;color:var(--cal-ink)}.calibration-term{max-width:70ch;display:grid;margin:0;border-block:1px solid var(--cal-line)}.calibration-term>div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--cal-line)}.calibration-term>div:last-child{border-bottom:0}.calibration-term dt{color:var(--cal-green);font-size:.72rem;font-weight:800}.calibration-term dd{margin:0;color:var(--cal-muted);line-height:1.65}.calibration-formula,.calibration-checklist{max-width:70ch;display:grid;gap:.5rem;padding:1rem;border:1px solid var(--cal-line);background:#0a1a1e}.calibration-formula>span,.calibration-checklist>strong{color:var(--cal-gold);font-size:.7rem;font-weight:800}.calibration-formula code{overflow-wrap:anywhere;color:var(--cal-gold);font:800 .82rem/1.6 ui-monospace,monospace}.calibration-boundaries{max-width:70ch;display:grid;gap:.6rem}.calibration-boundaries p{padding:.75rem;border:1px solid var(--cal-line)}.calibration-boundaries strong{display:block;color:var(--cal-ink)}.calibration-explanation blockquote{max-width:70ch;margin:0;padding:1rem;border:1px solid var(--cal-line);line-height:1.75}.calibration-explanation blockquote strong{display:block;color:var(--cal-gold)}.calibration-explanation details{max-width:75ch;border-top:1px solid var(--cal-line)}.calibration-explanation summary{min-height:50px;display:flex;align-items:center;color:var(--cal-green);font-size:.75rem;font-weight:800;cursor:pointer}.calibration-explanation details>p{color:var(--cal-muted);font-size:.7rem}.calibration-explanation pre{overflow:auto;margin:0;padding:1rem;background:#061116}.calibration-explanation pre code{color:#d0f3e6;font:700 .76rem/1.7 ui-monospace,monospace}.calibration-pagination{display:flex;gap:.65rem;justify-content:space-between}.calibration-pagination button,.calibration-pagination a{color:var(--cal-green);text-decoration:none}@media(min-width:50em){.calibration-orientation,.calibration-lesson__header{grid-template-columns:minmax(0,1fr) auto}.calibration-mode{justify-content:flex-end}.calibration-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:42rem){.calibration-course{gap:1.55rem;padding-bottom:3rem}.calibration-mode button{flex:1}.calibration-step-nav{grid-template-columns:repeat(18,8.8rem)}.calibration-lesson__header h2{font-size:clamp(1.9rem,9vw,2.8rem)}.calibration-workbench{min-height:54rem;padding:.65rem}.calibration-viewport{min-height:52rem}.calibration-viewport header{padding-top:3.2rem;padding-right:0}.calibration-reference{min-height:10rem;gap:.45rem}.calibration-reference>div:nth-child(3),.calibration-reference>div:nth-child(4){display:none}.calibration-ball{width:min(26vw,5.5rem)}.calibration-readouts{grid-template-columns:1fr 1fr}.calibration-readouts>div:nth-child(2){border-right:0}.calibration-readouts>div:nth-child(-n+2){border-bottom:1px solid #20383d}.calibration-controls-toggle{top:.55rem;right:.55rem}.calibration-controls{top:3.45rem;right:.55rem;max-height:23rem;overflow-y:auto}.calibration-pagination>*{flex:1;text-align:center}.calibration-pagination span{display:none}.calibration-term>div{grid-template-columns:1fr;gap:.25rem}.calibration-prediction>div{display:grid}.calibration-prediction>div button{width:100%;text-align:left}}@media(prefers-reduced-motion:reduce){.calibration-course *{scroll-behavior:auto}}
