:root{--sat: env(safe-area-inset-top);--ink: #1a0f2e;--panel: rgba(26, 15, 46, .72);--panel-strong: rgba(26, 15, 46, .88);--line: rgba(255, 255, 255, .14);--text: #fff7f2;--muted: rgba(255, 247, 242, .68);--accent: #ff5c8a;--accent-2: #ffb347;--good: #5ef2a5;--danger: #ff4d5e;--gold: #ffd166;--common: #9fb3c8;--rare: #4cc9f0;--epic: #c77dff;--radius: 22px;--spring: cubic-bezier(.22, 1.4, .36, 1);--display: "Outfit", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--danger-level: 0;--heat: 0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#1a0f2e;color:var(--text);font-family:var(--body);user-select:none;-webkit-user-select:none;touch-action:manipulation;overscroll-behavior:none}[hidden]{display:none!important}#game{position:fixed;inset:0;display:block;touch-action:none}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}#vignette,#heat,#flash-overlay{position:fixed;inset:0;pointer-events:none}#vignette{opacity:calc(var(--danger-level) * .9);box-shadow:inset 0 0 160px #ff283ce6;transition:opacity .25s}body.danger #vignette{animation:heartbeat .9s ease-in-out infinite}@keyframes heartbeat{0%,to{filter:brightness(1)}14%{filter:brightness(1.7)}28%{filter:brightness(1)}42%{filter:brightness(1.45)}}#heat{opacity:var(--heat);box-shadow:inset 0 0 calc(60px + var(--heat) * 90px) #ff9628bf;transition:opacity .4s}#hud{position:fixed;inset:0;pointer-events:none;padding:max(12px,env(safe-area-inset-top)) 14px 14px;font-family:var(--display)}.hud-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start}.lives{display:flex;gap:4px;font-size:22px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.lives .heart.lost{filter:grayscale(1);opacity:.35;transform:scale(.8);transition:all .4s var(--spring)}.lives .shield{font-size:18px;margin-left:4px}.height{text-align:center;line-height:.9;text-shadow:0 4px 0 rgba(0,0,0,.18),0 8px 24px rgba(0,0,0,.3)}.height b{display:block;font-size:clamp(56px,16vw,84px);font-weight:900}.height span{font-size:13px;letter-spacing:3px;text-transform:uppercase;opacity:.85}.height b.pop{animation:pop .35s var(--spring)}@keyframes pop{0%{transform:scale(1.35)}to{transform:scale(1)}}.icon-btn{justify-self:end;pointer-events:auto;width:44px;height:44px;border-radius:14px;background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);font-size:18px}.hud-row{display:flex;justify-content:center;gap:6px;margin-top:6px}.chip{background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:800;font-size:15px;white-space:nowrap}.chip.combo{transition:transform .2s var(--spring),background .3s;opacity:.55}.chip.combo.on{opacity:1;background:linear-gradient(135deg,#ff9f1c,#ff3d68);border-color:transparent;box-shadow:0 0 calc(10px + var(--heat) * 30px) #ff783ccc}.hud-next{position:absolute;left:14px;top:calc(max(12px,env(safe-area-inset-top)) + 128px);display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px 3px;border-radius:14px;background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.hud-next canvas{width:52px;height:32px}#wind{position:absolute;right:14px;top:calc(max(12px,env(safe-area-inset-top)) + 134px);background:#2878dc99;animation:sway 1.4s ease-in-out infinite}@keyframes sway{50%{transform:translate(4px)}}#upgrades-owned{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:90vw}#upgrades-owned span{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px 6px;font-size:14px}#upgrades-owned small{font-size:10px;margin-left:1px;opacity:.8}.hint{position:absolute;left:50%;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 44px);transform:translate(-50%);font-family:var(--body);font-weight:700;font-size:14px;padding:8px 16px;border-radius:999px;background:var(--panel);animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}#banners{position:fixed;left:0;right:0;top:30%;pointer-events:none;text-align:center;z-index:5}.banner{animation:banner 1.7s var(--spring) forwards;padding:0 16px}.banner b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(34px,11vw,58px);line-height:1;background:linear-gradient(180deg,#fff 10%,var(--banner, var(--accent-2)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.3)) drop-shadow(0 10px 24px rgba(0,0,0,.35))}.banner span{display:block;margin-top:8px;font-weight:700;font-size:15px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.banner.zone b{--banner: #9ad8ff;font-size:clamp(30px,9vw,48px)}.banner.danger b{--banner: var(--danger)}.banner.record b{--banner: var(--gold)}.banner.streak b{--banner: #ff9f1c}.banner.good b{--banner: var(--good)}@keyframes banner{0%{opacity:0;transform:scale(.5) rotate(-4deg)}14%{opacity:1;transform:scale(1.08) rotate(1deg)}24%{transform:scale(1) rotate(0)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-30px) scale(.96)}}.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));z-index:10;overflow-y:auto}.screen.dim{background:#0a051473;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.panel{width:min(420px,100%);margin:auto;background:var(--panel-strong);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid var(--line);border-radius:28px;padding:24px 20px;box-shadow:0 30px 80px #00000073;animation:rise .45s var(--spring)}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}h1,h2,h3{font-family:var(--display);margin:0}.logo{text-align:center;margin-bottom:6px}.logo .mark{display:inline-block;width:64px;height:64px;animation:bob 2.6s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(255,92,138,.5))}@keyframes bob{50%{transform:translateY(-6px) rotate(-4deg)}}.logo h1{font-size:clamp(36px,10vw,46px);font-weight:900;line-height:1;background:linear-gradient(120deg,#fff 20%,var(--accent-2) 55%,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tagline{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 18px}.field{display:flex;align-items:center;gap:10px;background:#ffffff14;border:1px solid var(--line);border-radius:16px;padding:4px 6px 4px 14px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted);white-space:nowrap}.field input{flex:1;min-width:0;background:transparent;border:0;color:var(--text);font:700 16px var(--body);padding:10px 4px;outline:none}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.stat{background:#ffffff0f;border:1px solid var(--line);border-radius:16px;padding:10px 12px}.stat small{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.stat b{font-family:var(--display);font-size:22px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 18px;border-radius:18px;font-family:var(--display);font-weight:800;font-size:18px;background:#ffffff1a;border:1px solid var(--line);transition:transform .15s var(--spring),filter .15s}.btn:active{transform:scale(.96)}.btn:hover{filter:brightness(1.12)}.btn.primary{background:linear-gradient(135deg,var(--accent),#ff7a59 55%,var(--accent-2));border:0;font-size:22px;padding:18px;box-shadow:0 10px 30px #ff5c8a73,inset 0 1px #fff6}.btn.daily{background:linear-gradient(135deg,#4cc9f04d,#c77dff4d)}.btn small{font-family:var(--body);font-weight:600;font-size:12px;opacity:.8}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:10px}.row>*{flex:1}.toggles{display:flex;justify-content:center;gap:8px;margin-top:14px}.toggle{padding:8px 14px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);font-size:13px;font-weight:700}.toggle[aria-pressed=false]{opacity:.45;text-decoration:line-through}.boosters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.boosters .label{width:100%;text-align:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.boosters .toggle[aria-pressed=false]{opacity:.8;text-decoration:none}.boosters .toggle[aria-pressed=true]{background:#5ef2a540;border-color:var(--good)}.footer-links{text-align:center;margin-top:14px;font-size:12px;color:var(--muted)}.footer-links a{color:inherit}.upgrade-title{text-align:center;margin-bottom:18px}.upgrade-title small{display:block;font-family:var(--body);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.upgrade-title h2{font-size:30px}.cards{display:grid;gap:12px;width:min(420px,100%)}.card{position:relative;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:14px;text-align:left;padding:16px;border-radius:22px;background:var(--panel-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:2px solid var(--rarity, var(--common));box-shadow:0 0 0 0 var(--rarity),0 16px 40px #00000059;animation:deal .5s var(--spring) both;transition:transform .2s var(--spring),box-shadow .2s}.card:nth-child(2){animation-delay:.08s}.card:nth-child(3){animation-delay:.16s}.card:hover,.card:focus-visible{transform:translateY(-3px) scale(1.02);box-shadow:0 0 24px -2px var(--rarity),0 16px 40px #00000059}.card.common{--rarity: var(--common)}.card.rare{--rarity: var(--rare)}.card.epic{--rarity: var(--epic)}.card.epic:after{content:"";position:absolute;inset:0;border-radius:20px;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);background-size:250% 100%;animation:shine 2.4s linear infinite;pointer-events:none}@keyframes shine{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes deal{0%{opacity:0;transform:translateY(40px) rotate(-3deg) scale(.9)}to{opacity:1;transform:none}}.card-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:var(--rarity);background:color-mix(in srgb,var(--rarity) 18%,transparent);border:1px solid color-mix(in srgb,var(--rarity) 45%,transparent)}.card-icon .icon{width:30px;height:30px}.card h3{font-size:19px}.card p{margin:4px 0 0;font-size:14px;color:var(--muted)}.card .rarity{font-family:var(--body);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--rarity)}.over-title{text-align:center;font-size:30px;font-weight:900}.over-sub{text-align:center;color:var(--muted);margin:4px 0 14px;font-size:14px}.big-score{text-align:center;font-family:var(--display);font-weight:900;font-size:64px;line-height:1;background:linear-gradient(180deg,#fff,var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.big-score-label{text-align:center;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.record-line{text-align:center;font-weight:800;margin:6px 0 14px}.record-line.new{color:var(--gold);animation:pop .6s var(--spring)}.record-line.close{color:#ff8a8a}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.grid4 .stat{padding:8px 6px;text-align:center}.grid4 .stat b{font-size:18px}.grid4 .stat small{font-size:9px}.owned-list{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:14px;min-height:4px}.owned-list span{padding:4px 8px;border-radius:10px;background:#ffffff14;font-size:13px}.shop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wallet{font-family:var(--display);font-weight:900;font-size:20px;color:var(--gold)}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{flex:1;padding:10px;border-radius:14px;background:#ffffff0f;font-weight:800}.tabs button[aria-selected=true]{background:#ffffff2e}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:52vh;overflow-y:auto;padding:2px}.item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;border-radius:18px;background:#ffffff0f;border:2px solid transparent;text-align:center}.item.equipped{border-color:var(--good)}.item canvas{width:100%;height:70px;border-radius:12px}.item h3{font-size:15px}.item p{margin:0;font-size:11px;color:var(--muted);min-height:28px}.item .btn{padding:8px;font-size:14px;border-radius:12px}.item .btn.buy{background:linear-gradient(135deg,#ffd166,#ff9f1c);color:#3a1d00;border:0}.item .btn:disabled{opacity:.4}.howto ol{margin:12px 0 18px;padding-left:20px;line-height:1.5;font-size:15px}.howto li{margin-bottom:6px}.toast{position:fixed;left:50%;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 70px);transform:translate(-50%);background:var(--panel-strong);border:1px solid var(--line);padding:10px 18px;border-radius:999px;font-weight:700;z-index:20;animation:rise .3s var(--spring)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.icon{width:1.1em;height:1.1em;flex-shrink:0;vertical-align:-.18em}.logo-mark{width:100%;height:100%}.btn .icon{width:1.15em;height:1.15em}.chip{display:inline-flex;align-items:center;gap:6px}.chip.score .icon,.chip.coins .icon{color:var(--gold)}.chip.combo .icon{color:#ffb347}.chip.combo.on .icon{color:#fff}.lives{color:#ff4d6d}.lives .icon{width:24px;height:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.lives .shield{display:inline-flex;align-items:center;color:#7fd6ff;font-family:var(--display);font-weight:800;font-size:14px}.icon-btn{display:grid;place-items:center}.icon-btn .icon{width:18px;height:18px}#wind.left .icon{transform:scaleX(-1)}#upgrades-owned span,.owned-list span{display:inline-flex;align-items:center;gap:4px;color:var(--common)}#upgrades-owned span.rare,.owned-list span.rare{color:var(--rare)}#upgrades-owned span.epic,.owned-list span.epic{color:var(--epic)}.owned-list span{color:var(--text)}.owned-list span .icon{color:var(--accent-2)}.toggle{display:inline-flex;align-items:center;gap:6px}.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.wallet{display:inline-flex;align-items:center;gap:6px}.booster-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;color:var(--accent-2);background:#ffb34724}.booster-icon .icon{width:34px;height:34px}.row .btn{font-size:16px;white-space:nowrap;padding:14px 10px}
