:root{--bg: #07070d;--ink: #eef2ff;--accent: #38f0ff;--accent2: #ff4ecd;--glow: 0 0 18px rgba(56, 240, 255, .55)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;overscroll-behavior:none}#app{position:fixed;inset:0;touch-action:none}#game{display:block;width:100%;height:100%}.hidden{display:none!important}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;background:radial-gradient(ellipse at center,#0a0c1c8c,#05050ce6);backdrop-filter:blur(3px);z-index:10;animation:fade .35s ease;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@keyframes fade{0%{opacity:0}to{opacity:1}}#loading{background:radial-gradient(ellipse at center,#0a0c1c59,#05050cd1),url(./game_banner-pXRx_woL.webp) center / cover no-repeat}.logo{font-size:clamp(44px,12.5vw,110px);font-weight:900;letter-spacing:4px;line-height:.95;margin:0 .18em;transform:skew(-8deg) rotate(-2deg);color:var(--accent2);text-shadow:1px 1px 0 #b3157e,2px 2px 0 #8a0f60,3px 3px 0 #5e0a42,4px 5px 6px rgba(0,0,0,.5),0 0 18px rgba(255,78,205,.9),0 0 42px rgba(255,78,205,.55),0 0 80px rgba(255,78,205,.3)}.logo span{display:block;color:var(--accent);text-shadow:1px 1px 0 #1aa3c4,2px 2px 0 #127a94,3px 3px 0 #0c5566,4px 5px 6px rgba(0,0,0,.5),0 0 18px rgba(56,240,255,.9),0 0 42px rgba(56,240,255,.55),0 0 80px rgba(56,240,255,.3)}.tag{opacity:.8;font-size:clamp(14px,3.5vw,20px);letter-spacing:1px}.hint{opacity:.5;font-size:13px;letter-spacing:1px}.best{opacity:.7;font-size:15px;letter-spacing:1px}.btn{margin-top:6px;padding:14px 44px;font-size:clamp(18px,4.5vw,24px);font-weight:800;letter-spacing:3px;color:#04121a;background:linear-gradient(180deg,#8af7ff,var(--accent));border:none;border-radius:999px;cursor:pointer;box-shadow:var(--glow);transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 28px #38f0ffcc}.btn:active{transform:translateY(0) scale(.98)}.btn-ghost{color:var(--accent);background:transparent;border:2px solid rgba(56,240,255,.55);box-shadow:none;padding:12px 38px;font-size:clamp(15px,4vw,20px)}.btn-ghost:hover{background:#38f0ff1f;box-shadow:0 0 20px #38f0ff59}.bar{width:70vw;max-width:320px;height:12px;margin-top:8px;background:#ffffff14;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 6px #00000080}.bar-fill{width:0%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 14px #38f0ffb3;transition:width .15s linear}.loadpct{font-size:14px;letter-spacing:2px;opacity:.75}.overlay.fade-out{animation:fadeout .4s ease forwards}@keyframes fadeout{to{opacity:0}}.go-title{font-size:clamp(34px,9vw,64px);font-weight:900;letter-spacing:4px;transform:skew(-8deg) rotate(-2deg);color:var(--accent2);text-shadow:1px 1px 0 #b3157e,2px 2px 0 #8a0f60,3px 3px 0 #5e0a42,4px 4px 5px rgba(0,0,0,.5),0 0 18px rgba(255,78,205,.9),0 0 42px rgba(255,78,205,.5)}.go-stats{display:flex;gap:44px;margin:4px 0}.stat{display:flex;flex-direction:column;gap:4px}.stat-num{font-size:clamp(30px,8vw,52px);font-weight:900;color:var(--accent)}.stat-label{font-size:12px;letter-spacing:3px;opacity:.6}.newbest{color:#ffe24a;font-weight:900;letter-spacing:3px;text-shadow:0 0 18px rgba(255,226,74,.7);animation:pop .5s ease}@keyframes pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}#hud{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding-top:calc(26px + env(safe-area-inset-top));pointer-events:none;z-index:5}#score{font-size:clamp(48px,12vw,92px);font-weight:900;color:var(--ink);text-shadow:0 0 18px rgba(255,255,255,.35);line-height:1}#combo{margin-top:4px;font-size:clamp(16px,4vw,24px);font-weight:800;letter-spacing:2px;color:#ffe24a;text-shadow:0 0 16px rgba(255,226,74,.7)}.combo-bump{animation:bump .25s ease}@keyframes bump{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.icon-btn{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:48px;height:48px;font-size:20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:var(--ink);cursor:pointer;z-index:20;transition:background .12s ease}.icon-btn:hover{background:#ffffff24}.icon-btn.muted{opacity:.45}
