:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#c5cdd6;background:#101419;font-synthesis:none;font-size:13px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,select{border:1px solid #303841;background:#1c232b;color:#bbc7d3;border-radius:5px;padding:7px 11px;cursor:pointer}button:hover{background:#29333d;color:#fff;border-color:#536477}button:disabled{opacity:.4;cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #9bbfe5;outline-offset:3px}input[type=range]{accent-color:#8bb6e1;min-width:80px;cursor:pointer}input[type=number]{width:120px;border:1px solid #3c4753;background:#101419;padding:7px;border-radius:4px}.app{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.app.collapsed{grid-template-columns:64px minmax(0,1fr)}aside{background:#14191f;border-right:1px solid #2b323b;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{height:66px;display:flex;align-items:center;padding:0 16px;gap:9px;letter-spacing:1.3px;font-size:11px;font-weight:600;white-space:nowrap}.brand b{color:#8cb6df}.brand-icon{font:italic 30px Georgia;color:#8cb6df}.brand button{margin-left:auto;border:0;background:none;padding:4px}.collapsed .brand{padding:0 8px;gap:3px}.explorer-label{font-size:10px;letter-spacing:1.5px;padding:23px 17px 18px;border-top:1px solid #252c34;color:#8b97a5}.explorer-label span{float:right;font-size:9px;letter-spacing:0;color:#647180}details{padding-bottom:16px}summary{list-style:none;cursor:pointer;color:#aab6c3;padding:7px 20px;font-family:Consolas,monospace;font-size:12px}.folder{color:#72879b;margin:0 4px}nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:0;background:none;padding:9px 18px 9px 40px;text-align:left;font-family:Consolas,monospace;font-size:12px;border-left:2px solid transparent}nav button.active{background:#26374c;border-left-color:#8bb6e1;color:#bad5ef}.file-icon{color:#6f8c9e}nav i{width:5px;height:5px;background:#8bb6e1;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:24px 20px;border-top:1px solid #252c34;font:10px Consolas,monospace;color:#8c9ba9;letter-spacing:.5px}.sidebar-bottom p{color:#677583;font-size:11px;letter-spacing:0}.sidebar-bottom small{color:#9ca9b4;letter-spacing:0}.live-dot{display:inline-block;width:6px;height:6px;background:#8bb6e1;border-radius:50%;margin-right:7px}.tabbar{height:44px;background:#14191f;border-bottom:1px solid #2b323b;display:flex;justify-content:space-between;align-items:center}.tabbar>span{height:100%;padding:14px 23px;background:#101419;border-right:1px solid #2b323b;border-top:2px solid #8bb6e1;font:11px Consolas,monospace}.tabbar small{padding-right:26px;color:#626e7c;font:10px Consolas,monospace}.tab-dot{display:inline-block;width:6px;height:6px;background:#8fa69c;border-radius:50%;margin-left:25px}.workspace{max-width:1450px;margin:auto;padding:29px 34px 28px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font:10px Consolas,monospace;letter-spacing:1.7px;color:#98b7d8}h1{font-size:27px;letter-spacing:-.7px;font-weight:500;margin:10px 0}p{color:#84919f;line-height:1.5;margin:0}.quiet{background:transparent;border:0;color:#81909e;font-size:11px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.toolbar label{display:flex;gap:8px;align-items:center;color:#7f8d9c;font-size:11px}.primary{background:#29496b;color:#d4e5f7;border-color:#4e7095;min-width:82px}.toolbar-spacer{flex:1}.toolbar-divider{height:20px;width:1px;background:#303943;margin:0 5px}.scene-panel{border:1px solid #303a44;border-radius:7px;background:#151c23;overflow:hidden}.scene-top{display:flex;justify-content:space-between;padding:16px 18px;font:10px Consolas,monospace;letter-spacing:.6px;color:#83919e}.scene-top b{color:#c9d6df;font-weight:400}.scene{width:100%;display:block;max-height:230px;touch-action:none}.scene text{fill:#6c7d8d;font:10px Consolas,monospace}.scene .player-label{fill:#bad5ef;font-size:9px;letter-spacing:2px}.track{stroke:#374451;stroke-width:1}.scene-controls{min-height:51px;background:#192129;border-top:1px solid #293640;display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:11px;color:#8798a7;flex-wrap:wrap}.scene-controls input{max-width:250px;flex:1}.scene-controls button{font-size:11px}.key{padding:3px 8px;border:1px solid #485560;border-radius:3px}.throttle{display:flex;align-items:center;gap:10px;min-width:320px}.chosen{border-color:#8bb6e1;color:#c6ddf4;background:#26394e}.bike-trail{stroke:#b59bdf;stroke-width:5;fill:none;opacity:.5}.ghost-car{stroke:#a88cc8;stroke-dasharray:3;fill:#a88cc81a}.hint{display:flex;gap:11px;font-size:11px;padding:15px 0;color:#8795a3;line-height:1.6}.hint>span{color:#8bb6e1}.graphs-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 11px;font:10px Consolas,monospace;letter-spacing:1.2px}.graphs-heading small{color:#647484;letter-spacing:0}.legend{color:#9ba6b1;margin-left:14px;font-size:10px;letter-spacing:0}.legend.actual{color:#8bb6e1}.legend.ghost{color:#a38dbf}.graphs{display:grid;gap:10px}.graph{--series:#8bb6e1;border:1px solid #2b353f;background:#141b22;border-radius:5px;overflow:hidden}.graph.v{--series:#88b4db}.graph.a{--series:#c4a1ce}.graph header{display:flex;align-items:center;gap:8px;padding:10px 15px 0;font-size:11px}.dot{height:6px;width:6px;background:var(--series);border-radius:50%}.graph strong{font-weight:500}.formula{color:#627787;font:10px Consolas,monospace;margin-left:6px}.reading{margin-left:auto;color:var(--series);font:14px Consolas,monospace}.reading small{font-size:10px;color:#70818f}.graph header button{border:0;background:none;padding:0 0 0 12px;color:#7a8a99}.graph svg{display:block;width:100%;max-height:156px;touch-action:pan-y}.graph.expanded svg{max-height:440px}.graph svg text{fill:#657887;font:10px Consolas,monospace}.grid{stroke:#25303a;stroke-width:.7}.zero{stroke:#40505e;stroke-width:1}.data-line{fill:none;stroke:var(--series);stroke-width:1.8;stroke-linejoin:round}.target-line{fill:none;stroke:#e1b674;stroke-width:1.5;stroke-dasharray:6 5}.ghost-line{fill:none;stroke:#aa8bc3;stroke-width:1;stroke-dasharray:3 4;opacity:.5}.cursor{stroke:#9cabba;stroke-dasharray:3 4}.point{fill:var(--series);stroke:#17222a;stroke-width:2}.tangent{stroke:#e3c58c;stroke-width:2}.impulse{stroke:#e8bf82;stroke-width:2}.graph svg .impulse-label{fill:#e8bf82;font-size:9px}.graph footer{display:flex;justify-content:space-between;gap:10px;min-height:27px;font:9px Consolas,monospace;color:#798b9a;padding:0 16px 9px}.scrubber{display:flex;align-items:center;gap:12px;margin-top:15px;color:#7f92a2;font:10px Consolas,monospace}.scrubber input{flex:1}.scrubber button{font-size:10px}.statusbar{display:flex;justify-content:space-between;padding:9px 22px;background:#1a2635;color:#aac5e1;font:10px Consolas,monospace;border-top:1px solid #33475e}.status-muted{color:#8a9bb0}.challenge-strip,.result,.learning-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid #3a4c61;border-radius:5px;background:#1e2b3c;padding:12px 15px;margin:10px 0;font-size:11px}.challenge-strip progress{accent-color:#8bb6e1;flex:1;min-width:80px}.result{background:#282b26;border-color:#4a5142;color:#d5dcc8}.result strong{font-weight:500;margin-right:auto}.learning-panel{background:#1a222b;border-color:#354653}.learning-panel span{color:#94a6b6}.area-controls label{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.area-controls input[type=range]{width:100px}.area-controls select{max-width:175px;font-size:11px}@media(min-width:1500px){.workspace{padding-top:38px}.scene{max-height:270px}.graph svg{max-height:180px}}@media(max-width:900px){.app{grid-template-columns:195px minmax(0,1fr)}.workspace{padding:23px 18px}.brand{padding:0 10px;letter-spacing:.3px}.explorer-label span,.tabbar small,.formula{display:none}nav button{padding-left:28px}.page-heading h1{font-size:23px}.graphs-heading small{display:none}}@media(max-width:650px){.app,.app.collapsed{grid-template-columns:1fr}aside{position:relative;height:auto;border-bottom:1px solid #303943}.brand{height:45px}nav{display:flex;overflow:auto;gap:4px;padding:0 10px}details{min-width:170px;padding-bottom:8px}.explorer-label,.sidebar-bottom{display:none}.collapsed aside{height:45px}.collapsed .brand{justify-content:space-between}.collapsed .brand button{margin:0}.tabbar{display:none}.workspace{padding:20px 12px}.page-heading{margin-bottom:17px}.page-heading p{font-size:11px}.page-heading .quiet{max-width:60px}.toolbar{gap:6px}.toolbar button{font-size:11px}.scene-top{font-size:8px;padding:12px}.scene-controls{padding:8px 10px}.scene-controls span{font-size:10px}.graph svg{min-height:120px}.graph footer{font-size:8px}.legend{margin-left:6px}.graphs-heading{font-size:9px}.scrubber{gap:5px}.status-muted{display:none}.throttle{min-width:220px}}button,select{transition:background .15s,border-color .15s}nav button,summary{font-family:inherit}.tabbar{height:30px}.tabbar>span{padding:8px 20px}.workspace{padding:14px 22px}.page-heading{height:50px;margin-bottom:10px}.page-heading h1{font-size:23px;margin:5px 0}.page-heading p{display:none}.toolbar{position:sticky;top:0;z-index:5;min-height:48px;margin-bottom:10px;padding:6px 0;background:#101419;flex-wrap:nowrap}.toolbar button{white-space:nowrap;font-size:11px}.mode-badge{color:#a8c4e2;font-size:10px;letter-spacing:.7px;width:95px;flex-shrink:0;text-align:center}.run-timer{width:205px;flex-shrink:0;font:12px Consolas,monospace;font-variant-numeric:tabular-nums;color:#a9bfd6;white-space:nowrap}.run-timer b{font-weight:500;color:#e1eaf3}.run-timer progress{display:block;width:100%;height:3px;margin-top:6px;accent-color:#8bb6e1}.scene-panel{position:relative;background:#18212d}.scene-top{height:28px;padding:9px 14px;font-size:9px}.scene{width:100%;height:clamp(230px,calc(100dvh - 515px),430px);max-height:none}.scene-controls{margin:0;border:0;border-top:1px solid #344353;min-width:0;height:52px;padding:8px 14px;flex-wrap:nowrap}.scene-controls:disabled{opacity:.5}.scene-controls input{min-width:90px}.ready-panel{position:absolute;z-index:3;top:34px;left:18px;right:18px;max-height:calc(100% - 98px);overflow:auto;display:flex;flex-wrap:wrap;align-content:start;align-items:center;gap:10px 14px;padding:14px 18px;border:1px solid #526984;border-radius:6px;background:#1b2839f5}.ready-panel>div{flex:1 1 100%}.ready-panel h2{font-size:16px;font-weight:500;margin:0 0 5px}.ready-panel p{font-size:11px}.ready-panel small{display:block;color:#9fb1c4;margin-top:5px;font-size:11px}.ready-panel label{display:flex;align-items:center;gap:5px;font-size:11px}.ready-panel select{font-size:11px;padding:5px}.ready-panel input[type=number]{width:65px}.countdown{position:absolute;top:42px;left:50%;transform:translate(-50%);z-index:4;pointer-events:none;padding:8px 18px;border:1px solid #677a92;border-radius:20px;background:#1c2b3eee;color:#e4c392;font:26px Consolas,monospace;min-width:75px;text-align:center}.countdown strong{font-weight:500}.game-stage .graphs{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.game-stage .graph header{height:35px;padding:8px 10px 0;gap:5px;overflow:hidden}.game-stage .graph strong{font-size:10px;white-space:nowrap}.game-stage .graph .formula,.game-stage .graph button,.game-stage .graph footer{display:none}.game-stage .reading{font-size:12px}.game-stage .graph svg{height:112px;min-height:0;max-height:none}.game-stage .hint{height:24px;padding:4px 0;font-size:10px;overflow:hidden;white-space:nowrap}.game-stage .graphs-heading{height:24px;margin:3px 0 5px}.game-stage .graphs-heading small{display:none}.trend-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;color:#9dafc3;margin:8px 0}.trend-options label{display:flex;align-items:center;gap:4px}.trend-options select{font-size:10px;padding:5px}.game-stage .trend-options{height:20px;margin:0;overflow:hidden;white-space:nowrap}.trend-label{font-size:9px;color:#baa4d0}.range-note{font-size:9px;color:#e7bc7c}.raw-line{fill:none;stroke:var(--series);stroke-width:.8;opacity:.2}.data-line{opacity:.98}.graph.v{--series:#84c6d4}.graph.a{--series:#c5a0da}.target-line{stroke:#e1b674}.target-trail{fill:none;stroke:#e1b674;stroke-width:2;opacity:.35}.legend:not(.actual):not(.ghost){color:#e1b674}.rocket-instruments{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:8px;height:48px;padding:4px 10px;border:1px solid #344353;border-radius:4px;margin-top:6px;font:10px Consolas,monospace;color:#a3b6ca;overflow:hidden}.rocket-instruments b{color:#d6e5f3;font-weight:500}.achievement{color:#e4c392}.offscreen-target text{fill:#e1b674;font-size:10px}.results-panel{padding:24px;border:1px solid #52657a;border-radius:7px;background:#202c3a;margin:14px 0}.results-panel h2{font-size:28px;font-weight:500;margin:10px 0}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.phase-results .scene,.phase-analysis .scene{height:180px}.phase-results .scene-controls,.phase-analysis .scene-controls{display:none}.phase-results .graphs,.phase-analysis .graphs{grid-template-columns:1fr;gap:16px}.graph.large header{padding:14px 18px 0;font-size:13px}.graph.large .reading{font-size:18px}.graph.large .formula{font-size:12px;display:inline}.graph.large svg{height:200px;max-height:none}.graph.large svg text{font-size:12px}.graph.large footer{padding:4px 18px 12px;font-size:11px;min-height:30px}.graph.large .data-line{stroke-width:2}.graph.expanded svg{height:340px}.phase-results .graph header button{display:none}.phase-analysis .mode-badge{color:#edc991}.explorer-home{max-width:900px;padding:25px 5px}.explorer-home h1{font-size:40px;margin:20px 0;line-height:1.2}.experiment-list{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:22px 40px}.experiment-list h2{font-size:12px;color:#9caec1;text-transform:uppercase;letter-spacing:1px}.experiment-list button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #303d4c;border-radius:0;background:transparent;padding:14px 4px}.experiment-list button span{color:#85a9d0;font-size:11px}.statusbar{padding:7px 20px}.game-stage .scene-panel,.game-stage .toolbar,.game-stage .graphs{animation:none}.game-stage .mode-badge{width:95px}.game-stage .scene-controls button{white-space:nowrap}.graph.large{overflow:hidden}@media(min-width:1200px){.app{grid-template-columns:220px minmax(0,1fr)}.app.collapsed{grid-template-columns:64px minmax(0,1fr)}}@media(max-width:1100px){.run-timer{width:180px}.mode-badge{display:none}.toolbar{gap:6px}.workspace{padding:12px 14px}.rocket-instruments{grid-template-columns:repeat(3,minmax(0,1fr));height:62px}.game-stage .graph header{flex-wrap:wrap;height:44px}.game-stage .graph svg{height:100px}}@media(max-width:650px){.tabbar{display:none}.workspace{padding:10px}.page-heading{height:44px}.page-heading h1{font-size:20px}.toolbar{flex-wrap:wrap;gap:6px;padding:6px 0}.toolbar-spacer{display:none}.run-timer{order:-1;flex-basis:100%;width:100%}.run-timer progress{width:100%}.scene{height:290px}.scene-controls{height:auto;min-height:64px;flex-wrap:wrap}.ready-panel{left:8px;right:8px;top:32px;max-height:230px;padding:12px}.game-stage aside nav{display:none}.game-stage .brand{height:40px}.game-stage .graphs{grid-template-columns:1fr}.game-stage .graph svg{height:115px}.game-stage .hint{white-space:normal;height:40px}.graph.large svg{height:180px}.graph.large footer{font-size:10px}.experiment-list{grid-template-columns:1fr}.rocket-instruments{height:80px}.throttle{min-width:230px}.graph.large .formula{display:none}.results-panel{padding:16px}.results-panel h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.scene{user-select:none;-webkit-user-select:none}
