:root{--color-bg:#04060e;--color-cyan:#00f6ff;--color-magenta:#ff2bd6;--color-gold:#ffc857;--color-green:#39ff14;--color-violet:#b026ff;--color-text:#cfeaff;--color-text-dim:#7a8aa3;--color-panel:#070b1ac7;--color-panel-edge:#00f6ff73;--color-panel-edge-mag:#ff2bd673;--color-line:#00f6ff59;--color-cyan-rgb:0 246 255;--color-magenta-rgb:255 43 214;--color-gold-rgb:255 200 87;--color-green-rgb:57 255 20;--color-violet-rgb:176 38 255;--font-display:"Orbitron", system-ui, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, monospace;--font-size-base:clamp(15px, 1vw, 18px);--letter-spacing-wide:.4em;--letter-spacing-base:.04em;--letter-spacing-narrow:.1em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:18px;--space-5:24px;--space-6:36px;--space-7:48px;--space-8:64px;--motion-fast:.12s;--motion-base:.25s;--motion-slow:.6s;--ease-spring-soft:cubic-bezier(.2, 1.4, .4, 1);--ease-spring-mid:cubic-bezier(.2, 1.6, .4, 1);--ease-spring-hard:cubic-bezier(.2, 1.8, .4, 1);--ease-linear:linear;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--z-canvas:0;--z-hud:10;--z-popup:20;--z-modal:30;--z-fx:40;--z-loader:50;--clip-size:8px}body.cb-deuter{--color-cyan-rgb:255 212 0;--color-magenta-rgb:0 80 255;--color-gold-rgb:255 212 0;--color-green-rgb:255 212 0;--color-violet-rgb:0 80 255;--color-cyan:#ffd400;--color-magenta:#0050ff;--color-gold:#ffd400;--color-green:#ffd400;--color-violet:#0050ff}body.cb-protan{--color-cyan-rgb:0 212 255;--color-magenta-rgb:204 255 0;--color-gold-rgb:204 255 0;--color-green-rgb:204 255 0;--color-violet-rgb:204 136 0;--color-cyan:#00d4ff;--color-magenta:#cf0;--color-gold:#cf0;--color-green:#cf0;--color-violet:#c80}body.cb-tritan{--color-cyan-rgb:255 128 0;--color-magenta-rgb:0 204 136;--color-gold-rgb:255 128 0;--color-green-rgb:255 128 0;--color-violet-rgb:0 204 136;--color-cyan:#ff8000;--color-magenta:#0c8;--color-gold:#ff8000;--color-green:#ff8000;--color-violet:#0c8}:where(*){box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:where(img,picture,video,canvas,svg){max-width:100%;display:block}:where(button,input,select,textarea){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:where(ul,ol){list-style:none}:where(a){color:inherit;text-decoration:none}:where(h1,h2,h3,h4,h5,h6){font-weight:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}::selection{background:rgb(var(--color-cyan-rgb) / .4);color:#fff}@media (prefers-reduced-motion:reduce){:where(*){scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:where(html,body){background:var(--color-bg);width:100%;height:100%;color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-base);letter-spacing:var(--letter-spacing-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;cursor:crosshair;overflow:hidden}canvas#cv{width:100%;height:100%;z-index:var(--z-canvas);display:block;position:fixed;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:1000;background:var(--color-cyan);color:var(--color-bg);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--color-cyan);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:top var(--motion-base) var(--ease-out);padding:8px 16px;font-weight:700;position:fixed;top:-100px;left:8px}.skip:focus-visible{top:8px}.nojs{z-index:9999;background:var(--color-bg);color:var(--color-text);text-align:center;font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:fixed;inset:0}.nojs h1{font-family:var(--font-display);color:var(--color-cyan);text-shadow:0 0 12px var(--color-cyan);letter-spacing:.2em;font-size:clamp(20px,3vw,28px)}.nojs p{color:var(--color-text-dim);max-width:480px;font-size:14px;line-height:1.6}body.rm #fx-flash,body.rm .countdown-overlay.show{animation:none!important}body.rm #crt,body.rm .btn{animation:none}body.rm #scanRing{display:none}#loader{z-index:var(--z-loader);transition:opacity var(--motion-slow) ease;background:radial-gradient(#0a1226 0%,#04060e 60%,#02030a 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#loader.hide{opacity:0;pointer-events:none}#loader .kicker{font-family:var(--font-mono);color:var(--color-cyan);letter-spacing:var(--letter-spacing-wide);margin-bottom:18px;font-size:clamp(11px,1.4vw,14px);animation:1.2s infinite blink}#loader .title{font-family:var(--font-display);color:#fff;text-shadow:0 0 18px var(--color-cyan), 0 0 36px rgb(var(--color-cyan-rgb) / .5);letter-spacing:.18em;margin-bottom:26px;font-size:clamp(22px,4.4vw,40px);font-weight:900}#loader .bar{background:rgb(var(--color-cyan-rgb) / .08);border:1px solid rgb(var(--color-cyan-rgb) / .35);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);width:min(420px,70vw);height:8px;position:relative;overflow:hidden}#loader .bar:after{content:"";background:linear-gradient(90deg, transparent, var(--color-cyan), transparent);width:40%;height:100%;animation:1.4s linear infinite scan;position:absolute;top:0;left:-40%}#loader .sub{color:var(--color-text-dim);letter-spacing:.3em;margin-top:18px;font-size:11px}#loader.fail .kicker{color:var(--color-magenta);animation:none}#loader.fail .bar{border-color:rgb(var(--color-magenta-rgb) / .5)}#loader.fail .bar:after{background:linear-gradient(90deg, transparent, var(--color-magenta), transparent);opacity:.3;width:100%;animation:none;left:0}#loader .msg{color:var(--color-text-dim);text-align:center;max-width:min(520px,80vw);margin-top:14px;font-size:12px;line-height:1.6;display:none}#loader.fail .msg{display:block}@keyframes scan{0%{left:-40%}to{left:100%}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.25}}#title-screen{z-index:20;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}#title-screen.show{pointer-events:auto}#title-screen .kicker{font-family:var(--font-mono);color:var(--color-cyan);letter-spacing:.5em;text-shadow:0 0 10px rgb(var(--color-cyan-rgb) / .7);opacity:0;margin-bottom:18px;font-size:clamp(11px,1.4vw,14px);animation:.7s .1s forwards rise;transform:translateY(14px)}#title-screen .ttl{font-family:var(--font-display);letter-spacing:.06em;color:#fff;text-shadow:0 0 18px var(--color-cyan), 0 0 40px rgb(var(--color-cyan-rgb) / .4);text-align:center;opacity:0;font-size:clamp(48px,11vw,140px);font-weight:900;line-height:.95;animation:.8s .25s forwards rise;position:relative;transform:translateY(20px)}#title-screen .ttl .glitch{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#title-screen .ttl .glitch span{font:inherit;color:inherit;letter-spacing:inherit;mix-blend-mode:screen;will-change:transform, clip-path;position:absolute}#title-screen .ttl .g1{color:var(--color-cyan);animation:3.2s step-end infinite glitchA}#title-screen .ttl .g2{color:var(--color-magenta);animation:2.7s step-end infinite glitchB}@keyframes glitchA{0%,92%,to{clip-path:inset(0);opacity:0;transform:translate(0)}93%{clip-path:inset(8% 0 60%);opacity:.9;transform:translate(-4px)}95%{clip-path:inset(40% 0 30%);opacity:.7;transform:translate(3px)}97%{clip-path:inset(70% 0 10%);opacity:.9;transform:translate(-2px)}}@keyframes glitchB{0%,88%,to{clip-path:inset(0);opacity:0;transform:translate(0)}89%{clip-path:inset(20% 0 50%);opacity:.9;transform:translate(4px)}91%{clip-path:inset(55% 0 25%);opacity:.7;transform:translate(-3px)}94%{clip-path:inset(10% 0 70%);opacity:.9;transform:translate(2px)}}#title-screen .sub{font-family:var(--font-display);color:var(--color-magenta);letter-spacing:.5em;text-shadow:0 0 10px rgb(var(--color-magenta-rgb) / .7);opacity:0;margin-top:14px;font-size:clamp(12px,1.6vw,18px);font-weight:700;animation:.7s .4s forwards rise;transform:translateY(14px)}#title-screen .rec{color:var(--color-gold);letter-spacing:.3em;text-shadow:0 0 8px rgb(var(--color-gold-rgb) / .5);opacity:0;margin-top:10px;font-size:clamp(12px,1.4vw,15px);animation:.7s .5s forwards rise;transform:translateY(14px)}#title-screen .start{opacity:0;margin-top:36px;animation:.7s .65s forwards rise;transform:translateY(14px)}.title-screen .start-row{flex-direction:column;align-items:center;gap:8px;margin-top:18px;display:flex}#title-screen .hints{color:var(--color-text-dim);letter-spacing:.28em;text-align:center;opacity:0;max-width:min(720px,90vw);margin-top:26px;font-size:clamp(10px,1.1vw,12px);line-height:1.9;animation:.7s .85s forwards rise}#title-screen .hints .k{color:var(--color-cyan)}@keyframes rise{to{opacity:1;transform:translateY(0)}}#hud{z-index:var(--z-hud);pointer-events:none;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 18px;display:flex;position:fixed;top:0;left:0;right:0;container:hud/inline-size}#hud[hidden]{display:none}#hud .col{flex-direction:column;gap:4px;min-width:0;display:flex}#hud .col.c{text-align:center;align-items:center}#hud .col.r{text-align:right;align-items:flex-end}#hud .lbl{color:var(--color-text-dim);letter-spacing:var(--letter-spacing-wide);font-size:clamp(9px,1vw,11px)}#hud .val{font-family:var(--font-display);letter-spacing:.05em;transition:transform .18s var(--ease-spring-mid);color:#eafdff;text-shadow:2px 0 0 color-mix(in srgb, var(--color-magenta) 35%, transparent), -2px 0 0 color-mix(in srgb, var(--color-cyan) 35%, transparent);font-size:clamp(22px,3.4vw,42px);font-weight:900;line-height:1}#hud .val.s{color:#eafdff;text-shadow:0 0 8px var(--color-cyan), 0 0 26px color-mix(in srgb, var(--color-cyan) 50%, transparent), 2px 0 0 color-mix(in srgb, var(--color-magenta) 35%, transparent), -2px 0 0 color-mix(in srgb, var(--color-cyan) 35%, transparent)}#hud .val.m{color:#eafdff;text-shadow:0 0 8px var(--color-magenta), 0 0 26px color-mix(in srgb, var(--color-magenta) 45%, transparent), 2px 0 0 color-mix(in srgb, var(--color-magenta) 35%, transparent), -2px 0 0 color-mix(in srgb, var(--color-cyan) 35%, transparent)}#hud .val.bump{animation:bump .25s var(--ease-out);transform:scale(1.22)}@keyframes bump{40%{transform:scale(1.22)}}#hud .lvlnum{font-family:var(--font-display);color:var(--color-cyan);text-shadow:0 0 8px var(--color-cyan);font-size:clamp(16px,2vw,22px);font-weight:900}#hud .lvlnum small{color:var(--color-text-dim);letter-spacing:.3em;margin-right:6px;font-size:.55em}.sector-wrap{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:color .4s var(--ease-out);background:#0000004d;border:1px solid;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px;padding:4px 10px;display:flex}.sector-wrap .lbl{color:currentColor;letter-spacing:var(--letter-spacing-wide);opacity:.75;font-size:clamp(8px,.9vw,10px)}.sectornum{font-family:var(--font-display);color:currentColor;letter-spacing:.1em;text-shadow:0 0 10px;font-size:clamp(13px,1.6vw,18px);font-weight:900}.sectorname{color:currentColor;letter-spacing:.35em;opacity:.6;font-size:clamp(8px,.9vw,10px)}#lvlbar{gap:3px;margin-top:4px;display:flex}#lvlbar i{background:color-mix(in srgb, var(--color-cyan) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-cyan) 25%, transparent);width:10px;height:14px;transition:all var(--motion-base) var(--ease-out);display:block;transform:skew(-18deg)}#lvlbar i.on{background:var(--color-cyan);box-shadow:0 0 8px var(--color-cyan), 0 0 14px color-mix(in srgb, var(--color-cyan) 50%, transparent);border-color:var(--color-cyan)}#bonuschip{font-family:var(--font-display);color:var(--color-gold);border:1px solid color-mix(in srgb, var(--color-gold) 50%, transparent);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);letter-spacing:.18em;text-shadow:0 0 10px var(--color-gold), 0 0 30px color-mix(in srgb, var(--color-gold) 50%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--color-gold) 30%, transparent);background:#281c0073;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;font-size:clamp(11px,1.2vw,13px);font-weight:700;animation:1s ease-in-out infinite chipPulse;display:none}#bonuschip.show{display:inline-flex}#bonuschip.flash{animation:.35s steps(2,end) infinite bf}@keyframes chipPulse{50%{box-shadow:0 0 22px color-mix(in srgb, var(--color-gold) 55%, transparent)}}@keyframes bf{0%{opacity:1}50%{opacity:.15}to{opacity:1}}#powerupchip{z-index:16;min-width:140px;height:36px;font-family:var(--font-display);letter-spacing:.18em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);text-shadow:0 0 10px;pointer-events:none;opacity:0;transition:transform .35s var(--ease-spring-soft), opacity var(--motion-base) var(--ease-out);background:#00000073;align-items:center;gap:8px;padding:6px 12px;font-size:clamp(11px,1.2vw,13px);font-weight:700;display:none;position:fixed;top:14px;right:14px;overflow:hidden;transform:translate(160%)}#powerupchip.show{opacity:1;display:flex;transform:translate(0)}#powerupchip.hide{opacity:0;transform:translate(160%)}#powerupchip .ic{filter:drop-shadow(0 0 4px);font-size:14px;line-height:1}#powerupchip .lb{opacity:.85}#powerupchip .tm{font-variant-numeric:tabular-nums;margin-left:auto}#powerupchip .bar{transform-origin:0;height:2px;transition:transform 80ms var(--ease-linear);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(1);box-shadow:0 0 6px}#powerupchip.speed{color:var(--color-green);border:1px solid var(--color-green);box-shadow:0 0 10px color-mix(in srgb, var(--color-green) 35%, transparent)}#powerupchip.slow{color:var(--color-violet);border:1px solid var(--color-violet);box-shadow:0 0 10px color-mix(in srgb, var(--color-violet) 35%, transparent)}#hud-br{z-index:var(--z-hud);pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:60vw;display:flex;position:fixed;bottom:12px;right:14px}#hud-br[hidden]{display:none}.mode-indicator{font-family:var(--font-mono);color:var(--color-cyan);letter-spacing:.35em;opacity:.75;text-shadow:0 0 4px color-mix(in srgb, var(--color-cyan) 50%, transparent);margin-top:2px;font-size:clamp(9px,1vw,11px)}.mode-indicator #timeAttackRemaining{color:var(--color-gold);opacity:.9;margin-left:8px}.mode-indicator #timeAttackRemaining:empty{display:none}.combo-badge{font-family:var(--font-display);letter-spacing:.12em;color:var(--color-gold);border:1px solid color-mix(in srgb, var(--color-gold) 55%, transparent);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);text-shadow:0 0 6px var(--color-gold), 0 0 18px color-mix(in srgb, var(--color-gold) 50%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--color-gold) 35%, transparent);transition:transform .15s var(--ease-spring-mid);background:#281c008c;align-self:flex-start;align-items:baseline;gap:2px;margin-top:4px;padding:3px 9px 3px 7px;font-size:clamp(11px,1.1vw,14px);font-weight:900;display:inline-flex}.combo-badge[hidden]{display:none}.combo-badge.bump{transform:scale(1.18)}.combo-badge .combo-x{opacity:.8;font-size:.8em}.combo-badge.hot{color:#ff6e3a;text-shadow:0 0 6px #ff6e3a,0 0 18px #ff6e3a8c;border-color:#ff6e3a}:is(#hud:has(.off),#hud-br:has(.off)){opacity:.5;filter:saturate(.6);transition:opacity var(--motion-base) var(--ease-out), filter var(--motion-base) var(--ease-out)}@container hud (width<=480px){#hud{gap:10px;padding:10px 12px}#hud .val{font-size:clamp(18px,7vw,28px)}#hud .lvlnum{font-size:clamp(13px,4vw,18px)}}.modal-wrap{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);background:#02040c8c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-wrap.show{animation:.3s fadein;display:flex}.modal-wrap[hidden]{display:none}.modal{text-align:center;flex-direction:column;align-items:center;gap:14px;min-width:min(420px,90vw);max-width:520px;display:flex}.modal .h{font-family:var(--font-display);letter-spacing:.2em;color:#fff;text-shadow:0 0 14px var(--color-magenta), 0 0 30px rgb(var(--color-magenta-rgb) / .5);font-size:clamp(26px,4.4vw,42px);font-weight:900}.modal .h.cyan{text-shadow:0 0 14px var(--color-cyan), 0 0 30px rgb(var(--color-cyan-rgb) / .5)}.modal .sub{color:var(--color-text-dim);letter-spacing:var(--letter-spacing-wide);font-size:clamp(11px,1.2vw,13px)}.modal .big{font-family:var(--font-display);color:var(--color-cyan);text-shadow:0 0 14px var(--color-cyan), 0 0 28px rgb(var(--color-cyan-rgb) / .4);font-size:clamp(36px,7vw,72px);font-weight:900;line-height:1}.modal .rec{color:var(--color-gold);letter-spacing:.3em;text-shadow:0 0 8px rgb(var(--color-gold-rgb) / .5);font-size:clamp(13px,1.4vw,15px)}.modal .rec .lb-bump{animation:.25s ease-out bump;display:inline-block}.modal .death-cause{color:var(--color-text-dim);letter-spacing:.3em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border:1px solid;padding:6px 14px;font-size:clamp(11px,1.2vw,13px)}.modal .death-cause.cyan{color:var(--color-cyan);text-shadow:0 0 8px rgb(var(--color-cyan-rgb) / .5);border-color:var(--color-panel-edge)}.modal .death-cause.mag{color:var(--color-magenta);text-shadow:0 0 8px rgb(var(--color-magenta-rgb) / .5);border-color:var(--color-panel-edge-mag)}.modal .death-cause.gold{color:var(--color-gold);text-shadow:0 0 8px rgb(var(--color-gold-rgb) / .5);border-color:rgb(var(--color-gold-rgb) / .55)}.modal .badge{font-family:var(--font-display);color:var(--color-gold);letter-spacing:var(--letter-spacing-wide);border:1px solid var(--color-gold);background:rgb(var(--color-gold-rgb) / .08);text-shadow:0 0 8px var(--color-gold);box-shadow:0 0 12px rgb(var(--color-gold-rgb) / .4);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);animation:pop .55s .15s var(--ease-spring-hard) forwards;padding:6px 14px;font-size:clamp(14px,1.6vw,18px);font-weight:900;display:inline-block;transform:scale(0)}.modal .actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal .lb-list{flex-direction:column;gap:6px;width:100%;max-height:min(380px,50vh);margin:4px 0;padding:4px 0;display:flex;overflow-y:auto}.modal .lb-row{background:rgb(var(--color-cyan-rgb) / .04);border:1px solid rgb(var(--color-cyan-rgb) / .18);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);color:var(--color-text);letter-spacing:.08em;align-items:center;gap:10px;padding:9px 14px;font-size:clamp(11px,1.2vw,13px);display:flex}.modal .lb-row.top1{background:rgb(var(--color-gold-rgb) / .1);border-color:rgb(var(--color-gold-rgb) / .45);color:var(--color-gold);text-shadow:0 0 6px rgb(var(--color-gold-rgb) / .4)}.modal .lb-row.top2{background:rgb(var(--color-cyan-rgb) / .08);border-color:rgb(var(--color-cyan-rgb) / .4);color:var(--color-cyan)}.modal .lb-row.top3{background:rgb(var(--color-magenta-rgb) / .08);border-color:rgb(var(--color-magenta-rgb) / .4);color:#ffd0ee;text-shadow:0 0 6px rgb(var(--color-magenta-rgb) / .35)}.modal .lb-row .rank{font-family:var(--font-display);min-width:30px;font-size:clamp(13px,1.5vw,16px);font-weight:900}.modal .lb-row .score-val{font-family:var(--font-display);margin-left:auto;font-size:clamp(15px,1.7vw,19px);font-weight:900}.modal .lb-row .meta{color:inherit;opacity:.7;letter-spacing:.2em;font-size:clamp(9px,1vw,11px)}.modal .lb-empty{color:var(--color-text-dim);letter-spacing:.25em;text-align:center;padding:22px 0;font-size:clamp(11px,1.2vw,13px)}.modal .set-list{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.modal .set-row{border:1px solid var(--color-panel-edge);background:rgb(var(--color-cyan-rgb) / .04);width:100%;font-family:var(--font-display);letter-spacing:.18em;color:#eafdff;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:clamp(11px,1.2vw,13px);display:flex}.modal .set-row .lbl{text-align:left;text-shadow:0 0 6px rgb(var(--color-cyan-rgb) / .35)}.modal .set-row .chipbtn{letter-spacing:.18em;min-width:112px;padding:5px 10px;font-size:clamp(10px,1.1vw,12px)}.modal .set-row.danger{border-color:rgb(var(--color-magenta-rgb) / .45);background:rgb(var(--color-magenta-rgb) / .04);justify-content:center;padding:6px}#touch-hint{z-index:16;font-family:var(--font-display);color:var(--color-cyan);letter-spacing:var(--letter-spacing-wide);text-shadow:0 0 10px var(--color-cyan);background:rgb(var(--color-cyan-rgb) / .06);border:1px solid rgb(var(--color-cyan-rgb) / .4);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);opacity:0;pointer-events:none;transition:opacity var(--motion-slow);padding:10px 18px;font-size:clamp(11px,1.3vw,14px);font-weight:700;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#touch-hint.show{opacity:.85}.countdown-overlay{z-index:25;pointer-events:none;font-family:var(--font-display);color:var(--color-cyan);text-shadow:0 0 20px var(--color-cyan), 0 0 44px var(--color-cyan), 0 0 90px rgb(var(--color-cyan-rgb) / .65);letter-spacing:.05em;opacity:0;will-change:opacity, transform;justify-content:center;align-items:center;font-size:clamp(80px,18vw,220px);font-weight:900;line-height:1;display:flex;position:fixed;inset:0;transform:scale(.3)}.countdown-overlay.show{animation:1s ease-out forwards countdownPulse}.countdown-overlay.show.go{letter-spacing:.18em;color:#eafdff;text-shadow:0 0 24px var(--color-cyan), 0 0 60px var(--color-cyan), 0 0 120px rgb(var(--color-cyan-rgb) / .7)}@keyframes countdownPulse{0%{opacity:0;transform:scale(.3)}22%{opacity:1;transform:scale(1)}65%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.25)}}.btn{font-family:var(--font-display);letter-spacing:.28em;color:var(--color-bg);background:linear-gradient(180deg, var(--color-cyan), #18b8ff);border:1px solid var(--color-cyan);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);text-transform:uppercase;box-shadow:0 0 14px color-mix(in srgb, var(--color-cyan) 60%, transparent), inset 0 0 18px #fff3;transition:transform var(--motion-fast) var(--ease-out), box-shadow .2s var(--ease-out), filter .2s var(--ease-out);cursor:pointer;padding:14px 28px;font-size:clamp(14px,1.6vw,18px);font-weight:700;animation:1.6s ease-in-out infinite btnpulse;display:inline-block}.btn:hover{filter:brightness(1.15);box-shadow:0 0 22px color-mix(in srgb, var(--color-cyan) 90%, transparent), inset 0 0 22px #ffffff4d}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-cyan);outline-offset:4px}.btn.mag{background:linear-gradient(180deg, var(--color-magenta), #b81e9a);border-color:var(--color-magenta);box-shadow:0 0 14px color-mix(in srgb, var(--color-magenta) 60%, transparent), inset 0 0 18px #fff3}.btn.mag:hover{box-shadow:0 0 22px color-mix(in srgb, var(--color-magenta) 90%, transparent), inset 0 0 22px #ffffff4d}.btn.ghost{color:var(--color-cyan);box-shadow:none;border-color:var(--color-panel-edge);background:0 0}.btn.ghost:hover{background:color-mix(in srgb, var(--color-cyan) 8%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--color-cyan) 40%, transparent)}.btn.gold{background:linear-gradient(180deg, var(--color-gold), #d49a1f);border-color:var(--color-gold);box-shadow:0 0 14px color-mix(in srgb, var(--color-gold) 60%, transparent), inset 0 0 18px #fff3;color:#1a0f00}@keyframes btnpulse{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}@media (prefers-reduced-motion:reduce){.btn{animation:none}}.chipbtn{font-family:var(--font-mono);color:var(--color-cyan);background:rgb(var(--color-cyan-rgb) / .06);border:1px solid rgb(var(--color-cyan-rgb) / .35);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);letter-spacing:.18em;cursor:pointer;padding:6px 10px;font-size:clamp(9px,1vw,11px);transition:all .2s}.chipbtn:hover{background:rgb(var(--color-cyan-rgb) / .16);box-shadow:0 0 8px rgb(var(--color-cyan-rgb) / .4)}.chipbtn:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.chipbtn.off{color:var(--color-text-dim);border-color:#7a8aa359}.chipbtn[aria-pressed=true]{background:rgb(var(--color-cyan-rgb) / .18);border-color:var(--color-cyan);box-shadow:0 0 8px rgb(var(--color-cyan-rgb) / .4)}.panel{background:var(--color-panel);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-panel-edge);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);padding:18px 22px;position:relative}.panel:before{content:"";pointer-events:none;background:linear-gradient(180deg, rgb(var(--color-cyan-rgb) / .06), transparent 30%, transparent 70%, rgb(var(--color-magenta-rgb) / .06));position:absolute;inset:0}.panel.mag{border-color:var(--color-panel-edge-mag)}.panel.gold{border-color:rgb(var(--color-gold-rgb) / .55)}#toasts{z-index:25;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:18%;left:0;right:0}.toast{font-family:var(--font-display);letter-spacing:.32em;color:#fff;text-shadow:0 0 10px var(--color-cyan), 0 0 18px rgb(var(--color-cyan-rgb) / .4);background:rgb(var(--color-cyan-rgb) / .06);border:1px solid rgb(var(--color-cyan-rgb) / .4);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);opacity:0;transition:opacity var(--motion-base) ease, transform var(--motion-base) ease;padding:8px 18px;font-size:clamp(12px,1.4vw,16px);font-weight:700;transform:translateY(8px)scale(.96)}.toast.show{opacity:1;transform:translateY(0)scale(1)}.toast.mag{color:#fff;text-shadow:0 0 10px var(--color-magenta), 0 0 18px rgb(var(--color-magenta-rgb) / .4);background:rgb(var(--color-magenta-rgb) / .06);border-color:rgb(var(--color-magenta-rgb) / .45)}.toast.gold{color:var(--color-gold);text-shadow:0 0 10px var(--color-gold), 0 0 18px rgb(var(--color-gold-rgb) / .4);background:rgb(var(--color-gold-rgb) / .06);border-color:rgb(var(--color-gold-rgb) / .45)}#popups{z-index:var(--z-popup);pointer-events:none;position:fixed;inset:0;overflow:hidden}.popup{font-family:var(--font-display);letter-spacing:.1em;text-shadow:0 0 10px,0 0 18px #00000080;white-space:nowrap;will-change:transform, opacity;font-size:clamp(14px,1.8vw,22px);font-weight:900;position:absolute;transform:translate(-50%,-50%)}.popup.gold{color:var(--color-gold)}.popup.cyan{color:var(--color-cyan)}.popup.mag{color:var(--color-magenta)}.progress{background:rgb(var(--color-cyan-rgb) / .08);border:1px solid rgb(var(--color-cyan-rgb) / .35);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);width:100%;height:6px;position:relative;overflow:hidden}.progress__fill{background:linear-gradient(90deg, transparent, var(--color-cyan), transparent);transform-origin:0;transition:transform .2s linear;position:absolute;inset:0;transform:scaleX(0)}.progress--indeterminate .progress__fill{width:40%;animation:1.4s linear infinite progressIndet}@keyframes progressIndet{0%{left:-40%}to{left:100%}}.clipboard-feedback{z-index:var(--z-modal);font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-cyan);background:var(--color-panel);border:1px solid var(--color-panel-edge);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);text-shadow:0 0 8px var(--color-cyan);opacity:0;transition:opacity var(--motion-base) ease;pointer-events:none;padding:8px 16px;font-size:12px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.clipboard-feedback.show{opacity:1}#calibPanel{width:320px;z-index:var(--z-popup);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--color-cyan);box-shadow:-4px 0 24px color-mix(in srgb, var(--color-cyan) 30%, transparent);font-family:var(--font-mono);color:var(--color-text);transition:transform .3s var(--ease-spring-soft);pointer-events:none;background:#04060eeb;padding:16px 18px 18px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);container:calib/inline-size}#calibPanel.show{pointer-events:auto;transform:translate(0)}.calib-header{border-bottom:1px solid color-mix(in srgb, var(--color-cyan) 30%, transparent);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.calib-header h2{font-family:var(--font-display);letter-spacing:var(--letter-spacing-wide);color:var(--color-cyan);text-shadow:0 0 8px var(--color-cyan);margin:0;font-size:14px;font-weight:900}.calib-close{border:1px solid var(--color-magenta);color:var(--color-magenta);cursor:pointer;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);width:28px;height:28px;transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;font-size:14px}.calib-close:hover{background:color-mix(in srgb, var(--color-magenta) 20%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--color-magenta) 30%, transparent)}.calib-close:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.calib-body{flex-direction:column;gap:18px;display:flex}.calib-section h3{font-family:var(--font-display);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-dim);text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:700}.calib-row{transition:background-color .18s var(--ease-out), border-color .18s var(--ease-out);border-left:2px solid #0000;grid-template-columns:90px 1fr 48px;align-items:center;gap:8px;margin-bottom:6px;padding:2px 4px;display:grid}.calib-row.calib-rgb{grid-template-columns:90px 1fr 56px;align-items:center}.calib-row:has(input:focus){background:color-mix(in srgb, var(--color-cyan) 8%, transparent);border-left-color:var(--color-cyan)}.calib-rgb-channels{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.calib-rgb-ch{flex-direction:column;align-items:stretch;gap:1px;min-width:0;display:flex}.calib-rgb-lbl{color:var(--color-text-dim);letter-spacing:.1em;text-align:center;font-size:8px;font-weight:700}.calib-rgb-ch input[type=range]{width:100%;height:4px}.calib-rgb-val{color:var(--color-cyan);text-align:right;font-variant-numeric:tabular-nums;text-shadow:0 0 4px color-mix(in srgb, var(--color-cyan) 50%, transparent);font-size:10px}.calib-lbl{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.calib-val{color:var(--color-cyan);text-align:right;font-variant-numeric:tabular-nums;text-shadow:0 0 4px color-mix(in srgb, var(--color-cyan) 50%, transparent);font-size:11px}.calib-row input[type=range]{appearance:none;background:color-mix(in srgb, var(--color-cyan) 15%, transparent);border:1px solid color-mix(in srgb, var(--color-cyan) 40%, transparent);cursor:pointer;border-radius:0;outline:none;width:100%;height:4px;margin:0}.calib-row input[type=range]:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.calib-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-cyan);border:2px solid var(--color-bg);width:14px;height:14px;box-shadow:0 0 8px var(--color-cyan);cursor:pointer;border-radius:0}.calib-row input[type=range]::-moz-range-thumb{background:var(--color-cyan);border:2px solid var(--color-bg);width:14px;height:14px;box-shadow:0 0 8px var(--color-cyan);cursor:pointer;border-radius:0}.calib-reset{border:1px solid var(--color-magenta);width:100%;color:var(--color-magenta);font-family:var(--font-display);letter-spacing:var(--letter-spacing-wide);cursor:pointer;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;margin-top:16px;padding:10px;font-size:11px;font-weight:700}.calib-reset:hover{background:color-mix(in srgb, var(--color-magenta) 20%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--color-magenta) 30%, transparent)}.calib-reset:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}@media (max-width:600px){#calibPanel{width:100%}}@container calib (width<=480px){#calibPanel{padding:12px 14px 14px}.calib-row{grid-template-columns:76px 1fr 44px}}#levelSelectModal{z-index:var(--z-modal);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);background:#02040cc7;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#levelSelectModal.show{animation:lvlFadeIn .2s var(--ease-out);display:flex}@keyframes lvlFadeIn{0%{opacity:0}to{opacity:1}}#levelSelectModal .lvl-modal-panel{background:var(--color-panel);border:1px solid var(--color-cyan);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);width:min(640px,92vw);max-height:86vh;box-shadow:0 0 32px color-mix(in srgb, var(--color-cyan) 35%, transparent);color:var(--color-text);padding:22px 24px 20px;position:relative;overflow-y:auto;container:lvl/inline-size}#levelSelectModal .lvl-modal-header{border-bottom:1px solid color-mix(in srgb, var(--color-cyan) 35%, transparent);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}#levelSelectModal .lvl-modal-title{font-family:var(--font-display);letter-spacing:var(--letter-spacing-wide);color:var(--color-cyan);text-shadow:0 0 8px var(--color-cyan);margin:0;font-size:16px;font-weight:900}#levelSelectModal .lvl-modal-sub{color:var(--color-text-dim);letter-spacing:var(--letter-spacing-wide);margin-top:2px;font-size:10px}#levelSelectModal .lvl-modal-close{border:1px solid var(--color-magenta);color:var(--color-magenta);cursor:pointer;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);width:28px;height:28px;transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;font-size:14px}#levelSelectModal .lvl-modal-close:hover{background:color-mix(in srgb, var(--color-magenta) 20%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--color-magenta) 30%, transparent)}#levelSelectModal .lvl-modal-close:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}#levelSelectModal .lvl-modal-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}#levelSelectModal .level-cell{--cell-color:var(--color-cyan);background:color-mix(in srgb, var(--color-cyan) 4%, transparent);border:1px solid var(--cell-color);color:var(--color-text);font-family:var(--font-mono);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:background-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .12s var(--ease-spring-mid);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:88px;padding:14px 6px 12px;display:flex;position:relative}#levelSelectModal .level-cell:hover{background:color-mix(in srgb, var(--color-cyan) 12%, transparent);box-shadow:0 0 14px var(--cell-color), inset 0 0 12px color-mix(in srgb, var(--color-cyan) 15%, transparent);transform:translateY(-1px)}#levelSelectModal .level-cell:active{transform:translateY(1px)}#levelSelectModal .level-cell:focus-visible{outline:2px solid var(--cell-color);outline-offset:2px}#levelSelectModal .level-cell.current{background:color-mix(in srgb, var(--color-cyan) 18%, transparent);box-shadow:0 0 16px var(--cell-color), inset 0 0 14px color-mix(in srgb, var(--color-cyan) 22%, transparent);border-width:2px}#levelSelectModal .level-num{font-family:var(--font-display);color:var(--cell-color);text-shadow:0 0 8px var(--cell-color);font-size:22px;font-weight:900;line-height:1}#levelSelectModal .level-name{letter-spacing:.12em;color:var(--color-text-dim);text-align:center;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;line-height:1.1;overflow:hidden}#levelSelectModal .level-tag{letter-spacing:.12em;color:var(--color-gold);text-shadow:0 0 4px var(--color-gold);font-size:7px;font-weight:700;position:absolute;top:3px;right:4px}#levelSelectModal .lvl-modal-hint{color:var(--color-text-dim);letter-spacing:var(--letter-spacing-wide);text-align:center;opacity:.75;margin-top:14px;font-size:10px}#levelSelectModal .lvl-modal-hint kbd{background:color-mix(in srgb, var(--color-cyan) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-cyan) 40%, transparent);font-family:var(--font-mono);color:var(--color-cyan);margin:0 2px;padding:1px 5px;font-size:10px;display:inline-block}@container lvl (width<=520px){#levelSelectModal .lvl-modal-grid{grid-template-columns:repeat(2,1fr)}#levelSelectModal .level-cell{min-height:72px}#levelSelectModal .level-num{font-size:18px}}#crt{--crt-line:1px;--crt-gap:3px;--crt-line-rgb:0, 30, 60;--crt-line-alpha:.5;--crt-base-opacity:.9;--crt-flicker-delta:.04;z-index:var(--z-fx);pointer-events:none;background:repeating-linear-gradient(0deg, rgba(var(--crt-line-rgb), var(--crt-line-alpha)) 0 var(--crt-line), transparent var(--crt-line) calc(var(--crt-line) + var(--crt-gap)));opacity:var(--crt-base-opacity);will-change:opacity;animation:6s ease-in-out infinite crt-flicker;position:fixed;inset:0}@keyframes crt-flicker{0%,to{opacity:var(--crt-base-opacity)}50%{opacity:calc(var(--crt-base-opacity) - var(--crt-flicker-delta))}}@media (prefers-reduced-motion:reduce){#crt{animation:none}}#vignette{--vignette-rgb:0, 0, 5;--vignette-alpha:.62;z-index:39;pointer-events:none;background:radial-gradient(ellipse at center, transparent 52%, rgba(var(--vignette-rgb), var(--vignette-alpha)) 100%);position:fixed;inset:0}#fx-flash{z-index:42;pointer-events:none;background:var(--color-magenta);opacity:0;mix-blend-mode:screen;position:fixed;inset:0}#fx-flash.boom{animation:.5s ease-out both boom}@keyframes boom{0%{opacity:.6;background:#fff}25%{opacity:.35;background:var(--color-magenta)}60%{opacity:.18;background:var(--color-cyan)}to{opacity:0}}body.glitch canvas{animation:.55s steps(2,end) both glitchShake}@keyframes glitchShake{0%{transform:translate(0)}10%{filter:hue-rotate(60deg)saturate(2);transform:translate(-8px,4px)skew(2deg)}20%{transform:translate(7px,-3px)skew(-3deg)}35%{filter:hue-rotate(-50deg);transform:translate(-5px,-5px)}50%{filter:saturate(3);transform:translate(6px,3px)skew(1.5deg)}70%{transform:translate(-3px,2px)}to{filter:none;transform:translate(0)}}.lvl-pop{animation:lvlPop .55s var(--ease-spring-hard) both}@keyframes lvlPop{0%{transform:scale(1)}50%{color:var(--color-gold);text-shadow:0 0 14px var(--color-gold);transform:scale(1.5)}to{transform:scale(1)}}
