:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f3f6ff;--muted:#9ba9c7;--teal:#22d3c5;--amber:#ffb23f;--pink:#ef5b8c;--violet:#7967ff;--panel:#081022d1;font-family:Cascadia Mono,Segoe UI Mono,ui-monospace,monospace}*{box-sizing:border-box}html,body,#app{background:#050814;width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none}canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.cinematic-fx{--letterbox-size:0vh;--fx-grade:0;--fx-vignette:0;--edge-blur:0px;--fx-near-blur:0px;--fx-far-blur:0px;--fx-rack-focus:0;--fx-focus-scale:1;--fx-near-scale:1;--fx-lens-scale:1;--fx-focus-y:45%;--fx-near-bokeh:0;--fx-far-bokeh:0;--fx-bloom:0;--fx-motion-blur:0px;--fx-glow:0;--fx-chroma:0px;--fx-chroma-neg:0px;--fx-streaks:0;--fx-lens:0;--fx-flash:0;z-index:8;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.cinematic-fx>div{pointer-events:none;position:absolute;inset:0}.fx-grade{opacity:var(--fx-grade);mix-blend-mode:soft-light;background:radial-gradient(circle at 50% 43%,#ffd68029,#0000 34%),linear-gradient(125deg,#1cffe114,#0000 38%,#ff387e1a)}.fx-focus-far{-webkit-backdrop-filter:blur(var(--fx-far-blur)) saturate(1.18) contrast(1.04);backdrop-filter:blur(var(--fx-far-blur)) saturate(1.18) contrast(1.04);transform:scale(var(--fx-focus-scale));transform-origin:50% var(--fx-focus-y);-webkit-mask-image:linear-gradient(#000 0 35%,#000000e6 46%,#00000061 59%,#0000 73%);mask-image:linear-gradient(#000 0 35%,#000000e6 46%,#00000061 59%,#0000 73%)}.fx-focus-far-bokeh{opacity:var(--fx-far-bokeh);filter:blur(calc(1.2px + var(--fx-rack-focus) * 2px)) saturate(1.5);mix-blend-mode:screen;transform:scale(var(--fx-focus-scale));background:radial-gradient(circle at 9% 14%,#5fffe0b3 0 2px,#5fffe033 4px,#0000 8px),radial-gradient(circle at 28% 31%,#ffb23f9e 0 2px,#ffb23f29 5px,#0000 9px),radial-gradient(circle at 72% 16%,#7967ffbf 0 2.5px,#7967ff2e 5px,#0000 10px),radial-gradient(circle at 91% 37%,#ef5b8cb3 0 2px,#ef5b8c29 5px,#0000 9px),radial-gradient(circle at 48% 9%,#d2ebff94 0 1.5px,#0000 7px);-webkit-mask-image:linear-gradient(#000 0 45%,#00000073 62%,#0000 74%);mask-image:linear-gradient(#000 0 45%,#00000073 62%,#0000 74%)}.fx-focus-near{-webkit-backdrop-filter:blur(var(--fx-near-blur)) saturate(1.28);backdrop-filter:blur(var(--fx-near-blur)) saturate(1.28);transform:scale(var(--fx-near-scale));transform-origin:50% 100%;-webkit-mask-image:linear-gradient(#0000 0 48%,#00000029 58%,#000000b8 75%,#000 100%);mask-image:linear-gradient(#0000 0 48%,#00000029 58%,#000000b8 75%,#000 100%)}.fx-focus-near-bokeh{opacity:var(--fx-near-bokeh);filter:blur(calc(7px + var(--fx-rack-focus) * 6px)) saturate(1.65);mix-blend-mode:screen;transform:scale(var(--fx-near-scale));background:radial-gradient(circle at -2% 94%,#5fffe070 0 4%,#5fffe02b 9%,#0000 21%),radial-gradient(circle at 103% 82%,#ef5b8c7a 0 5%,#ef5b8c29 11%,#0000 23%),radial-gradient(circle at 17% 88%,#ffb23f57 0 2.5%,#ffb23f1f 7%,#0000 16%),radial-gradient(circle at 82% 96%,#7967ff6b 0 3%,#7967ff21 8%,#0000 18%);-webkit-mask-image:linear-gradient(#0000 0 46%,#00000080 65%,#000 100%);mask-image:linear-gradient(#0000 0 46%,#00000080 65%,#000 100%)}.fx-motion-blur{-webkit-backdrop-filter:blur(var(--fx-motion-blur)) saturate(1.14);backdrop-filter:blur(var(--fx-motion-blur)) saturate(1.14);transform:scale(1.035);-webkit-mask-image:radial-gradient(42% 34% at 50% 47%,#0000 0 48%,#00000059 64%,#000 100%);mask-image:radial-gradient(42% 34% at 50% 47%,#0000 0 48%,#00000059 64%,#000 100%)}.fx-neon-bloom{opacity:var(--fx-bloom);filter:blur(16px)saturate(1.6);mix-blend-mode:screen;background:radial-gradient(21% 13% at 50% 58%,#60ffe54d,#4668ff24 42%,#0000 74%),radial-gradient(19% 16% at 79% 34%,#ff528938,#0000 72%),radial-gradient(18% 13% at 24% 70%,#ffc04d33,#0000 74%);transform:scale(1.08)}.fx-neon-glow{opacity:var(--fx-glow);filter:blur(5px);mix-blend-mode:screen;background:radial-gradient(circle,#0000 0 31%,#56ffe512 42%,#0000 60%),linear-gradient(90deg,#44efff14,#0000 18% 82%,#ff488b1a);box-shadow:inset 0 0 7vw #4b6fff38,inset 0 0 3vw #5fffe029}.fx-vignette{opacity:var(--fx-vignette);box-shadow:inset 0 0 12vw #02030eeb,inset 0 -6vh 9vh #060218b3}.fx-edge-diffusion{-webkit-backdrop-filter:blur(var(--edge-blur));backdrop-filter:blur(var(--edge-blur));-webkit-mask-image:radial-gradient(#0000 0 48%,#00000047 64%,#000 92%);mask-image:radial-gradient(#0000 0 48%,#00000047 64%,#000 92%)}.fx-chromatic{box-shadow:inset var(--fx-chroma) 0 2.4vw #ff226042,inset var(--fx-chroma-neg) 0 2.4vw #22eeff3b;mix-blend-mode:screen}.fx-speed-streaks{opacity:var(--fx-streaks);filter:blur(.7px);background:linear-gradient(78deg,#0000 0 46%,#5fffe073 48%,#0000 50%) 3%/18% 100% no-repeat,linear-gradient(102deg,#0000 0 46%,#ff65916b 48%,#0000 50%) 97%/18% 100% no-repeat,linear-gradient(84deg,#0000 0 48%,#ffc95b52 49%,#0000 50%) 16%/12% 72% no-repeat,linear-gradient(96deg,#0000 0 48%,#7967ff61 49%,#0000 50%) 84%/12% 72% no-repeat;transform:scale(1.08)}.fx-lens-streaks{opacity:var(--fx-lens);mix-blend-mode:screen;filter:drop-shadow(0 0 10px #5fffe05c);transform:scale(var(--fx-lens-scale));background:linear-gradient(90deg,#0000 0%,#5fffe061 18%,#fff3 29%,#0000 47%) 0 29%/100% 1px no-repeat,linear-gradient(90deg,#0000 46%,#ffb23f5c 73%,#ef5b8c2e 84%,#0000 100%) 0 68%/100% 1px no-repeat,radial-gradient(at 18% 29%,#5fffe02e,#0000 9%),radial-gradient(at 79% 68%,#ffb23f29,#0000 8%)}.fx-impact-flash{opacity:var(--fx-flash);mix-blend-mode:screen;background:radial-gradient(circle,#0000 30%,#ffffff1f 70%,#ef5b8c4d)}.fx-letterbox{height:var(--letterbox-size);background:linear-gradient(#02030a,#050713);transition:height .16s linear;box-shadow:0 0 24px #000000bf}.fx-letterbox-top{bottom:auto}.fx-letterbox-bottom{top:auto}button{letter-spacing:.06em;color:var(--ink);cursor:pointer;border:0;font:700 .78rem Cascadia Mono,Segoe UI Mono,monospace}button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.hidden{display:none!important}.screen{z-index:20;position:fixed;inset:0}.boot-screen{text-align:center;color:var(--muted);letter-spacing:.18em;background:radial-gradient(circle at 50% 45%,#17234c,#050814 58%);place-content:center;gap:1.5rem;font-size:.72rem;display:grid}.boot-orbit{width:74px;height:74px;margin:auto;animation:3s linear infinite spin;position:relative}.boot-orbit span{border:1px solid #22d3c573;border-radius:50%;position:absolute;inset:0;transform:rotateX(65deg)}.boot-orbit span:nth-child(2){border-color:#ffb23f73;transform:rotateY(65deg)}.boot-orbit span:nth-child(3){background:var(--pink);box-shadow:0 0 24px var(--pink);inset:29px}@keyframes spin{to{transform:rotate(360deg)}}.menu{background:linear-gradient(90deg,#050814f7 0 46%,#0508143d 76%,#0508140d);grid-template-columns:minmax(340px,620px) 1fr;align-items:center;padding:max(4vh,28px) max(5vw,28px);display:grid}.menu-panel{z-index:2;max-width:570px;position:relative}.eyebrow{color:var(--teal);letter-spacing:.22em;margin:0 0 1rem;font-size:.68rem;font-weight:700}h1,h2{text-transform:uppercase;margin:0;font-family:Bahnschrift,Arial Narrow,sans-serif;line-height:.86}h1{letter-spacing:-.09em;text-shadow:0 10px 50px #00000080;font-size:clamp(4.2rem,9vw,8.8rem)}h1 span{color:#0000;-webkit-text-stroke:2px var(--amber)}h2{font-size:clamp(2.5rem,6vw,5rem)}.tagline{color:#dce4ff;max-width:40ch;margin:1.2rem 0 1.8rem;font-size:clamp(.82rem,1.2vw,1.05rem)}.mode-picker h2{color:var(--muted);letter-spacing:.18em;margin:0 0 .7rem;font:700 .62rem/1.2 Cascadia Mono,monospace}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;max-width:570px;display:grid}.mode-card{text-align:left;background:linear-gradient(145deg,#0f1a37f0,#070c1deb);border:1px solid #9ba9c747;flex-direction:column;align-items:flex-start;min-height:180px;padding:1rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.mode-card:after{content:"";border:14px solid #ffffff09;border-radius:50%;width:115px;height:115px;position:absolute;bottom:-54px;right:-52px}.mode-card:hover,.mode-card.selected{transform:translateY(-3px);box-shadow:0 18px 40px #00000047}.mode-card-arcade:hover,.mode-card-arcade.selected{border-color:var(--amber)}.mode-card-academy:hover,.mode-card-academy.selected{border-color:var(--teal)}.mode-number{color:var(--pink);letter-spacing:.16em;font-size:.55rem}.mode-card strong{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin:.4rem 0 .12rem;font:800 1.28rem Bahnschrift,sans-serif}.mode-card small{color:var(--amber);text-transform:uppercase;font-size:.58rem}.mode-card-academy small{color:var(--teal)}.mode-card em{max-width:29ch;color:var(--muted);letter-spacing:0;margin:.75rem 0;font:.62rem/1.45 Cascadia Mono,monospace}.mode-card b{color:var(--pink);margin-top:auto;font-size:.55rem}.loop-card{color:var(--muted);border-left:3px solid var(--pink);background:#ffffff09;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:.7rem 1rem;font:700 .62rem Cascadia Mono,monospace;display:flex}.loop-card i{background:var(--violet);width:22px;height:1px}.primary{color:#081022;background:linear-gradient(100deg,var(--amber),#ffe08a);clip-path:polygon(0 0,94% 0,100% 32%,100% 100%,6% 100%,0 68%);min-width:220px;padding:1rem 1.4rem;transition:filter .15s,transform .15s}.primary:hover{filter:brightness(1.12);transform:translateY(-2px)}.secondary{color:var(--muted);background:#ffffff0f;border:1px solid #9ba9c747;padding:.75rem .9rem}.secondary:hover{color:var(--ink);border-color:var(--teal)}.menu-row{flex-wrap:wrap;gap:.55rem;margin-top:.75rem;display:flex}.menu-control-summary{max-width:570px;color:var(--muted);border-left:2px solid var(--teal);background:#05081480;margin:.9rem 0 0;padding:.65rem .75rem;font-size:.57rem;line-height:1.45}.best-line{color:var(--muted);font-size:.68rem}.best-line b{color:var(--pink)}.menu-art{pointer-events:none;position:absolute;inset:0;overflow:hidden}.planet{filter:saturate(1.3);border-radius:50%;position:absolute}.planet-a{aspect-ratio:1;background:radial-gradient(circle at 32% 28%,#ffdc8a 0 7%,#ef5b8c 8% 16%,#5d3ca5 36%,#111a3c 67%);width:min(45vw,680px);top:7%;right:-8%;box-shadow:-40px 20px 100px #7967ff3d,inset -90px -40px 120px #050814}.planet-b{aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#bafff3,#22d3c5 38%,#095e79 70%);width:90px;top:18%;right:34%;box-shadow:0 0 45px #22d3c559}.orbit-line{border:1px solid #ffb23f3d;border-radius:50%;width:62vw;height:23vw;position:absolute;top:31%;right:-8%;transform:rotate(-17deg)}.ship-mark{color:var(--amber);text-shadow:0 0 24px var(--amber);font-size:3rem;position:absolute;top:35%;right:38%;transform:rotate(-28deg)}.menu-dialog{z-index:45;overscroll-behavior:contain;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);touch-action:pan-y;background:#03050ec2;place-items:center;display:grid;overflow:auto}.menu-dialog-card{background:linear-gradient(145deg,#0f1a37fa,#060a18fa);border:1px solid #5fffe059;width:min(920px,100%);max-height:calc(100dvh - 36px);padding:clamp(18px,3vw,34px);overflow:auto;box-shadow:0 30px 120px #000}.settings-card{width:min(720px,100%)}.dialog-header{z-index:2;background:#0c132df5;justify-content:space-between;align-items:flex-start;gap:1rem;margin:-4px -4px 1.2rem;padding:4px;display:flex;position:sticky;top:-1px}.dialog-header .eyebrow{margin-bottom:.6rem}.dialog-header h2{font-size:clamp(2.25rem,7vw,4.4rem)}.dialog-close{width:46px;height:46px;color:var(--ink);background:#ffffff0f;border:1px solid #9ba9c759;flex:0 0 46px;font-size:1.45rem;line-height:1}.dialog-close:hover{color:var(--amber);border-color:var(--amber)}.settings-list{background:#9ba9c72e;gap:1px;display:grid}.setting-row{cursor:pointer;background:#0b132d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:78px;padding:1rem;display:grid}.setting-row:hover{background:#101b3c}.setting-row span{gap:.25rem;display:grid}.setting-row b{color:var(--ink);font-size:.77rem}.setting-row small,.settings-note{color:var(--muted);font-size:.62rem;line-height:1.45}.setting-row input[type=checkbox]{appearance:none;cursor:pointer;background:#050918;border:1px solid #9ba9c780;border-radius:20px;width:52px;height:28px;margin:0;padding:3px}.setting-row input[type=checkbox]:before{content:"";background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .16s,background .16s;display:block}.setting-row input[type=checkbox]:checked{border-color:var(--teal);background:#22d3c52b}.setting-row input[type=checkbox]:checked:before{background:var(--teal);transform:translate(24px);box-shadow:0 0 12px #22d3c599}.setting-range{grid-template-columns:minmax(0,1fr) auto}.setting-range output{color:var(--amber);font-size:.7rem}.setting-range input[type=range]{width:100%;accent-color:var(--amber);cursor:pointer;grid-column:1/-1;margin:.2rem 0 0}.settings-note{margin:1rem 0 0}.device-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.device-controls section{border-top:3px solid var(--violet);background:#0b132de6;min-width:0;padding:1rem}.device-controls section:first-child{border-color:var(--amber)}.device-controls section:nth-child(2){border-color:var(--teal)}.device-controls section:nth-child(3){border-color:var(--pink)}.device-controls h3{text-transform:uppercase;margin:0 0 .8rem;font:800 1.05rem Bahnschrift,sans-serif}.device-controls dl{margin:0}.device-controls dl div{border-top:1px solid #9ba9c724;gap:.25rem;padding:.55rem 0;display:grid}.device-controls dt{color:var(--ink);font-size:.65rem;font-weight:700}.device-controls dd,.device-controls p{color:var(--muted);margin:0;font-size:.58rem;line-height:1.4}.hud{z-index:10;pointer-events:none;padding:calc(14px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));position:fixed;inset:0}.hud-top{align-items:flex-start;gap:.55rem;display:flex}.brand-chip,.metric,.icon-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050814ad;border:1px solid #9ba9c733}.brand-chip{color:var(--teal);padding:.66rem .8rem;font-size:.68rem;font-weight:700}.metric{min-width:112px;padding:.5rem .75rem}.metric small,.meter label{color:var(--muted);letter-spacing:.12em;font-size:.52rem;display:block}.metric b{font:700 .9rem Bahnschrift,sans-serif}.icon-button{pointer-events:auto;color:var(--ink);width:40px;height:40px}.camera-button{width:68px;color:var(--amber);letter-spacing:.1em;margin-left:auto;font-size:.58rem}.camera-button[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--amber),0 0 18px #ffb23f1a;border-color:#ffb23f94}.hud-bottom{left:calc(18px + env(safe-area-inset-left));right:calc(18px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));grid-template-columns:minmax(120px,220px) 1fr minmax(120px,220px);align-items:end;gap:1rem;display:grid;position:absolute}.meter{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050814b3;border:1px solid #9ba9c738;padding:.6rem .7rem}.meter label{justify-content:space-between;margin-bottom:.45rem;display:flex}.meter>div{background:#ffffff1a;height:5px;overflow:hidden}.meter i{background:linear-gradient(90deg,var(--teal),#a7fff5);width:100%;height:100%;transition:width .18s;display:block}.cargo-meter i{background:linear-gradient(90deg,var(--amber),var(--pink));width:0}.tether-status{letter-spacing:.14em;color:var(--teal);text-shadow:0 0 14px #22d3c5cc;justify-self:center;padding:.4rem .7rem;font-size:.62rem}.bank-callout{background:var(--amber);color:#081022;padding:.75rem 1rem;font-weight:700;animation:1.4s both callout;position:absolute;top:22%;left:50%;transform:translate(-50%)}.flight-control-reminder{top:calc(66px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));max-width:calc(100vw - 36px);color:var(--muted);border-left:2px solid var(--teal);letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05081494;padding:.38rem .55rem;font-size:.5rem;position:absolute}@keyframes callout{0%{opacity:0;transform:translate(-50%,20px)}15%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}#danger-vignette{transition:box-shadow .15s;position:absolute;inset:0;box-shadow:inset 0 0 #ef5b8c00}.overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#03050ea6;place-items:center;display:grid}.modal{text-align:center;background:linear-gradient(145deg,#0f1a37f5,#060a18f5);border:1px solid #7967ff66;width:min(92vw,520px);padding:clamp(1.4rem,5vw,3.5rem);box-shadow:0 30px 120px #000}.modal .primary,.modal .secondary{width:100%;margin-top:.75rem}.results-grid{background:#9ba9c726;grid-template-columns:repeat(3,1fr);gap:1px;margin:1.8rem 0 .8rem;display:grid}.results-grid span{background:#091126;padding:1rem .4rem}.results-grid small{color:var(--muted);font-size:.52rem;display:block}.results-grid b{color:var(--amber);font:700 1.3rem Bahnschrift,sans-serif}.touch-controls{z-index:12;pointer-events:none;position:fixed;inset:0}.touch-stick{left:calc(20px + env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#05081459;border:2px solid #22d3c573;border-radius:50%;width:126px;height:126px;position:absolute}.touch-stick i{border:2px solid var(--teal);background:#22d3c54d;border-radius:50%;width:52px;height:52px;position:absolute;top:35px;left:35px}.touch-stick span,.touch-look span{text-align:center;width:100%;color:var(--muted);font-size:.5rem;position:absolute;bottom:-18px}.touch-look{right:calc(120px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;border:1px dashed #7967ff6b;border-radius:22px;width:110px;height:110px;position:absolute}.touch-action{pointer-events:auto;touch-action:none;background:#05081499;border:2px solid;border-radius:50%;width:72px;height:72px;font-size:.55rem;position:absolute}.touch-action.boost{right:calc(20px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));border-color:var(--amber);color:var(--amber)}.touch-action.tether{right:calc(55px + env(safe-area-inset-right));bottom:calc(105px + env(safe-area-inset-bottom));border-color:var(--teal);color:var(--teal)}.touch-action.fire{right:calc(130px + env(safe-area-inset-right));bottom:calc(46px + env(safe-area-inset-bottom));color:#76ffe5;border-color:#76ffe5}.touch-action.roll{right:calc(145px + env(safe-area-inset-right));bottom:calc(132px + env(safe-area-inset-bottom));border-color:var(--pink);width:58px;height:58px;color:var(--pink)}.touch-action.active{color:#081022;background:currentColor}@media (pointer:fine){.touch-controls{display:none!important}}@media (width<=800px){.menu{padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));touch-action:pan-y;background:linear-gradient(90deg,#050814f5,#050814a6);grid-template-columns:1fr;align-items:start;overflow:auto}h1{font-size:clamp(3.7rem,19vw,6rem)}.menu-panel{width:100%;max-width:500px;margin:auto}.planet-a{opacity:.55;width:84vw;right:-35%}.mode-card{min-height:152px;padding:.85rem}.mode-card strong{font-size:1.05rem}.mode-card em{margin:.55rem 0;font-size:.56rem}.hud-top .metric{min-width:78px}.hud-bottom{bottom:calc(158px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr}.tether-status{white-space:nowrap;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.brand-chip{display:none}.metric{padding:.38rem .5rem}.metric b{font-size:.72rem}.camera-button{width:58px;font-size:.5rem}.meter{padding:.42rem}.touch-controls:not(.hidden){display:block}.menu-row{max-width:420px}.tagline{max-width:34ch;margin:.8rem 0 1rem}.device-controls{grid-template-columns:1fr}.menu-dialog{place-items:start center}.menu-dialog-card{max-height:none}.flight-control-reminder{display:none}.menu-control-summary{font-size:.54rem}}@media (width<=460px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:132px}.mode-card em{max-width:36ch}.menu{padding:18px}.menu-row{margin-bottom:.5rem}}@media (orientation:portrait) and (width<=800px){.touch-controls:before{content:"Rotate for flight";letter-spacing:.15em;background:#050814eb;place-content:center;font:700 1rem Bahnschrift,sans-serif;display:grid;position:absolute;inset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fx-edge-diffusion,.fx-focus-far,.fx-focus-near,.fx-motion-blur{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.fx-chromatic,.fx-speed-streaks,.fx-lens-streaks,.fx-focus-far-bokeh,.fx-focus-near-bokeh{display:none!important}.fx-neon-bloom,.fx-neon-glow{filter:blur(8px)!important}}.learning-screen{z-index:30;background:radial-gradient(circle at 82% 12%,#ff629147,#0000 24%),radial-gradient(circle at 10% 82%,#22d3c533,#0000 30%),linear-gradient(135deg,#090d25 0%,#141146 48%,#071a31 100%);overflow:auto}.learning-screen:before{content:"";pointer-events:none;border:clamp(18px,3vw,42px) solid #ffb23f14;border-radius:50%;width:62vmin;height:62vmin;position:fixed;bottom:-31vmin;right:-20vmin;box-shadow:0 0 0 2px #ffb23f29,0 0 100px #ef5b8c2e}.station-header{z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#060a1deb;border-bottom:1px solid #5fffe040;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;min-height:64px;padding:.7rem clamp(16px,3vw,44px);display:grid;position:sticky;top:0}.station-header>div{align-items:center;gap:.55rem;display:flex}.station-header b{letter-spacing:.12em;font-size:.68rem}.station-header small{color:var(--muted);letter-spacing:.1em;font-size:.55rem}.station-dot{background:var(--amber);width:9px;height:9px;box-shadow:0 0 16px var(--amber);border-radius:50%}.station-runtime{background:#5fffe00d;border:1px solid #5fffe026;padding:.5rem .7rem}#python-light{color:var(--muted)}#python-light.ready{color:var(--teal);text-shadow:0 0 12px var(--teal)}.station-count{flex-direction:column;align-items:flex-end!important;gap:0!important}.station-count b{color:var(--amber);font:700 1rem Bahnschrift,sans-serif}.station-layout{z-index:2;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(18px,3vw,42px);width:min(1480px,100%);margin:0 auto;padding:clamp(20px,4vw,54px);display:grid;position:relative}.mission-rail{clip-path:polygon(0 0,92% 0,100% 5%,100% 100%,8% 100%,0 95%);background:linear-gradient(160deg,#0e1639f5,#080d23db);border:1px solid #7967ff59;align-self:start;min-height:620px;padding:1.4rem;position:sticky;top:102px;box-shadow:18px 24px 80px #00000047}.mission-rail h2{margin:.8rem 0 1rem;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.92}.mission-objective{color:#d7e0ff;font-size:.75rem;line-height:1.65}.mission-dots{grid-template-columns:repeat(6,1fr);gap:5px;margin:1.5rem 0;display:grid}.mission-dots span{aspect-ratio:1;color:#637090;border:1px solid #9ba9c740;place-content:center;font-size:.58rem;display:grid}.mission-dots span.active{border-color:var(--amber);color:var(--amber);box-shadow:inset 0 0 14px #ffb23f26}.mission-dots span.done{background:var(--teal);border-color:var(--teal);color:#071522}.upgrade-preview{border-left:3px solid var(--pink);background:#ffffff0a;margin-top:2rem;padding:1rem}.upgrade-preview small{color:var(--muted);letter-spacing:.13em;font-size:.52rem;display:block}.upgrade-preview b{margin:.35rem 0;font-family:Bahnschrift,sans-serif;font-size:1.25rem;display:block}.upgrade-preview p{color:#c9d3ee;margin:0;font-size:.68rem;line-height:1.55}.mission-rail>.ghost-button{width:calc(100% - 2.8rem);position:absolute;bottom:1.4rem;left:1.4rem;right:1.4rem}.theory-panel,.practice-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080d23d6;border:1px solid #7093da40;min-width:0;max-width:1000px;padding:clamp(18px,3vw,38px);box-shadow:0 24px 100px #00000038}.phase-label{grid-template-columns:44px auto 1fr;align-items:center;gap:.65rem;margin-bottom:1.4rem;display:grid}.phase-label span{background:var(--amber);color:#0b1029;clip-path:polygon(0 0,78% 0,100% 22%,100% 100%,22% 100%,0 78%);place-content:center;width:44px;height:44px;font:800 1rem Bahnschrift,sans-serif;display:grid}.phase-label b{letter-spacing:.12em;font:700 .9rem Bahnschrift,sans-serif}.phase-label small{color:var(--muted);border-left:1px solid #9ba9c74d;padding-left:.7rem;font-size:.58rem}.theory-panel h3{color:#f7f9ff;max-width:30ch;margin:.4rem 0;font:700 clamp(1.5rem,3vw,2.5rem) Bahnschrift,sans-serif}.theory-explanation{color:#c7d1eb;max-width:80ch;font-size:.78rem;line-height:1.75}.theory-grid{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;display:grid}.theory-grid>section,.trace-card,.prediction-card{background:#111b42b3;border:1px solid #5fffe01f;padding:1rem}.theory-grid h4,.trace-card h4{color:var(--teal);letter-spacing:.14em;margin:0 0 .7rem;font-size:.58rem}.term-row{border-top:1px solid #9ba9c71f;grid-template-columns:110px 1fr;gap:.6rem;padding:.5rem 0;font-size:.68rem;display:grid}.term-row b{color:var(--amber)}.term-row span,.theory-grid li,.trace-card li{color:#bdc8e2;line-height:1.5}.theory-grid ul,.trace-card ol{margin:0;padding-left:1.2rem;font-size:.68rem}.theory-grid li,.trace-card li{margin:.45rem 0}.code-example{background:#050918;border:1px solid #7967ff59;margin:1rem 0}.code-example>span{color:var(--pink);letter-spacing:.16em;border-bottom:1px solid #7967ff38;padding:.5rem .8rem;font-size:.52rem;display:block}.code-example pre{color:#8df9d7;white-space:pre-wrap;margin:0;padding:1rem;font:600 .8rem/1.7 Cascadia Mono,monospace;overflow:auto}.trace-card{margin-bottom:1rem}.prediction-card>b{margin-bottom:.7rem;font-size:.75rem;display:block}.prediction-option{color:#dce5ff;background:#ffffff0d;border:1px solid #9ba9c74d;margin:0 .4rem .4rem 0;padding:.65rem .8rem}.prediction-option:hover{border-color:var(--amber)}.prediction-option.correct{border-color:var(--teal);color:var(--teal);background:#5fffe026}.prediction-option.wrong{border-color:var(--pink);color:var(--pink)}#prediction-feedback{min-height:1.3rem;color:var(--muted);font-size:.65rem;line-height:1.45}.theory-panel>.primary{margin-top:1rem}.practice-prompt{border-left:3px solid var(--amber);color:#f2f5ff;background:#ffb23f14;margin:.2rem 0 1rem;padding:.9rem 1rem;font-size:.75rem;line-height:1.55}.editor-shell{background:#080d20;border:1px solid #5fffe040;height:330px}.editor-toolbar{height:38px;color:var(--teal);background:#101831;border-bottom:1px solid #5fffe024;justify-content:space-between;align-items:center;padding:0 .8rem;font-size:.58rem;display:flex}.editor-toolbar small{color:var(--muted)}#python-editor{height:calc(100% - 38px)}.practice-actions{gap:.55rem;margin:.8rem 0;display:flex}.ghost-button{color:var(--muted);background:#ffffff09;border:1px solid #9ba9c740;padding:.75rem .9rem}.ghost-button:hover{border-color:var(--teal);color:var(--ink)}.hint-card{border-left:3px solid var(--violet);color:#d2d8ee;background:#7967ff21;padding:.75rem 1rem;font-size:.66rem;line-height:1.55}.output-console{background:#050918;border:1px solid #7967ff40;margin-top:1rem}.output-console header{letter-spacing:.1em;border-bottom:1px solid #7967ff33;justify-content:space-between;padding:.65rem .8rem;font-size:.55rem;display:flex}.output-console header span{color:var(--muted)}.output-console header span.running{color:var(--amber)}.output-console header span.pass{color:var(--teal)}.output-console header span.fail{color:var(--pink)}#python-output{color:#dce5ff;white-space:pre-wrap;min-height:62px;margin:0;padding:.8rem;font:600 .7rem/1.55 Cascadia Mono,monospace}.check-pass,.check-fail{border-top:1px solid #9ba9c71a;grid-template-columns:22px minmax(120px,1fr) 2fr;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.62rem;display:grid}.check-pass>span{color:var(--teal)}.check-fail>span{color:var(--pink)}.check-pass small,.check-fail small{color:var(--muted);overflow-wrap:anywhere}.install-button{background:linear-gradient(90deg,var(--teal),#a8ffe8);color:#071522;clip-path:polygon(0 0,97% 0,100% 30%,100% 100%,3% 100%,0 70%);border:0;width:100%;margin-top:1rem;padding:1rem;font:800 .8rem Cascadia Mono,monospace;animation:1.4s ease-in-out infinite alternate installPulse}@keyframes installPulse{to{filter:brightness(1.18);box-shadow:0 0 28px #5fffe040}}@media (width<=900px){.station-header{grid-template-columns:1fr auto}.station-runtime{display:none}.station-layout{grid-template-columns:1fr;padding:14px}.mission-rail{clip-path:none;min-height:0;padding:1rem;position:relative;top:0}.mission-rail h2{font-size:2rem}.mission-rail>.ghost-button{width:100%;margin-top:1rem;position:static}.upgrade-preview{margin-top:1rem}.theory-panel,.practice-panel{padding:16px}.theory-grid{grid-template-columns:1fr}.station-count{display:none!important}.phase-label{grid-template-columns:38px auto}.phase-label span{width:38px;height:38px}.phase-label small{display:none}.editor-shell{height:280px}.practice-actions{flex-wrap:wrap}.check-pass,.check-fail{grid-template-columns:20px 1fr}.check-pass small,.check-fail small{grid-column:2}}.code-pulse-screen{z-index:35;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle,#232b6a73,#020510db);place-items:center;display:grid}.pulse-card{background:linear-gradient(135deg,var(--teal),var(--amber),var(--pink));clip-path:polygon(0 0,95% 0,100% 8%,100% 100%,5% 100%,0 92%);width:min(92vw,660px);padding:1px}.pulse-card>*{background:#090e26;margin:0 1px}.pulse-top{border-bottom:1px solid #5fffe033;grid-template-columns:auto 1fr;gap:.25rem 1rem;padding:1rem 1.2rem;display:grid}.pulse-top span{color:var(--teal);letter-spacing:.18em;font-size:.58rem}.pulse-top b{text-align:right;color:var(--amber);font:700 .9rem Bahnschrift,sans-serif}.pulse-top small{color:var(--muted);grid-column:1/-1;font-size:.55rem}.pulse-body{padding:clamp(18px,4vw,34px)}.pulse-body>p{color:var(--pink);letter-spacing:.14em;font-size:.58rem}.pulse-body pre{border-left:3px solid var(--teal);color:#8df9d7;white-space:pre-wrap;background:#050918;padding:1rem;font:600 .76rem/1.6 Cascadia Mono,monospace}.pulse-body h3{font:700 clamp(1.1rem,3vw,1.55rem)/1.25 Bahnschrift,sans-serif}.pulse-body #pulse-options{grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0;display:grid}.pulse-body #pulse-options button{color:#dce5ff;background:#ffffff0d;border:1px solid #9ba9c759;min-height:56px;padding:.7rem}.pulse-body #pulse-options button:hover{border-color:var(--amber)}.pulse-body #pulse-options button.correct{border-color:var(--teal);color:var(--teal);background:#5fffe029}.pulse-body #pulse-options button.wrong{border-color:var(--pink);color:var(--pink)}#pulse-feedback{min-height:1.4rem;color:var(--muted);font-size:.67rem;line-height:1.5}.pulse-card>#pulse-cancel{width:calc(100% - 2px);margin-bottom:1px}@media (width<=620px){.pulse-body #pulse-options,.pulse-top{grid-template-columns:1fr}.pulse-top b{text-align:left}}
