html,body{background:#070b13;width:100%;height:100%;margin:0}body{overflow:hidden}#root{width:100%;height:100%}.preland{--stage-scale:1;--stage-width:1440px;--stage-height:900px;color:#fff;background:#070b13;width:100%;height:100dvh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.preland *{box-sizing:border-box;letter-spacing:0}button{font:inherit}.preland .start-battle-button,.preland .attack-button,.preland .stop-button,.preland .continue-button{--soft-button-y:0px;--soft-button-scale:1;--soft-button-pulse-scale:1.018;--soft-button-pulse-lift:2px;isolation:isolate;transform-origin:50%;will-change:transform;animation:2.45s ease-in-out infinite softButtonPulse}.preland .attack-button,.preland .stop-button{--soft-button-base-transform:translateX(-50%)}.preland .start-battle-button,.preland .continue-button{position:relative}.preland .start-battle-button:after,.preland .attack-button:after,.preland .stop-button:after,.preland .continue-button:after{z-index:2;content:"";mix-blend-mode:screen;opacity:0;pointer-events:none;background:linear-gradient(104deg,#0000 18%,#ffffff14 38%,#fff7be57 50%,#ffffff1a 62%,#0000 82%) 135% 0/240% 100%;border-radius:999px;animation:4.35s ease-in-out infinite softButtonShimmer;position:absolute;inset:7% 6%}.preland .start-battle-button:hover,.preland .start-battle-button:focus-visible,.preland .attack-button:hover,.preland .attack-button:focus-visible,.preland .stop-button:hover,.preland .stop-button:focus-visible,.preland .continue-button:hover,.preland .continue-button:focus-visible{--soft-button-y:-1px;--soft-button-scale:1.018;--soft-button-pulse-scale:1.032}.preland .start-battle-button:active,.preland .attack-button:active,.preland .stop-button:active,.preland .continue-button:active{--soft-button-y:1px;--soft-button-scale:.985;--soft-button-pulse-scale:.998}.preland .stop-button:disabled{animation:none}.preland .stop-button:disabled:after{opacity:0;animation:none}.stage-canvas{width:100%;height:100%;position:absolute}.choose-scene,.battle-scene,.wheel-scene,.reward-scene{position:absolute;inset:0;overflow:hidden}@keyframes softButtonPulse{0%,to{transform:var(--soft-button-base-transform,translateY(0)) translateY(var(--soft-button-y)) scale(var(--soft-button-scale))}50%{transform:var(--soft-button-base-transform,translateY(0)) translateY(calc(var(--soft-button-y) - var(--soft-button-pulse-lift))) scale(var(--soft-button-pulse-scale))}}@keyframes softButtonShimmer{0%,58%{opacity:0;background-position:135% 0}72%{opacity:.24}88%,to{opacity:0;background-position:-55% 0}}@media (prefers-reduced-motion:reduce){.preland .start-battle-button,.preland .attack-button,.preland .stop-button,.preland .continue-button,.preland .start-battle-button:after,.preland .attack-button:after,.preland .stop-button:after,.preland .continue-button:after{animation:none}}.battle-scene{--attack-button-top:719px;--attack-button-width:318px;--attack-pulse-lift:6px;--cast-circle-height:132px;--cast-circle-top:636px;--cast-circle-width:430px;--cast-inner-height:88px;--cast-inner-top:654px;--cast-inner-width:286px;--cast-sigil-size:360px;--cast-sigil-top:408px;--enemy-core-width:770px;--enemy-float-base:10px;--enemy-height:318px;--enemy-scatter-x:112px;--enemy-scatter-y:-112px;--enemy-step:265px;--enemy-top:96px;--enemy-width:240px;--finish-flare-height:260px;--finish-flare-top:176px;--finish-flare-width:520px;--hero-card-height:397px;--hero-card-top:309px;--hero-card-width:300px;--hero-cast-drop:780px;--hero-cast-lift:34px;--hero-ready-lift:8px;--impact-burst-size:253px;--impact-center-top:242px;--impact-side-top:236px;--slash-arc-height:94px;--slash-arc-width:250px;--spell-beam-height:332px;--spell-beam-top:236px;--spell-shot-center-y:-260px;--spell-shot-side-y:-242px;--spell-shot-size:48px;--spell-shot-top:568px;--spell-shot-x:265px;--victory-seal-height:390px;--victory-seal-top:64px;--victory-seal-width:890px;--victory-sweep-height:390px;--victory-sweep-top:80px;--victory-sweep-width:980px;background:#111a16}.battle-backdrop{filter:saturate(1.06)contrast(1.02);background:linear-gradient(#05090d1a,#05090d05 46%,#05090d33),url(/assets/pre_landing_battle.webp) 50%/cover no-repeat;position:absolute;inset:0}.battle-scene--attack .battle-backdrop{animation:4.8s cubic-bezier(.16,.78,.22,1) forwards battleCamera}.battle-vignette{z-index:8;pointer-events:none;background:radial-gradient(circle,#0000 0 48%,#04060c80 84%),linear-gradient(#05081085,#0000 20% 70%,#050810a8);position:absolute;inset:0}.enemy-core{top:var(--enemy-top);z-index:6;width:var(--enemy-core-width);height:var(--enemy-height);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.enemy-card{--brace-delay:1.52s;--break-delay:3.12s;--crack-delay:2.82s;--enemy-delay:0s;--enemy-float:var(--enemy-float-base);--enemy-rotate:0deg;--scatter-x:0px;--scatter-y:-112px;--scatter-rotate:18deg;width:var(--enemy-width);height:var(--enemy-height);transform:translateY(0) rotate(var(--enemy-rotate));transform-origin:50% 78%;animation:enemyIdle 3.8s ease-in-out var(--enemy-delay) infinite;position:absolute;top:0}.enemy-card--left{--brace-delay:1.5s;--break-delay:3.08s;--crack-delay:2.76s;--enemy-delay:-.7s;--enemy-float:calc(var(--enemy-float-base) * .9);--enemy-rotate:-8deg;--scatter-x:calc(var(--enemy-scatter-x) * -1);--scatter-y:calc(var(--enemy-scatter-y) * .88);--scatter-rotate:-34deg;left:0}.enemy-card--center{left:var(--enemy-step);--brace-delay:1.78s;--break-delay:3.18s;--crack-delay:2.86s;--enemy-delay:-1.4s;--enemy-float:calc(var(--enemy-float-base) * 1.2);--scatter-x:0px;--scatter-y:calc(var(--enemy-scatter-y) * 1.13);--scatter-rotate:16deg}.enemy-card--right{left:calc(var(--enemy-step) * 2);--brace-delay:2.06s;--break-delay:3.28s;--crack-delay:2.96s;--enemy-delay:-2.1s;--enemy-float:calc(var(--enemy-float-base) * .8);--enemy-rotate:8deg;--scatter-x:var(--enemy-scatter-x);--scatter-y:calc(var(--enemy-scatter-y) * .88);--scatter-rotate:34deg;right:auto}.enemy-card__image,.enemy-card__hit-glow,.enemy-card__crack,.enemy-card__ash{pointer-events:none;position:absolute}.enemy-card__image{object-fit:contain;filter:drop-shadow(0 20px 16px #00000073)drop-shadow(0 0 12px #ffda7847);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;inset:0}.enemy-card__hit-glow{inset:calc(var(--enemy-width) * .083) calc(var(--enemy-width) * .067);mix-blend-mode:screen;opacity:0;background:radial-gradient(circle at 50% 34%,#fffffff2,#ffe86a7a 18%,#48e9ff42 36%,#0000 66%);border-radius:22px}.enemy-card__crack{width:max(2px, calc(var(--enemy-width) * .021));height:calc(var(--enemy-height) * .6);opacity:0;transform-origin:top;background:linear-gradient(#0000,#fffbe1 14%,#ffe15d 40%,#ff7c2beb,#0000);border-radius:999px;top:24%;left:50%;transform:translate(-50%)rotate(-15deg)scaleY(.1);box-shadow:0 0 10px #ffffffe6,0 0 24px #ffc73ccc}.enemy-card__crack--two{height:calc(var(--enemy-height) * .45);top:34%;transform:translate(-50%)rotate(24deg)scaleY(.1)}.enemy-card__ash{width:calc(var(--enemy-width) * .46);height:calc(var(--enemy-width) * .46);filter:blur(2px)drop-shadow(0 0 18px #ffdc5ab8);opacity:0;background:radial-gradient(circle,#ffffffdb 0 6%,#ffe5689e 20%,#ff6e265c 42%,#0000 70%);border-radius:50%}.enemy-card__ash--one{left:calc(var(--enemy-width) * .11);top:calc(var(--enemy-height) * .27)}.enemy-card__ash--two{right:calc(var(--enemy-width) * .05);top:calc(var(--enemy-height) * .47);width:calc(var(--enemy-width) * .38);height:calc(var(--enemy-width) * .38)}.enemy-core--hit .enemy-card{animation:enemyBrace .72s cubic-bezier(.1, .84, .22, 1) var(--brace-delay) both, enemyBreak 1.18s cubic-bezier(.12, .72, .12, 1) var(--break-delay) forwards}.enemy-core--hit .enemy-card__image{animation:enemyDamage .9s ease-out var(--brace-delay) both, enemyAshImage 1.18s ease-out var(--break-delay) forwards}.enemy-core--hit .enemy-card__hit-glow{animation:enemyHitGlow .66s ease-out var(--brace-delay), enemyHitGlow .72s ease-out var(--break-delay)}.enemy-core--hit .enemy-card__crack{animation:crackReveal 1.25s ease-out var(--crack-delay) forwards}.enemy-core--hit .enemy-card__crack--two{animation-delay:calc(var(--crack-delay) + .12s)}.enemy-core--hit .enemy-card__ash{animation:ashBloom 1.18s ease-out var(--break-delay) forwards}.enemy-core--hit .enemy-card__ash--two{animation-delay:calc(var(--break-delay) + .1s)}.battle-card-shell{top:var(--hero-card-top);z-index:13;width:var(--hero-card-width);height:var(--hero-card-height);transform-origin:50% 86%;position:absolute;left:50%;transform:translate(-50%)}.battle-hero-card{object-fit:contain;filter:drop-shadow(0 20px 18px #00000075)drop-shadow(0 0 18px #ffea846b);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.battle-card-shell--deploy{animation:1.45s cubic-bezier(.16,.9,.23,1.12) forwards dropOnBoard}.battle-card-shell--ready{animation:1.7s ease-in-out infinite readyPulse}.battle-card-shell--attack{animation:4.55s cubic-bezier(.16,.82,.18,1) forwards heroCast}.battle-card-shell--attack .battle-hero-card{animation:4.55s ease-in-out forwards heroCastGlow}.attack-button{top:var(--attack-button-top);z-index:14;width:var(--attack-button-width);aspect-ratio:337/167;cursor:pointer;filter:drop-shadow(0 18px 22px #0000007a)drop-shadow(0 0 16px #ffe6689e);background:0 0;border:0;padding:0;position:absolute;left:50%;transform:translate(-50%)}.attack-button img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.attack-button:hover,.attack-button:focus-visible{filter:drop-shadow(0 20px 24px #00000085)drop-shadow(0 0 28px #fff48ee0);outline:0}.attack-button:active{transform:translate(-50%)translateY(2px)scale(.98)}.battle-effects,.battle-effects>*{pointer-events:none;position:absolute}.battle-effects{z-index:12;inset:0}.casting-circle{left:50%;top:var(--cast-circle-top);width:var(--cast-circle-width);height:var(--cast-circle-height);opacity:0;border:4px solid #ffef89b8;border-radius:50%;animation:1.55s ease-out 50ms forwards castCircle;transform:translate(-50%)rotateX(64deg)scale(.46);box-shadow:inset 0 0 38px #5beeff3d,0 0 34px #ffdc4ba8}.casting-circle--inner{top:var(--cast-inner-top);width:var(--cast-inner-width);height:var(--cast-inner-height);border-color:#6af0ffad;animation-delay:.18s}.casting-sigil{left:50%;top:var(--cast-sigil-top);width:var(--cast-sigil-size);height:var(--cast-sigil-size);background:conic-gradient(from 0deg, transparent 0 10%, #ffec81c7 11% 13%, transparent 14% 25%, #53ecff8f 26% 28%, transparent 29% 100%), radial-gradient(circle, transparent 0 43%, #fff2a65c 44% 45%, transparent 46%);opacity:0;border-radius:50%;animation:1.9s ease-out 80ms forwards castSigil;transform:translate(-50%)rotateX(66deg)rotate(0)scale(.55)}.casting-spark{left:50%;top:var(--spell-shot-top);width:max(8px, calc(var(--spell-shot-size) * .38));height:max(8px, calc(var(--spell-shot-size) * .38));opacity:0;background:#fff6b8;border-radius:50%;box-shadow:0 0 14px #fff,0 0 30px #ffde4df2}.casting-spark--one{animation:1.05s ease-out .3s forwards castSparkOne}.casting-spark--two{animation:1.12s ease-out .42s forwards castSparkTwo}.casting-spark--three{animation:1.08s ease-out .5s forwards castSparkThree}.spell-beam{left:50%;top:var(--spell-beam-top);width:max(12px, calc(var(--spell-shot-size) * .62));height:var(--spell-beam-height);filter:blur(2px)drop-shadow(0 0 18px #fff69eeb)drop-shadow(0 0 30px #ff5c14bd);opacity:0;transform:translateX(-50%) rotate(var(--beam-angle)) scaleY(.04);transform-origin:bottom;animation:beamFire .78s ease-out var(--beam-delay) forwards;background:linear-gradient(#fffffffa,#ffef7bf2 16%,#ff7e1edb 46%,#c41a0885 68%,#0000 90%);border-radius:999px}.spell-beam--left{--beam-angle:-39deg;--beam-delay:.96s}.spell-beam--center{--beam-angle:0deg;--beam-delay:1.14s}.spell-beam--right{--beam-angle:39deg;--beam-delay:1.32s}.spell-shot{left:50%;top:var(--spell-shot-top);width:var(--spell-shot-size);height:var(--spell-shot-size);opacity:0;animation:spellShot .78s cubic-bezier(.13, .74, .22, 1) var(--shot-delay) forwards;background:radial-gradient(circle at 34% 28%,#fff 0 10%,#fff2a4 20%,#ff9f24 42%,#ea330f 62%,#770c0457 76%,#0000 80%);border-radius:50%;transform:translate(-50%)scale(.42);box-shadow:0 0 18px #ffffffe6,0 0 30px #ffd64fe0,0 0 48px #ff4a12b8}.spell-shot--left{--shot-delay:.98s;--shot-x:calc(var(--spell-shot-x) * -1);--shot-y:var(--spell-shot-side-y)}.spell-shot--center{--shot-delay:1.16s;--shot-x:0px;--shot-y:var(--spell-shot-center-y)}.spell-shot--right{--shot-delay:1.34s;--shot-x:var(--spell-shot-x);--shot-y:var(--spell-shot-side-y)}.impact-burst,.slash-arc{left:var(--impact-left);top:var(--impact-top)}.impact-burst{width:var(--impact-burst-size);height:var(--impact-burst-size);filter:blur(1px)drop-shadow(0 0 24px #fff2a1e6)drop-shadow(0 0 42px #ff5314d1);opacity:0;animation:impactBurst .72s ease-out var(--impact-delay) forwards;background:radial-gradient(circle,#fff 0 6%,#fff1a2 15%,#ff9922eb 30%,#e72f0db8 48%,#5b0b033d 62%,#0000 72%);border-radius:50%;transform:translate(-50%,-50%)scale(.12)}.impact-burst:before,.impact-burst:after{content:"";border-radius:50%;position:absolute;inset:0}.impact-burst:before{background:conic-gradient(from 12deg, transparent 0 7%, #ffee76f2 8% 11%, transparent 12% 20%, #ff5d13e6 21% 26%, transparent 27% 40%, #ffb82bdb 41% 44%, transparent 45% 100%);filter:blur(1px);transform:scale(1.08)rotate(8deg)}.impact-burst:after{border:5px solid #ffef99d1;inset:14%;transform:scale(.62);box-shadow:inset 0 0 24px #ff681c94,0 0 28px #ffd953bd}.impact-burst--left,.slash-arc--left{--impact-left:calc(50% - var(--spell-shot-x));--impact-top:var(--impact-side-top);--impact-delay:1.5s;--arc-rotate:-20deg}.impact-burst--center,.slash-arc--center{--impact-left:50%;--impact-top:var(--impact-center-top);--impact-delay:1.78s;--arc-rotate:16deg}.impact-burst--right,.slash-arc--right{--impact-left:calc(50% + var(--spell-shot-x));--impact-top:var(--impact-side-top);--impact-delay:2.06s;--arc-rotate:-12deg}.slash-arc{width:var(--slash-arc-width);height:var(--slash-arc-height);opacity:0;transform:translate(-50%, -50%) rotate(var(--arc-rotate)) scaleX(.08);animation:slashArc .54s ease-out calc(var(--impact-delay) + 40ms) forwards;border-top:8px solid #fff4b2f5;border-radius:50%;box-shadow:0 -8px 18px #ffae2adb,0 -18px 32px #e02d0c94}.victory-seal{left:50%;top:var(--victory-seal-top);width:var(--victory-seal-width);height:var(--victory-seal-height);background:conic-gradient(from 90deg, transparent 0 7%, #fff299d1 8% 9%, transparent 10% 18%, #5defff85 19% 20%, transparent 21% 100%), radial-gradient(ellipse at center, #fff7c485 0 4%, #ffe25b42 20%, transparent 62%);filter:drop-shadow(0 0 42px #ffe65fb8);opacity:0;border-radius:50%;animation:1.45s cubic-bezier(.12,.82,.18,1) 2.76s forwards victorySeal;transform:translate(-50%)rotateX(62deg)rotate(0)scale(.22)}.victory-sweep{left:50%;top:var(--victory-sweep-top);width:var(--victory-sweep-width);height:var(--victory-sweep-height);filter:blur(14px)drop-shadow(0 0 38px #ffe048bd);opacity:0;background:linear-gradient(90deg,#0000,#ffffffdb,#ffe353a8,#0000);border-radius:50%;animation:.95s ease-out 3.18s forwards victorySweep;transform:translate(-50%)scaleX(.08)}.finish-flare{left:50%;top:var(--finish-flare-top);width:var(--finish-flare-width);height:var(--finish-flare-height);filter:blur(2px)drop-shadow(0 0 46px #ffe65bdb);opacity:0;background:radial-gradient(#fffffff5 0 5%,#ffee7494 18%,#69f2ff47 36%,#0000 70%);border-radius:50%;animation:1.05s ease-out 3.38s forwards finishFlare;transform:translate(-50%)scale(.18)}@keyframes dropOnBoard{0%{opacity:0;transform:translateX(-50%) translateY(calc(var(--hero-cast-drop) * -1)) rotate(-28deg) scale(1.18)}58%{opacity:1}78%{transform:translateX(-50%) translateY(calc(var(--hero-card-width) * .06)) rotate(5deg) scale(1.05)}to{opacity:1;transform:translate(-50%)translateY(0)rotate(0)scale(1)}}@keyframes battleCamera{0%,to{filter:saturate(1.06)contrast(1.02)brightness();transform:scale(1)}24%{filter:saturate(1.16)contrast(1.06)brightness(1.06);transform:scale(1.018)}54%{filter:saturate(1.24)contrast(1.1)brightness(1.08);transform:scale(1.032)}78%{filter:saturate(1.32)contrast(1.14)brightness(1.14);transform:scale(1.042)}}@keyframes enemyIdle{0%,to{filter:none;transform:translateY(0) rotate(var(--enemy-rotate)) scale(1)}45%{filter:drop-shadow(0 0 10px #ffe28b47);transform:translateY(calc(var(--enemy-float) * -1)) rotate(calc(var(--enemy-rotate) + 1.2deg)) scale(1.018)}}@keyframes enemyBrace{0%,to{transform:translate(0, 0) rotate(var(--enemy-rotate)) scale(1)}20%{transform:translate(calc(var(--enemy-width) * -.05), calc(var(--enemy-width) * -.033)) rotate(calc(var(--enemy-rotate) - 5deg)) scale(1.06)}42%{transform:translate(calc(var(--enemy-width) * .063), calc(var(--enemy-width) * .033)) rotate(calc(var(--enemy-rotate) + 5deg)) scale(.98)}66%{transform:translate(calc(var(--enemy-width) * -.029), calc(var(--enemy-width) * .021)) rotate(calc(var(--enemy-rotate) - 3deg)) scale(1.03)}}@keyframes enemyBreak{0%{opacity:1;transform:translate(0, 0) rotate(var(--enemy-rotate)) scale(1)}34%{opacity:1;transform:translate(calc(var(--scatter-x) * .22), calc(var(--enemy-height) * -.094)) rotate(calc(var(--scatter-rotate) * .45)) scale(1.08)}to{opacity:0;transform:translate(var(--scatter-x), var(--scatter-y)) rotate(var(--scatter-rotate)) scale(.42)}}@keyframes enemyDamage{0%,to{filter:brightness()drop-shadow(0 20px 16px #00000073)drop-shadow(0 0 12px #ffda7847)}30%{filter:brightness(1.85)saturate(1.18)drop-shadow(0 20px 16px #0000006b)drop-shadow(0 0 36px #fff097f2)}}@keyframes enemyAshImage{0%{filter:brightness(1.15)saturate(1.12)drop-shadow(0 20px 16px #0000006b)drop-shadow(0 0 20px #ffda787a)}42%{filter:brightness(2.35)saturate(.74)drop-shadow(0 12px 10px #00000059)drop-shadow(0 0 44px #fff6b2f2)}to{filter:brightness(3)saturate(.2)blur(2px)drop-shadow(0 0 44px #ffe561b8)}}@keyframes enemyHitGlow{0%{opacity:0;transform:scale(.35)}32%{opacity:.95}to{opacity:0;transform:scale(1.45)}}@keyframes crackReveal{0%{opacity:0;transform:translate(-50%)rotate(-15deg)scaleY(.1)}32%,80%{opacity:.94}to{opacity:0;transform:translate(-50%)rotate(-15deg)scaleY(1.12)}}.enemy-core--hit .enemy-card__crack--two{animation-name:crackRevealAlt}@keyframes crackRevealAlt{0%{opacity:0;transform:translate(-50%)rotate(24deg)scaleY(.1)}32%,80%{opacity:.94}to{opacity:0;transform:translate(-50%)rotate(24deg)scaleY(1)}}@keyframes ashBloom{0%{opacity:0;transform:translateY(0)scale(.24)}26%{opacity:.88}to{opacity:0;transform:translateY(calc(var(--enemy-height) * -.27)) scale(1.85)}}@keyframes readyPulse{0%,to{filter:drop-shadow(0 0 #ffec7100);transform:translate(-50%)translateY(0)scale(1)}50%{filter:drop-shadow(0 0 22px #ffec71e6);transform:translateX(-50%) translateY(calc(var(--hero-ready-lift) * -1)) scale(1.02)}}@keyframes heroCast{0%{opacity:1;transform:translate(-50%)translateY(0)rotate(0)scale(1)}10%{opacity:1;transform:translateX(-50%) translateY(calc(var(--hero-cast-lift) * .65)) rotate(-2deg) scale(1.05)}24%{opacity:1;transform:translateX(-50%) translateY(calc(var(--hero-cast-lift) * -.76)) rotate(3deg) scale(1.1)}46%{opacity:1;transform:translateX(-50%) translateY(calc(var(--hero-cast-lift) * -.53)) rotate(-3deg) scale(1.05)}62%{opacity:1;transform:translateX(-50%) translateY(calc(var(--hero-cast-lift) * -1)) rotate(2deg) scale(1.08)}82%{opacity:1;transform:translateX(-50%) translateY(calc(var(--hero-cast-lift) * -.3)) rotate(-1deg) scale(1.03)}to{opacity:1;transform:translate(-50%)translateY(0)rotate(0)scale(1)}}@keyframes heroCastGlow{0%,to{filter:drop-shadow(0 20px 18px #00000075)drop-shadow(0 0 18px #ffea846b)}18%,62%{filter:drop-shadow(0 24px 20px #00000080)drop-shadow(0 0 38px #fff386f5)drop-shadow(0 0 28px #50efffb8)}}@keyframes castCircle{0%{opacity:0;transform:translate(-50%)rotateX(64deg)scale(.46)}30%{opacity:.92}to{opacity:0;transform:translate(-50%)rotateX(64deg)scale(1.24)}}@keyframes castSigil{0%{opacity:0;transform:translate(-50%)rotateX(66deg)rotate(0)scale(.55)}26%{opacity:.78}to{opacity:0;transform:translate(-50%)rotateX(66deg)rotate(210deg)scale(1.12)}}@keyframes castSparkOne{0%{opacity:0;transform:translate(-50%)scale(.35)}26%{opacity:1}to{opacity:0;transform:translate(calc(var(--spell-shot-x) * -.8), calc(var(--hero-cast-lift) * -2.5)) scale(1.1)}}@keyframes castSparkTwo{0%{opacity:0;transform:translate(-50%)scale(.35)}26%{opacity:1}to{opacity:0;transform:translate(calc(var(--spell-shot-x) * .74), calc(var(--hero-cast-lift) * -3)) scale(1.18)}}@keyframes castSparkThree{0%{opacity:0;transform:translate(-50%)scale(.35)}26%{opacity:1}to{opacity:0;transform:translate(calc(var(--spell-shot-size) * .25), calc(var(--hero-cast-lift) * -4.4)) scale(1)}}@keyframes beamFire{0%{opacity:0;transform:translateX(-50%) rotate(var(--beam-angle)) scaleY(.04)}20%,64%{opacity:.9}to{opacity:0;transform:translateX(-50%) rotate(var(--beam-angle)) scaleY(1.05)}}@keyframes spellShot{0%{opacity:0;transform:translate(-50%)scale(.42)}18%{opacity:1}78%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--shot-x)), var(--shot-y)) scale(1.26)}}@keyframes impactBurst{0%{opacity:0;transform:translate(-50%,-50%)scale(.12)}24%{opacity:1;transform:translate(-50%,-50%)scale(.78)}52%{opacity:.9;transform:translate(-50%,-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-50%)scale(1.52)}}@keyframes slashArc{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--arc-rotate)) scaleX(.08)}28%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--arc-rotate)) scaleX(1.22)}}@keyframes victorySeal{0%{opacity:0;transform:translate(-50%)rotateX(62deg)rotate(0)scale(.22)}24%{opacity:.86}to{opacity:0;transform:translate(-50%)rotateX(62deg)rotate(260deg)scale(1.08)}}@keyframes victorySweep{0%{opacity:0;transform:translate(-50%)scaleX(.08)}28%{opacity:.9}to{opacity:0;transform:translate(-50%)scaleX(1)}}@keyframes finishFlare{0%{opacity:0;transform:translate(-50%)scale(.18)}28%{opacity:.96}to{opacity:0;transform:translate(-50%)scale(1.8)}}.wheel-scene,.reward-scene{--reward-safe-margin:24px;--gem-reward-banner-top:54px;--gem-reward-banner-width:640px;--stop-button-top:640px;--stop-button-width:276px;--stop-hover-lift:2px;--wheel-top:50%;--wheel-width:430px;background:#080c13}.bonus-backdrop{background:url(/assets/pre_landing_battle.webp) 50%/auto 100% no-repeat;position:absolute;inset:0}.bonus-backdrop:after{content:"";background:radial-gradient(circle at 50% 48%,#03070a0f,#03070a5c 72%);position:absolute;inset:0}.bonus-panel{z-index:3;position:absolute;inset:0}.bonus-copy{text-align:center;text-shadow:0 5px 22px #000000d1}.bonus-copy span{color:#ffe786;text-transform:uppercase;font-size:16px;font-weight:900;display:block}.bonus-copy strong{text-transform:uppercase;margin-top:6px;font-size:34px;line-height:1;display:block}.gem-reward-banner{top:var(--gem-reward-banner-top);z-index:4;width:var(--gem-reward-banner-width);max-width:calc(100vw - var(--reward-safe-margin) * 2);object-fit:contain;pointer-events:none;filter:drop-shadow(0 16px 22px #0000006b)drop-shadow(0 0 18px #ffdd5b38);height:auto;display:block;position:absolute;left:50%;transform:translate(-50%)}.wheel-wrap{top:var(--wheel-top);width:var(--wheel-width);aspect-ratio:595/615;filter:drop-shadow(0 28px 34px #0000008a)drop-shadow(0 0 30px #ffd34b33);position:absolute;left:50%;transform:translate(-50%,-50%)}.wheel-inner{z-index:1;transform-origin:50%;will-change:transform;width:72.78%;height:auto;position:absolute;top:14.35%;left:13.55%}.wheel-frame{z-index:2;object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.wheel-inner--spinning{animation:1.4s linear infinite wheelSpin}.wheel-inner--stopping{animation:5.8s forwards wheelStop}.stop-button{top:var(--stop-button-top);width:var(--stop-button-width);aspect-ratio:337/167;cursor:pointer;filter:drop-shadow(0 16px 18px #00000075)drop-shadow(0 0 18px #ffe17657);background:0 0;border:0;place-items:center;padding:0;transition:filter .16s,transform .16s;display:grid;position:absolute;left:50%;transform:translate(-50%)}.stop-button img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.stop-button:hover,.stop-button:focus-visible{filter:drop-shadow(0 18px 20px #00000080)drop-shadow(0 0 28px #ffe87c7a);transform:translateX(-50%) translateY(calc(var(--stop-hover-lift) * -1)) scale(1.02);outline:0}.stop-button:disabled{cursor:default;filter:drop-shadow(0 12px 14px #0000006b)drop-shadow(0 0 14px #ffe1763d);opacity:.88;transform:translateX(-50%) translateY(var(--stop-hover-lift)) scale(.99)}.reward-card{z-index:4;width:min(calc(100vw - var(--reward-safe-margin) * 2), 900px);text-align:center;filter:drop-shadow(0 28px 44px #00000085);background:0 0;border:0;flex-direction:column;align-items:center;gap:clamp(4px,1.2vh,12px);padding:0;animation:.9s cubic-bezier(.16,.82,.2,1.08) forwards rewardEnter;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reward-top{aspect-ratio:1299/638;object-fit:contain;pointer-events:none;width:min(100%,900px);height:auto;display:block}.promo-code{aspect-ratio:1066/247;color:#ffe994;text-shadow:0 3px #3b1908,0 7px 12px #000000bf,0 0 18px #ffdd5b5c;text-transform:uppercase;background:url(/assets/reward_usecode.webp) 50%/contain no-repeat;place-items:center;width:min(100%,760px);font-family:Arial,Helvetica,sans-serif;font-size:clamp(30px,8.4vw,74px);font-weight:1000;line-height:1;display:grid;position:relative}.promo-code span{display:block;transform:translateY(12%)}.continue-button{aspect-ratio:720/200;cursor:pointer;filter:drop-shadow(0 18px 20px #0000007a)drop-shadow(0 0 20px #ffe0594d);transform-origin:50%;background:0 0;border:0;width:min(78vw,620px);padding:0;display:block}.continue-button img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.continue-button:hover,.continue-button:focus-visible{filter:drop-shadow(0 20px 22px #00000085)drop-shadow(0 0 34px #ffea6f80);outline:0}@media (height<=780px){.reward-card{gap:clamp(3px,.8vh,8px)}.reward-top{width:min(100%,700px)}.promo-code{width:min(100%,640px);font-size:clamp(30px,6.2vw,62px)}.continue-button{width:min(72vw,500px)}}@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes wheelStop{0%{transform:rotate(var(--wheel-stop-from,0deg));animation-timing-function:cubic-bezier(.08,.66,.14,1)}70%{transform:rotate(var(--wheel-stop-before,1755deg));animation-timing-function:cubic-bezier(.08,.82,.16,1)}76%{transform:rotate(var(--wheel-stop-before,1755deg));animation-timing-function:cubic-bezier(.32,0,.34,1)}88%{transform:rotate(var(--wheel-stop-strain,1748deg));animation-timing-function:cubic-bezier(.12,.72,.2,1)}98%{transform:rotate(var(--wheel-stop-almost,1791deg));animation-timing-function:ease-out}to{transform:rotate(var(--wheel-stop-to,1800deg))}}@keyframes rewardEnter{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.choose-scene{--choice-card-height:321px;--choice-card-half-width:121px;--choice-card-top:calc(48% - 146px);--choice-card-width:242px;--choice-confirm-gap:14px;--choice-confirm-top:calc(48% + 215px);--choice-confirm-width:min(82vw, 680px);--choice-description-content-width:520px;--choice-description-font-size:18px;--choice-description-height:70px;--choice-description-pad-x:64px;--choice-description-pad-y:12px;--choice-description-width:min(100%, 640px);--choice-light-size:700px;--deal-overshoot-y:10px;--deal-start-y:86px;--start-button-width:min(68vw, 440px);isolation:isolate;background-color:#0f0f0f;background-image:url(/assets/background.webp);background-position:50%;background-repeat:no-repeat;background-size:auto 100%}.choose-scene:before,.choose-scene:after{content:none}.choose-light{width:var(--choice-light-size);height:var(--choice-light-size);filter:blur(12px);opacity:0;background:radial-gradient(circle,#ffe474cc,#ff7b262e 34%,#0000 68%);border-radius:50%;animation:1.6s ease-out forwards packLight;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)scale(.3)}.choose-title{z-index:10;text-align:center;text-shadow:0 4px 18px #000000b8;width:560px;position:absolute;top:38px;left:50%;transform:translate(-50%)}.choose-title span{color:#ffe996;text-transform:uppercase;font-size:18px;font-weight:800;display:block}.choose-title strong{text-transform:uppercase;margin-top:8px;font-size:42px;line-height:1;display:block}.choice-row{z-index:9;position:absolute;inset:0}.choice-card{--card-lift:0px;--card-scale:1;--push-x:0px;top:var(--choice-card-top);left:calc(50% - var(--choice-card-half-width));z-index:6;width:var(--choice-card-width);height:var(--choice-card-height);cursor:pointer;opacity:0;transform:translate(0, var(--deal-start-y)) scale(.4);transform-origin:bottom;animation:dealCard .85s cubic-bezier(.16, .86, .2, 1.15) var(--deal-delay) forwards;will-change:transform;background:0 0;border:0;padding:0;transition:transform .36s cubic-bezier(.2,.82,.2,1);position:absolute}.choice-card:before{content:"";pointer-events:none;z-index:0;opacity:.76;border-radius:22px;transition:box-shadow .32s,opacity .24s;position:absolute;inset:22px 20px 14px;box-shadow:0 20px 22px #00000094}.choice-card__image{z-index:2;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;backface-visibility:hidden;width:100%;height:100%;transition:filter .28s;display:block;position:relative}.choice-row--active .choice-card{transform:translate(calc(var(--card-x) + var(--push-x)), calc(var(--card-y) - var(--card-lift))) rotate(var(--card-tilt)) scale(var(--card-scale))!important}.choice-card--hovered:before{opacity:.84;box-shadow:0 20px 22px #00000094,0 0 16px #ffd55c69}.choice-card--hovered .choice-card__image{filter:drop-shadow(0 0 5px #fff4b8a6)drop-shadow(0 0 14px #ffbc377a)}.choice-card--active{z-index:12}.choice-card--active:before{opacity:.9;box-shadow:0 30px 30px #000000b3}.choice-card--active .choice-card__image{filter:drop-shadow(0 0 10px #fff8bef2)drop-shadow(0 0 24px #ffc547d1)}.choice-card--selected .choice-card__image{filter:drop-shadow(0 0 12px #fffbcb)drop-shadow(0 0 32px #ffb02af2)}.choice-card:focus-visible{outline:0}.choice-confirm{left:50%;top:var(--choice-confirm-top);z-index:14;width:var(--choice-confirm-width);justify-items:center;gap:var(--choice-confirm-gap);opacity:0;animation:.42s cubic-bezier(.16,.84,.22,1) forwards confirmEnter;display:grid;position:absolute;transform:translate(-50%,18px)}.choice-description{width:min(100%, var(--choice-description-width));min-height:var(--choice-description-height);padding:var(--choice-description-pad-y) var(--choice-description-pad-x);background-image:url(/assets/board_for_description_card.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;place-items:center;display:grid}.choice-description p{max-width:var(--choice-description-content-width);color:#fff7d7;overflow-wrap:break-word;font-size:var(--choice-description-font-size);text-align:center;text-shadow:0 2px 3px #000000db,0 0 10px #ffae3466;margin:0;font-weight:700;line-height:1.22}.start-battle-button{width:var(--start-button-width);aspect-ratio:502/188;cursor:pointer;filter:drop-shadow(0 8px 14px #0000007a)drop-shadow(0 0 14px #ffb72c75);background:0 0;border:0;padding:0;transition:filter .22s,transform .22s}.start-battle-button img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.start-battle-button:hover,.start-battle-button:focus-visible{filter:drop-shadow(0 12px 18px #0000008a)drop-shadow(0 0 22px #ffe26bb8);transform:translateY(-2px)scale(1.03)}.start-battle-button:active{transform:translateY(1px)scale(.98)}@keyframes packLight{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}58%{opacity:.95}to{opacity:.7;transform:translate(-50%,-50%)scale(1)}}@keyframes dealCard{0%{opacity:0;transform:translate(0, var(--deal-start-y)) rotate(0deg) scale(.38)}72%{opacity:1;transform:translate(var(--card-x), calc(var(--card-y) - var(--deal-overshoot-y))) rotate(var(--card-tilt)) scale(1.05)}to{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-tilt)) scale(1)}}@keyframes confirmEnter{to{opacity:1;transform:translate(-50%)}}
