@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}
@keyframes countUp{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes liveDot{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes floatIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes winPulse{0%{text-shadow:0 0 0 rgba(255,215,0,0)}50%{text-shadow:0 0 30px rgba(255,215,0,.8)}100%{text-shadow:0 0 0 rgba(255,215,0,0)}}

.animate-fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.animate-fade-up.in-view{opacity:1;transform:translateY(0)}
.animate-fade-in{opacity:0;transition:opacity .6s ease}
.animate-fade-in.in-view{opacity:1}

.hero-title{animation:fadeInUp .6s ease both}
.hero-subtitle{animation:fadeInUp .6s .15s ease both}
.hero-bonus-tile{animation:fadeInUp .6s .3s ease both}

.section-title{animation:fadeIn .4s ease}
.game-tile{animation:floatIn .4s ease both}
.game-tile:nth-child(2){animation-delay:.05s}
.game-tile:nth-child(3){animation-delay:.1s}
.game-tile:nth-child(4){animation-delay:.15s}
.game-tile:nth-child(5){animation-delay:.2s}
.game-tile:nth-child(6){animation-delay:.25s}
.game-tile:nth-child(7){animation-delay:.3s}
.game-tile:nth-child(8){animation-delay:.35s}

.adv-tile{animation:floatIn .4s ease both}
.adv-tile:nth-child(1){animation-delay:0s}
.adv-tile:nth-child(2){animation-delay:.05s}
.adv-tile:nth-child(3){animation-delay:.1s}
.adv-tile:nth-child(4){animation-delay:.15s}
.adv-tile:nth-child(5){animation-delay:.2s}
.adv-tile:nth-child(6){animation-delay:.25s}
.adv-tile:nth-child(7){animation-delay:.3s}
.adv-tile:nth-child(8){animation-delay:.35s}

.jp-value{background:linear-gradient(90deg,#FFD700,#FFA500,#FFD700);background-size:200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}
.jackpot-tile:hover .jp-value{animation:shimmer 1.5s linear infinite}

.live-badge{animation:liveDot 2s ease-in-out infinite}

.win-amount{animation:winPulse 3s ease-in-out infinite}

.btn--primary{position:relative;overflow:hidden}
.btn--primary::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translateX(-100%);transition:transform .5s ease}
.btn--primary:hover::after{transform:translateX(100%)}

.floating-widget{animation:floatIn .5s 2s ease both}

.slot-result.win-anim{animation:winPulse .5s ease 3}

.section-block{position:relative;overflow:hidden}
.section-block::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(1,165,237,.3),transparent)}
