body{overflow-x:hidden}main{animation:pageIn .6s ease both}button{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}button:hover:not(:disabled){filter:brightness(1.16);box-shadow:0 0 18px #76dff755}button:active:not(:disabled){transform:translateY(2px) scale(.98)}#village{animation:worldBreathe 9s ease-in-out infinite}.pin{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.pin:hover{box-shadow:0 8px 28px #5cccf188}.xpbar i,.hpbar i{transition:width .45s cubic-bezier(.2,.8,.2,1)}#activity,#casino,#battle{animation:sectionIn .35s ease both}.casino-frame{animation:sectionIn .5s .08s ease both}.slot-stage{position:relative;overflow:hidden}.slot-stage:before{content:"";position:absolute;inset:-90% -20%;background:linear-gradient(105deg,transparent 43%,#fff2 50%,transparent 57%);transform:translateX(-100%);animation:shine 7s ease-in-out infinite}.marquee{position:relative;z-index:1}.marquee b{animation:marqueeGlow 2s ease-in-out infinite}.jackpot{animation:jackpotPulse 2.2s ease-in-out infinite}#reels{position:relative;z-index:1}.reel-spinning{animation:reelShake .09s linear infinite}.reel-stopped{animation:reelLand .32s cubic-bezier(.18,.9,.3,1.25)}#reels .symbol{transition:transform .1s ease,filter .1s ease}#reels.spinning .symbol{filter:brightness(1.35) saturate(1.35)}#spin[disabled]{opacity:.6;cursor:wait}@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes sectionIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes worldBreathe{50%{filter:brightness(1.08) saturate(1.08)}}@keyframes shine{15%,100%{transform:translateX(100%)}}@keyframes marqueeGlow{50%{color:#fff8ca;text-shadow:0 0 14px #ffe56f}}@keyframes jackpotPulse{50%{box-shadow:0 0 26px #ffc95199;transform:scale(1.03)}}@keyframes reelShake{50%{transform:translateY(-3px)}}@keyframes reelLand{0%{transform:translateY(-18px);filter:brightness(2)}70%{transform:translateY(4px)}100%{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
