@keyframes diceRoll{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(90deg) scale(1.2)}50%{transform:rotate(180deg) scale(0.9)}75%{transform:rotate(270deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
@keyframes diceBounce{0%{transform:translateY(-30px) rotate(-20deg);opacity:0}40%{transform:translateY(5px) rotate(5deg);opacity:1}60%{transform:translateY(-8px) rotate(-3deg)}80%{transform:translateY(2px) rotate(1deg)}100%{transform:translateY(0) rotate(0deg)}}
@keyframes cardDeal{0%{opacity:0;transform:translateX(-80px) rotate(-15deg) scale(0.5)}60%{opacity:1;transform:translateX(5px) rotate(2deg) scale(1.02)}100%{transform:translateX(0) rotate(0) scale(1)}}
@keyframes cardGlow{0%,100%{box-shadow:0 0 5px rgba(68,170,68,0.2)}50%{box-shadow:0 0 15px rgba(68,170,68,0.5)}}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}
@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}
@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{0%{opacity:0;transform:scale(0.5)}70%{transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 10px rgba(255,215,0,0.2)}50%{box-shadow:0 0 25px rgba(255,215,0,0.6)}}
@keyframes shake{0%,100%{transform:translateX(0)}10%,50%,90%{transform:translateX(-4px)}30%,70%{transform:translateX(4px)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes particleFloat{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-100px) scale(0.3)}}
@keyframes particleDrift{0%{opacity:0;transform:translateY(100vh) translateX(0)}10%{opacity:0.6}90%{opacity:0.6}100%{opacity:0;transform:translateY(-10vh) translateX(var(--drift,30px))}}

/* Boot animation */
.boot-die{animation:bootDieFloat 2s ease-in-out infinite}
.boot-die:nth-child(2){animation-delay:0.3s}
.boot-die:nth-child(3){animation-delay:0.6s}
.boot-die:nth-child(4){animation-delay:0.9s}
@keyframes bootDieFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}}

/* Title pulse */
@keyframes titlePulse{0%,100%{text-shadow:0 0 30px rgba(255,215,0,0.4)}50%{text-shadow:0 0 50px rgba(255,215,0,0.7),0 0 80px rgba(255,215,0,0.3)}}
.boot-title,.menu-title{animation:titlePulse 3s ease-in-out infinite}

/* Victory burst */
@keyframes victoryBurst{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}

/* Enemy death */
@keyframes enemyDeath{0%{opacity:1;transform:scale(1);filter:brightness(1)}30%{filter:brightness(2)}100%{opacity:0;transform:scale(0.5) translateY(20px);filter:brightness(0)}}

/* Screen shake */
.screen-shake{animation:shake 0.3s ease}

/* Reward float */
@keyframes rewardFloat{0%{opacity:0;transform:translateY(40px) scale(0.8)}100%{opacity:1;transform:translateY(0) scale(1)}}

/* Scene transitions - smooth blur */
.scene{transition:opacity var(--transition-slow),transform var(--transition-slow),filter var(--transition-slow)}

/* Juice: number counter pop */
@keyframes counterPop{0%{transform:scale(1)}50%{transform:scale(1.3);color:var(--gold)}100%{transform:scale(1)}}
.counter-pop{animation:counterPop 0.3s ease-out}

/* Juice: screen flash on big moments */
@keyframes screenFlashWhite{0%{opacity:0.6}100%{opacity:0}}
.screen-flash{position:fixed;inset:0;background:#fff;pointer-events:none;z-index:9998;animation:screenFlashWhite 0.3s ease-out forwards}
.screen-flash-gold{position:fixed;inset:0;background:var(--gold);pointer-events:none;z-index:9998;animation:screenFlashWhite 0.4s ease-out forwards}

/* Juice: text wobble entrance */
@keyframes textWobble{0%{transform:scale(0.3) rotate(-5deg);opacity:0}60%{transform:scale(1.1) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
.text-wobble{animation:textWobble 0.5s ease-out}

/* Juice: particle burst on click */
@keyframes particleBurstOut{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--px),var(--py)) scale(0)}}
.particle-burst{position:absolute;width:6px;height:6px;background:var(--gold);border-radius:50%;pointer-events:none;animation:particleBurstOut 0.4s ease-out forwards}
