@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#0a1020;--panel:#111c30;--text:#eaf1f6;--muted:#a4b3c8;--line:#334258;--mint:#88efd4;--gold:#f6c88b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',system-ui,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 16px;touch-action:manipulation}button:hover{border-color:var(--mint)}button:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{opacity:.6;cursor:default}canvas{position:fixed;inset:0;width:100%;height:100%}#hud{position:absolute;top:max(25px,env(safe-area-inset-top));left:30px;right:30px;display:flex;align-items:center;justify-content:space-between}.identity{display:flex;align-items:center;gap:12px;font:500 19px 'Space Grotesk',sans-serif}.mark{color:var(--mint);font-size:34px}.identity small{display:block;letter-spacing:2px;font:9px 'DM Sans',sans-serif;color:var(--muted);margin-top:6px}#menuBtn span{margin-left:15px;color:var(--mint)}#telemetry{position:absolute;top:110px;left:32px;display:flex;gap:38px}small,.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.6px}#telemetry small{display:block;margin-bottom:8px}strong{font-weight:500}#telemetry strong{font:25px 'Space Grotesk',sans-serif}i{font-style:normal;color:var(--muted);font-size:12px}.fueltrack{height:3px;background:#334258;margin-top:8px}.fueltrack b{display:block;height:100%;background:var(--mint);width:100%}#viewtools{position:absolute;right:30px;top:110px;display:flex;gap:6px}#lesson{position:absolute;left:32px;bottom:180px;width:320px;background:rgba(10,16,32,.9);padding:18px 18px 18px 0;border-radius:12px;pointer-events:none}.eyebrow{color:var(--mint)}h1{font:500 29px 'Space Grotesk',sans-serif;margin:12px 0}p{color:var(--muted);line-height:1.65;margin:10px 0}#milestones{display:flex;gap:16px;margin-top:20px;color:var(--muted);font-size:12px}#milestones span:before{content:'○';margin-right:6px}.current{color:var(--mint)}#notice{position:absolute;top:185px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 20px;display:none;max-width:90vw;text-align:center}#notice.visible{display:block}#controlbar{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:30px;right:30px}#flightbuttons{display:flex;gap:8px;position:absolute;bottom:50px;left:0}.steer{display:flex;justify-content:center;gap:8px}.steer button{height:60px;min-width:64px;font-size:26px;touch-action:none;user-select:none;-webkit-user-select:none}#engine{min-width:166px;color:#08241e;background:var(--mint);font-size:12px;font-weight:700;letter-spacing:2px;border-color:var(--mint)}#engine span{font-size:22px;margin-left:20px}#engine.active{background:#f6c88b;border-color:#f6c88b}.bottomrow{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:11px}.bottomrow button{font-size:11px;background:var(--bg);padding:6px 12px}dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:26px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#050a16b8;backdrop-filter:blur(6px)}.dialoghead{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}h2{font:500 25px 'Space Grotesk',sans-serif;margin:8px 0}.close{font-size:24px;padding:0 8px;border:0}.mission{display:flex;align-items:center;text-align:left;gap:14px;width:100%;padding:18px 10px;border:0;border-top:1px solid var(--line);border-radius:0}.mission>span{color:var(--mint);font:20px 'Space Grotesk',sans-serif}.mission small{display:block;font-size:11px;letter-spacing:0;line-height:1.6;margin-top:5px}.mission b{margin-left:auto;color:var(--mint)}.wide{width:100%;background:var(--mint);color:#08241e;font-weight:700;margin-top:20px}.secondary{color:var(--text);background:#1c2b42}#saveStatus{font-size:11px;text-align:center;margin-bottom:0}label{display:flex;justify-content:space-between;margin-top:25px}input[type=range]{width:100%;accent-color:var(--mint);margin:20px 0;height:26px}.planstats{display:flex;justify-content:space-between;gap:15px}.planstats small,.planstats strong{display:block}.planstats strong{margin-top:10px;font-size:18px}@media(max-width:700px){#hud{top:max(16px,env(safe-area-inset-top));left:18px;right:18px}.identity{font-size:16px}.identity small{font-size:8px;letter-spacing:1px}.mark{font-size:26px}#menuBtn{padding:9px 11px;font-size:12px}#menuBtn span{margin-left:5px}#telemetry{top:88px;left:20px;right:20px;gap:0;justify-content:space-between}#telemetry strong{font-size:21px}#viewtools{top:165px;right:18px}#viewtools button{padding:8px 11px;font-size:11px}#lesson{bottom:220px;left:20px;width:270px;padding:12px;background:#0a1020e8}h1{font-size:23px;margin:9px 0}#lesson p{font-size:12px;margin:6px 0}#milestones{margin-top:12px;font-size:11px}#controlbar{left:18px;right:18px}#flightbuttons{position:static;justify-content:center;margin-bottom:14px}#flightbuttons button{font-size:12px;padding:9px 14px}.bottomrow{margin-top:14px}#hint{font-size:0}#hint:after{content:'Hold to fly · Auto-saves';font-size:10px}#notice{top:215px;font-size:12px}dialog{padding:22px}h2{font-size:23px}}@media(max-height:620px) and (min-width:701px){#lesson{bottom:160px}#telemetry{top:90px}#viewtools{top:90px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
