@keyframes cardEnter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes reelSpin{0%{transform:translateY(0) rotateX(0);filter:blur(0)}35%{transform:translateY(-26px) rotateX(160deg);filter:blur(5px)}70%{transform:translateY(18px) rotateX(310deg);filter:blur(3px)}100%{transform:none;filter:none}}
@keyframes cardDeal{0%{opacity:0;transform:translate(120px,-90px) rotate(35deg) scale(.7)}60%{opacity:1;transform:translate(-8px,5px) rotate(-5deg) scale(1.05)}100%{transform:none}}
@keyframes wheelSpin{0%{transform:rotate(0) scale(.9)}70%{transform:rotate(900deg) scale(1.05)}100%{transform:rotate(1080deg) scale(1)}}
@keyframes diceTumble{0%{transform:rotate(0) scale(.7)}30%{transform:rotate(-25deg) scale(1.15) translateY(-24px)}65%{transform:rotate(18deg) scale(.92) translateY(9px)}100%{transform:none}}
@keyframes gemReveal{0%{transform:scale(.5) rotate(-20deg);filter:brightness(2)}55%{transform:scale(1.28) rotate(8deg);filter:brightness(1.6)}100%{transform:none;filter:none}}
@keyframes rocketLaunch{0%{transform:translate(-45px,55px) rotate(-8deg);opacity:.35}65%{transform:translate(18px,-32px) rotate(6deg);opacity:1}100%{transform:none}}
@keyframes plinkoDrop{0%{transform:translateY(-115px) translateX(-40px) scale(.65)}25%{transform:translateY(-70px) translateX(35px)}50%{transform:translateY(-35px) translateX(-20px)}75%{transform:translateY(5px) translateX(15px)}100%{transform:none}}
@keyframes kenoBurst{0%{transform:scale(.2) rotate(-120deg);opacity:0}65%{transform:scale(1.18) rotate(12deg);opacity:1}100%{transform:none}}
@keyframes chickenHop{0%{transform:translateX(-18px) translateY(8px) rotate(-5deg)}45%{transform:translateX(8px) translateY(-24px) rotate(8deg)}75%{transform:translateX(16px) translateY(2px)}100%{transform:none}}
@keyframes towerClimb{0%{transform:translateY(34px);opacity:.45}55%{transform:translateY(-14px);opacity:1}100%{transform:none}}
@keyframes coinFlip{0%{transform:rotateY(0) translateY(0)}45%{transform:rotateY(720deg) translateY(-45px) scale(1.15)}100%{transform:rotateY(1080deg) translateY(0)}}
@keyframes resultPulse{0%{text-shadow:0 0 0 transparent}40%{text-shadow:0 0 24px #79d8ff;transform:scale(1.04)}100%{text-shadow:none;transform:none}}
@keyframes stageFlash{0%{box-shadow:inset 0 0 0 #79d8ff00}35%{box-shadow:inset 0 0 70px #79d8ff20}100%{box-shadow:inset 0 0 0 #79d8ff00}}
.game-card{animation:cardEnter .55s cubic-bezier(.2,.8,.2,1) both}.game-card:nth-child(2){animation-delay:.05s}.game-card:nth-child(3){animation-delay:.1s}.game-card:nth-child(4){animation-delay:.15s}.game-card:nth-child(5){animation-delay:.2s}.game-card:nth-child(6){animation-delay:.25s}.game-card:nth-child(7){animation-delay:.3s}.game-card:nth-child(8){animation-delay:.35s}.game-card:nth-child(9){animation-delay:.4s}.game-card:nth-child(10){animation-delay:.45s}.game-card:nth-child(11){animation-delay:.5s}
.game-stage[class*=anim-]{animation:stageFlash .9s ease}.anim-slots .slot-reels span{animation:reelSpin .72s cubic-bezier(.2,.8,.2,1)}.anim-slots .slot-reels span:nth-child(2){animation-delay:.08s}.anim-slots .slot-reels span:nth-child(3){animation-delay:.16s}.anim-cards .mini-card{animation:cardDeal .55s cubic-bezier(.15,.8,.25,1) both}.anim-cards .mini-card:nth-child(2){animation-delay:.12s}.anim-cards .mini-card:nth-child(3){animation-delay:.24s}.anim-roulette .roulette-result{animation:wheelSpin .9s cubic-bezier(.15,.75,.2,1)}.anim-dice .roulette-result{animation:diceTumble .7s ease}.anim-mines .mine-cell.safe,.anim-mines .mine-cell.bomb{animation:gemReveal .55s ease}.anim-crash .crash-line{animation:rocketLaunch .85s cubic-bezier(.15,.8,.2,1)}.anim-plinko .big-icon{animation:plinkoDrop .9s cubic-bezier(.3,.1,.3,1)}.anim-plinko .plinko-slots .hit{animation:resultPulse .75s ease}.anim-keno .keno-num[style]{animation:kenoBurst .65s ease}.anim-chicken .chicken-step.current{animation:chickenHop .65s cubic-bezier(.2,.8,.25,1)}.anim-towers .tower-choice.safe,.anim-towers .tower-choice.bad{animation:towerClimb .6s ease}.anim-coin .ice-coin{animation:coinFlip .85s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}.game-shell .result:not(:empty){animation:resultPulse .65s ease}
button{transition:transform .14s ease,background-color .2s ease,filter .2s ease}button:active{transform:scale(.95)}dialog[open]{animation:cardEnter .25s ease}.wallet strong{transition:color .2s ease}.game-visual img{will-change:transform}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
