:root{--bg:#061626;--panel:rgba(5,20,38,.86);--blue:#15b8ff;--gold:#ffd24a;--white:#f7fbff;--green:#48e64f;--purple:#a15cff;--danger:#ff4b6e;--shadow:0 12px 35px rgba(0,0,0,.45)}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:#020912;color:var(--white);overflow:hidden}button,select{font:inherit;border:0;border-radius:18px;padding:14px 16px;background:linear-gradient(#1baeff,#0670d9);color:white;font-weight:900;box-shadow:0 8px 0 rgba(0,0,0,.28),inset 0 2px 0 rgba(255,255,255,.28);text-shadow:0 2px 4px #0005}button:disabled{filter:grayscale(1);opacity:.55}button:active{transform:translateY(2px);box-shadow:0 4px 0 rgba(0,0,0,.25)}button.primary{background:linear-gradient(#70f242,#168f2a)}button.big{font-size:22px;padding:18px}.screen{position:fixed;inset:0;display:none;padding:18px;background:radial-gradient(circle at top,#0a64a8,#061626 58%,#020912);overflow:auto}.screen.active{display:block}.home-screen{overflow:hidden}.home-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,18,.15),rgba(2,7,18,.18) 35%,rgba(2,7,18,.85) 100%)}.brand,.panel,header,.cards,.wallet,.top-wallet,.world-map,.hero-logo,.main-menu{position:relative;z-index:1}.top-wallet{display:flex;gap:8px;justify-content:center}.premium-wallet{margin-top:calc(8px + env(safe-area-inset-top));}.top-wallet span,.wallet span{background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.2);padding:9px 12px;border-radius:16px;font-weight:900;box-shadow:var(--shadow)}.hero-logo{display:flex;align-items:center;gap:12px;margin:5vh auto 0;max-width:480px;padding:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16);border-radius:28px;backdrop-filter:blur(9px);text-shadow:0 4px 12px #000}.hero-logo img{width:86px;height:86px;border-radius:24px;box-shadow:0 10px 20px #0008}.hero-logo h1{font-size:clamp(31px,8vw,54px);line-height:.92;margin:0;color:var(--gold)}.hero-logo p{font-size:14px;margin:8px 0 0;color:#e8f7ff}.panel,.panel-glass{background:var(--panel);border:2px solid rgba(49,196,255,.45);border-radius:28px;padding:18px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}.main-menu{position:absolute;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));display:grid;gap:12px}.play-cta{font-size:25px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#76ff4d,#14942f);border:2px solid #b9ff9b}.play-cta img{width:48px;height:48px;object-fit:contain}.menu-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu-buttons button{min-height:56px;padding:10px}.settings-row{display:flex;gap:10px}.settings-row>*{flex:1}select{background:#0b2b4b}.hidden{display:none!important}header{display:flex;align-items:center;gap:12px;margin-bottom:10px}header h2{margin:0;color:var(--gold)}.back{width:56px}.cards{display:grid;gap:14px;margin-top:14px}.card{background:var(--panel);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:12px;box-shadow:var(--shadow)}.card img{width:96px;height:96px;object-fit:contain}.card h3{margin:0;color:var(--gold)}.card p{margin:5px 0 10px;color:#d7eeff}.wallet{display:flex;justify-content:center;gap:18px;margin:16px 0;font-size:22px}.center{text-align:center}.reward{width:180px;max-width:60%;object-fit:contain}.hint{position:relative;z-index:1;color:#d7eeff}.world-map{display:grid;gap:18px;padding-bottom:20px}.world-card{background:linear-gradient(180deg,rgba(15,60,100,.88),rgba(5,20,38,.86));border:1px solid rgba(255,255,255,.15);border-radius:26px;padding:14px;box-shadow:var(--shadow)}.world-title{display:flex;align-items:center;gap:10px;color:var(--gold);font-weight:1000;font-size:20px;margin-bottom:12px}.level-path{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-node{aspect-ratio:1;border-radius:20px;display:grid;place-items:center;text-align:center;font-weight:1000;background:linear-gradient(#1baeff,#0758b8);border:2px solid rgba(255,255,255,.25);position:relative}.level-node.locked{background:#253346;color:#9aa7b6}.level-node.done{background:linear-gradient(#ffd24a,#d88611);color:#432500}.level-node.current{outline:4px solid var(--green)}.level-node small{font-size:11px;display:block}.level-node .stars-mini{font-size:10px;color:#fff3a0}.level-bg{width:100%;height:180px;object-fit:cover;border-radius:22px;border:2px solid rgba(255,255,255,.18)}.mini-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.mini-row img{width:54px;height:54px;object-fit:contain;background:rgba(0,0,0,.25);border-radius:14px;padding:4px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card{text-align:center;position:relative;overflow:hidden;border-width:2px}.character-card:before{content:"";position:absolute;inset:7px;border-radius:20px;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.13),transparent 45%);pointer-events:none}.tile-frame{position:relative;margin:0 auto 4px;width:122px;height:122px;display:grid;place-items:center}.tile-frame .frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.tile-frame .avatar{position:relative;width:88px;height:88px;object-fit:contain;z-index:1;filter:drop-shadow(0 8px 6px rgba(0,0,0,.45))}.rarity-common{border-color:#aeb8c4}.rarity-rare{border-color:#4ee86a}.rarity-epic{border-color:#49a7ff}.rarity-legendary{border-color:#b66cff}.rarity-mythic{border-color:#ffd24a;box-shadow:0 0 22px rgba(255,210,74,.35)}.badge{display:inline-block;border-radius:999px;padding:5px 9px;background:rgba(255,210,74,.16);color:var(--gold);font-weight:900}.game-screen{padding:0;overflow:hidden;background:#000}canvas{width:100vw;height:100vh;display:block;touch-action:none}.hud{position:absolute;z-index:5;left:8px;right:8px;display:flex;justify-content:space-between;align-items:center;gap:5px}.hud.top{top:calc(10px + env(safe-area-inset-top))}.hud span,.hud button{background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.22);border-radius:15px;padding:9px 10px;box-shadow:none;font-size:14px}.hud button{width:48px}.progress{position:absolute;z-index:5;left:12px;right:12px;top:calc(58px + env(safe-area-inset-top));height:12px;border-radius:999px;background:rgba(0,0,0,.45);overflow:hidden;border:1px solid rgba(255,255,255,.18)}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#46e847,#ffd24a)}.shoot-hint{position:absolute;z-index:6;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2);font-size:12px;white-space:nowrap}.shoot-hint strong{color:var(--gold)}.touch-controls{position:absolute;z-index:6;left:14px;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px}.touch-controls button{height:68px;border-radius:24px;font-size:24px;background:linear-gradient(#1baeff,#0758b8)}.touch-controls #fireBtn{background:linear-gradient(#ffd24a,#d88611);font-size:30px;color:#4a2500}.modal{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55)}.result-card{margin:10vh auto 0;max-width:480px}.stars{font-size:52px;letter-spacing:8px;color:var(--gold)}.reward-box{margin:10px 0;font-size:18px;color:#fff3a0}@media(min-width:700px){.screen{max-width:520px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 9999px #020912}.game-screen{max-width:520px}.character-grid{grid-template-columns:repeat(2,1fr)}}

/* ── Transitions ───────────────────────────── */
.screen{transition:opacity .25s ease}
.fade-in{animation:fadeIn .28s ease forwards}
.fade-out{animation:fadeOut .22s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}

/* ── Toast ──────────────────────────────────── */
#toast{position:fixed;z-index:999;bottom:calc(110px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(20px);background:rgba(10,30,55,.92);border:1px solid rgba(255,255,255,.25);color:#fff;padding:12px 22px;border-radius:999px;font-weight:800;font-size:15px;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;white-space:nowrap;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Coin pop animation ─────────────────────── */
@keyframes coinPop{0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}}
.coin-pop{animation:coinPop .3s ease}

/* ── Combo popup ────────────────────────────── */
#comboPopup{position:absolute;z-index:10;top:30%;left:50%;transform:translateX(-50%) scale(.7);pointer-events:none;font-size:clamp(26px,7vw,44px);font-weight:1000;color:#ffd24a;text-shadow:0 0 18px #ff9900,0 4px 8px rgba(0,0,0,.8);opacity:0;transition:opacity .15s,transform .15s;white-space:nowrap}
#comboPopup.active{opacity:1;transform:translateX(-50%) scale(1);animation:comboBounce .9s ease forwards}
@keyframes comboBounce{0%{opacity:1;transform:translateX(-50%) scale(1.2)}60%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.85) translateY(-24px)}}

/* ── Stars result animation ──────────────────── */
#stars{display:flex;justify-content:center;gap:8px}
.star{font-size:52px;color:#555;display:inline-block}
.star.earned{color:var(--gold);animation:starPop .4s cubic-bezier(.36,2,.6,1) both}
@keyframes starPop{0%{transform:scale(0) rotate(-30deg)}100%{transform:scale(1) rotate(0)}}

/* ── Mission cards ───────────────────────────── */
.mission-card{padding:14px}
.mission-row{display:flex;align-items:center;gap:12px}
.mission-icon{font-size:28px}
.mission-info{flex:1}.mission-info h3{margin:0;font-size:15px;color:var(--gold)}
.mission-info span{font-size:13px;color:#9ab}
.mission-reward{font-weight:900;color:var(--gold);font-size:15px}
.mission-done{border-color:#48e64f!important;opacity:.7}

/* ── Equipped badge ──────────────────────────── */
.equipped-badge{background:rgba(72,230,79,.2);border:1px solid #48e64f;color:#48e64f;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;margin:4px 0}

/* ── World stars ─────────────────────────────── */
.world-stars{margin-left:auto;font-size:13px;color:#ffd24a;font-weight:700}

/* ── Best score ──────────────────────────────── */
.best-score{color:#ffd24a;font-weight:900;font-size:16px}

/* ── HUD timer ───────────────────────────────── */
#hudTimer{font-variant-numeric:tabular-nums}

/* ── Level detail improvements ───────────────── */
.level-detail{display:flex;flex-direction:column;gap:10px}
