:root{--bg:#07010f;--bg-2:#12051f;--cyan:#00f0ff;--magenta:#ff2bd6;--lime:#c6ff00;--pink:#ff4d8d;--purple:#7c5cff;--text:#f6f2ff;--muted:#a898c4;--danger:#ff3b6b;--hud:#07010f6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html,body,#root{overscroll-behavior:none;background:var(--bg);width:100%;height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font-family:Rajdhani,system-ui,sans-serif;overflow:hidden}body{min-height:100svh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.app{width:100%;height:100svh;position:relative;overflow:hidden}.aurora,.grid-floor{pointer-events:none;position:absolute;inset:0}.aurora{background:radial-gradient(ellipse 50% 40% at 20% 15%, #00f0ff38, transparent 55%), radial-gradient(ellipse 45% 38% at 82% 20%, #ff2bd633, transparent 58%), radial-gradient(ellipse 40% 30% at 50% 90%, #7c5cff29, transparent 60%), var(--bg)}.grid-floor{transform-origin:bottom;background-image:linear-gradient(#00f0ff14 1px,#0000 1px),linear-gradient(90deg,#ff2bd612 1px,#0000 1px);background-size:56px 56px;animation:16s linear infinite grid-drift;transform:perspective(500px)rotateX(58deg)translateY(28%)scale(1.6);-webkit-mask-image:linear-gradient(#0000 28%,#0000008c);mask-image:linear-gradient(#0000 28%,#0000008c)}@keyframes grid-drift{0%{background-position:0 0}to{background-position:0 56px}}.start{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:6vh 6vw;display:flex;position:relative}.wordmark{letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 0 12px var(--cyan), 0 0 28px var(--magenta), 0 0 54px #00f0ff8c;margin:0;font-family:Orbitron,sans-serif;font-size:clamp(2.6rem,12vw,6.4rem);font-weight:800;line-height:.92;animation:4.8s infinite flicker}.wordmark span{display:block}.tagline{color:var(--muted);letter-spacing:.34em;text-transform:uppercase;margin:1rem 0 0;font-size:.92rem}.best{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;margin:.45rem 0 0;font-size:.95rem}.music-open{flex-direction:column;align-items:center;gap:.12rem;padding-top:.65rem;padding-bottom:.65rem;display:flex}.music-open-label{color:var(--muted);letter-spacing:.28em;font-size:.62rem;line-height:1}.music-open-name{letter-spacing:.14em}.music-tracks{flex-direction:column;align-items:stretch;gap:.55rem;width:100%;display:flex}.music-track{letter-spacing:.12em;opacity:.45;width:100%;min-width:0;box-shadow:none;background:#00f0ff0a;padding:.7rem 1.1rem;font-size:.78rem}.music-track.active{opacity:1;background:#00f0ff14;box-shadow:0 0 18px #00f0ff47,inset 0 0 18px #00f0ff14}.music-dialog{z-index:5;touch-action:manipulation;background:#07010ff0;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:absolute;inset:0}.music-dialog-panel{overscroll-behavior:contain;flex-direction:column;align-items:center;gap:.75rem;width:min(20rem,100%);max-height:100%;display:flex;overflow-y:auto}.music-dialog h2{letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 18px var(--cyan);margin:0;font-family:Orbitron,sans-serif;font-size:clamp(1.3rem,5vw,2rem)}.music-dialog .neon-btn{width:100%;min-width:0}.actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.4rem;display:flex}.neon-btn{border:1px solid var(--cyan);letter-spacing:.18em;text-transform:uppercase;background:#00f0ff14;border-radius:999px;min-width:11.5rem;padding:.85rem 1.4rem;font-weight:700;transition:transform .15s,background .15s,opacity .15s;box-shadow:0 0 18px #00f0ff47,inset 0 0 18px #00f0ff14}.neon-btn.magenta{border-color:var(--magenta);background:#ff2bd614;box-shadow:0 0 18px #ff2bd64d,inset 0 0 18px #ff2bd614}.neon-btn:active{transform:scale(.97)}.neon-btn:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}.play{width:100%;height:100%;position:relative}.play.celebrate{animation:.58s cubic-bezier(.36,.07,.19,.97) both screen-shake}.play.hit-shake{animation:.18s cubic-bezier(.36,.07,.19,.97) both hit-shake}.play canvas{display:block}.hud{z-index:2;padding:calc(env(safe-area-inset-top,0px) + .7rem) 1.1rem .4rem;pointer-events:none;grid-template-columns:auto auto 1fr auto;align-items:center;gap:1rem;display:grid;position:absolute;top:0;left:0;right:0}.hud-btn{pointer-events:auto;background:var(--hud);border:1px solid #00f0ff47;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;transition:transform .15s,opacity .15s;display:grid;box-shadow:0 0 12px #00f0ff29}.hud-btn:active{transform:scale(.94)}.hud-btn:disabled{opacity:.35;cursor:default}.pause-icon{border-left:.22rem solid var(--cyan);border-right:.22rem solid var(--cyan);width:.7rem;height:.82rem;display:block;box-shadow:0 0 8px #00f0ff80}.hud-chip,.lives{letter-spacing:.12em;text-transform:uppercase;background:var(--hud);white-space:nowrap;border:1px solid #00f0ff47;border-radius:999px;padding:.4rem .7rem;font-family:Orbitron,sans-serif;font-size:.82rem}.lives{border-color:#ff2bd659;gap:.35rem;display:flex}.heart{background:var(--magenta);width:.78rem;height:.78rem;box-shadow:0 0 10px var(--magenta);border-radius:50%}.heart.empty{background:0 0;box-shadow:inset 0 0 0 1px #ff2bd673}.timer{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;height:.55rem;overflow:hidden}.timer>span{transform-origin:0;background:linear-gradient(90deg, var(--cyan), var(--lime), var(--magenta));width:100%;height:100%;display:block;box-shadow:0 0 16px #00f0ffa6}.overlay,.rotate-gate,.flash{z-index:4;position:absolute;inset:0}.overlay,.rotate-gate{text-align:center;background:#07010fd6;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex}.overlay h2,.rotate-gate h2{letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 18px var(--cyan);margin:0;font-family:Orbitron,sans-serif;font-size:clamp(1.8rem,6vw,3rem)}.overlay.win h2,.overlay.highscore h2{text-shadow:0 0 18px var(--lime), 0 0 36px var(--cyan);color:#f7ffe8}.overlay.fail h2,.overlay.gameover h2{text-shadow:0 0 18px var(--danger);color:#ffd0dc}.overlay.win>:not(.fireworks),.overlay.highscore>:not(.fireworks){z-index:1;position:relative}.overlay.highscore{touch-action:pan-y manipulation;-webkit-user-select:text;user-select:text;gap:.45rem;padding:.7rem 1rem;overflow-y:auto}.overlay.highscore h2{font-size:clamp(1rem,3.2vw,1.6rem)}.overlay.highscore p{margin:.2rem 0 .4rem}.score-form{flex-direction:column;align-items:center;gap:.7rem;width:min(22rem,92vw);display:flex}.score-name-label{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.score-name-input{border:1px solid var(--lime);width:100%;color:var(--lime);letter-spacing:.12em;text-align:center;text-transform:uppercase;caret-color:var(--lime);touch-action:manipulation;-webkit-user-select:text;user-select:text;background:#07010fb8;border-radius:0;outline:none;padding:.7rem .85rem;font-family:"Press Start 2P",Orbitron,monospace;font-size:16px;box-shadow:0 0 18px #c6ff0038,inset 0 0 18px #c6ff000f}.score-name-input:focus{box-shadow:0 0 24px #c6ff0066,inset 0 0 18px #c6ff001a}.scoreboard{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:4vh 4vw;display:flex;position:relative}.score-title{letter-spacing:.18em;text-transform:uppercase;color:#fff;text-shadow:0 0 10px var(--lime), 0 0 24px var(--cyan);margin:0;font-family:"Press Start 2P",Orbitron,sans-serif;font-size:clamp(.72rem,2.4vw,1.15rem)}.score-empty{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0;font-family:"Press Start 2P",Orbitron,sans-serif;font-size:.58rem;line-height:1.8}.score-cabinet{border:2px solid var(--cyan);background:#07010fc7;width:min(46rem,96vw);padding:.65rem .7rem .5rem;position:relative;overflow:hidden;box-shadow:0 0 22px #00f0ff38,inset 0 0 28px #ff2bd614}.score-scanlines{pointer-events:none;opacity:.45;background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px);position:absolute;inset:0}.score-table{z-index:1;border-collapse:collapse;letter-spacing:.04em;text-transform:uppercase;width:100%;font-family:"Press Start 2P",Orbitron,monospace;font-size:clamp(.38rem,1.15vw,.58rem);line-height:1.7;position:relative}.score-table th,.score-table td{text-align:left;white-space:nowrap;padding:.18rem .35rem}.score-table th{color:var(--magenta);border-bottom:1px solid #ff2bd673;padding-bottom:.35rem}.score-table td:first-child,.score-table th:first-child{width:12%}.score-table td:nth-child(2),.score-table th:nth-child(2){width:34%}.score-table td:nth-child(3),.score-table th:nth-child(3){width:16%}.score-table td:nth-child(4),.score-table th:nth-child(4){text-align:right;width:38%}.score-table tbody tr:nth-child(2n){background:#00f0ff0a}.score-table tr.vacant td{color:#6d5d88}.overlay.highscore .neon-btn{margin-top:.45rem}.overlay.highscore .score-cabinet{width:min(44rem,94vw)}.score-table tr.gold td{color:var(--lime);text-shadow:0 0 10px #c6ff00a6}.score-table tr.silver td{color:var(--cyan);text-shadow:0 0 10px #00f0ff8c}.score-table tr.bronze td{color:var(--magenta);text-shadow:0 0 10px #ff2bd680}.score-table tr.new td{animation:.7s steps(2,end) infinite score-blink}@keyframes score-blink{50%{opacity:.35}}.fireworks{pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.firework{width:0;height:0;position:absolute}.firework:before{content:"";width:18px;height:18px;transform:translate(-50%, -50%) scale(var(--scale,1));animation:.5s ease-out forwards burst-core;animation-delay:var(--delay,0s);background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 22px 10px #ffffffd9,0 0 48px 18px #00f0ff73,0 0 70px 28px #c6ff0033}.spark{background:linear-gradient(to top, transparent, var(--c) 45%, #fff);width:5px;height:18px;box-shadow:0 0 10px var(--c), 0 0 22px var(--c), 0 0 34px var(--c);animation:.95s ease-out forwards spark-fly;animation-delay:var(--delay,0s);border-radius:999px;margin:-9px 0 0 -2.5px;position:absolute}@keyframes burst-core{0%{opacity:1;transform:translate(-50%, -50%) scale(calc(var(--scale,1) * .4))}to{opacity:0;transform:translate(-50%, -50%) scale(calc(var(--scale,1) * 2.4))}}@keyframes spark-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--dist) * -1 * var(--scale,1))) scale(.2)}}@keyframes hit-shake{0%{transform:translate(0)rotate(0)}20%{transform:translate(-8px,4px)rotate(-.4deg)}40%{transform:translate(7px,-3px)rotate(.35deg)}62%{transform:translate(-4px,2px)rotate(-.18deg)}80%{transform:translate(2px,-1px)}to{transform:translate(0)rotate(0)}}@keyframes screen-shake{0%{transform:translate(0)}8%{transform:translate(-10px,4px)rotate(-.45deg)}16%{transform:translate(9px,-5px)rotate(.4deg)}24%{transform:translate(-7px,-3px)rotate(-.28deg)}32%{transform:translate(8px,5px)rotate(.32deg)}42%{transform:translate(-5px,2px)rotate(-.16deg)}54%{transform:translate(4px,-2px)}68%{transform:translate(-2px,1px)}82%{transform:translate(1px,-1px)}to{transform:translate(0)}}.overlay p,.rotate-gate p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:.7rem 0 1.4rem}.overlay-actions{flex-direction:column;align-items:center;gap:.85rem;margin-top:1.6rem;display:flex}.overlay.win .overlay-actions,.overlay.highscore .overlay-actions{margin-top:0}.flash{pointer-events:none;z-index:3;animation:.45s forwards flash-out}.flash.win{background:#00f0ff38}.flash.fail{background:#ff3b6b47}.phone{border:2px solid var(--cyan);border-radius:10px;width:52px;height:86px;margin-bottom:1.1rem;animation:1.6s ease-in-out infinite rotate-hint;box-shadow:0 0 16px #00f0ff73}@keyframes flicker{0%,19%,21%,to{opacity:1;filter:brightness()}20%{opacity:.72;filter:brightness(1.35)}62%{opacity:.9}}@keyframes flash-out{0%{opacity:1}to{opacity:0}}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(90deg)}to{transform:rotate(0)}}@media (width>=900px){.wordmark{letter-spacing:.14em}}@media (orientation:portrait),(width<=700px){.app.is-start,.app.is-scoreboard{touch-action:pan-y}.start,.scoreboard{touch-action:pan-y;overscroll-behavior:contain;padding:max(.9rem, env(safe-area-inset-top,0px)) 1.1rem max(1rem, env(safe-area-inset-bottom,0px));justify-content:safe center;overflow:hidden auto}.wordmark{letter-spacing:.06em;font-size:clamp(2rem,14vw,3.2rem)}.tagline{letter-spacing:.1em;max-width:18rem;margin-top:.55rem;font-size:.7rem;line-height:1.4}.best{margin-top:.3rem;font-size:.8rem}.actions{flex-direction:column;align-items:stretch;gap:.6rem;width:min(17.5rem,100%);margin-top:1.1rem}.start .neon-btn,.scoreboard .neon-btn,.actions .neon-btn{width:100%;min-width:0}.scoreboard{gap:.75rem}.score-cabinet{width:100%;padding:.5rem .35rem .4rem}.score-table{font-size:clamp(.34rem,2.5vw,.5rem)}.score-table th,.score-table td{padding:.16rem .2rem}}@media (height<=520px){.wordmark{font-size:clamp(1.7rem,10vh,2.6rem)}.tagline{letter-spacing:.1em;margin-top:.4rem}.actions{gap:.5rem;margin-top:.75rem}.neon-btn{padding:.65rem 1.1rem}}
