@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes glow{0%,100%{box-shadow:0 0 10px rgba(195,0,84,.3)}50%{box-shadow:0 0 30px rgba(195,0,84,.7)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

.animate-pulse{animation:pulse 2s ease-in-out infinite}
.animate-float{animation:float 3s ease-in-out infinite}
.animate-glow{animation:glow 2.5s ease-in-out infinite}

.btn--pri,.btn--bonus{position:relative;overflow:hidden}
.btn--pri::after,.btn--bonus::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,.12);transform:skewX(-20deg);animation:shimmer-btn 3s ease-in-out infinite}
@keyframes shimmer-btn{0%,90%,100%{left:-60%}45%{left:130%}}

.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(195,0,84,.12) 0%,transparent 60%);z-index:1;pointer-events:none}

.slot-machine{position:relative;overflow:hidden}
.slot-machine::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(195,0,84,.08) 0%,transparent 70%);pointer-events:none}

.game-card-overlay .btn{transform:scale(.85);transition:transform .2s ease}
.game-card:hover .game-card-overlay .btn{transform:scale(1)}

.reel.spinning .reel-inner{animation:reel-spin .1s linear infinite}
@keyframes reel-spin{0%{transform:translateY(0)}50%{transform:translateY(-4px)}100%{transform:translateY(0)}}

.winner-amount{position:relative}
.winner-amount::before{content:'+';margin-right:1px;opacity:.7}

.footer-social a{transition:transform .25s ease,background .25s ease}
.footer-social a:hover{transform:translateY(-3px)}

.widget-float{backdrop-filter:blur(12px)}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
