@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;background:#071923;color:#eaf5eb;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{position:fixed;inset:0;width:100%;height:100%}#flight{touch-action:none;outline-offset:-5px}button,a{touch-action:manipulation}button{color:inherit;font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #b9f5d5;outline-offset:5px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}header{position:fixed;left:0;top:0;width:100%;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#071923aa,transparent);pointer-events:none}header>*{pointer-events:auto}.brand{font-family:Manrope,sans-serif;font-weight:700;font-size:19px;text-decoration:none;letter-spacing:-.6px}.brand-icon{color:#bff0d3;font-size:25px;margin-right:8px}.edition{font-weight:400;font-size:12px;color:#91adae;margin-left:12px;letter-spacing:0}.mission{display:flex;gap:8px;align-items:center;font-size:11px;color:#a5c1bb}.signal{width:5px;height:5px;background:#bdf5d3;border-radius:50%;box-shadow:0 0 10px #bdf5d377}#pause,#restart{background:#142c3270;border:1px solid #b1d3c32b;border-radius:9px;padding:10px 15px;font-size:11px}.telemetry{position:fixed;left:36px;top:112px;display:flex;gap:30px;pointer-events:none}.telemetry div{display:flex;flex-direction:column;gap:6px}.telemetry span{font-size:10px;color:#87a9a7}.telemetry strong{font-weight:500;font-size:19px;font-variant-numeric:tabular-nums}.route{position:fixed;right:36px;top:145px;bottom:145px;display:flex;flex-direction:column;align-items:center;gap:12px;width:45px;pointer-events:none}.route>span{font-size:10px;color:#8bafaa;white-space:nowrap}.track{height:100%;width:2px;background:#9bbcb82b;display:flex;align-items:flex-end}.track>div{width:2px;background:#c5f2c9;height:0;position:relative}.track>div:before{content:'';width:7px;height:7px;border:1px solid #d8f9d9;position:absolute;top:-4px;left:-3px;transform:rotate(45deg);background:#a9dab5;box-shadow:0 0 12px #b7f3ca}.panel{position:fixed;left:12%;top:26%;max-width:480px;padding:30px 35px 28px;background:linear-gradient(120deg,#0c252ce8,#102c3270);backdrop-filter:blur(14px);border:1px solid #bcdbd31a;border-radius:22px;box-shadow:0 25px 100px #0002}.kicker{font-size:11px;color:#b0d6c7}h1{font-family:Manrope,sans-serif;letter-spacing:-3px;font-size:67px;font-weight:500;line-height:1.1;margin:19px 0}p{font-size:14px;color:#b1c9c4;line-height:1.85;margin:0 0 26px}.instructions{display:flex;flex-direction:column;gap:12px;margin:25px 0;font-size:11px;color:#98b6b3}.instructions>div{display:flex;align-items:center;gap:7px}.instructions span{margin-right:12px}kbd,.keyhint{font:10px 'DM Sans',sans-serif;border:1px solid #b7d8d02b;border-bottom-width:2px;border-radius:5px;background:#a9d4c609;padding:5px 7px;color:#d0e3d9}.wide{min-width:61px;text-align:center}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;background:#d0eccb;border:0;color:#17352e;border-radius:10px;padding:15px 18px;font-weight:600;font-size:13px}.primary:hover{background:#e0f7d9}.primary>span{font-size:20px}.brief-note{font-size:10px;line-height:1.7;color:#8aaca5;margin-top:15px}.sandbox-link{font-size:10px;color:#95b7b0;display:block;margin-top:18px;text-underline-offset:4px}footer{position:fixed;bottom:24px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;color:#9bb9b2;font-size:11px;gap:15px}footer>div{display:flex;align-items:center;gap:10px}.keyhint{margin-left:10px}.keyhint:first-child{margin-left:0}.wake-hint{font-size:10px;display:flex;align-items:center;gap:7px}.wake-hint i{width:5px;height:5px;background:#e9c489;border-radius:50%}#notice{position:fixed;top:43%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;font-size:28px;letter-spacing:-1px;text-shadow:0 3px 25px #000}.touch-controls{display:none}#fallback{position:fixed;inset:35% 20%;background:#142c32;padding:40px;z-index:10;border-radius:18px}.running .panel{display:none}.paused #notice{background:#112b30cf;padding:25px 40px;border-radius:15px}body:not(.running) .touch-controls{display:none}@media(max-width:700px){header{padding:20px}.brand{font-size:16px}.edition{display:none}.mission{font-size:9px}.telemetry{left:22px;top:86px;gap:24px}.telemetry strong{font-size:16px}.route{right:18px;top:140px;bottom:225px;width:20px}.route>span{font-size:8px}.panel{left:20px;right:20px;top:22%;padding:25px;max-width:400px}h1{font-size:52px}.panel p{font-size:12px}.instructions{margin:18px 0}.wake-hint{display:none}footer{left:20px;right:20px;bottom:18px}footer>div{display:none}.touch-controls{display:flex;position:fixed;bottom:74px;left:20px;right:20px;align-items:center;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;background:#183c43b3;border:1px solid #c2e9d544;backdrop-filter:blur(12px);border-radius:14px;width:48px;height:48px;font-size:24px}.touch-controls button.active{background:#91cab55e}.steering{display:grid;grid-template-columns:48px 48px 48px;gap:6px}.steering button[data-action=brake]{grid-column:2;font-size:10px;height:30px}.touch-controls .fire{width:70px;height:70px;border-radius:50%;font-size:16px;background:#c4e9cc22}.fire small{font-size:9px;color:#a9c9ba}#notice{font-size:23px;width:90%}#pause span{display:none}}@media(max-height:690px){.panel{top:19%;padding:20px 25px}h1{font-size:43px;margin:12px 0}.instructions{margin:16px 0}.brief-note{display:none}.panel p{margin-bottom:15px}.sandbox-link{margin-top:12px}.telemetry{top:85px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.audio-controls{display:flex;gap:8px;align-items:center}#sound{background:#142c3270;border:1px solid #b1d3c32b;border-radius:9px;padding:10px 12px;font-size:11px;white-space:nowrap}@media(max-width:700px){header .mission{display:none}#sound{font-size:10px;padding:10px}}

#nuke{background:#1d404d;border:1px solid #a7dfed66;border-radius:9px;padding:10px 14px;font-size:11px;color:#d8f6ff;white-space:nowrap}#nuke:disabled{opacity:.4}#nuke:not(:disabled){box-shadow:0 0 18px #a7dfed20}

@keyframes menu-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
#brief{animation:menu-arrive .9s cubic-bezier(.2,.7,.2,1) both}
#launch{transition:background .2s,box-shadow .2s,transform .2s}
#launch:hover{box-shadow:0 0 24px #d0eccb26;transform:translateY(-2px)}
#launch:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#brief{animation:none}#launch{transition:none}#launch:hover{transform:none}}

#notice{white-space:pre-line;line-height:1.5}
#last-run{font-size:12px;color:#f1bbbf;margin:0 0 15px;max-width:350px}
#wide-status{position:fixed;top:180px;left:36px;font-size:11px;color:#d6c0ff;background:#392e5370;border:1px solid #c5a6f64d;border-radius:7px;padding:7px 10px;pointer-events:none}
#boss-hud{position:fixed;top:95px;left:50%;transform:translateX(-50%);width:240px;display:flex;flex-direction:column;gap:8px;text-align:center;color:#f0a9c5;font-size:12px;pointer-events:none}
#boss-health{width:100%;height:7px;accent-color:#efa2c1;border:none;border-radius:6px;overflow:hidden;background:#422d3e}
#boss-health::-webkit-progress-bar{background:#422d3e}#boss-health::-webkit-progress-value{background:#efa2c1}
@media(max-width:1000px){#boss-hud{top:180px;left:36px;transform:none;width:190px}body:has(#boss-hud:not([hidden])) #wide-status{top:233px}}
@media(max-width:700px){.telemetry{gap:18px}.telemetry div:last-child{display:none}#wide-status{top:133px;left:22px;font-size:10px}#boss-hud{left:22px;top:178px;width:165px;font-size:11px}body:has(#boss-hud:not([hidden])) #wide-status{top:133px}.brief-note{font-size:9px}}

#boss-feedback{font-size:10px;color:#d6bac9}
#hull{width:90px;height:7px;margin-top:8px;border:none;border-radius:6px;overflow:hidden;background:#24403f;accent-color:#bff0d3}
#hull::-webkit-progress-bar{background:#24403f}#hull::-webkit-progress-value{background:#bff0d3}#hull::-moz-progress-bar{background:#bff0d3}
#hull.low{accent-color:#ff8f86}#hull.low::-webkit-progress-value{background:#ff8f86}#hull.low::-moz-progress-bar{background:#ff8f86}
