:root{--cyan:#5ff6ff;--amber:#ffb547;--red:#ff4a3d;--ink:#05060f;--glass:#0a12228c}*{box-sizing:border-box}html,body{background:var(--ink);color:#dff9ff;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;margin:0;padding:0;font-family:Share Tech Mono,ui-monospace,Menlo,monospace;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#app canvas{cursor:none}.hidden{display:none!important}#hud{pointer-events:none;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:18px;left:24px;right:24px}.hud-block{min-width:200px}.hud-block.center{text-align:center}.hud-block.right{text-align:right}.hud-label{letter-spacing:4px;color:#5ff6ffa6;font-family:Orbitron,sans-serif;font-size:11px}.hud-value{letter-spacing:2px;color:#fff;text-shadow:0 0 12px #5ff6ffcc,0 0 30px #5ff6ff59;font-family:Orbitron,sans-serif;font-size:30px;font-weight:700}.hud-mult{color:var(--amber);letter-spacing:3px;text-shadow:0 0 10px #ffb547b3;font-family:Orbitron,sans-serif;font-size:13px}.hud-bottom{gap:22px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.battery{background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #5ff6ff59;border-radius:6px;min-width:150px;padding:8px 12px 10px;box-shadow:inset 0 0 20px #5ff6ff1f}.battery.dead{border-color:#ff4a3d99;box-shadow:inset 0 0 20px #ff4a3d33}.battery .bname{letter-spacing:3px;color:var(--cyan);justify-content:space-between;font-family:Orbitron,sans-serif;font-size:11px;display:flex}.battery.dead .bname{color:var(--red)}.battery .pips{gap:4px;margin-top:6px;display:flex}.battery .pip{background:var(--cyan);border-radius:2px;width:9px;height:18px;box-shadow:0 0 8px #5ff6ffcc}.battery .pip.off{box-shadow:none;background:#5ff6ff1f}.battery.low .pip:not(.off){background:var(--amber);box-shadow:0 0 8px #ffb547cc}#hud-message{text-align:center;letter-spacing:.12em;color:#fff;text-shadow:0 0 18px #ff783ce6,0 0 60px #ff3c1e99;opacity:0;font-family:Orbitron,sans-serif;font-size:clamp(32px,6vw,84px);font-weight:900;transition:opacity .35s,transform .35s;position:absolute;top:34%;left:0;right:0;transform:scale(1.08)}#hud-message.show{opacity:1;transform:scale(1)}#hud-sub{text-align:center;letter-spacing:.3em;color:var(--amber);text-shadow:0 0 12px #ffb547cc;white-space:pre-line;opacity:0;font-family:Orbitron,sans-serif;font-size:clamp(14px,1.6vw,22px);line-height:1.7;transition:opacity .35s;position:absolute;top:calc(34% + clamp(48px,8vw,110px));left:0;right:0}#hud-sub.show{opacity:1}#crosshair-hint{text-align:center;letter-spacing:2px;color:#dff9ff59;font-size:10px;position:absolute;bottom:4px;left:0;right:0}#menu{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.menu-bg{background:radial-gradient(at 50% 120%,#ff5a282e,#0000 60%),linear-gradient(#05060f33,#05060fbf);position:absolute;inset:0}.menu-inner{text-align:center;max-width:900px;padding:24px;position:relative}.menu-kicker{letter-spacing:6px;color:#5ff6ffb3;margin-bottom:10px;font-size:12px}.title{letter-spacing:.06em;color:#fff;text-shadow:0 0 24px #ff6e32d9,0 0 80px #ff3c1480;margin:0;font-family:Orbitron,sans-serif;font-size:clamp(48px,10vw,128px);font-weight:900;line-height:.92}.title span{color:#0000;-webkit-text-stroke:2px #ffd2a0;text-shadow:0 0 30px #ff8c3c8c;display:block}.title em{letter-spacing:.4em;color:var(--cyan);text-shadow:0 0 16px #5ff6ffe6;margin-top:10px;padding-left:.4em;font-size:.32em;font-style:normal;display:inline-block}.menu-buttons{flex-wrap:wrap;justify-content:center;gap:16px;margin:34px 0 18px;display:flex}.btn{pointer-events:auto;cursor:pointer;letter-spacing:5px;color:var(--cyan);background:#08142499;border:1px solid #5ff6ff8c;border-radius:4px;padding:16px 34px;font-family:Orbitron,sans-serif;font-size:16px;font-weight:700;transition:all .18s;box-shadow:0 0 18px #5ff6ff33,inset 0 0 18px #5ff6ff1f}.btn:hover:not(:disabled){color:#fff;background:#5ff6ff24;box-shadow:0 0 30px #5ff6ff80,inset 0 0 18px #5ff6ff40}.btn.primary{color:#1a0a00;background:linear-gradient(#ffd08a,#ff8a3d);border-color:#ffd08a;box-shadow:0 0 30px #ff8c3c99}.btn.primary:hover{color:#000;background:linear-gradient(#ffe2b5,#ffa060);box-shadow:0 0 46px #ff8c3ce6}.btn:disabled{opacity:.45;cursor:not-allowed}.menu-hi{letter-spacing:4px;color:#ffd2a0cc;font-family:Orbitron,sans-serif;font-size:13px}.menu-hi b{color:#fff}.menu-help{color:#dff9ffbf;text-align:left;background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #5ff6ff33;border-radius:6px;gap:8px;margin-top:28px;padding:14px 18px;font-size:13px;display:grid}.menu-help b{color:var(--cyan);letter-spacing:3px;margin-right:8px;font-family:Orbitron,sans-serif;font-size:11px}kbd{color:#fff;border:1px solid #5ff6ff80;border-radius:3px;margin:0 1px;padding:0 5px;font-size:11px;display:inline-block}#pause{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03040a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pause-inner{flex-direction:column;align-items:center;gap:14px;display:flex}.pause-inner h2{letter-spacing:10px;text-shadow:0 0 20px #5ff6ffcc;margin:0 0 10px;font-family:Orbitron,sans-serif;font-size:40px}#loading{background:var(--ink);letter-spacing:6px;color:var(--cyan);justify-content:center;align-items:center;font-family:Orbitron,sans-serif;font-size:14px;transition:opacity .6s;display:flex;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}@media (max-width:720px){.hud-block{min-width:0}.hud-value{font-size:20px}.battery{min-width:0;padding:6px 8px}.battery .pip{gap:2px;width:5px;height:12px}.hud-bottom{gap:8px}#crosshair-hint{display:none}}
