:root{color-scheme:dark;--ink:#edf6f5;--muted:#a5b8be;--cyan:#a1efdf;--gold:#f0c392;--line:#d9f7ef24;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#08121d;color:var(--ink)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#0e2026ba;border-radius:7px;padding:10px 16px;transition:background .18s,border-color .18s}button:hover{background:#284349;border-color:#a1efdf80}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.45;cursor:default}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}#scene,#instruments,.vignette{position:fixed;inset:0;width:100%;height:100%}#scene{background:#050c13}#instruments{pointer-events:none}.vignette{pointer-events:none;background:linear-gradient(180deg,#030b1359,transparent 30%,transparent 65%,#030b1370)}.menu{position:absolute;inset:0;padding:36px 5vw;background:linear-gradient(90deg,#040d16ee 0%,#071420b5 25%,transparent 62%),linear-gradient(0deg,#030a15dd,transparent 30%);display:grid;grid-template-columns:1fr 330px;grid-template-rows:48px 1fr 32px;gap:15px 7vw}.brand{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start}.back{font-size:11px;letter-spacing:2px;color:#bad2d4}.edition,.eyebrow,.menu-footer{font:600 10px/1.6 system-ui;letter-spacing:2px;color:var(--muted)}.intro{align-self:center;margin-top:-20px}.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-right:8px;box-shadow:0 0 14px #83f7cb}h1{font-size:clamp(66px,8vw,130px);font-weight:250;letter-spacing:.14em;line-height:1;margin:27px 0 24px}h1 span{display:block;font-size:12px;letter-spacing:.53em;font-weight:550;margin-top:20px;color:#a8c5ca}.intro>p{font-size:17px;font-weight:350;line-height:1.85;color:#c8dadc}.worlds{display:flex;gap:10px;margin-top:30px}.world{display:flex;text-align:left;align-items:center;gap:12px;padding:12px 15px;background:#10232a9c}.world.selected{border-color:#8cdbca;background:#1a383eab}.world b{display:block;font-size:11px;letter-spacing:1.7px}.world small{display:block;font-size:10px;color:#9db6bf;margin-top:5px}.planet{width:30px;height:30px;border-radius:50%;display:block;flex-shrink:0;box-shadow:inset -9px -3px 12px #02090dd9,0 0 22px #ffffff0c}.planet.moon{background:radial-gradient(circle at 40% 20%,#939799 0 8%,transparent 10%),radial-gradient(circle at 28% 60%,#6c737a 0 13%,transparent 15%),#c6cbc9}.planet.mars{background:radial-gradient(ellipse at 40% 30%,#d5956a,#944f32 45%,#bf8860)}.intro .world-note{font-size:10px;letter-spacing:1px;color:#9bb3b9;margin-top:14px}.flight-plan{align-self:center;padding:22px;border:1px solid #bed9dc21;border-radius:12px;background:#071720c9;backdrop-filter:blur(14px)}#missions{margin:18px 0}.mission-card{display:block;width:100%;border:none;border-left:2px solid transparent;border-radius:0;background:transparent;text-align:left;margin:7px 0;padding:13px 12px}.mission-card.selected{border-left-color:var(--cyan);background:#9de9df12}.mission-card b{font-size:14px;font-weight:550}.mission-card small{display:block;color:#92aab5;font-size:11px;line-height:1.6;margin-top:5px}.mission-card .record{color:#f0c392;font-size:10px}.primary{width:100%;background:#b9f0de;color:#102a2c;border-color:#b9f0de;font-size:13px;font-weight:700;padding:16px}.primary:hover{background:#e0fff3}.primary span{float:right}.menu-links{display:flex;justify-content:space-between;margin-top:18px;gap:5px}.menu-links button{font-size:10px;padding:3px 0;background:none;border:0;color:#b1c9cd}.local-note{font-size:10px;color:#7d99a4;text-align:center;margin:20px 0 0}.menu-footer{grid-column:1/-1;display:flex;justify-content:space-between;font-size:8px;align-items:end;letter-spacing:1.7px}.hud-top{position:absolute;top:0;left:0;right:0;padding:22px 28px;display:flex;justify-content:space-between;background:linear-gradient(#08151dcc,transparent);align-items:center;gap:15px}.hud-top b{display:block;font-size:18px;font-weight:450;margin-top:4px}.top-actions{display:flex;gap:8px}.top-actions button{font-size:11px;padding:9px 13px}.objective{position:absolute;left:28px;top:107px;max-width:310px;padding:16px 18px;border-left:2px solid var(--cyan);background:linear-gradient(90deg,#061720cf,#08162169);border-radius:0 6px 6px 0}.objective p{font-size:14px;line-height:1.5;margin:6px 0}.objective small{font-size:11px;color:#b1c8cd;line-height:1.6}.readouts{position:absolute;right:28px;top:120px;width:146px;background:#04121b91;border:1px solid var(--line);border-radius:8px;padding:18px}.readouts>div{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--line)}.readouts>div:last-child{margin:0;padding:0;border:0}.readouts span,.engine>span{font-size:9px;letter-spacing:1.2px;display:block;color:#a3bdc5}.readouts b{font-size:30px;font-weight:350;font-variant-numeric:tabular-nums;display:inline-block;margin-top:5px}.readouts small{font-size:10px;margin-left:5px;color:#a3bdc5}progress{width:100%;height:3px;accent-color:var(--cyan);display:block;margin-top:8px}.engine{position:absolute;left:28px;bottom:80px;background:#04121b91;border:1px solid var(--line);padding:16px;border-radius:8px;width:120px}.throttle-track{position:relative;height:110px;width:5px;margin:12px 0;background:#26404a;border-radius:5px;float:left}.throttle-track #throttle-fill{position:absolute;bottom:0;background:var(--cyan);width:100%;height:0;box-shadow:0 0 12px #a1efdf60}.throttle-track #hover-mark{position:absolute;left:-3px;width:11px;height:2px;background:var(--gold)}.engine>b{display:block;padding:20px 0 8px 19px;font-weight:400;font-size:22px}.engine small{display:block;padding-left:19px;font-size:10px;color:var(--muted)}.engine button{display:block;clear:both;width:100%;font-size:10px;padding:7px 3px;margin-top:7px}.engine button.active{color:var(--cyan);border-color:var(--cyan)}.bottom-strip{position:absolute;bottom:0;left:0;right:0;display:flex;gap:24px;align-items:center;padding:15px 28px;background:#06121aca;border-top:1px solid var(--line);font-size:10px;letter-spacing:.7px}.bottom-strip #flight-status{color:var(--cyan)}.keyboard-legend{flex:1;text-align:center;color:#a5bdc4;letter-spacing:0}.bottom-strip button{padding:5px 9px;font-size:10px}#toast{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);padding:12px 20px;border-radius:7px;background:#0e242dee;max-width:480px;font-size:13px;text-align:center;border:1px solid var(--line);transition:opacity .3s;opacity:0;pointer-events:none}#toast.show{opacity:1}#refuel{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);font-size:12px}dialog{width:min(650px,calc(100vw - 30px));max-height:calc(100dvh - 30px);overflow:auto;background:#0a1b25f5;border:1px solid #a6d6d04d;color:var(--ink);border-radius:16px;padding:30px;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#020811b0;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{padding:3px 10px;font-size:22px;border:0;background:none}h2{font-weight:350;font-size:34px;letter-spacing:-.7px;margin:20px 0}dialog p,dialog li{font-size:13px;line-height:1.8;color:#b7ccd3}dialog h3{font-size:15px;margin-top:24px;font-weight:600}dialog table{width:100%;border-collapse:collapse;font-size:12px;color:#b7ccd3}dialog td{padding:10px 0;border-bottom:1px solid var(--line)}dialog td:first-child{color:var(--cyan);width:33%}dialog .actions{display:flex;gap:10px;margin-top:25px}dialog .actions button{flex:1}dialog label{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}select{background:#172e39;color:var(--ink);border:1px solid var(--line);padding:9px;border-radius:6px}input[type=checkbox]{accent-color:#88d8c2;width:18px;height:18px}.result-medal{font-size:48px;color:var(--gold);letter-spacing:8px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.result-stats>div{padding:16px;background:#a1efdf09;border:1px solid var(--line);border-radius:7px}.result-stats b{font-size:22px;display:block;font-weight:400}.result-stats span{font-size:10px;color:var(--muted)}.touch-controls{display:none}#fatal,.no-script{position:fixed;inset:20%;padding:35px;background:#102531;border:1px solid #8eacab;border-radius:14px;z-index:100}#fatal p{line-height:1.7}#fatal a{margin-right:25px}body.cockpit:after{content:"";position:fixed;inset:0;pointer-events:none;border:12px solid #040b1199;border-top-width:6px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0);box-shadow:inset 0 -45px 50px #04121b55}.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;background:#12323cd9;padding:15px 20px;margin:3px;font-size:16px}.touch-controls>div:first-child{text-align:center}.touch-controls>div:last-child{display:flex;flex-direction:column;justify-content:center}body.touch .touch-controls{display:flex;justify-content:space-between;position:absolute;left:12px;right:12px;bottom:53px;pointer-events:none}body.touch .touch-controls button{pointer-events:auto}body.touch .engine{left:15px;bottom:225px}body.touch .keyboard-legend{display:none}body.touch #toast{bottom:230px}body.touch #refuel{bottom:240px}body.touch .bottom-strip{justify-content:space-between}
@media(max-height:650px) and (min-width:850px){.menu{padding:20px 4vw;grid-template-rows:30px 1fr 20px}.intro{margin:0}h1{font-size:72px;margin:15px 0}.intro>p{font-size:14px}.worlds{margin-top:14px}.flight-plan{padding:13px 20px}.mission-card{padding:9px 10px}#missions{margin:8px 0}.local-note{margin:12px 0}.readouts{top:100px;right:20px;padding:12px;width:125px}.readouts>div{padding-bottom:7px;margin-bottom:7px}.readouts b{font-size:23px}.objective{top:100px;max-width:280px}.engine{bottom:60px;padding:12px;width:110px}.throttle-track{height:65px}}
@media(max-width:850px){.menu{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;overflow:auto;padding:22px;gap:15px;background:linear-gradient(90deg,#061321ed,#0613219c)}.brand{grid-column:auto}.edition{font-size:8px}.intro{margin:0;align-self:start}h1{font-size:62px;margin:20px 0 15px}.intro>p{font-size:14px;line-height:1.6}.worlds{margin-top:18px}.world{flex:1;padding:10px;gap:8px}.world small{font-size:9px}.flight-plan{padding:18px;max-width:550px;width:100%}#missions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mission-card{margin:0}.menu-footer{grid-column:auto;flex-wrap:wrap;gap:10px;margin:10px 0}.hud-top{padding:15px}.hud-top b{font-size:13px}.hud-top .eyebrow{font-size:8px}.top-actions{gap:4px}.top-actions button{padding:8px;font-size:10px}.objective{top:88px;left:15px;max-width:calc(100vw - 150px);padding:12px}.objective p{font-size:12px}.objective small{font-size:10px}.readouts{right:15px;top:88px;width:115px;padding:12px}.readouts b{font-size:23px}.readouts>div{padding-bottom:10px;margin-bottom:10px}.readouts span{font-size:8px}.bottom-strip{padding:12px 15px;gap:12px}.keyboard-legend{display:none}.engine{left:15px;bottom:70px;padding:10px;width:105px}#toast{max-width:70vw;width:max-content;font-size:11px}.throttle-track{height:70px}dialog{padding:22px}#fatal{inset:10%;padding:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-height:500px){.objective{max-width:230px}.objective small{display:none}.readouts{top:78px}.readouts>div{padding-bottom:3px;margin-bottom:3px}.readouts b{font-size:18px}.engine{bottom:50px}.throttle-track{height:30px}.engine>b{padding-top:8px}body.touch .engine{bottom:50px;left:175px}.touch-controls button{padding:10px 16px}body.touch #toast{bottom:65px}.hud-top{padding-top:8px}.objective{top:76px}.result-stats{margin:10px 0}h2{font-size:26px;margin:12px 0}}

/* Expedition camera + direct-touch flight deck. */
#scene{touch-action:none;cursor:grab}#scene:active{cursor:grabbing}
.view-caption{position:absolute;left:50%;bottom:76px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:6px;text-align:center;pointer-events:none;text-shadow:0 2px 5px #000;max-width:60vw}
.view-caption>span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#e3ecec}.view-caption small{font-size:9px;letter-spacing:.4px;color:#bccacb}#map-credit{font-size:8px;color:#859b9e}
#planet-view.active{border-color:var(--cyan);color:var(--cyan)}
#flight-stick{width:142px;height:142px;position:relative;border:1px solid #caebe142;border-radius:50%;background:radial-gradient(circle,#143039b3 0 30%,#071b279c 31% 57%,#18323977 58% 59%,#0717248a 60%);box-shadow:inset 0 0 30px #0004;touch-action:none;pointer-events:auto;user-select:none;-webkit-user-select:none}
#flight-stick.engaged{border-color:#a1efdfaa;box-shadow:0 0 24px #a1efdf18}
.stick-cross:before,.stick-cross:after{content:"";position:absolute;background:#bcddd51c;left:50%;top:12%;width:1px;height:76%}.stick-cross:after{transform:rotate(90deg)}
#stick-thumb{position:absolute;top:calc(50% - 23px);left:calc(50% - 23px);width:46px;height:46px;border-radius:50%;border:1px solid #c0f9e6a1;background:radial-gradient(circle at 40% 30%,#71a99fa6,#26444fea);box-shadow:0 4px 16px #0006;pointer-events:none}
.stick-label{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:#b2d4ce;pointer-events:none}
body.touch .touch-controls{align-items:flex-end;bottom:max(58px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
.touch-controls .steering>small,.touch-thrust>small{display:block;text-align:center;font-size:9px;letter-spacing:.5px;color:#a6bebf;margin-top:8px}
.touch-controls .touch-thrust{width:142px;border:1px solid #cdeee12e;border-radius:16px;background:#071b28c2;padding:14px;backdrop-filter:blur(10px);pointer-events:auto}
.touch-thrust label{font-size:9px;letter-spacing:1px;color:#c4d6d5;display:flex;justify-content:space-between;gap:10px}.touch-thrust output{color:var(--cyan);font-variant-numeric:tabular-nums}
#touch-throttle{display:block;width:100%;margin:16px 0 10px;accent-color:#b0edda;min-height:34px;touch-action:none;cursor:ew-resize}
.touch-controls .touch-thrust>div{display:flex;justify-content:space-between;gap:8px}.touch-controls .touch-thrust button{margin:0;padding:5px;width:46px;min-height:40px;font-size:22px;border-radius:8px}
body.touch .engine{bottom:255px}body.touch .view-caption{bottom:240px}body.touch #toast{bottom:300px}
.planet-view .objective{display:none}
@media(max-width:600px){
 .hud-top{align-items:flex-start;padding:12px 14px;gap:8px}.hud-top>div:first-child{max-width:35%}.hud-top b{font-size:12px}.hud-top .eyebrow{font-size:7px;letter-spacing:1px}.top-actions{max-width:64%;flex-wrap:wrap;justify-content:flex-end}.top-actions button{min-height:34px;padding:7px 9px;font-size:10px}
 .readouts{display:flex;top:103px;left:14px;right:14px;width:auto;padding:10px 8px;gap:4px;justify-content:space-between;background:#04121bb0}.readouts>div{flex:1;min-width:0;margin:0;padding:0 5px;border-bottom:0;border-right:1px solid var(--line)}.readouts>div:last-child{border-right:0}.readouts b{font-size:20px}.readouts span{font-size:6px;letter-spacing:.65px;white-space:nowrap}.readouts small{font-size:8px;margin-left:2px}.readouts progress{margin-top:4px}
 .objective{top:187px;left:14px;max-width:min(310px,calc(100vw - 28px));padding:10px 12px;background:#061720a8}.objective small{font-size:10px}.objective .eyebrow{font-size:8px}.objective p{margin:4px 0}
 body.touch .engine{left:18px;bottom:247px;width:96px;background:#04121b80;padding:9px}.engine .throttle-track{height:44px}.engine>b{padding-top:12px;font-size:18px}.engine>span{font-size:8px}.engine button{min-height:32px}body.touch .view-caption{bottom:235px;left:auto;right:14px;max-width:52%;transform:none}.view-caption small{font-size:8px}.view-caption>span{font-size:9px}#map-credit{font-size:7px;line-height:1.5}
 #toast{z-index:3}body.touch #toast{bottom:380px;width:min(300px,80vw);max-width:80vw}.bottom-strip{padding-bottom:max(12px,env(safe-area-inset-bottom));font-size:8px;gap:8px}.bottom-strip button{min-height:30px}.bottom-strip #flight-status{max-width:135px}
}
@media(max-height:500px){
 #flight-stick{width:110px;height:110px}.touch-controls .touch-thrust{width:138px;padding:8px 12px}#touch-throttle{margin:5px 0;min-height:28px}.touch-controls .touch-thrust button{min-height:30px;padding:0}.touch-controls .steering>small,.touch-thrust>small{display:none}body.touch .touch-controls{bottom:51px}body.touch .engine{bottom:52px;left:150px;width:102px;padding:8px}body.touch .view-caption{bottom:66px;max-width:38%;left:50%;right:auto;transform:translateX(-50%)}body.touch #toast{bottom:175px}.view-caption small{font-size:8px}.objective{top:82px;max-width:220px}.readouts{top:82px}.top-actions button{min-height:32px}.planet-view .readouts{background:#04121b80}
}
