@font-face{font-family:Oxanium;src:url('../../art/fonts/Oxanium-Variable.ttf')}*{box-sizing:border-box}[hidden]{display:none!important}:root{color-scheme:dark;--ink:#e9eefb;--muted:#aebbd2;--line:#4d627e;--panel:#101c2e;--command-accent:#b9cfeb;--x:#ffd166;--v:#45d6ff;--a:#ff6b78;--t:#bd9cff;--d:#70e0a0}body{margin:0;background:radial-gradient(ellipse at top,#26314c,#080e19 75%);color:var(--ink);font:16px/1.55 system-ui,sans-serif;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,a,input{touch-action:manipulation}button,a{color:inherit}button{font:600 14px/1.3 system-ui;min-height:44px;border:1px solid #627794;background:#182941;padding:9px 14px;border-radius:4px;cursor:pointer}button:hover:not(:disabled),a:hover{color:#fff;background-color:#2e4666}button:disabled{opacity:.46;cursor:default}.primary{background:#afcbe7;color:#101b2d;border-color:#dcecff}.primary:hover:not(:disabled){background:#e0ecff;color:#101b2d}a{text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,.focusable:focus-visible{outline:3px solid #fff;outline-offset:3px}header{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid #4e657f;background:#0b1423;min-height:70px}header nav{display:flex;align-items:center;gap:8px;margin-left:auto}header nav a{padding:10px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font:600 17px Oxanium,system-ui}.brand img{width:44px;height:44px;object-fit:contain}.brand small{display:block;font:12px/1.5 system-ui;color:var(--muted)}main{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,1fr);gap:16px;padding:16px;max-width:1700px;width:100%;margin:auto}.instruments,.controls{min-height:0;min-width:0;border:1px solid var(--line);background:linear-gradient(130deg,#172338e8,#0c1627f5);box-shadow:inset 0 0 0 4px #0c1625,inset 0 0 0 5px #30445e;position:relative;border-radius:16px 3px 16px 3px}.instruments{display:flex;flex-direction:column;padding:16px}.controls{overflow:auto;overscroll-behavior:contain;padding:26px 24px;scroll-padding:24px}.lab-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.lab-heading strong{display:block;font:600 18px/1.4 Oxanium,system-ui}.eyebrow{font:600 11px/1.5 Oxanium,system-ui;letter-spacing:.13em;color:#bdcfe4}.world{font-size:12px;color:#ded4f7}.tabs{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:10px}.tabs button{padding:6px 10px;font-size:12px;min-height:36px}.tabs [aria-selected=true]{background:#b5cce5;color:#0b1727}#sceneStatus{font-size:11px;margin-left:auto;color:#ced7ed}.evidence{flex:1;min-height:120px;margin:8px 0;position:relative;background:#091222;border:1px solid #344765;border-radius:6px;overflow:hidden}.evidence>[role=tabpanel]{height:100%;width:100%;overflow:auto;padding:10px}#scenePanel{padding:0;overflow:hidden}#scene{width:100%;height:100%;display:block}#scene text,#graphs text{font:15px system-ui;fill:#dce5f5;paint-order:stroke;stroke:#0b1425;stroke-width:3px;stroke-linejoin:round}#scene .axis-label,#graphs .axis-label{font-size:13px}#scene .point-label{fill:var(--x)}#scene .v-label{fill:var(--v)}#scene .d-label{fill:var(--d)}#graphs{width:100%;height:calc(100% - 90px);min-height:180px;display:block}.evidence h2{font-size:14px;margin:0 0 8px}.evidence table{font-size:13px;width:100%;border-collapse:collapse}.evidence th,.evidence td{padding:6px;border-bottom:1px solid #354763;text-align:right}.evidence th{color:#c0cfe4}.evidence td button{min-height:32px;padding:3px 10px}.evidence tr.current{background:#263e54;outline:1px solid #9fcce4}.evidence caption{font-size:11px;color:var(--muted);margin-bottom:6px}.telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.metric{padding:7px 9px;min-width:0;text-align:left;background:#111d30;cursor:default;border-color:#405473}.metric span{display:block;font-size:10px;line-height:1.5;color:#d4deed}.metric strong{font:600 19px/1.4 Oxanium,system-ui;white-space:nowrap}.metric.quiz-target{cursor:pointer}.transport{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.transport button{font-size:12px;padding:7px 10px}.scrubber{flex:1;min-width:80px;font-size:10px;color:var(--muted)}.scrubber input{width:100%;min-height:26px;accent-color:var(--t);display:block}.transport output{font-size:12px;color:var(--t);font-variant-numeric:tabular-nums}.scene-note{font-size:10px;color:#aebbd2;line-height:1.4;margin:8px 0 0}.q-x{color:var(--x)}.q-v{color:var(--v)}.q-a{color:var(--a)}.q-t{color:var(--t)}.q-d{color:var(--d)}h1{font:600 clamp(22px,2.2vw,32px)/1.15 Oxanium,system-ui;margin:16px 0 20px}h2{font-family:Oxanium,system-ui}p{margin:0 0 16px}.controls .eyebrow{margin:0 0 8px}progress{width:100%;height:5px;display:block;accent-color:#bcd1ed}progress::-webkit-progress-bar{background:#26354c}progress::-webkit-progress-value{background:#bcd1ed}.look{border-left:3px solid #afcbe7;padding:10px 12px;background:#1e304a;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px;font-size:13px}.look button{font-size:12px;margin-left:auto}.equation,.given-list{padding:15px 12px;background:#07121f;border:1px solid #3e5575;border-radius:6px;margin:14px 0;font:500 18px/1.85 Oxanium,system-ui;overflow-wrap:anywhere}.guess{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:15px 0;border:1px solid #63809e;overflow:auto}.guess span{padding:9px 3px;font-size:10px;text-align:center;border-right:1px solid #63809e;white-space:nowrap}.guess span:last-child{border:0}.guess .current{background:#b4cbe5;color:#0c1727}.small{font-size:12px;color:var(--muted)}.guide-nav{display:flex;gap:8px;align-items:center;border-top:1px solid #435977;padding-top:16px;margin-top:24px}.guide-nav span{margin:auto;font-size:12px;color:var(--muted)}#saveStatus{margin:10px 0 0}.quiz{display:grid;gap:9px}.quiz button{text-align:left}.quiz button[aria-pressed=true]{border:2px solid var(--d)}.feedback,.hint{padding:12px;border-left:3px solid var(--d);background:#1c3440;margin:12px 0}.feedback.wrong{border-color:var(--x)}#predictionForm label{display:block;margin-top:15px;font-size:14px}#predictionForm input{width:100%;min-height:48px;border:1px solid #768da8;background:#091421;color:white;font:22px Oxanium,system-ui;padding:8px;margin:6px 0}#predictionForm button{margin:6px 5px 0 0}#error{color:#ffbeb7;font-size:13px}#comparison table{width:100%;font-size:12px;border-collapse:collapse;margin:14px 0}#comparison th,#comparison td{padding:8px 5px;border-bottom:1px solid #3d526c;text-align:right}#comparison th:first-child{text-align:left}#comparison td:first-child{text-align:left}.focus-on{outline:2px solid #ecf7ff!important;outline-offset:3px;box-shadow:0 0 15px #a3d6ff55}svg .focus-on{outline:none!important;filter:drop-shadow(0 0 5px #fff)}.focus-pulse{animation:focus-pulse 1.7s ease-in-out 2}@keyframes focus-pulse{50%{filter:drop-shadow(0 0 9px #d2e9ff)}}dialog{max-width:680px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#111e31;color:var(--ink);border:1px solid #8ca5c3;padding:28px;border-radius:12px}dialog::backdrop{background:#000b}dialog h2{margin-top:0}.course-list{padding-left:22px}.course-list li{margin:18px 0}.course-list em{display:block;color:var(--d);font-size:13px}#chapterLinks{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}#chapterLinks button{font-size:12px}.setting{display:flex;align-items:center;gap:12px;min-height:48px}.setting input{width:22px;height:22px}body.armored-ui .number-pad{border-radius:12px;padding:14px}body.armored-ui .number-pad button{min-height:48px}.number-pad-open .guide-content{visibility:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:1000px){header{padding:7px 12px;gap:8px;min-height:58px}.brand{font-size:13px}.brand img{width:34px;height:34px}.brand small{font-size:10px}header nav{gap:4px}header nav button,header nav a{font-size:12px;padding:6px 8px}header .music-controls summary{font-size:11px;padding:0 8px}main{gap:10px;padding:10px;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}.controls{padding:22px 18px}.instruments{padding:12px}.world{font-size:10px}.lab-heading strong{font-size:15px}.metric strong{font-size:16px}}
@media(max-width:640px) and (orientation:portrait){header{flex-wrap:wrap;gap:4px}.brand{flex:1}header nav{order:3;width:100%;justify-content:space-between}header .music-controls{margin-left:auto}main{grid-template-columns:1fr;grid-template-rows:minmax(230px,42%) minmax(0,1fr);padding:6px;gap:6px}.instruments{padding:8px}.lab-heading,.scene-note{display:none}.tabs{margin:0}.tabs button{min-height:32px}.evidence{min-height:65px;margin:4px 0}.telemetry{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.metric{padding:3px;min-height:43px}.metric span{font-size:0}.metric span::first-letter{font-size:10px}.metric strong{font:600 11px system-ui;white-space:normal}.transport{margin-top:4px;gap:3px}.transport button{padding:5px;font-size:11px;min-height:36px}.scrubber{min-width:50px}.transport output{font-size:10px}.controls{padding:20px 16px}h1{font-size:23px}.evidence>[role=tabpanel]:not(#scenePanel){padding:6px}#graphs{min-height:120px;height:auto}body.armored-ui .number-pad{padding:10px}}
@media(max-height:540px) and (orientation:landscape){header{min-height:48px;padding:2px 10px}.brand small{display:none}.brand img{height:32px;width:32px}header nav button,header nav a,header .music-controls summary{min-height:40px}main{padding:6px;gap:8px;grid-template-columns:minmax(0,1.35fr) minmax(275px,1fr)}.instruments{padding:8px}.lab-heading,.scene-note{display:none}.tabs{margin:0}.tabs button{min-height:30px}.evidence{min-height:70px;margin:4px 0}.telemetry{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.metric{min-height:40px;padding:3px}.metric span{font-size:0}.metric span::first-letter{font-size:10px}.metric strong{font:600 11px system-ui;white-space:normal}.transport{margin-top:4px;gap:3px}.transport button{font-size:11px;min-height:36px;padding:4px 7px}.controls{padding:20px 16px;font-size:14px}h1{font-size:23px}.look{padding:8px;margin-bottom:14px}.guide-nav{margin-top:16px}.evidence>[role=tabpanel]:not(#scenePanel){padding:6px}#graphs{height:auto;min-height:160px}body.armored-ui .number-pad{padding:6px}body.armored-ui .number-pad button{min-height:44px}}
@media(max-width:650px) and (orientation:landscape){.brand span{display:none}header{gap:4px}header nav{gap:3px}header nav a,header nav button{font-size:11px;padding:5px}main{grid-template-columns:minmax(0,1fr) minmax(250px,1fr)}.transport .scrubber{flex-basis:60px}#sceneStatus{display:none}}
/* Keep the diagram large; compact instruments retain explicit symbols. */
@media(min-width:1001px){.telemetry{grid-template-columns:repeat(6,minmax(0,1fr))}.metric{padding:6px}.metric span{min-height:30px}.metric strong{font-size:15px}}
#scene text{font-size:17px}#scene .axis-label{font-size:15px}#graphs text,#graphs .axis-label{font-size:17px}
#graphs{height:calc(100% - 76px);min-height:125px}.transport button,.tabs button{min-height:44px}
@media(max-width:640px) and (orientation:portrait),(max-height:540px) and (orientation:landscape){.metric{min-height:44px}.metric span::first-letter{font-size:0}.metric span::after{font-size:12px;font-weight:700}.metric[data-quantity=x] span::after{content:'x'}.metric[data-quantity=y] span::after{content:'y'}.metric[data-quantity=vx] span::after{content:'vₓ'}.metric[data-quantity=vy] span::after{content:'vᵧ'}.metric[data-quantity=ay] span::after{content:'aᵧ'}.metric[data-quantity=t] span::after{content:'t'}.tabs button{font-size:11px;padding:3px 7px}.transport .scrubber{min-width:45px}#graphs{height:auto;min-height:125px}}
.view-tools{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:10px}.view-tools .tabs{margin:0}#expand{font-size:12px;padding:6px 10px}.lab-expanded{grid-template-columns:1fr;grid-template-rows:1fr}.lab-expanded .controls{display:none}.lab-expanded .instruments{width:100%}.lab-expanded #scene text,.lab-expanded #scene .axis-label{font-size:21px}
svg g.focus-on{filter:none}svg g.focus-on path,svg g.focus-on circle{filter:drop-shadow(0 0 4px #fff)}
@media(max-width:640px) and (orientation:portrait),(max-height:540px) and (orientation:landscape){.view-tools{margin:0}#sceneStatus{display:none}#expand{margin-left:auto}.lab-expanded{grid-template-rows:1fr}.lab-expanded .lab-heading{display:flex}.lab-expanded .scene-note{display:block}}
