@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
@keyframes pulse{50%{transform:scale(1.03)}}
@keyframes glow{50%{box-shadow:0 0 25px #f2ac3b}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{from{background-position:-400px 0}to{background-position:400px 0}}
.fade-in{animation:fadeIn .65s ease both}
.slide-up{animation:slideUp .65s ease both}
.slide-down{animation:slideDown .65s ease both}
.pulse{animation:pulse 2s ease-in-out infinite}
.glow{animation:glow 2s ease-in-out infinite}
.reel.spinning{animation:spin .35s linear infinite}
.animate-delay-1{animation-delay:.1s}
.animate-delay-2{animation-delay:.2s}
.animate-delay-3{animation-delay:.3s}
.animate-delay-4{animation-delay:.4s}
.animate-delay-5{animation-delay:.5s}
.hover-lift{transition:transform .25s ease,box-shadow .25s ease}
.hover-lift:hover{transform:translateY(-5px);box-shadow:0 12px 28px #0006}
.transition-color{transition:color .25s ease}
.transition-bg{transition:background-color .25s ease}
.transition-all{transition:all .25s ease}
.reveal{opacity:0}
.reveal.visible{opacity:1;animation:slideUp .6s ease both}
.skeleton{background:linear-gradient(90deg,#292d35,#404650,#292d35);background-size:800px 100%;animation:shimmer 1.5s infinite}
.button-pop:active{transform:scale(.96)}
.nav-fade{animation:fadeIn .4s ease both}
.card-enter{animation:slideUp .5s ease both}
.jackpot-glow{animation:glow 1.8s infinite}
.winner-enter{animation:fadeIn .45s ease both}
.modal-enter{animation:slideDown .35s ease both}
.toast-enter{animation:slideUp .35s ease both}
.accordion-open{animation:fadeIn .3s ease both}
.icon-spin:hover{animation:spin .8s linear}
.shine{position:relative;overflow:hidden}
.shine:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff4 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s}
.shine:hover:after{transform:translateX(100%)}
.scale-hover{transition:transform .3s}
.scale-hover:hover{transform:scale(1.03)}
.fade-border{transition:border-color .3s,box-shadow .3s}
.fade-border:hover{border-color:#f2ac3b;box-shadow:0 0 14px #f2ac3b44}
.ticker{animation:slideUp .5s ease both}
.ticker:nth-child(2){animation-delay:.1s}
.ticker:nth-child(3){animation-delay:.2s}
.ticker:nth-child(4){animation-delay:.3s}
.ticker:nth-child(5){animation-delay:.4s}
.loading-spin{animation:spin 1s linear infinite}
.infinite-pulse{animation:pulse 3s ease-in-out infinite}
.focus-ring:focus{animation:glow 1s ease}
.page-load{animation:fadeIn .8s ease both}