:root{--cyan:#00f0ff;--magenta:#ff2bd6;--teal:#19f0d8;--amber:#ffe14d;--danger:#f35;--bg:#05010f;--font:"Orbitron", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;font-family:var(--font);color:#e8f6ff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#hud[hidden]{display:none}#hud{padding:calc(8px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left));pointer-events:none;z-index:10;justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.hud-left,.hud-right,.hud-center{align-items:center;gap:8px;display:flex}.hud-center{flex-direction:column;flex:1;gap:3px;max-width:340px}.hud-pill{letter-spacing:.08em;text-shadow:0 0 8px var(--cyan);white-space:nowrap;background:#05010fa6;border:1px solid #00f0ff59;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.hud-pill.lives{color:var(--magenta);text-shadow:0 0 8px var(--magenta);border-color:#ff2bd659}.hud-pill.score{color:var(--amber);text-shadow:0 0 8px var(--amber);text-align:right;border-color:#ffe14d59;min-width:74px}.hud-pill.score.bump{animation:.25s ease-out bump}@keyframes bump{40%{transform:scale(1.18)}}#hud-bar{background:#00f0ff1f;border:1px solid #00f0ff40;border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}#hud-bar-fill{background:linear-gradient(90deg, var(--cyan), var(--teal));width:0%;height:100%;box-shadow:0 0 10px var(--teal);border-radius:999px;transition:width .25s ease-out}#hud-bar-target{background:var(--amber);width:2px;position:absolute;top:-2px;bottom:-2px}#hud-percent{letter-spacing:.2em;color:var(--teal);text-shadow:0 0 6px var(--teal);font-size:11px}.hud-chain{opacity:0;align-items:center;gap:7px;margin-top:2px;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;transform:translateY(-3px)}.hud-chain.live{opacity:1;transform:translateY(0)}#hud-chain-mult{color:var(--amber);text-shadow:0 0 10px var(--amber);letter-spacing:.06em;font-size:clamp(13px,3.6vw,18px);font-weight:900}#hud-chain-bar{background:#ff2bd629;border:1px solid #ff2bd64d;border-radius:999px;width:clamp(48px,16vw,78px);height:5px;overflow:hidden}#hud-chain-fill{transform-origin:0;background:linear-gradient(90deg, var(--magenta), var(--amber));width:100%;height:100%;box-shadow:0 0 8px var(--magenta)}.hud-btn{pointer-events:auto;color:var(--cyan);width:38px;height:34px;font-size:15px;font-family:var(--font);cursor:pointer;text-shadow:0 0 8px var(--cyan);background:#05010fa6;border:1px solid #00f0ff59;border-radius:10px}.hud-btn.off{color:#5a6b7a;text-shadow:none}#overlay{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(#05010f8c,#05010fe0);justify-content:center;align-items:center;display:none;position:fixed;inset:0}#overlay.visible{display:flex}.screen{text-align:center;padding:24px;animation:.35s ease-out screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}.title{letter-spacing:.06em;color:var(--cyan);text-shadow:0 0 18px var(--cyan), 0 0 60px #00f0ff80;font-size:clamp(44px,11vw,96px);font-weight:900}.title-3d{color:var(--magenta);text-shadow:0 0 18px var(--magenta), 0 0 60px #ff2bd680;margin-left:.12em}.subtitle{letter-spacing:.42em;color:var(--teal);text-shadow:0 0 10px var(--teal);margin-top:6px;font-size:clamp(11px,2.6vw,15px)}.banner{letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 16px var(--cyan);font-size:clamp(26px,7vw,52px);font-weight:900}.banner-clear{color:var(--teal);text-shadow:0 0 16px var(--teal)}.banner-over{color:var(--danger);text-shadow:0 0 16px var(--danger)}.stat{letter-spacing:.14em;color:var(--amber);text-shadow:0 0 10px var(--amber);margin-top:14px;font-size:clamp(15px,4vw,22px)}.stat-bonus{color:var(--teal);text-shadow:0 0 8px var(--teal);margin-top:6px;font-size:clamp(12px,3vw,16px)}#toasts{z-index:24;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:62px;left:14px}.toast{background:#05010fd1;border:1px solid #ffe14d73;border-radius:10px;grid-template-columns:auto;max-width:min(260px,62vw);padding:8px 12px;animation:.28s ease-out toast-in;display:grid;box-shadow:0 0 18px #ffe14d40}.toast.leaving{opacity:0;transition:opacity .32s ease-in,transform .32s ease-in;transform:translate(-10px)}.toast-badge{letter-spacing:.24em;color:var(--amber);text-shadow:0 0 8px var(--amber);font-size:9px}.toast-name{letter-spacing:.1em;color:var(--cyan);text-shadow:0 0 10px var(--cyan);margin-top:2px;font-size:clamp(12px,3.2vw,15px);font-weight:900}.toast-desc{letter-spacing:.08em;color:#b4e6ffb8;margin-top:1px;font-size:10px}@keyframes toast-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.next-unlock{letter-spacing:.18em;color:var(--magenta);text-shadow:0 0 9px var(--magenta);margin-top:8px;font-size:clamp(9px,2.4vw,11px)}.screen-trophies{flex-direction:column;align-items:center;max-height:86vh;display:flex}.trophy-list{text-align:left;flex-direction:column;gap:6px;width:min(340px,86vw);margin:14px 0 12px;padding-right:4px;list-style:none;display:flex;overflow-y:auto}.trophy{background:#00f0ff0a;border:1px solid #00f0ff24;border-radius:8px;flex-direction:column;padding:7px 12px;display:flex}.trophy.earned{background:#ffe14d12;border-color:#ffe14d66}.trophy-name{letter-spacing:.12em;color:#96bed78c;font-size:clamp(11px,3vw,13px);font-weight:800}.trophy.earned .trophy-name{color:var(--amber);text-shadow:0 0 9px var(--amber)}.trophy-desc{letter-spacing:.06em;color:#b4e6ff99;margin-top:2px;font-size:10px}.verdict{letter-spacing:.16em;color:var(--magenta);text-shadow:0 0 14px var(--magenta), 0 0 30px #ff2bd680;margin-top:4px;font-size:clamp(18px,5.5vw,30px);font-weight:900}.stats-grid{cursor:pointer;flex-direction:column;gap:6px;width:min(280px,78vw);margin:16px auto 4px;display:flex}.stat-row{background:#00f0ff0d;border:1px solid #00f0ff29;border-radius:8px;justify-content:space-between;align-items:baseline;padding:5px 12px;display:flex}.stat-key{letter-spacing:.18em;color:#b4e6ffbf;font-size:clamp(10px,2.6vw,12px)}.stat-val{color:var(--cyan);text-shadow:0 0 8px var(--cyan);font-variant-numeric:tabular-nums;font-size:clamp(14px,3.6vw,19px);font-weight:800}.best{letter-spacing:.24em;color:var(--amber);text-shadow:0 0 10px var(--amber);margin-top:12px;font-size:clamp(12px,3vw,16px)}.hint{letter-spacing:.12em;color:#8fb4cc;margin-top:22px;font-size:clamp(10px,2.6vw,13px);line-height:1.8}.btn{min-width:220px;font-family:var(--font);letter-spacing:.22em;color:var(--cyan);border:2px solid var(--cyan);cursor:pointer;text-shadow:0 0 10px var(--cyan);background:#00f0ff0f;border-radius:14px;margin:26px auto 0;padding:14px 34px;font-size:17px;font-weight:700;transition:transform .12s,box-shadow .12s;display:block;box-shadow:0 0 18px #00f0ff40,inset 0 0 18px #00f0ff14}.btn:active{transform:scale(.96)}.btn-primary{animation:2.2s ease-in-out infinite btn-breathe}@keyframes btn-breathe{50%{box-shadow:0 0 34px #00f0ff80,inset 0 0 24px #00f0ff24}}.toggles{justify-content:center;gap:10px;margin-top:18px;display:flex}.toggle{font-family:var(--font);letter-spacing:.14em;color:#8fb4cc;cursor:pointer;background:#05010f80;border:1px solid #8fb4cc66;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:700}.toggle.on{border-color:var(--teal);color:var(--teal);text-shadow:0 0 8px var(--teal)}.toggle span{opacity:.75}.screen-settings{width:min(94vw,440px)}.settings-list{text-align:left;flex-direction:column;gap:10px;margin-top:22px;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:14px;padding:4px 2px;display:flex}.setting-label{letter-spacing:.16em;color:#b7d2e6;font-size:12px;font-weight:700}.segmented{border:1px solid #8fb4cc59;border-radius:10px;display:inline-flex;overflow:hidden}.seg{font-family:var(--font);letter-spacing:.1em;color:#7f96b4;cursor:pointer;background:#05010f80;border:none;border-right:1px solid #8fb4cc40;padding:8px 13px;font-size:11px;font-weight:700}.seg:last-child{border-right:none}.seg.on{color:var(--cyan);text-shadow:0 0 8px var(--cyan);background:#00f0ff24}.menu-links{justify-content:center;gap:18px;margin-top:4px;display:flex}.menu-links .link-btn{margin-top:14px}.btn+.btn{color:#8fb4cc;box-shadow:none;text-shadow:none;border-color:#8fb4cc80;min-width:200px;margin-top:14px;padding:10px 24px;font-size:13px}#popups{pointer-events:none;z-index:15;position:fixed;inset:0;overflow:hidden}.popup{white-space:nowrap;font-weight:900;animation:1.4s ease-out forwards popup-rise;position:absolute;transform:translate(-50%,-50%)}.popup-score{color:var(--amber);text-shadow:0 0 12px var(--amber);font-size:clamp(16px,4vw,26px)}.popup-power{color:var(--teal);text-shadow:0 0 12px var(--teal);letter-spacing:.18em;font-size:clamp(13px,3.4vw,20px)}.popup-chain{color:var(--magenta);text-shadow:0 0 12px var(--magenta);letter-spacing:.16em;font-size:clamp(13px,3.4vw,20px)}@keyframes popup-rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}30%{transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-150%)scale(.9)}}#threats{pointer-events:none;z-index:14;position:fixed;inset:0;overflow:hidden}.threat-arrow{color:#ff8c1a;text-shadow:0 0 10px #ff8c1a,0 0 24px #ff8c1a99;font-size:20px;animation:.7s ease-in-out infinite threat-pulse;position:absolute}@keyframes threat-pulse{50%{opacity:.45}}@media (max-width:460px){#hud{padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right));gap:6px}.hud-pill{letter-spacing:.04em;padding:3px 8px;font-size:11px}.hud-btn{width:30px;height:30px}.hud-center,.hud-center>*{min-width:0}}.hud-pill.assist{color:#78ffb4;letter-spacing:.22em;border-color:#78ffb499;display:none}.hud-pill.assist.on{display:inline-flex}@media (max-width:460px){.hud-pill.assist{letter-spacing:.1em;padding:2px 6px;font-size:9px}}.setting-note{letter-spacing:.06em;opacity:.62;text-transform:none;margin-top:2px;font-size:10px;display:block}#hud-percent.boss{color:#ff4de0;text-shadow:0 0 14px #ff4de0cc}.threat-card{z-index:16;pointer-events:none;text-align:center;background:#0a0610d1;border:1px solid #ff783c8c;border-radius:10px;flex-direction:column;align-items:center;gap:6px;max-width:min(86vw,520px);padding:14px 26px;animation:4.2s ease-out forwards threat-card-in;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #ff783c59,inset 0 0 22px #ff783c1f}.threat-card-label{letter-spacing:.34em;color:#ffa878f2;font-size:11px}.threat-card-name{letter-spacing:.12em;color:#ffb45a;text-shadow:0 0 18px #ff8c3cb3;font-size:clamp(20px,5vw,30px);font-weight:900}.threat-card-tell{color:#e2e8f0eb;font-size:clamp(12px,3.2vw,15px);line-height:1.35}@keyframes threat-card-in{0%{opacity:0;transform:translate(-50%,-8px)}8%,86%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@keyframes threat-card-calm{0%{opacity:0}8%,86%{opacity:1}to{opacity:0}}.sector-banner{z-index:15;pointer-events:none;letter-spacing:.16em;color:var(--cyan);text-shadow:0 0 20px var(--cyan), 0 0 70px #00f0ff80;font-size:clamp(30px,9vw,64px);font-weight:900;animation:1.5s ease-out forwards sector-in;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}@keyframes sector-in{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-50%)scale(1.6)}22%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.92)}}.dpad[hidden]{display:none}.dpad{bottom:calc(28px + env(safe-area-inset-bottom));z-index:12;touch-action:none;opacity:.72;background:radial-gradient(circle,#05010f80,#05010f26);border:1px solid #00f0ff47;border-radius:50%;width:176px;height:176px;position:fixed}.dpad-left{left:calc(20px + env(safe-area-inset-left))}.dpad-right{right:calc(20px + env(safe-area-inset-right))}.dpad-arrow{color:#00f0ff8c;text-shadow:0 0 6px #00f0ff66;justify-content:center;align-items:center;width:58px;height:58px;font-size:22px;display:flex;position:absolute}.dpad-arrow.active{color:#fff;text-shadow:0 0 12px var(--cyan), 0 0 22px var(--cyan)}.dir-up{top:6px;left:50%;transform:translate(-50%)}.dir-down{bottom:6px;left:50%;transform:translate(-50%)}.dir-left{top:50%;left:6px;transform:translateY(-50%)}.dir-right{top:50%;right:6px;transform:translateY(-50%)}.tutorial-bar[hidden]{display:none}.dpad-active .tutorial-bar{bottom:calc(224px + env(safe-area-inset-bottom))}.tutorial-bar{bottom:calc(22px + env(safe-area-inset-bottom));z-index:16;letter-spacing:.12em;max-width:min(92vw,560px);color:var(--cyan);text-shadow:0 0 10px var(--cyan);text-align:center;pointer-events:none;background:#05010fc7;border:1px solid #00f0ff73;border-radius:999px;align-items:center;gap:14px;padding:12px 18px;font-size:clamp(12px,3vw,15px);font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 0 22px #00f0ff33}.tutorial-bar.urgent{color:var(--danger);text-shadow:0 0 10px var(--danger);border-color:#ff3355b3;animation:.5s ease-in-out infinite threat-pulse;box-shadow:0 0 26px #ff335559}.tutorial-bar.pulse{animation:.35s ease-out tutorial-in}.tutorial-bar.urgent.pulse{animation:.35s ease-out tutorial-in,.5s ease-in-out .35s infinite threat-pulse}@keyframes tutorial-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}}.tutorial-skip{pointer-events:auto;color:#8fb4cc;font-family:var(--font);letter-spacing:.12em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #8fb4cc66;border-radius:999px;padding:5px 12px;font-size:11px}.link-btn{color:#8fb4cc;font-family:var(--font);letter-spacing:.22em;cursor:pointer;text-underline-offset:4px;background:0 0;border:none;margin:18px auto 0;font-size:11px;text-decoration:underline;display:block}.death-flash{z-index:18;pointer-events:none;background:var(--danger);animation:.4s ease-out forwards death-flash;position:fixed;inset:0}@keyframes death-flash{0%{opacity:.5}to{opacity:0}}.btn:focus-visible,.toggle:focus-visible,.seg:focus-visible,.link-btn:focus-visible,.tutorial-skip:focus-visible,#btn-mute:focus-visible,#btn-pause:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;box-shadow:0 0 12px #00f0ffa6}.death-flash.soft{animation-name:death-flash-soft}@keyframes death-flash-soft{0%{opacity:.16}to{opacity:0}}@media (prefers-reduced-motion:reduce){.btn-primary,.threat-arrow,.toast,.tutorial-bar{animation:none}.screen{animation-duration:.14s}.sector-banner{animation-duration:.6s}#hud-percent.boss{color:#ff4de0;text-shadow:0 0 14px #ff4de0cc}.threat-card{animation-name:threat-card-calm}.popup{animation-duration:.9s}}body.reduced-motion .btn-primary,body.reduced-motion .threat-arrow,body.reduced-motion .toast,body.reduced-motion .tutorial-bar{animation:none}body.reduced-motion .screen{animation-duration:.14s}body.reduced-motion #hud-percent.boss{color:#ff4de0;text-shadow:0 0 14px #ff4de0cc}.threat-card{animation-name:threat-card-calm}body.reduced-motion .sector-banner{animation-duration:.6s}body.reduced-motion .popup{animation-duration:.9s}
