:root{--bg:#0b0714;--cyan:#4de1ff;--magenta:#ff4d8d;--amber:#ffb347;--red:#ff2d55;--white:#f6f2ff;--dim:#f6f2ff8c;--panel:#100a1c8c;--mono:"SF Mono", ui-monospace, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#app{height:100%}body{background:var(--bg);color:var(--white);font-family:var(--mono);-webkit-font-smoothing:antialiased;overflow:hidden}#app{position:fixed;inset:0}canvas.webgl{touch-action:none;display:block;position:absolute;inset:0}.hidden{display:none!important}.hud{pointer-events:none;z-index:10;transition:opacity .25s;position:absolute;inset:0}.hud.hud-hidden{display:none}.hud.dimmed .panel-pos,.hud.dimmed .event-layer{opacity:.12}.panel-pos{transition:opacity .3s;position:absolute}.tl{top:14px;left:16px}.tr{pointer-events:auto;gap:8px;display:flex;top:14px;right:16px}.bl{bottom:16px;left:16px}.bc{bottom:14px;left:50%;transform:translate(-50%)}.mr{top:50%;right:14px;transform:translateY(-50%)}.label{letter-spacing:.28em;color:var(--dim);font-size:10px}.score-box .value{letter-spacing:.06em;text-shadow:0 0 18px #4de1ff8c;font-size:clamp(26px,4vw,40px);font-weight:700;display:block}.score-box .best{color:var(--dim);letter-spacing:.18em;margin-top:2px;font-size:11px}.coin-box{align-items:center;gap:7px;margin-top:8px;font-size:16px;display:flex}.coin-icon{color:#ffc94d;text-shadow:0 0 10px #ffc94dcc;font-size:17px}.icon-btn{pointer-events:auto;background:var(--panel);width:40px;height:40px;color:var(--white);font-family:var(--mono);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #f6f2ff2e;border-radius:10px;font-size:15px;transition:transform .1s,border-color .15s}.icon-btn:hover{border-color:var(--cyan)}.icon-btn:active{transform:scale(.92)}.icon-btn.muted{color:var(--red);border-color:#ff2d5580}.speed-box .value{letter-spacing:.05em;color:var(--white);font-size:26px;font-weight:700}.speed-box .unit{letter-spacing:.24em;color:var(--dim);margin-left:6px;font-size:11px}.fuel-wrap{text-align:center;width:min(46vw,360px);transition:opacity .3s}.fuel-wrap .label{text-shadow:0 0 12px #4de1ff80;margin-bottom:6px}.fuel-track{background:#0a0614a8;border:1px solid #4de1ff59;border-radius:8px;height:16px;position:relative;overflow:hidden}.fuel-track:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1.5px),#0a0614e6 calc(10% - 1.5px) 10%);position:absolute;inset:0}.fuel-fill{background:linear-gradient(90deg,#2ec5ff,#7c5cff 60%,#b44dff);width:100%;height:100%;transition:width 80ms linear;box-shadow:0 0 14px #4de1ffbf}.fuel-secs{letter-spacing:.22em;color:var(--dim);margin-top:5px;font-size:11px}.fuel-wrap.low .fuel-fill{background:linear-gradient(90deg,#ffb347,#ff7a3c);box-shadow:0 0 16px #ff8c3ccc}.fuel-wrap.low .label{color:var(--amber)}.fuel-wrap.empty .fuel-track{border-color:#ff2d55b3;animation:.6s steps(2,jump-none) infinite fuelFlap}.fuel-wrap.empty .fuel-secs{color:var(--red)}.fuel-wrap.thrusting .label{color:var(--cyan)}.fuel-wrap.thrusting .fuel-track{border-color:#4de1ffe6;box-shadow:0 0 18px #4de1ff59}@keyframes fuelFlap{0%{opacity:1}to{opacity:.35}}.heat-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.heat-track{background:#0a0614a8;border:1px solid #ff4d8d59;border-radius:8px;align-items:flex-end;width:14px;height:150px;display:flex;overflow:hidden}.heat-fill{background:linear-gradient(#ff2d55,#ff8c3c 55%,#ffd23c);width:100%;height:0%;transition:height .12s linear;box-shadow:0 0 12px #ff2d55b3}.heat-wrap.hot .heat-track{border-color:#ff2d55e6;animation:.5s ease-in-out infinite alternate heatPulse}.heat-wrap.hot .label{color:var(--red);animation:.5s ease-in-out infinite alternate heatPulse}@keyframes heatPulse{0%{box-shadow:0 0 4px #ff2d554d}to{box-shadow:0 0 20px #ff2d55cc}}.vignette{opacity:0;pointer-events:none;background:radial-gradient(#0000 52%,#ff143c8c 100%);transition:opacity .25s;position:absolute;inset:0}.flash{opacity:0;pointer-events:none;background:radial-gradient(#ff1e4640,#ff0a32a6);transition:opacity .18s;position:absolute;inset:0}.event-layer{pointer-events:none;flex-direction:column;align-items:center;gap:6px;transition:opacity .3s;display:flex;position:absolute;top:26%;left:50%;transform:translate(-50%)}.event-pop{letter-spacing:.22em;color:var(--white);text-shadow:0 0 22px #4de1ffbf;white-space:nowrap;font-size:clamp(18px,3vw,30px);font-weight:700;animation:1.3s ease-out forwards eventRise}.event-pop.red{color:#ff5d7a;text-shadow:0 0 22px #ff2d55e6}.event-pop.amber{color:var(--amber);text-shadow:0 0 22px #ffb347e6}.event-pop.cyan{color:var(--cyan)}.event-pop.big{font-size:clamp(30px,6vw,64px)}@keyframes eventRise{0%{opacity:0;transform:translateY(16px)scale(.82)}14%{opacity:1;transform:translateY(0)scale(1.04)}24%{transform:translateY(0)scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.countdown{letter-spacing:.1em;color:var(--white);text-shadow:0 0 50px #4de1ffd9,0 0 120px #ff4d8d80;pointer-events:none;justify-content:center;align-items:center;font-size:clamp(70px,16vw,190px);font-weight:800;display:flex;position:absolute;inset:0}.countdown.show{animation:.78s cubic-bezier(.16,1,.3,1) forwards countPop}.countdown.go{color:#7dffb2;text-shadow:0 0 60px #7dffb2e6,0 0 140px #4de1ff99}@keyframes countPop{0%{opacity:0;transform:scale(1.7)}22%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(.92)}}.touch-controls{pointer-events:none;position:absolute;inset:0}.t-group{pointer-events:none;gap:14px;display:flex;position:absolute;bottom:26px}.t-group.left{left:18px}.t-group.right{align-items:center;right:18px}.tbtn{pointer-events:auto;width:74px;height:74px;color:var(--white);font-family:var(--mono);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;background:#100a1c80;border:1px solid #f6f2ff40;border-radius:50%;font-size:24px}.tbtn.small{width:60px;height:60px;font-size:20px}.tbtn.fly{letter-spacing:.06em;width:84px;height:84px;color:var(--cyan);border-color:#4de1ff99;font-size:15px;box-shadow:0 0 20px #4de1ff40}.tbtn.pressed{background:#4de1ff40;transform:scale(.92)}.overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#0b07148c,#0b0714e0);justify-content:center;align-items:center;animation:.3s overlayIn;display:flex;position:absolute;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.menu-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:640px;padding:30px;display:flex}.title{letter-spacing:.16em;background:linear-gradient(92deg,#4de1ff 10%,#b44dff 45%,#ff4d8d 85%);color:#0000;filter:drop-shadow(0 0 26px #7c5cff8c);-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,7vw,74px);font-weight:800}.title.small{font-size:clamp(28px,5vw,48px)}.subtitle{letter-spacing:.42em;color:var(--dim);margin-top:-8px;font-size:clamp(11px,1.6vw,15px)}.tagline{color:var(--white);opacity:.85;font-size:clamp(12px,1.8vw,16px)}.controls{flex-direction:column;gap:8px;margin:4px 0;display:flex}.ctrl-row{align-items:center;gap:12px;font-size:clamp(11px,1.6vw,14px);display:flex}.kbd{text-align:right;min-width:108px;color:var(--cyan);letter-spacing:.08em}.ctrl-label{text-align:left;color:var(--dim)}.btn{pointer-events:auto;font-family:var(--mono);letter-spacing:.24em;color:var(--white);cursor:pointer;background:#100a1c99;border:1px solid #f6f2ff4d;border-radius:12px;padding:15px 42px;font-size:17px;font-weight:700;transition:transform .12s,box-shadow .2s,border-color .2s}.btn.primary{color:var(--white);background:linear-gradient(#4de1ff38,#b44dff38);border-color:#4de1ffbf;box-shadow:0 0 30px #4de1ff4d}.btn:hover{transform:translateY(-2px);box-shadow:0 0 40px #4de1ff73}.btn:active{transform:scale(.97)}.menu-best{letter-spacing:.3em;color:var(--amber);font-size:13px}.credit{color:#f6f2ff59;letter-spacing:.06em;max-width:480px;font-size:10px;line-height:1.7}.hint{letter-spacing:.24em;color:var(--dim);font-size:12px}.busted-title{letter-spacing:.2em;color:#ff2d55;text-shadow:0 0 40px #ff2d55d9,0 0 120px #ff2d5573;font-size:clamp(52px,11vw,120px);font-weight:800;animation:.5s cubic-bezier(.16,1,.3,1) bustedIn}@keyframes bustedIn{0%{opacity:0;transform:scale(1.6)}60%{opacity:1;transform:scale(.96)}to{transform:scale(1)}}.stats{flex-direction:column;gap:8px;display:flex}.stat{letter-spacing:.3em;color:var(--dim);font-size:15px}.stat.big{color:var(--white);font-size:clamp(20px,3vw,30px)}.stat.newbest{color:var(--amber);animation:.6s ease-in-out infinite alternate heatPulse}@media (max-width:760px){.fuel-wrap{width:44vw;margin-bottom:66px}.heat-track{height:100px}.bl{bottom:110px}.mr{right:8px}.tl{top:10px;left:10px}.tr{top:10px;right:10px}.score-box .value{font-size:26px}.ctrl-row{gap:8px}.kbd{min-width:84px}.menu-inner{gap:12px;padding:18px}}@media (max-height:560px){.fuel-wrap{margin-bottom:0}.controls{gap:4px}.menu-inner{transform:scale(.9)}}
