:root{--bg-0: #07070d;--bg-1: #0d0d18;--bg-2: #161628;--bg-3: #1f1f3a;--fg-0: #f4f4ff;--fg-1: #b9b9cf;--fg-2: #6c6c82;--accent: #5b8cff;--accent-2: #b46cff;--gold: #ffb627;--green: #37c978;--red: #ff4d6d;--crimson: #c12a4a;--cyan: #3aa0ff;--hl-white: #ffe275;--sa-top: env(safe-area-inset-top, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px);--sa-right: env(safe-area-inset-right, 0px);--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--hud-h: clamp(44px, 7vh, 60px);--rail-w: clamp(76px, 8vw, 104px);--content-pad: clamp(10px, 2vh, 22px);--content-max: 1920px;--fs-display: clamp(28px, 6.5dvh, 56px);--fs-h1: clamp(18px, 3.2dvh, 26px);--fs-h2: clamp(14px, 2.4dvh, 18px);--fs-body: clamp(12px, 1.9dvh, 15px);--fs-small: clamp(10px, 1.5dvh, 12px);--fs-tiny: clamp(9px, 1.3dvh, 11px)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg-0);overflow:hidden;height:100vh;height:100svh;height:100dvh;width:100vw;width:100dvw}body{font-family:Bahnschrift,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg-0);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:0;color:inherit}.app{width:100%;height:100%;display:grid;grid-template-columns:var(--rail-w) 1fr;position:relative;overflow:hidden;padding-top:var(--sa-top);padding-bottom:var(--sa-bottom);padding-left:var(--sa-left);padding-right:var(--sa-right)}.app-main{display:flex;flex-direction:column;min-width:0;min-height:0}.screen{flex:1;overflow:hidden;padding:var(--content-pad);position:relative;display:flex;min-height:0}.screen>*{flex:1;min-height:0;min-width:0}@media (min-aspect-ratio: 21/9){.app-main{max-width:calc(100vh * 21 / 9 - var(--rail-w));margin:0 auto}}.screen-title{font-size:var(--fs-h1);font-weight:900;letter-spacing:3px;text-transform:uppercase;margin:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(180,108,255,.25));line-height:1.1}.screen-subtitle{font-size:var(--fs-small);font-weight:800;letter-spacing:2px;color:var(--fg-1);margin:0;text-transform:uppercase}.muted{color:var(--fg-2);font-size:var(--fs-small)}.atmos{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,#07070d,#0a0a18,#0d0d24 80%,#110a18)}.atmos-nebula{position:absolute;width:90vmax;height:90vmax;border-radius:50%;filter:blur(100px);opacity:.55;mix-blend-mode:screen;animation:nebulaDrift 36s ease-in-out infinite alternate}.atmos-nebula-a{background:radial-gradient(circle,#5b8cff,transparent 70%);top:-35vmax;left:-25vmax}.atmos-nebula-b{background:radial-gradient(circle,#b46cff,transparent 70%);bottom:-35vmax;right:-25vmax;animation-duration:42s;animation-delay:-8s}.atmos-nebula-c{background:radial-gradient(circle,#ff6b00,transparent 70%);top:25%;left:30%;opacity:.18;animation-duration:48s;animation-delay:-14s}@keyframes nebulaDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(8vmax,-6vmax) scale(1.15)}to{transform:translate(-6vmax,6vmax) scale(.95)}}.atmos-summon .atmos-nebula-a{background:radial-gradient(circle,#b46cff,transparent 70%)}.atmos-summon .atmos-nebula-b{background:radial-gradient(circle,#ff6b00,transparent 70%)}.atmos-battle .atmos-nebula-a{background:radial-gradient(circle,#ff4d6d,transparent 70%)}.atmos-battle .atmos-nebula-b{background:radial-gradient(circle,#ffb627,transparent 70%)}.atmos-team .atmos-nebula-a{background:radial-gradient(circle,#37c978,transparent 70%)}.atmos-ruins{position:absolute;bottom:0;left:0;width:200%;height:50%;min-height:280px;transform:translate(-25%);animation:ruinDrift 90s linear infinite}.ruin-far{animation:ruinShiftFar 120s ease-in-out infinite alternate}.ruin-mid{animation:ruinShiftMid 90s ease-in-out infinite alternate}.ruin-near{animation:ruinShiftNear 70s ease-in-out infinite alternate}@keyframes ruinDrift{0%{transform:translate(-25%)}to{transform:translate(-12%)}}@keyframes ruinShiftFar{0%{transform:translate(0)}to{transform:translate(2%)}}@keyframes ruinShiftMid{0%{transform:translate(0)}to{transform:translate(-2%)}}@keyframes ruinShiftNear{0%{transform:translate(0)}to{transform:translate(3%)}}.atmos-rays{position:absolute;width:60vmax;height:100vh;pointer-events:none;filter:blur(2px);mix-blend-mode:screen;animation:rayDrift 24s ease-in-out infinite alternate}.atmos-rays-a{top:-10vh;left:10%;background:linear-gradient(170deg,rgba(91,140,255,.18) 0%,transparent 60%);transform:rotate(8deg);animation-delay:0s}.atmos-rays-b{top:-10vh;right:5%;background:linear-gradient(190deg,rgba(180,108,255,.18) 0%,transparent 60%);transform:rotate(-6deg);animation-delay:-12s}@keyframes rayDrift{0%{opacity:.75;transform:rotate(8deg) translateY(0)}to{opacity:.55;transform:rotate(11deg) translateY(-2vh)}}.atmos-battle .atmos-rays-a{background:linear-gradient(170deg,rgba(255,77,109,.2) 0%,transparent 60%)}.atmos-battle .atmos-rays-b{background:linear-gradient(190deg,rgba(255,182,39,.2) 0%,transparent 60%)}.atmos-summon .atmos-rays-a{background:linear-gradient(170deg,rgba(180,108,255,.25) 0%,transparent 60%)}.atmos-summon .atmos-rays-b{background:linear-gradient(190deg,rgba(255,107,0,.2) 0%,transparent 60%)}.atmos-embers{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.atmos-rift{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 80%,rgba(180,108,255,.1),transparent 55%);animation:riftPulse 6s ease-in-out infinite;pointer-events:none}.atmos-summon .atmos-rift{background:radial-gradient(ellipse at 50% 50%,rgba(180,108,255,.18),transparent 55%)}.atmos-battle .atmos-rift{background:radial-gradient(ellipse at 50% 60%,rgba(255,107,0,.14),transparent 55%)}@keyframes riftPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.atmos-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(180,108,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(91,140,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 75%)}.atmos-cone{position:absolute;top:-10vh;right:-10vw;width:70vw;height:110vh;background:conic-gradient(from 200deg at 50% 0%,transparent 0deg,rgba(180,108,255,.1) 12deg,rgba(91,140,255,.16) 24deg,rgba(180,108,255,.1) 36deg,transparent 48deg);filter:blur(20px);mix-blend-mode:screen;opacity:.6;pointer-events:none;animation:coneSweep 18s ease-in-out infinite alternate;transform-origin:50% 0%}@keyframes coneSweep{0%{transform:rotate(-3deg);opacity:.55}to{transform:rotate(4deg);opacity:.8}}.atmos-battle .atmos-cone{background:conic-gradient(from 200deg at 50% 0%,transparent 0deg,rgba(255,77,109,.12) 12deg,rgba(255,182,39,.18) 24deg,rgba(255,77,109,.12) 36deg,transparent 48deg)}.atmos-summon .atmos-cone{background:conic-gradient(from 200deg at 50% 0%,transparent 0deg,rgba(180,108,255,.18) 12deg,rgba(255,107,0,.14) 24deg,rgba(180,108,255,.18) 36deg,transparent 48deg)}.atmos-fog{position:absolute;left:-10vw;right:-10vw;height:28vh;pointer-events:none;mix-blend-mode:screen;filter:blur(40px);opacity:.55}.atmos-fog-a{bottom:-8vh;background:linear-gradient(180deg,transparent,rgba(91,140,255,.18) 50%,rgba(180,108,255,.22) 100%);animation:fogDriftA 24s ease-in-out infinite alternate}.atmos-fog-b{top:-8vh;height:18vh;background:linear-gradient(0deg,transparent,rgba(180,108,255,.1) 60%,rgba(91,140,255,.12) 100%);animation:fogDriftB 32s ease-in-out infinite alternate;opacity:.35}@keyframes fogDriftA{0%{transform:translate(-2vw);opacity:.45}to{transform:translate(2vw);opacity:.65}}@keyframes fogDriftB{0%{transform:translate(2vw)}to{transform:translate(-2vw)}}.atmos-battle .atmos-fog-a{background:linear-gradient(180deg,transparent,rgba(255,77,109,.16) 50%,rgba(255,107,0,.22) 100%)}.atmos-summon .atmos-fog-a{background:linear-gradient(180deg,transparent,rgba(180,108,255,.2) 50%,rgba(255,107,0,.18) 100%)}.atmos-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(0,0,0,.55) 95%);pointer-events:none}.side-nav{background:linear-gradient(180deg,#0f0f1cc7,#0a0a14b8);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);border-right:1px solid rgba(180,108,255,.18);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:6px;z-index:10;position:relative;box-shadow:4px 0 24px #0006}.side-nav:before{content:"";position:absolute;top:0;right:-1px;bottom:0;left:0;width:1px;background:linear-gradient(180deg,transparent,rgba(180,108,255,.5),transparent);pointer-events:none}.side-nav-logo{background:transparent;padding:8px;margin-bottom:6px;border-radius:10px;transition:transform .2s ease,background .2s ease}.side-nav-logo:hover{background:#ffffff0a}.side-nav-logo:active{transform:scale(.94)}.side-nav-list{display:flex;flex-direction:column;gap:4px;width:100%;padding:0 8px}.side-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;color:var(--fg-2);padding:12px 4px;border-radius:var(--radius-sm);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;position:relative;transition:all .15s ease;border:1px solid transparent}.side-nav-btn:hover{color:var(--fg-0);background:#ffffff0a}.side-nav-btn.active{color:var(--fg-0);background:linear-gradient(135deg,#5b8cff2e,#b46cff2e);border-color:#b46cff66;box-shadow:0 0 18px #b46cff40}.side-nav-btn.active:before{content:"";position:absolute;left:-8px;top:25%;bottom:25%;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-radius:2px;box-shadow:0 0 8px var(--accent-2)}.side-nav-icon{display:flex;align-items:center}.side-nav-label{line-height:1}.side-nav-credit{margin-top:auto;padding:16px 4px 14px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;border-top:1px solid rgba(255,255,255,.04)}.side-nav-credit-prefix{font-size:8px;letter-spacing:2px;color:var(--fg-2);font-weight:800;text-transform:uppercase;opacity:.6}.side-nav-credit-brand{font-size:11px;letter-spacing:3px;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent-2),var(--gold));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradientShift 5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(180,108,255,.4));margin:1px 0}.hud{height:var(--hud-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--content-pad);background:linear-gradient(180deg,#0f0f1ec7,#0a0a148c);border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:5}.hud:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,108,255,.5),transparent)}.hud-title{display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:2px;font-size:14px}.hud-brand-text{display:flex;gap:4px}.hud-brand{color:var(--fg-0)}.hud-brand-accent{color:var(--accent-2);text-shadow:0 0 12px var(--accent-2)}.hud-stats{display:flex;gap:8px}.hud-stat{display:flex;align-items:center;gap:5px;background:#ffffff0a;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.06);letter-spacing:.5px}.hud-icon{opacity:.85}.hud-stat.coins{color:var(--gold)}.hud-stat.gems{color:var(--accent-2)}.home{display:grid;grid-template-columns:minmax(0,1fr) clamp(180px,22vw,260px);grid-template-rows:1fr auto;gap:clamp(8px,1.4vh,14px);height:100%;width:100%;min-height:0}.daily-toast{position:absolute;top:10px;right:10px;z-index:50;background:linear-gradient(135deg,#ffb6274d,#b46cff4d);border:1px solid var(--gold);border-radius:var(--radius-sm);padding:8px 14px;min-width:180px;text-align:center;animation:pop .32s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 24px #00000080,0 0 18px #ffb6274d}.daily-toast-title{font-weight:900;font-size:var(--fs-small);letter-spacing:2px}.daily-toast-rewards{font-size:var(--fs-body);color:var(--gold);font-weight:900;margin-top:2px}.glass{background:linear-gradient(180deg,#1414288c,#0a0a19a6)!important;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #0006,0 10px 30px #0006;position:relative}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(180,108,255,.18),transparent 30%,transparent 70%,rgba(91,140,255,.18));opacity:.6;animation:glassPulse 6s ease-in-out infinite alternate}@keyframes glassPulse{0%{opacity:.4}to{opacity:.85}}.hero-banner.cinematic{grid-column:1;grid-row:1;position:relative;overflow:hidden;border-radius:var(--radius);min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);align-items:stretch;background:linear-gradient(135deg,#5b8cff2e,#b46cff2e,#ff6b001a),linear-gradient(180deg,#141428b3,#0a0a19d9);border:1px solid rgba(180,108,255,.3);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000080,0 14px 40px #00000080,0 0 30px #b46cff26}.hero-banner.cinematic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 78% 110%,rgba(180,108,255,.4),transparent 50%),radial-gradient(circle at 5% 0%,rgba(91,140,255,.25),transparent 45%),radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:1}.hero-banner.cinematic:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0px,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 3px);pointer-events:none;z-index:2}.hero-banner-content{position:relative;z-index:3;padding:clamp(14px,2.5vh,28px);display:flex;flex-direction:column;min-width:0;gap:clamp(2px,.4vh,6px)}.hero-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:3px;color:var(--accent-2);text-shadow:0 0 12px rgba(180,108,255,.6);margin-bottom:8px;text-transform:uppercase}.hero-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 12px var(--accent-2);animation:heroPulseDot 1.4s ease-in-out infinite}@keyframes heroPulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.65);opacity:.4}}.hero-eyebrow-divider{opacity:.4}.hero-chapter{font-size:13px;letter-spacing:5px;font-weight:800;color:var(--fg-1);text-shadow:0 0 8px rgba(91,140,255,.4);margin-bottom:4px}.hero-splash{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:280px}.hero-aura-outer,.hero-aura-mid,.hero-aura-inner{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen}.hero-aura-outer{width:110%;height:110%;background:radial-gradient(circle at 50% 50%,var(--h-glow),transparent 60%);opacity:.4;animation:heroAuraPulseOuter 5s ease-in-out infinite alternate}.hero-aura-mid{width:75%;height:75%;background:radial-gradient(circle at 50% 50%,var(--h-color),transparent 55%);opacity:.55;filter:blur(20px);animation:heroAuraPulseMid 3.5s ease-in-out infinite alternate}.hero-aura-inner{width:45%;height:45%;background:radial-gradient(circle at 50% 50%,var(--h-color),transparent 70%);opacity:.85;filter:blur(8px);animation:heroAuraPulseInner 2.5s ease-in-out infinite alternate}@keyframes heroAuraPulseOuter{0%{opacity:.35;transform:scale(1)}to{opacity:.55;transform:scale(1.08)}}@keyframes heroAuraPulseMid{0%{opacity:.45;transform:scale(.95)}to{opacity:.7;transform:scale(1.05)}}@keyframes heroAuraPulseInner{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}.hero-ring{position:absolute;width:92%;height:92%;max-width:240px;max-height:240px;filter:drop-shadow(0 0 18px var(--h-glow));animation:heroRingRotate 30s linear infinite;opacity:.85}@keyframes heroRingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-figure{position:relative;z-index:4;width:78%;height:78%;max-width:220px;max-height:220px;display:flex;align-items:center;justify-content:center;animation:heroIdle 5s ease-in-out infinite alternate}@keyframes heroIdle{0%{transform:translateY(0) scale(1)}to{transform:translateY(-6px) scale(1.02)}}.hero-figure-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(0,0,0,.55))}.hero-figure-sigil{filter:drop-shadow(0 4px 18px var(--h-glow))}.hero-floor{position:absolute;left:10%;right:10%;bottom:14%;height:24px;background:radial-gradient(ellipse at 50% 50%,var(--h-color),transparent 70%);opacity:.5;filter:blur(8px);z-index:1;animation:heroFloorPulse 5s ease-in-out infinite alternate}@keyframes heroFloorPulse{0%{opacity:.4;transform:scaleX(1)}to{opacity:.7;transform:scaleX(.92)}}.hero-name-tag{position:absolute;left:16px;bottom:14px;z-index:5;display:flex;flex-direction:column;font-size:10px;letter-spacing:1.5px;text-shadow:0 1px 4px rgba(0,0,0,.85)}.hero-name-tag-rarity{color:var(--r-color);font-weight:900}.hero-name-tag-name{color:var(--fg-0);font-weight:800;font-size:11px;margin-top:1px}.hero-stage{font-size:var(--fs-display);font-weight:900;letter-spacing:clamp(2px,.6vw,6px);background:linear-gradient(135deg,#ffffff,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 20px rgba(180,108,255,.5));line-height:1;margin-top:2px}.hero-sub{color:var(--fg-1);font-size:var(--fs-body);margin-top:clamp(6px,1vh,12px);line-height:1.4;max-width:92%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-stats-inline{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:clamp(6px,1vh,12px);font-size:var(--fs-tiny);color:var(--fg-2);font-weight:700;letter-spacing:1px;text-transform:uppercase}.hero-stats-inline b{color:var(--fg-0);font-size:var(--fs-small);margin-right:2px}.hero-stats-inline .dot{width:3px;height:3px;border-radius:50%;background:var(--fg-2);opacity:.6}.hero-progress{display:flex;align-items:center;gap:12px;padding-top:clamp(6px,1vh,10px);font-size:var(--fs-tiny);color:var(--fg-2);font-weight:700;letter-spacing:1px}.hero-progress-bar{flex:1;height:8px;background:#00000080;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.hero-progress-bar>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .32s ease;box-shadow:0 0 12px var(--accent-2)}.home-aside{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px);min-height:0}.home-aside>.streak-card{flex:1}.streak-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.streak-card{background:linear-gradient(135deg,#ffb62726,#141428b3);border:1px solid rgba(255,182,39,.3);border-radius:var(--radius);padding:clamp(10px,2vh,18px) 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:0;position:relative;overflow:hidden}.streak-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 120%,rgba(255,182,39,.25),transparent 60%);pointer-events:none}.streak-card>*{position:relative;z-index:1}.streak-card .streak-num{font-size:clamp(22px,4vh,36px);font-weight:900;color:var(--gold);line-height:1;filter:drop-shadow(0 0 12px rgba(255,182,39,.5))}.streak-card .streak-label{font-size:var(--fs-tiny);color:var(--fg-2);letter-spacing:1.5px;text-transform:uppercase;font-weight:800}.streak-card.free-card{background:linear-gradient(135deg,#b46cff2e,#141428b3);border-color:#b46cff59;cursor:pointer}.streak-card.free-card:before{background:radial-gradient(circle at 50% 120%,rgba(180,108,255,.3),transparent 60%)}.streak-card.free-card .streak-num{color:var(--accent-2);filter:drop-shadow(0 0 12px rgba(180,108,255,.55))}.streak-card.free-card.ready{animation:heartbeat 1.6s ease-in-out infinite;border-color:var(--accent-2)}.streak-card.free-card.ready .streak-num{color:var(--gold);filter:drop-shadow(0 0 18px rgba(255,182,39,.7))}.home-dock{grid-column:1 / -1;grid-row:2;display:flex;gap:clamp(6px,1vw,12px);height:clamp(68px,10vh,96px);min-height:0}.dock-btn{flex:1;min-width:0;background:linear-gradient(180deg,#1616288c,#0d0d18bf);color:var(--fg-0);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);display:flex;align-items:center;gap:12px;padding:0 clamp(10px,1.5vw,18px);font-weight:800;transition:transform .15s ease,background .15s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);box-shadow:0 8px 24px #00000059;text-align:left}.dock-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% -20%,rgba(180,108,255,.35),transparent 60%),linear-gradient(135deg,rgba(91,140,255,.08),transparent 50%);opacity:0;transition:opacity .25s ease;pointer-events:none}.dock-btn:after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:linear-gradient(90deg,transparent,rgba(180,108,255,.5),transparent);opacity:.4;transition:opacity .25s ease}.dock-btn:hover{border-color:#b46cff66;box-shadow:0 12px 30px #0006,0 0 24px #b46cff40}.dock-btn:hover:before,.dock-btn:hover:after{opacity:1}.dock-btn:active{transform:scale(.97)}.dock-btn.disabled{opacity:.5}.dock-btn.dock-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:#fff3;box-shadow:0 8px 28px #b46cff73}.dock-btn.dock-accent{background:linear-gradient(135deg,var(--crimson),#ff6b00);box-shadow:0 8px 28px #ff6b0066}.dock-icon{flex-shrink:0;width:36px;height:36px;background:#00000059;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.dock-primary .dock-icon,.dock-accent .dock-icon{background:#00000040}.dock-label{font-size:clamp(13px,2vh,16px);font-weight:900;letter-spacing:1px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-meta{display:block;font-size:var(--fs-tiny);font-weight:700;letter-spacing:1px;color:var(--fg-2);margin-top:2px}.dock-primary .dock-meta,.dock-accent .dock-meta{color:#ffffffd9}.dock-btn.dock-dev{flex:0 0 56px;justify-content:center;padding:0}.dock-btn.dock-dev .dock-icon{background:transparent;font-size:22px}.dev-drawer{position:absolute;right:16px;bottom:110px;z-index:60;border-radius:var(--radius);padding:12px;animation:revealFade .22s ease-out}.dev-drawer-inner{display:flex;flex-direction:column;gap:6px;min-width:160px}.big-cta{background:linear-gradient(180deg,#1616288c,#0d0d18b3);color:var(--fg-0);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:22px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;transition:transform .15s ease,background .15s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden;min-height:110px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000059}.big-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% -30%,rgba(180,108,255,.4),transparent 60%),linear-gradient(135deg,rgba(91,140,255,.08),transparent 50%);opacity:0;transition:opacity .25s ease;pointer-events:none}.big-cta:after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:linear-gradient(90deg,transparent,rgba(180,108,255,.5),transparent);opacity:.5;transition:opacity .25s ease}.big-cta:hover{border-color:#b46cff66;box-shadow:0 12px 30px #0006,0 0 24px #b46cff40}.big-cta:hover:before{opacity:1}.big-cta:hover:after{opacity:1}.big-cta:active{transform:scale(.96)}.big-cta.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:#fff3;box-shadow:0 8px 28px #5b8cff73}.big-cta.accent{background:linear-gradient(135deg,var(--crimson),#ff6b00);box-shadow:0 8px 28px #ff6b0066}.big-cta.disabled{opacity:.5}.cta-icon{font-size:28px;line-height:1}.cta-label{font-size:17px;font-weight:900;letter-spacing:1px}.cta-sub{font-size:11px;opacity:.85;text-align:center}.home-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-stats>div{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-sm);padding:12px;text-align:center}.home-stats b{display:block;font-size:22px;font-weight:900}.home-stats span{font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:1.5px}.dev-row{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.dev-btn{flex:1;padding:10px;font-size:11px;font-weight:800;background:#ffffff0a;color:var(--fg-1);border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius-sm);letter-spacing:1px;text-transform:uppercase}.dev-btn:hover{color:var(--fg-0);border-color:#ffffff4d}.dev-btn.danger{color:var(--red);border-color:#ff4d6d66}.summon{display:grid;grid-template-rows:auto auto 1fr;gap:clamp(6px,1vh,12px);height:100%;min-height:0}.free-summon-card{background:linear-gradient(135deg,#b46cff33,#ff6b001f,#141428b3);border:1px solid rgba(180,108,255,.3);border-radius:var(--radius);padding:clamp(10px,1.5vh,16px) clamp(14px,2vw,22px);display:flex;justify-content:space-between;align-items:center;gap:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.free-summon-card.ready{border-color:var(--accent-2);animation:heartbeat 1.6s ease-in-out infinite}.free-summon-title{font-weight:900;font-size:var(--fs-h2);letter-spacing:2px}.free-summon-card .pull-btn{flex:0 0 auto;min-width:140px;padding:12px 28px;font-size:var(--fs-small)}.free-summon-card .pull-btn:disabled{background:#ffffff0a!important;border-color:#ffffff14!important;box-shadow:none!important;color:var(--fg-2)}.summon-banners{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.5vw,14px);min-height:0}.banner{background:linear-gradient(180deg,#1414288c,#0a0a19d9);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:0;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;box-shadow:0 12px 36px #00000073;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}.banner-content{position:relative;z-index:3;padding:clamp(12px,2vh,22px);display:flex;flex-direction:column;flex:1;min-height:0}.banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.banner.standard{border-color:#37c9784d}.banner.standard:before{background:radial-gradient(circle at 85% 110%,rgba(55,201,120,.35),transparent 55%),radial-gradient(circle at 0% 0%,rgba(91,140,255,.18),transparent 50%)}.banner.premium{border-color:#b46cff66;box-shadow:0 12px 36px #00000073,0 0 30px #b46cff2e}.banner.premium:before{background:radial-gradient(circle at 85% 110%,rgba(180,108,255,.4),transparent 55%),radial-gradient(circle at 0% 0%,rgba(255,107,0,.22),transparent 50%)}.banner-sigil{position:absolute;right:-80px;bottom:-80px;z-index:1;pointer-events:none;opacity:.55;filter:drop-shadow(0 0 24px var(--r-glow))}.banner.standard .banner-sigil{filter:drop-shadow(0 0 18px rgba(55,201,120,.55))}.banner.premium .banner-sigil{filter:drop-shadow(0 0 22px rgba(180,108,255,.7))}.banner-eyebrow{font-size:10px;letter-spacing:4px;font-weight:900;color:var(--fg-2);text-transform:uppercase;margin-bottom:6px;opacity:.85}.banner.premium .banner-eyebrow{color:var(--accent-2);text-shadow:0 0 10px rgba(180,108,255,.45)}.banner.standard .banner-eyebrow{color:var(--green);text-shadow:0 0 8px rgba(55,201,120,.4)}.ritual-sigil{display:block}.ritual-ring-out{animation:ritualSpinOut 38s linear infinite}.ritual-ring-in{animation:ritualSpinIn 24s linear infinite}@keyframes ritualSpinOut{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ritualSpinIn{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.ritual-core{animation:ritualCorePulse 4s ease-in-out infinite alternate;transform-origin:200px 200px}.ritual-center{animation:ritualCenterPulse 2.4s ease-in-out infinite alternate;transform-origin:200px 200px}@keyframes ritualCorePulse{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes ritualCenterPulse{0%{opacity:.7;transform:scale(.85)}to{opacity:1;transform:scale(1.2)}}.banner-title{font-size:18px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}.banner-rates{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-tiny);font-weight:800;margin-bottom:clamp(8px,1.5vh,18px);letter-spacing:.5px}.banner-buttons{display:flex;gap:10px;margin-top:auto}.pull-btn{flex:1;background:linear-gradient(180deg,var(--bg-3),var(--bg-2));color:var(--fg-0);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:14px 12px;font-weight:800;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .12s ease,box-shadow .2s ease;letter-spacing:.5px}.pull-btn:active{transform:scale(.97)}.pull-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:#fff3;box-shadow:0 6px 22px #b46cff73}.pull-btn.big{font-size:22px;padding:22px;letter-spacing:4px}.pull-btn:disabled{opacity:.4;cursor:not-allowed}.pull-btn .pity{font-size:9px;opacity:.85;letter-spacing:1.5px;text-transform:uppercase}.pull-btn.small{font-size:11px;padding:8px 10px}.pull-btn.danger{color:var(--red)}.summon-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05050feb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px;animation:revealFade .22s ease-out;overflow:hidden}@keyframes revealFade{0%{opacity:0}to{opacity:1}}.summon-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.summon-reveal>*:not(.summon-fx){position:relative;z-index:1}.summon-reveal.flash-rare{box-shadow:inset 0 0 160px #3aa0ff66}.summon-reveal.flash-epic{box-shadow:inset 0 0 200px #b46cff80}.summon-reveal.flash-legendary{box-shadow:inset 0 0 240px #ff6b0099;animation:revealFade .22s ease-out,legendaryPulse 1.5s ease-in-out infinite alternate}@keyframes legendaryPulse{0%{box-shadow:inset 0 0 200px #ffb62780}to{box-shadow:inset 0 0 280px #ff6b00cc}}.reveal-headline{font-size:42px;font-weight:900;letter-spacing:8px;animation:pop .32s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.reveal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;max-width:1100px;max-height:60vh;overflow-y:auto}.reveal-card-wrap{animation:cardFlip .42s cubic-bezier(.34,1.56,.64,1) backwards;position:relative}.reveal-card-wrap.shard-only{opacity:.85}.reveal-shard-overlay{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(180,108,255,.85));color:#fff;font-size:9px;font-weight:900;letter-spacing:1.5px;text-align:center;padding:8px 4px 4px;border-radius:0 0 var(--radius-sm) var(--radius-sm)}@keyframes cardFlip{0%{transform:rotateY(90deg) scale(.7);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.reveal-shards-line{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.shard-pop{background:#b46cff33;color:var(--accent-2);padding:5px 12px;border-radius:999px;border:1px solid rgba(180,108,255,.4);font-size:12px;font-weight:800;animation:pop .22s ease-out}.reveal-close{background:transparent;color:var(--fg-1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:12px 28px;font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase}.unit-card.v2{background:linear-gradient(180deg,#141428b3,#0a0a19f2);border:2px solid var(--r-color, rgba(255,255,255,.1));border-radius:var(--radius);padding:0;display:flex;flex-direction:column;gap:0;text-align:left;color:var(--fg-0);position:relative;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease;width:100%;overflow:hidden;box-shadow:0 8px 22px #00000073,0 0 0 1px #0006}.unit-card.v2:hover{box-shadow:0 12px 28px #0000008c,0 0 20px var(--r-glow)}.unit-card.v2.selected{box-shadow:0 0 0 3px var(--r-color),0 0 28px var(--r-glow)}.unit-card.v2.dead{opacity:.4;filter:grayscale(.7)}.unit-card.v2.rarity-legendary{animation:legendaryShimmer 2.4s ease-in-out infinite}.unit-card.v2.is-boss{border-width:3px;box-shadow:0 0 20px var(--r-glow),0 0 40px #ff6b0073}.ucv2-portrait{position:relative;width:100%;aspect-ratio:4 / 3;background:radial-gradient(circle at 50% 30%,var(--r-glow, transparent) 0%,transparent 65%),linear-gradient(180deg,#14142880,#0009);overflow:hidden;display:flex;align-items:center;justify-content:center}.ucv2-portrait-img{width:100%;height:100%;object-fit:cover;display:block}.ucv2-portrait-sigil{width:80%;height:90%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 6px 16px var(--r-glow))}.ucv2-aura{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 30%,var(--e-glow, var(--r-glow)),transparent 60%);opacity:.35;pointer-events:none;mix-blend-mode:screen;animation:ucv2AuraPulse 4s ease-in-out infinite alternate}@keyframes ucv2AuraPulse{0%{opacity:.25}to{opacity:.5}}.ucv2-rarity-tag{position:absolute;top:6px;right:6px;width:22px;height:22px;background:var(--r-color);color:#07070d;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;border-radius:5px;box-shadow:0 0 10px var(--r-glow);z-index:3}.ucv2-awk-overlay{position:absolute;top:6px;left:6px;display:flex;gap:1px;background:#0000008c;padding:3px 6px;border-radius:4px;z-index:3;border:1px solid rgba(255,182,39,.3)}.ucv2-awk-overlay .awk-star{font-size:10px;color:#ffffff2e;line-height:1}.ucv2-awk-overlay .awk-star.filled{color:var(--gold);text-shadow:0 0 6px rgba(255,182,39,.9)}.ucv2-element-badge{position:absolute;bottom:8px;left:8px;width:26px;height:26px;background:#000000c7;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px currentColor;z-index:3}.ucv2-arch-badge{position:absolute;bottom:8px;right:8px;width:24px;height:24px;background:#000000c7;border:1px solid rgba(255,255,255,.18);border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--fg-1);z-index:3}.ucv2-boss-tag{position:absolute;top:6px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff6b00,#ffb627);color:#1a0d00;font-size:9px;font-weight:900;padding:3px 8px;border-radius:4px;letter-spacing:1.5px;z-index:3;box-shadow:0 2px 8px #ff6b0099}.ucv2-hpbar{position:absolute;left:8px;right:8px;bottom:8px;height:14px;background:#000000a6;border-radius:4px;overflow:hidden;font-size:10px;z-index:4}.ucv2-hpbar-fill{height:100%;background:linear-gradient(90deg,var(--green),#1f8e4d);transition:width .28s ease}.ucv2-hpbar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.95)}.ucv2-info{padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.04);background:linear-gradient(180deg,#0f0f1c73,#07070dd9)}.ucv2-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.3px;line-height:1.2}.ucv2-meta{display:flex;align-items:center;gap:6px;font-size:10px}.ucv2-lvl{background:#ffffff14;padding:2px 6px;border-radius:3px;font-weight:800;letter-spacing:.5px}.ucv2-rarity{color:var(--r-color);font-weight:800;letter-spacing:1px}.ucv2-stats{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.ucv2-stat{display:inline-flex;align-items:center;gap:3px;background:#ffffff0a;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;color:var(--fg-1)}.ucv2-stat svg{opacity:.85}.ucv2-shards{color:var(--accent-2);border:1px solid rgba(180,108,255,.3)}.unit-card.v2.mode-reveal{border-width:3px}.unit-card.v2.mode-reveal .ucv2-portrait{aspect-ratio:3 / 4}.unit-card.v2.mode-team .ucv2-portrait{aspect-ratio:4 / 3}.unit-card{background:linear-gradient(180deg,#141428cc,#0a0a19f2);border:2px solid var(--r-color, rgba(255,255,255,.1));border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:row;gap:10px;align-items:center;text-align:left;color:var(--fg-0);position:relative;transition:transform .15s ease,box-shadow .2s ease;width:100%;overflow:hidden}.unit-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 100% 0%,var(--r-glow, transparent),transparent 50%);opacity:.4;pointer-events:none}.unit-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px var(--r-glow, transparent)}.unit-card.selected{box-shadow:0 0 0 3px var(--r-color),0 0 22px var(--r-glow);transform:translateY(-2px)}.unit-card.dead{opacity:.4;filter:grayscale(.7)}.unit-card.rarity-legendary{animation:legendaryShimmer 2.4s ease-in-out infinite}@keyframes legendaryShimmer{0%,to{box-shadow:0 0 14px #ffb62766}50%{box-shadow:0 0 28px #ff6b00b3}}.unit-card.is-boss{border-width:3px;box-shadow:0 0 18px var(--r-glow),0 0 32px #ff6b0066}.unit-portrait{width:64px;height:64px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 60%),#0a0a18;border:1px solid var(--r-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;overflow:hidden;box-shadow:inset 0 0 20px var(--r-glow)}.unit-portrait-img{width:100%;height:100%;object-fit:cover;display:block}.sigil-animate{animation:sigilSpin 18s linear infinite}.sigil-rare{animation-duration:14s}.sigil-epic{animation-duration:10s;filter:drop-shadow(0 0 4px var(--accent-2))}.sigil-legendary{animation:sigilSpin 7s linear infinite,sigilLegendaryPulse 1.6s ease-in-out infinite alternate}@keyframes sigilSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sigilLegendaryPulse{0%{filter:drop-shadow(0 0 4px #ffb627)}to{filter:drop-shadow(0 0 12px #ff6b00)}}.sigil-ring{transform-origin:50px 50px;animation:ringSpin 22s linear infinite}@keyframes ringSpin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.unit-rarity-tag{position:absolute;top:2px;right:2px;background:#000000c7;color:var(--fg-0);font-size:9px;font-weight:800;width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;z-index:2}.unit-element-badge{position:absolute;bottom:2px;left:2px;width:20px;height:20px;border-radius:999px;background:#000c;display:flex;align-items:center;justify-content:center;border:1px solid var(--e-color);box-shadow:0 0 10px var(--e-color);z-index:2}.unit-boss-tag{position:absolute;top:2px;left:2px;background:linear-gradient(135deg,#ff6b00,#ffb627);color:#1a0d00;font-size:8px;font-weight:900;padding:2px 5px;border-radius:3px;letter-spacing:1.5px;z-index:2}.unit-info{flex:1;min-width:0;position:relative;z-index:1}.unit-name-row{display:flex;align-items:center}.unit-name{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;letter-spacing:.3px}.unit-arch-tag{display:inline-flex;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1px 4px;margin-left:4px;color:var(--fg-1)}.unit-meta{display:flex;gap:8px;font-size:10px;margin-top:3px;align-items:center}.unit-lvl{background:#ffffff14;padding:2px 6px;border-radius:3px;font-weight:800;letter-spacing:.5px}.unit-rarity{color:var(--r-color);font-weight:800;letter-spacing:.5px}.unit-awk{display:inline-flex;gap:1px;margin-left:4px}.awk-star{font-size:10px;color:#ffffff2e;line-height:1}.awk-star.filled{color:var(--gold);text-shadow:0 0 4px rgba(255,182,39,.8)}.unit-stats{display:flex;gap:6px;font-size:11px;margin-top:6px;color:var(--fg-1);font-weight:700;flex-wrap:wrap}.stat-pill{display:inline-flex;align-items:center;gap:4px;background:#ffffff0d;padding:3px 7px;border-radius:4px;border:1px solid rgba(255,255,255,.05)}.stat-pill svg{opacity:.8}.shards-pill{color:var(--accent-2);border-color:#b46cff4d!important}.unit-hpbar{position:relative;height:14px;background:#00000080;border-radius:4px;margin-top:6px;overflow:hidden;font-size:10px}.unit-hpbar-fill{height:100%;background:linear-gradient(90deg,var(--green),#1f8e4d);transition:width .32s ease}.unit-hpbar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.85)}.inventory{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:clamp(6px,1vh,12px);height:100%;min-height:0;min-width:0}.inventory.has-detail{grid-template-columns:1fr clamp(280px,28vw,360px);grid-template-rows:auto auto 1fr}.inv-left{min-width:0;min-height:0;display:contents}.inv-left .screen-title{grid-column:1;grid-row:1}.inv-left .filter-row{grid-column:1;grid-row:2}.inv-left .paginated-grid,.inv-left .empty-hint{grid-column:1;grid-row:3}.inventory.has-detail .inv-detail{grid-column:2;grid-row:1 / -1}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.filter-row button{background:#ffffff0a;color:var(--fg-1);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:7px 16px;font-weight:800;font-size:12px;letter-spacing:.5px;transition:all .15s ease}.filter-row button.active{background:var(--accent-2);color:#fff;border-color:var(--accent-2);box-shadow:0 0 14px #b46cff66}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,clamp(168px,16vw,220px));grid-auto-rows:min-content;gap:clamp(8px,1.2vh,14px);align-content:start;justify-content:start;min-height:0}.paginated-grid{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;width:100%;gap:clamp(6px,1vh,10px)}.paginated-grid-area{flex:1;min-height:0;display:flex}.paginated-grid-cells{display:grid;grid-template-columns:repeat(auto-fill,clamp(168px,16vw,220px));gap:clamp(8px,1.2vh,14px);width:100%;align-content:start;justify-content:start}.paginated-grid-cell.empty{visibility:hidden}.paginated-grid-controls{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;flex-shrink:0}.page-nav{width:32px;height:32px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--fg-1);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.page-nav:hover:not(:disabled){border-color:#b46cff66;color:var(--fg-0);box-shadow:0 0 14px #b46cff4d}.page-nav:disabled{opacity:.3;cursor:not-allowed}.page-dots{display:flex;gap:6px}.page-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;border:0;padding:0;transition:all .15s ease}.page-dot.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 10px var(--accent-2);transform:scale(1.3)}.page-count{font-size:var(--fs-tiny);color:var(--fg-2);font-weight:800;letter-spacing:1px;min-width:50px;text-align:center}.inv-detail{background:linear-gradient(180deg,#141428a6,#0a0a19d9);border:1px solid rgba(180,108,255,.25);border-radius:var(--radius);padding:clamp(10px,1.5vh,16px);display:flex;flex-direction:column;gap:clamp(6px,1vh,12px);min-height:0;position:relative;box-shadow:0 0 30px #b46cff26;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}.inv-detail-close{position:absolute;top:12px;right:12px;background:#00000080;color:var(--fg-1);border:1px solid rgba(255,255,255,.1);width:28px;height:28px;border-radius:50%;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}.awk-info{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:12px;text-align:center}.awk-label{font-size:11px;font-weight:900;letter-spacing:2px;color:var(--fg-2);text-transform:uppercase;margin-bottom:4px}.awk-stars-big{display:flex;gap:4px;justify-content:center;font-size:24px;margin:4px 0}.awk-stars-big .awk-star{font-size:24px}.awk-stars-big .awk-star.just-awakened{animation:starAwaken 1s ease-out}@keyframes starAwaken{0%{transform:scale(.4);filter:drop-shadow(0 0 0 var(--gold))}60%{transform:scale(1.6);filter:drop-shadow(0 0 18px var(--gold))}to{transform:scale(1);filter:drop-shadow(0 0 6px var(--gold))}}.shard-line{font-size:14px;color:var(--gold);margin-top:8px;font-weight:800;letter-spacing:.5px}.unit-detail-actions{display:flex;gap:8px}.unit-detail-actions.secondary{margin-top:4px}.awk-btn{background:linear-gradient(135deg,#ffb627,#ff6b00)!important;box-shadow:0 4px 16px #ff6b0066!important}.team-builder{display:grid;grid-template-rows:auto auto auto auto 1fr;gap:clamp(6px,1vh,12px);height:100%;min-height:0}.team-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.team-header .pull-btn{flex:0 0 auto;padding:10px 22px;font-size:var(--fs-small)}.team-slots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.team-slot{min-height:clamp(72px,11vh,100px);border-radius:var(--radius);border:2px dashed rgba(255,255,255,.15);padding:4px;position:relative;display:flex;align-items:center}.team-slot.filled{border-style:solid;border-color:#b46cff4d}.team-slot-empty{width:100%;height:100%;min-height:88px;display:flex;align-items:center;justify-content:center;color:var(--fg-2);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.team-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.team-totals>div{border-radius:var(--radius-sm);padding:clamp(8px,1.2vh,12px);text-align:center}.team-totals b{display:block;font-size:clamp(16px,2.6vh,22px);font-weight:900}.team-totals span{font-size:var(--fs-tiny);color:var(--fg-2);text-transform:uppercase;letter-spacing:1.5px}.battle{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.battle-empty{align-items:center;justify-content:center}.battle-empty-stage{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;background:linear-gradient(180deg,#141428b3,#0a0a19e6);border:1px solid rgba(180,108,255,.25);border-radius:var(--radius);padding:clamp(24px,5vh,48px) clamp(28px,5vw,64px);max-width:540px;-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);box-shadow:0 14px 40px #00000080,0 0 30px #b46cff2e}.battle-empty-icon{font-size:clamp(36px,6vh,56px);background:linear-gradient(135deg,var(--accent),var(--accent-2),var(--gold));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(180,108,255,.5));animation:gradientShift 5s ease-in-out infinite}.battle-empty-title{margin:0;font-size:clamp(20px,3vh,28px);font-weight:900;letter-spacing:4px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.battle-empty-sub{margin:0;max-width:380px;color:var(--fg-1);font-size:var(--fs-body);line-height:1.5}.battle-empty .pull-btn{margin-top:6px;letter-spacing:4px}.battle-header{display:flex;justify-content:space-between;align-items:flex-end}.battle-chapter .chapter-title{font-size:22px;font-weight:900;letter-spacing:3px;color:var(--fg-0);text-transform:uppercase}.battle-chapter .chapter-stage{font-size:12px;letter-spacing:2px;margin-top:4px}.battle-stage-num{font-size:11px;color:var(--fg-2);letter-spacing:3px;text-transform:uppercase}.battle-arena{flex:1;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;background:linear-gradient(180deg,rgba(255,77,109,.08),transparent 30%,rgba(91,140,255,.08) 100%),linear-gradient(180deg,#14142873,#0a0a19b3);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;min-height:380px;backdrop-filter:blur(10px) saturate(110%);-webkit-backdrop-filter:blur(10px) saturate(110%);box-shadow:0 12px 36px #00000073,inset 0 1px #ffffff0a}.battle-arena:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(0,0,0,.55) 100%),radial-gradient(circle at 12% 50%,rgba(255,77,109,.15),transparent 35%),radial-gradient(circle at 88% 50%,rgba(91,140,255,.15),transparent 35%);pointer-events:none}.battle-arena:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.015) 3px,rgba(255,255,255,.015) 4px);pointer-events:none}.battle-arena>*{position:relative;z-index:1}.battle-row{display:flex;flex-direction:column;gap:10px}.battle-row.enemy{align-items:flex-start}.battle-row.player{align-items:flex-end}.row-label{font-size:11px;font-weight:900;letter-spacing:4px;text-transform:uppercase;padding:4px 12px;border-radius:4px;background:#0006}.battle-row.enemy .row-label{color:var(--red);border:1px solid rgba(255,77,109,.4)}.battle-row.player .row-label{color:var(--accent);border:1px solid rgba(91,140,255,.4)}.row-units{display:flex;flex-direction:column;gap:8px;width:100%}.row-placeholder{padding:22px;color:var(--fg-2);background:#ffffff08;border-radius:var(--radius-sm);text-align:center}.vs{font-weight:900;font-size:28px;letter-spacing:8px;color:var(--fg-2);background:linear-gradient(135deg,var(--red),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(180,108,255,.4))}.battle-unit{background:linear-gradient(180deg,#141428eb,#0a0a19f5);border:2px solid var(--r-color);border-radius:var(--radius-sm);padding:8px 10px;position:relative;display:flex;align-items:center;gap:10px;box-shadow:0 0 18px var(--r-glow),inset 0 0 18px #00000080;min-width:220px;max-width:280px}.battle-row.enemy .battle-unit{margin-right:auto}.battle-row.player .battle-unit{margin-left:auto}.battle-unit.dead{opacity:.35;filter:grayscale(.8)}.battle-unit.is-boss{border-width:3px;animation:bossPulse 1.4s ease-in-out infinite alternate}@keyframes bossPulse{0%{box-shadow:0 0 16px var(--r-glow),0 0 #ff6b0066,inset 0 0 14px #00000080}to{box-shadow:0 0 32px var(--r-glow),0 0 30px #ff6b0099,inset 0 0 14px #00000080}}.battle-unit-portrait{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.battle-element-badge{position:absolute;bottom:-3px;left:-3px;width:16px;height:16px;border-radius:999px;background:#000000d9;display:flex;align-items:center;justify-content:center;border:1px solid currentColor}.battle-arch-badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:4px;background:#000000d9;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);color:var(--fg-1)}.battle-unit-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.battle-unit-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.3px}.battle-hpbar{height:14px;background:#00000080;border-radius:4px;overflow:hidden;position:relative;font-size:10px;font-weight:800}.battle-hpbar-fill{height:100%;background:linear-gradient(90deg,var(--green),#1f8e4d);transition:width .28s ease}.battle-hpbar span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 2px rgba(0,0,0,.9)}.dmg-popup{position:absolute;left:50%;top:0;transform:translate(-50%,-10px);font-weight:900;font-size:15px;color:var(--red);text-shadow:0 2px 8px rgba(0,0,0,.95);pointer-events:none;animation:dmgFloat .9s cubic-bezier(.2,.8,.4,1) forwards;display:flex;flex-direction:column;align-items:center;z-index:5}.dmg-popup.crit,.dmg-popup.killed{color:var(--gold);font-size:22px}.dmg-popup.weakness{color:#ff4d6d}.dmg-popup.resist{color:var(--fg-2);font-size:13px}.dmg-popup.heal{color:var(--green)}.dmg-tag{font-size:9px;letter-spacing:1.5px;line-height:1;background:#000000b3;padding:2px 5px;border-radius:2px;margin-bottom:2px;white-space:nowrap}.dmg-tag.weak{color:#ff8aa6;border:1px solid rgba(255,77,109,.5)}.dmg-tag.combo{color:var(--accent-2);border:1px solid rgba(180,108,255,.5)}.dmg-tag.resist{color:var(--fg-2)}@keyframes dmgFloat{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-44px);opacity:0}}.battle.shake{animation:screenShake .22s cubic-bezier(.36,.07,.19,.97) both}@keyframes screenShake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}.ko-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff2e;pointer-events:none;z-index:30;animation:koFlashFade .18s ease-out forwards}@keyframes koFlashFade{0%{opacity:1}to{opacity:0}}.battle-cta{display:flex;justify-content:center}.battle-result{background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border-radius:var(--radius);padding:24px;text-align:center;border:1px solid rgba(255,255,255,.08);animation:pop .28s cubic-bezier(.34,1.56,.64,1)}.battle-result.win{border-color:var(--green);box-shadow:0 0 40px #37c9784d}.battle-result.loss{border-color:var(--red);box-shadow:0 0 40px #ff4d6d4d}.result-headline{font-size:36px;font-weight:900;letter-spacing:6px;margin-bottom:12px;filter:drop-shadow(0 0 24px currentColor)}.result-headline.slam{animation:slamIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes slamIn{0%{transform:scale(2.5) rotate(-3deg);opacity:0;letter-spacing:40px}60%{transform:scale(.92) rotate(1deg);opacity:1;letter-spacing:6px}to{transform:scale(1) rotate(0);letter-spacing:6px}}.battle-result.win .result-headline{color:var(--green)}.battle-result.loss .result-headline{color:var(--red)}.result-rewards{display:flex;justify-content:center;gap:22px;font-size:18px;font-weight:900;color:var(--gold);margin-bottom:10px}.result-rewards .gem-pop{color:var(--accent-2);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.result-levelups{margin:10px 0;font-size:14px;color:var(--fg-1)}.levelup-row{padding:3px 0}.levelup-row b{color:var(--gold)}.result-actions{display:flex;gap:10px;margin-top:14px;justify-content:center}.result-actions .pull-btn{flex:0 0 180px}.shop{display:grid;grid-template-rows:auto auto auto 1fr;gap:clamp(6px,1vh,12px);height:100%;min-height:0}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(160px,16vw,200px),1fr));gap:10px}.shop-card{background:linear-gradient(180deg,#1414288c,#0a0a19cc);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:clamp(14px,2.2vh,22px) clamp(12px,1.8vw,18px);text-align:center;display:flex;flex-direction:column;gap:8px;transition:transform .15s ease,box-shadow .2s ease;min-height:clamp(160px,25vh,220px);justify-content:center}.shop-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px #b46cff40}.shop-amount{font-size:22px;font-weight:900;color:var(--accent-2);letter-spacing:.5px}.shop-bonus{font-size:11px;color:var(--green);font-weight:800}.shop-price{font-size:14px;color:var(--fg-1);margin:6px 0;font-weight:700}.shop-pass{background:linear-gradient(135deg,#ffb62733,#141428b3);border:1px solid var(--gold);border-radius:var(--radius);padding:clamp(10px,1.5vh,18px);display:flex;justify-content:space-between;align-items:center;gap:14px}.pass-title{font-weight:900;font-size:var(--fs-h2);letter-spacing:.5px}.empty-hint{background:#ffffff08;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:24px;text-align:center;color:var(--fg-1);font-size:14px}.pull-btn.heartbeat{animation:heartbeat 1.6s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1);box-shadow:0 4px 16px #b46cff66}10%{transform:scale(1.04);box-shadow:0 6px 24px #b46cffb3}20%{transform:scale(1)}30%{transform:scale(1.04);box-shadow:0 6px 24px #b46cffb3}40%{transform:scale(1)}}.logo-mark{animation:logoPulse 4s ease-in-out infinite;flex-shrink:0}@keyframes logoPulse{0%,to{transform:rotate(0);filter:drop-shadow(0 0 4px rgba(180,108,255,.5))}50%{transform:rotate(45deg);filter:drop-shadow(0 0 10px rgba(180,108,255,.9))}}.portrait-gate{display:none}@media (orientation: portrait),(max-width: 819px){.portrait-gate{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;align-items:center;justify-content:center;padding:max(24px,var(--sa-top)) max(24px,var(--sa-right)) max(24px,var(--sa-bottom)) max(24px,var(--sa-left));background:#07070d;animation:revealFade .28s ease-out}.app>.side-nav,.app>.app-main,.app>.bg-layer,.tutorial-overlay{display:none!important}}.portrait-gate-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(91,140,255,.25),transparent 50%),radial-gradient(circle at 80% 90%,rgba(180,108,255,.25),transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,107,0,.08),transparent 60%),linear-gradient(180deg,#07070d,#0d0d18);pointer-events:none}.portrait-gate-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(180,108,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(91,140,255,.05) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 25%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,black 25%,transparent 75%)}.portrait-gate-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:380px;animation:pop .48s cubic-bezier(.34,1.56,.64,1)}.portrait-gate-brand{display:flex;gap:6px;font-weight:900;letter-spacing:4px;font-size:14px;margin-bottom:8px}.portrait-gate-brand-text{color:var(--fg-0)}.portrait-gate-brand-accent{background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 12px var(--accent-2)}.rotate-icon{display:block;filter:drop-shadow(0 0 18px rgba(180,108,255,.35))}.rotate-phone{animation:phoneRotate 2.8s ease-in-out infinite;transform-origin:60px 60px;transform-box:fill-box}@keyframes phoneRotate{0%,25%{transform:rotate(0)}45%,65%{transform:rotate(-90deg)}85%,to{transform:rotate(-90deg)}}.portrait-gate-title{font-size:24px;font-weight:900;letter-spacing:5px;background:linear-gradient(135deg,var(--accent),var(--accent-2),var(--gold));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradientShift 4s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(180,108,255,.35));margin-top:6px}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.portrait-gate-sub{color:var(--fg-1);font-size:15px;font-weight:600;letter-spacing:1px}.portrait-gate-hint{color:var(--fg-2);font-size:12px;line-height:1.5;max-width:300px;letter-spacing:.5px;margin-top:4px}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;background:#05050fc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:32px;animation:revealFade .28s ease-out}.tutorial-overlay.closing{animation:revealFadeOut .26s ease-in forwards}@keyframes revealFadeOut{0%{opacity:1}to{opacity:0}}.tutorial-card{width:100%;max-width:520px;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid rgba(180,108,255,.4);border-radius:var(--radius);padding:30px 32px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 0 60px #b46cff4d,0 20px 60px #00000080;animation:pop .36s cubic-bezier(.34,1.56,.64,1)}.tutorial-logo{animation:logoPulse 4s ease-in-out infinite}.tutorial-progress{display:flex;gap:8px;margin-bottom:4px}.tutorial-dot{width:32px;height:4px;border-radius:2px;background:#ffffff1f;transition:background .22s ease}.tutorial-dot.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 8px var(--accent-2)}.tutorial-title{font-size:26px;font-weight:900;letter-spacing:4px;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;filter:drop-shadow(0 0 18px rgba(180,108,255,.4))}.tutorial-body{font-size:15px;line-height:1.55;color:var(--fg-1);margin:0;max-width:90%}.tutorial-actions{display:flex;gap:10px;margin-top:6px;width:100%;justify-content:flex-end}.tutorial-actions .pull-btn{flex:0 0 auto;min-width:140px}.tutorial-actions .pull-btn.small{min-width:90px}.audio-toggle{background:#ffffff0a;color:var(--fg-1);border:1px solid rgba(255,255,255,.08);width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s ease;margin-left:8px}.audio-toggle:hover{color:var(--fg-0);border-color:#b46cff66}.audio-toggle.muted{color:var(--fg-2);opacity:.6}.install-prompt{position:fixed;left:50%;bottom:max(18px,var(--sa-bottom));transform:translate(-50%);z-index:600;max-width:520px;width:calc(100% - 32px - var(--sa-left) - var(--sa-right));animation:installSlideUp .38s cubic-bezier(.2,.9,.4,1.1)}@keyframes installSlideUp{0%{transform:translate(-50%,120%);opacity:0}to{transform:translate(-50%);opacity:1}}.install-prompt-inner{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#141428f2,#0a0a19f2);border:1px solid rgba(180,108,255,.45);border-radius:var(--radius);padding:12px 14px;box-shadow:0 20px 50px #0000008c,0 0 30px #b46cff40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.install-prompt-icon{font-size:22px;line-height:1;flex-shrink:0;width:40px;height:40px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 14px #b46cff80}.install-prompt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.35}.install-prompt-text strong{font-weight:900;font-size:13px;letter-spacing:.5px}.install-prompt-text span{color:var(--fg-1);font-size:11.5px}.install-prompt-text b{color:var(--accent-2)}.install-prompt-cta{flex:0 0 auto;padding:8px 18px!important;font-size:12px!important}.install-prompt-x{flex-shrink:0;background:transparent;color:var(--fg-2);width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08)}.install-prompt-x:hover{color:var(--fg-0);border-color:#fff3}@media (display-mode: standalone),(display-mode: fullscreen){.install-prompt{display:none}}.cc{position:relative;transform-style:preserve-3d;perspective:1200px;transition:filter .2s ease;--cc-tilt-x: 0deg;--cc-tilt-y: 0deg;--cc-mx: 50%;--cc-my: 50%;--cc-active: 0;will-change:transform}.cc-inner{position:relative;width:100%;height:100%;transform:rotateX(var(--cc-tilt-x)) rotateY(var(--cc-tilt-y));transition:transform .28s cubic-bezier(.2,.8,.3,1);transform-style:preserve-3d}.cc[data-pressed] .cc-inner{transition:transform 80ms ease-out;transform:rotateX(var(--cc-tilt-x)) rotateY(var(--cc-tilt-y)) scale(.985)}.cc:hover{filter:drop-shadow(0 16px 28px rgba(0,0,0,.45))}.cc-spec{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--cc-mx) var(--cc-my),rgba(255,255,255,.18) 0%,rgba(255,255,255,.05) 20%,transparent 50%);opacity:calc(var(--cc-active) * .85);transition:opacity .22s ease;mix-blend-mode:screen}.cc-glow:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--cc-mx) var(--cc-my),rgba(180,108,255,.35) 0%,transparent 60%);opacity:calc(var(--cc-active) * .5);filter:blur(8px);z-index:-1;transition:opacity .22s ease}.cc-ripples{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit}.cc-ripple{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#b46cff8c,#b46cff00 70%);transform:translate(-50%,-50%);animation:ripple .7s cubic-bezier(.2,.8,.3,1) forwards;mix-blend-mode:screen}@keyframes ripple{0%{width:8px;height:8px;opacity:1}to{width:480px;height:480px;opacity:0}}button.cc{background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:inherit;cursor:pointer}button.cc[disabled]{cursor:not-allowed}button.cc.dock-btn .cc-inner,button.cc.unit-card .cc-inner,div.cc .cc-inner{padding:inherit}.cc.streak-card,.cc.dock-btn,.cc.unit-card,.cc.banner,.cc.shop-card,.cc.hero-banner{background:inherit}.scene-transition{position:relative;width:100%;height:100%;display:flex;min-height:0;overflow:hidden}.scene-content{flex:1;display:flex;min-height:0;min-width:0;animation:sceneEnter .6s cubic-bezier(.2,.8,.3,1)}.scene-content>*{flex:1;min-height:0;min-width:0}@keyframes sceneEnter{0%{transform:translateY(18px) scale(.985);opacity:0;filter:blur(6px)}60%{opacity:1;filter:blur(0)}to{transform:translateY(0) scale(1);opacity:1;filter:blur(0)}}.scene-letterbox-top,.scene-letterbox-bottom{position:absolute;left:0;right:0;height:18%;background:linear-gradient(to bottom,#000000b3,#0000);z-index:100;pointer-events:none;animation:letterboxOpen .7s cubic-bezier(.2,.8,.3,1) forwards}.scene-letterbox-bottom{top:auto;bottom:0;background:linear-gradient(to top,#000000b3,#0000)}@keyframes letterboxOpen{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.scene-transition .scene-letterbox-bottom{animation-name:letterboxOpenBottom}@keyframes letterboxOpenBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.number-roll{display:inline-block;transition:transform .2s ease,color .2s ease}.number-roll.rolling{color:var(--gold);transform:translateY(-1px) scale(1.04);text-shadow:0 0 12px rgba(255,182,39,.6)}.hero-spotlight{position:absolute;top:-10%;left:50%;width:80%;height:130%;transform:translate(-50%);background:conic-gradient(from 200deg at 50% 0%,transparent 0deg,rgba(255,255,255,.12) 8deg,rgba(180,108,255,.18) 16deg,rgba(255,255,255,.12) 24deg,transparent 32deg);filter:blur(12px);opacity:.65;z-index:4;pointer-events:none;mix-blend-mode:screen;animation:heroSpotSweep 8s ease-in-out infinite alternate;transform-origin:50% 0%}@keyframes heroSpotSweep{0%{transform:translate(-50%) rotate(-3deg);opacity:.55}to{transform:translate(-50%) rotate(4deg);opacity:.85}}.hero-banner .hero-spotlight{mix-blend-mode:screen}.cc.dock-btn,.cc.hero-banner.cinematic,.cc.banner,.cc.streak-card,.cc.shop-card{transform-style:preserve-3d}.cc.dock-btn .cc-inner,.cc.hero-banner.cinematic .cc-inner,.cc.banner .cc-inner,.cc.streak-card .cc-inner,.cc.shop-card .cc-inner{display:flex;flex-direction:inherit;align-items:inherit;justify-content:inherit;gap:inherit;width:100%;height:100%;min-height:0;min-width:0;border-radius:inherit;position:relative}.hud-lot{font-size:9px;letter-spacing:2px;font-weight:800;color:var(--fg-2);text-transform:uppercase;margin-left:14px;padding:3px 8px;border:1px solid rgba(255,255,255,.12);border-radius:3px;opacity:.7}.hero-caution-stripe{position:absolute;top:12px;left:-22px;width:90px;height:10px;transform:rotate(-45deg);background:repeating-linear-gradient(90deg,#ffb627 0,#ffb627 8px,#07070d 8px,#07070d 16px);opacity:.85;z-index:4;box-shadow:0 3px 8px #00000080;pointer-events:none}.hero-tech-caption{position:absolute;bottom:8px;left:clamp(14px,2vw,24px);z-index:5;font-size:8px;letter-spacing:2.5px;font-weight:800;color:var(--fg-2);text-transform:uppercase;padding:3px 7px;border:1px solid rgba(255,255,255,.1);border-radius:3px;background:#00000080;opacity:.7;pointer-events:none;letter-spacing:2px}.scene-wipe{position:absolute;top:-10%;bottom:-10%;width:70%;z-index:95;pointer-events:none;animation:sceneWipe .7s cubic-bezier(.7,0,.3,1) forwards}.scene-wipe-1{left:-10%;background:linear-gradient(135deg,#0d0d18 60%,transparent 100%);transform:skew(-12deg) translate(0)}.scene-wipe-2{right:-10%;background:linear-gradient(225deg,#0d0d18 60%,transparent 100%);transform:skew(-12deg) translate(0)}@keyframes sceneWipe{0%{transform:skew(-12deg) translate(0);opacity:1}50%{opacity:1}to{transform:skew(-12deg) translate(120%);opacity:0}}.scene-wipe-2{animation-name:sceneWipeRight}@keyframes sceneWipeRight{0%{transform:skew(-12deg) translate(0);opacity:1}50%{opacity:1}to{transform:skew(-12deg) translate(-120%);opacity:0}}.scene-caption{position:absolute;top:12px;right:14px;z-index:90;display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:2.5px;font-weight:800;color:var(--fg-2);text-transform:uppercase;padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:captionPop .6s cubic-bezier(.2,.8,.3,1)}.scene-caption-mark{color:var(--accent-2);font-size:10px;animation:captionMarkPulse 1.6s ease-in-out infinite}@keyframes captionPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes captionMarkPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.impact-frame{position:fixed;top:0;left:0;right:0;bottom:0;z-index:800;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:impactBoxIn 1.1s cubic-bezier(.16,1,.3,1) forwards}.impact-panel{position:relative;padding:22px 64px;background:#07070dd9;border:3px solid;transform:skew(-8deg);box-shadow:0 20px 60px #0009;text-align:center;min-width:280px}.impact-frame.impact-legendary .impact-panel{border-color:var(--gold);box-shadow:0 20px 60px #0009,0 0 60px #ffb62799}.impact-frame.impact-epic .impact-panel{border-color:var(--accent-2);box-shadow:0 20px 60px #0009,0 0 50px #b46cff8c}.impact-frame.impact-crit .impact-panel{border-color:var(--red);box-shadow:0 20px 60px #0009,0 0 50px #ff4d6d80}.impact-frame.impact-info .impact-panel{border-color:var(--fg-0)}.impact-stripe{position:absolute;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,transparent 0,transparent 8px,currentColor 8px,currentColor 16px);opacity:.7}.impact-stripe-top{top:-10px}.impact-stripe-bottom{bottom:-10px}.impact-frame.impact-legendary{color:var(--gold)}.impact-frame.impact-epic{color:var(--accent-2)}.impact-frame.impact-crit{color:var(--red)}.impact-text{font-size:clamp(32px,8dvh,64px);font-weight:900;letter-spacing:clamp(2px,.8dvh,8px);background:linear-gradient(135deg,currentColor,#ffffff,currentColor);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px currentColor);animation:impactTextSweep 1.1s ease;transform:skew(8deg)}.impact-subtext{margin-top:8px;font-size:clamp(10px,1.6dvh,13px);letter-spacing:4px;font-weight:800;color:var(--fg-1);text-transform:uppercase;transform:skew(8deg);opacity:.85}@keyframes impactBoxIn{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes impactTextSweep{0%{background-position:0% 50%}to{background-position:200% 50%}}.speed-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;width:100%;height:100%}.speed-line{animation:speedLineStreak .7s cubic-bezier(.3,0,.1,1) forwards;transform-origin:100px 100px}@keyframes speedLineStreak{0%{opacity:0;stroke-dasharray:0 80}20%{opacity:1;stroke-dasharray:60 80}to{opacity:0;stroke-dasharray:0 80;transform:scale(1.3)}}@media (prefers-reduced-motion: reduce){.cc-inner,.scene-content,.number-roll.rolling,.atmos-cone,.atmos-fog,.ritual-ring-out,.ritual-ring-in,.hero-spotlight,.heroAuraPulseOuter,.heroAuraPulseMid,.heroAuraPulseInner{animation:none!important;transition:none!important}}
