:root{font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,-apple-system,sans-serif;color:#f5f7ff;background:#050713;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #080b1a;--panel: rgba(15, 20, 43, .88);--line: rgba(165, 190, 231, .14);--muted: #8c97b5;--mint: #85ffe2;--cyan: #65e9ff;--violet: #a888ff;--gold: #ffd66b;--red: #ff5576}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;background:radial-gradient(circle at 20% 15%,rgba(90,62,160,.17),transparent 38%),radial-gradient(circle at 80% 85%,rgba(35,170,170,.12),transparent 40%),#050713;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none}button,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{cursor:default}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#app{position:relative;width:100%;max-width:540px;height:100vh;height:100dvh;min-height:480px;margin:0 auto;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#090c1e,#090c1c 55%,#060917);box-shadow:0 0 100px #00000080}#game-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.edge-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,7,19,.36),transparent 20%,transparent 74%,rgba(5,7,19,.4))}.screen{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 22px max(16px,env(safe-area-inset-bottom))}.home-screen{background:linear-gradient(180deg,#080b1a2e,#080b1a05 48%,#080b1a8c)}.home-toolbar{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.network-chip{display:flex;align-items:center;gap:7px;color:#8390ad;font-size:9px;font-weight:800;letter-spacing:.13em}.network-chip i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:14px;color:#b8c4df;background:#0f142a9e;backdrop-filter:blur(12px);cursor:pointer;transition:transform .12s ease,background .12s ease}.icon-button:active{transform:scale(.93);background:#262f50cc}.icon-button svg{width:20px;height:20px}.home-content{width:100%;max-width:400px;margin:auto;padding:8px 0 4px;display:flex;flex-direction:column;align-items:center;overflow-y:auto;scrollbar-width:none}.home-content::-webkit-scrollbar{display:none}.brand-mark{position:relative;width:82px;height:82px;margin-bottom:12px;flex:0 0 auto}.brand-core{position:absolute;inset:19px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#f4fff8 0 8%,#8fffe1 32%,#31b8c1 80%);box-shadow:0 0 18px #79ffe1bf,0 0 50px #45dfd247;animation:core-float 3.2s ease-in-out infinite}.brand-core:before,.brand-core:after{content:"";position:absolute;width:27px;height:45px;left:9px;top:-22px;border-radius:50%;background:linear-gradient(180deg,#9cffe4cc,#49d7cc14);transform-origin:50% 44px;z-index:-1}.brand-core:after{transform:rotate(90deg)}.brand-core i{position:absolute;top:18px;width:4px;height:6px;border-radius:50%;background:#10334c}.brand-core i:first-child{left:11px}.brand-core i:last-child{right:11px}.brand-orbit{position:absolute;inset:5px;border:1px solid rgba(117,249,226,.2);border-radius:50%;transform:rotate(-20deg) scaleY(.55)}.brand-orbit:after{content:"";position:absolute;width:5px;height:5px;left:6px;top:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px var(--mint)}.orbit-two{inset:0;transform:rotate(60deg) scaleY(.72);border-color:#a888ff29}.orbit-two:after{left:auto;right:8px;top:9px;background:var(--violet);box-shadow:0 0 9px var(--violet)}@keyframes core-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.035)}}.eyebrow{margin:0 0 7px;color:#7f8dac;font-size:9px;line-height:1.3;font-weight:850;letter-spacing:.19em;text-align:center}h1{margin:0;font-size:clamp(48px,8dvh,66px);line-height:.96;font-weight:900;letter-spacing:.08em;text-indent:.08em;background:linear-gradient(180deg,#fff 20%,#c4fff1 72%,#72d9d1);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 5px 22px rgba(91,239,214,.13))}.game-subtitle{margin:8px 0 0;color:var(--violet);font-size:13px;font-weight:850;letter-spacing:.37em;text-indent:.37em}.intro{margin:15px 0 16px;color:#a3aec7;font-size:13px;line-height:1.55;text-align:center}.profile-row{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;color:#77849f}.profile-row .hello{color:#9ba8c3;font-size:11px}.profile-row .hello strong{color:#e4eaff;font-weight:650}.stats-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-card{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#19203eba,#0d1228a6);backdrop-filter:blur(12px)}.stat-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-size:16px}.stat-icon.cyan{color:var(--cyan);background:#65e9ff17}.stat-icon.gold{color:var(--gold);background:#ffd66b17}.stat-card div{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-card div span{color:#7e8aa6;font-size:8px;font-weight:800;letter-spacing:.11em;white-space:nowrap}.stat-card strong{font-size:19px;line-height:1.15;font-variant-numeric:tabular-nums}.primary-button{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:56px;padding:0 22px;border:0;border-radius:18px;color:#092d32;background:linear-gradient(135deg,#b1ffe7,#69eddb 58%,#54cfd0);box-shadow:0 10px 34px #45dfcf2e,inset 0 1px #fff9;font-size:14px;font-weight:900;letter-spacing:.13em;cursor:pointer;transition:transform .12s ease,filter .12s ease}.primary-button:before{content:"";position:absolute;inset:1px;border-radius:17px;border:1px solid rgba(255,255,255,.25);pointer-events:none}.primary-button svg{width:20px;height:20px;stroke-width:2.4}.primary-button:active{transform:translateY(2px) scale(.985);filter:brightness(.94)}.run-length{margin:9px 0 14px;color:#6f7c98;font-size:10px}.run-length b{padding:0 5px;color:#46536f}.menu-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:14px;color:#acb8d2;background:#0f142aa6;font-size:9px;font-weight:800;letter-spacing:.08em;cursor:pointer}.secondary-button:active{background:#232c4cbf;transform:scale(.98)}.secondary-button svg{width:16px;height:16px;color:#8b9bbb}.quick-guide{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 15px;margin-top:17px;color:#6f7d98;font-size:9px}.quick-guide span{display:flex;align-items:center;gap:5px;white-space:nowrap}.guide-dot{width:5px;height:5px;border-radius:50%}.guide-dot.violet{background:var(--violet);box-shadow:0 0 7px var(--violet)}.guide-dot.red{background:var(--red)}.guide-dot.mint{background:var(--mint)}.home-footer{flex:0 0 auto;padding-top:7px;color:#45516b;font-size:8px;font-weight:800;letter-spacing:.15em;text-align:center}.hud{position:absolute;z-index:6;inset:0;pointer-events:none;padding:max(15px,env(safe-area-inset-top)) 17px max(15px,env(safe-area-inset-bottom))}.hud-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start}.hud-score{display:flex;flex-direction:column;gap:1px}.micro-label{color:#7f8ba8;font-size:8px;font-weight:850;letter-spacing:.16em}.hud-score strong{font-size:27px;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.hud-center{display:flex;flex-direction:column;align-items:center;gap:4px}.wave-pill{padding:5px 10px;border:1px solid var(--line);border-radius:20px;color:#b1bdd7;background:#0c1126a8;font-size:8px;font-weight:850;letter-spacing:.12em}.timer{color:#d8e1f5;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.hud-button{justify-self:end;pointer-events:auto;width:40px;height:40px}.hud-second-row{display:flex;justify-content:space-between;align-items:start;margin-top:9px}.lives{display:flex;gap:5px}.life{width:15px;height:15px;color:var(--mint);filter:drop-shadow(0 0 5px rgba(133,255,226,.45))}.life.lost{color:#343c56;filter:none}.life svg{width:15px;height:15px;fill:currentColor;stroke:none}.boss-meter{width:47%;text-align:right}.boss-meter>span{color:#d292fa;font-size:7px;font-weight:900;letter-spacing:.1em}.meter-track{height:5px;margin-top:5px;overflow:hidden;border-radius:4px;background:#783d9738}.meter-track i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8a48c4,#e283ff);box-shadow:0 0 10px #c96bff;transition:width .12s linear}.combo-panel{position:absolute;left:50%;bottom:max(23px,env(safe-area-inset-bottom));width:min(66%,280px);transform:translate(-50%);text-align:center}.combo-copy{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:7px}.combo-copy span{color:#a3b0c9;font-size:9px;font-weight:850;letter-spacing:.13em}.combo-copy strong{color:var(--mint);font-size:20px;line-height:1}.combo-panel.hot .combo-copy strong{color:var(--gold);text-shadow:0 0 14px rgba(255,214,107,.45)}.charge-track{height:7px;padding:2px;border:1px solid rgba(127,240,222,.16);border-radius:10px;background:#0b1224b3}.charge-track i{display:block;width:0;height:100%;border-radius:7px;background:linear-gradient(90deg,#3bbbc4,#8affe1 70%,#fff5a8);box-shadow:0 0 12px #69eddb73;transition:width 90ms linear}.charge-caption{display:block;margin-top:6px;color:#54627e;font-size:7px;font-weight:900;letter-spacing:.2em}.tutorial-screen,.dim-screen{align-items:center;justify-content:center;background:#050713ab;backdrop-filter:blur(9px)}.modal-card{width:100%;max-width:390px;padding:25px 22px;border:1px solid rgba(157,190,223,.17);border-radius:26px;background:linear-gradient(145deg,#181e3bf7,#0b1025f7);box-shadow:0 24px 70px #0000006b}.modal-card h2{margin:0;font-size:27px;line-height:1.15;letter-spacing:-.035em;text-align:center}.modal-card>.eyebrow{color:var(--mint)}.tutorial-list{display:flex;flex-direction:column;gap:20px;margin:27px 0}.tutorial-item{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center}.tutorial-item strong{display:block;margin-bottom:4px;color:#edf1ff;font-size:13px}.tutorial-item p{margin:0;color:#8f9bb7;font-size:11px;line-height:1.45}.tutorial-visual{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;font-size:25px;font-weight:700}.tap-visual{background:#a888ff1c}.tap-visual i{width:24px;height:24px;border-radius:50%;background:var(--violet);box-shadow:0 0 14px #a888ff80}.tap-visual b{position:absolute;right:2px;bottom:1px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#152039;background:var(--mint);font-size:10px}.bomb-visual{color:var(--red);background:#ff55761a}.nova-visual{color:var(--gold);background:#ffd66b1a;text-shadow:0 0 15px var(--gold)}.keyboard-hint{margin:13px 0 0;color:#53617e;font-size:9px;text-align:center}.compact-card{max-width:340px;text-align:center}.compact-card>p:not(.eyebrow){margin:12px 0 24px;color:var(--muted);font-size:13px}.text-button{padding:9px 12px;border:0;color:#96a5c3;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.text-button:active{color:var(--mint)}.compact-card>.text-button{margin-top:8px}.result-card{position:relative;max-width:370px;padding-top:35px;text-align:center}.result-emblem{position:absolute;left:50%;top:-28px;display:grid;place-items:center;width:56px;height:56px;transform:translate(-50%);border:5px solid #10162f;border-radius:19px;color:#103c3b;background:linear-gradient(135deg,#e5ffad,#74f6dc);box-shadow:0 0 30px #74f6dc52;font-size:27px}.result-card.lost .result-emblem{color:#471226;background:linear-gradient(135deg,#ffb0c1,#ff5576);box-shadow:0 0 30px #ff557633}.result-card.lost .eyebrow{color:var(--red)}.new-record{display:inline-block;margin:10px 0 -2px;padding:4px 8px;border-radius:6px;color:#49380b;background:var(--gold);font-size:8px;font-weight:950;letter-spacing:.12em}.result-score{display:flex;flex-direction:column;margin:17px 0}.result-score span{color:#75839f;font-size:8px;font-weight:850;letter-spacing:.16em}.result-score strong{margin-top:2px;font-size:43px;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats div{display:flex;flex-direction:column;gap:4px}.result-stats div+div{border-left:1px solid var(--line)}.result-stats span{color:#687793;font-size:7px;font-weight:850;letter-spacing:.08em}.result-stats strong{font-size:18px}.shards-earned{display:flex;align-items:center;justify-content:center;gap:7px;margin:15px 0}.shards-earned>span{color:var(--gold)}.shards-earned strong{color:var(--gold);font-size:18px}.shards-earned small{color:#7e8ca8;font-size:10px}.rank-label{margin:-5px 0 12px;color:var(--mint);font-size:10px}.result-actions{display:flex;justify-content:center;gap:20px;margin-top:5px}.wave-banner{position:absolute;z-index:8;left:50%;top:31%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);pointer-events:none;animation:banner-in 1.75s ease both}.wave-banner span{color:var(--mint);font-size:9px;font-weight:900;letter-spacing:.25em}.wave-banner strong{margin-top:6px;font-size:34px;font-weight:900;letter-spacing:.04em;white-space:nowrap;text-shadow:0 4px 25px #080b1a}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-42%) scale(.9)}18%,68%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-58%) scale(1.03)}}.toast{position:absolute;z-index:30;left:50%;bottom:max(28px,env(safe-area-inset-bottom));max-width:88%;padding:11px 16px;transform:translate(-50%);border:1px solid var(--line);border-radius:13px;color:#dce5f7;background:#141b34f2;box-shadow:0 8px 30px #0000004d;font-size:11px;text-align:center}.game-dialog{width:calc(100% - 30px);max-width:430px;max-height:min(82dvh,680px);margin:auto;padding:22px;overflow-y:auto;border:1px solid rgba(157,190,223,.18);border-radius:25px;color:#f5f7ff;background:linear-gradient(145deg,#181e3b,#0b1025);box-shadow:0 24px 70px #00000080;user-select:none}.game-dialog::backdrop{background:#040611c2;backdrop-filter:blur(8px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header .eyebrow{margin-bottom:4px;color:var(--mint);text-align:left}.dialog-header h2{margin:0;font-size:25px;letter-spacing:-.03em}.dialog-close{width:37px;height:37px;font-size:24px;font-weight:300}.dialog-intro{margin:12px 0 17px;color:#8694b0;font-size:11px;line-height:1.5}.wallet-line{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid rgba(255,214,107,.12);border-radius:13px;background:#ffd66b0d}.wallet-line>span{color:#92896f;font-size:8px;font-weight:850;letter-spacing:.12em}.wallet-line strong{color:var(--gold);font-size:17px}.wallet-line i{font-style:normal;font-size:13px}.upgrade-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.upgrade-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:#181f3ba6}.upgrade-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--mint);background:#85ffe212;font-size:21px}.upgrade-copy strong{display:block;font-size:13px}.upgrade-copy p{margin:3px 0 6px;color:#8391ad;font-size:9px}.level-pips{display:flex;gap:3px}.level-pips i{width:12px;height:3px;border-radius:3px;background:#333d59}.level-pips i.active{background:var(--mint)}.upgrade-buy{min-width:66px;padding:9px 8px;border:1px solid rgba(133,255,226,.2);border-radius:11px;color:var(--mint);background:#85ffe212;font-size:10px;font-weight:850;cursor:pointer}.upgrade-buy:active:not(:disabled){transform:scale(.96)}.upgrade-buy:disabled{border-color:var(--line);color:#596680;background:#323b532e}.leaderboard-list{display:flex;flex-direction:column;gap:7px}.leader-row{display:grid;grid-template-columns:29px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:13px;background:#1c244299}.leader-row.me{border:1px solid rgba(133,255,226,.22)}.leader-position{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:#8695b2;background:#7184a71a;font-size:11px;font-weight:850}.leader-row:nth-child(1) .leader-position{color:#3f310e;background:var(--gold)}.leader-row:nth-child(2) .leader-position{color:#263344;background:#bfd0df}.leader-row:nth-child(3) .leader-position{color:#3c271b;background:#d99a75}.leader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d5def0;font-size:12px;font-weight:650}.leader-name small{display:block;margin-top:2px;color:#6d7c98;font-size:8px;font-weight:500}.leader-score{color:var(--mint);font-size:15px;font-weight:850;font-variant-numeric:tabular-nums}.empty-state{padding:25px 15px;color:#7c8aa5;font-size:12px;line-height:1.6;text-align:center}.empty-state span{display:block;margin-bottom:8px;color:var(--violet);font-size:32px}@media(max-height:700px){.screen{padding-left:18px;padding-right:18px}.brand-mark{width:62px;height:62px;margin-bottom:8px;transform:scale(.82)}h1{font-size:45px}.game-subtitle{font-size:11px;margin-top:5px}.intro{margin:10px 0 11px;font-size:11px}.profile-row{margin-bottom:7px}.stats-grid{margin-bottom:10px}.stat-card{padding:9px 12px}.primary-button{min-height:50px}.run-length{margin:7px 0 9px}.quick-guide{margin-top:11px}.home-footer{display:none}.tutorial-card{padding-top:20px;padding-bottom:18px}.tutorial-list{gap:13px;margin:18px 0}.result-card{padding-top:29px}.result-score{margin:11px 0}.result-score strong{font-size:36px}.shards-earned{margin:11px 0}}@media(min-width:700px){#app{border-left:1px solid rgba(143,173,218,.08);border-right:1px solid rgba(143,173,218,.08)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
