@keyframes milestone-pulse{0%,to{transform:scale(1);filter:brightness(1) drop-shadow(0 0 0px transparent)}50%{transform:scale(1.28);filter:brightness(1.4) drop-shadow(0 0 8px gold)}}.milestone-pulse{animation:milestone-pulse 2.2s ease-in-out infinite;display:inline-block;cursor:pointer}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .4s cubic-bezier(.22,1,.36,1) both}@keyframes pointer-bounce{0%,to{transform:translate(-50%) translateY(0)}30%{transform:translate(-50%) translateY(-6px)}60%{transform:translate(-50%) translateY(-2px)}}.pointer-bounce{animation:pointer-bounce .5s ease 1}@keyframes coin-flip{0%{transform:rotateY(0) scale(1)}15%{transform:rotateY(720deg) scale(1.12)}40%{transform:rotateY(2160deg) scale(1.08)}70%{transform:rotateY(3240deg) scale(1.04)}88%{transform:rotateY(3510deg) scale(1.01)}to{transform:rotateY(3600deg) scale(1)}}.coin-flip-anim{animation:coin-flip 3s cubic-bezier(.15,.85,.35,1) both;transform-style:preserve-3d}@keyframes dice-shake{0%{transform:rotate(0) scale(1) translateY(0)}8%{transform:rotate(-22deg) scale(1.12) translateY(-8px)}16%{transform:rotate(18deg) scale(.92) translateY(4px)}24%{transform:rotate(-15deg) scale(1.1) translateY(-6px)}32%{transform:rotate(12deg) scale(.95) translateY(3px)}40%{transform:rotate(-10deg) scale(1.07) translateY(-4px)}50%{transform:rotate(8deg) scale(.97) translateY(2px)}60%{transform:rotate(-6deg) scale(1.04) translateY(-3px)}70%{transform:rotate(4deg) scale(.99) translateY(1px)}80%{transform:rotate(-3deg) scale(1.02) translateY(-1px)}90%{transform:rotate(2deg) scale(1) translateY(0)}95%{transform:rotate(-1deg) scale(1)}to{transform:rotate(0) scale(1) translateY(0)}}.dice-shake{animation:dice-shake 3s cubic-bezier(.25,.46,.45,.94) both}@keyframes card-flip-in{0%{transform:rotateY(90deg) scale(.9);opacity:0}60%{transform:rotateY(-8deg) scale(1.04);opacity:1}80%{transform:rotateY(4deg) scale(1.01)}to{transform:rotateY(0) scale(1);opacity:1}}.card-flip-in{animation:card-flip-in .55s cubic-bezier(.22,1,.36,1) both}@keyframes flash-green{0%,to{box-shadow:inset 0 0 0 0 transparent}40%{box-shadow:inset 0 0 0 4px #22c55e99,0 0 30px #22c55e66}}.flash-green{animation:flash-green .7s ease both}@keyframes flash-red{0%,to{box-shadow:inset 0 0 0 0 transparent}40%{box-shadow:inset 0 0 0 4px #ef444499,0 0 30px #ef444466}}.flash-red{animation:flash-red .7s ease both}@keyframes reel-blur{0%,to{filter:blur(0)}50%{filter:blur(1.5px)}}@keyframes scratch-reveal{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.scratch-reveal{animation:scratch-reveal .35s ease both}@keyframes symbol-glow{0%,to{box-shadow:0 0 8px 2px #ffd70080}50%{box-shadow:0 0 22px 6px #ffd700e6}}.symbol-glow{animation:symbol-glow 1.2s ease infinite}@keyframes tab-appear{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.tab-appear{animation:tab-appear .18s ease both}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slide-up .3s cubic-bezier(.22,1,.36,1) both}@keyframes slide-left{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.slide-left{animation:slide-left .35s cubic-bezier(.22,1,.36,1) both}@keyframes slide-right{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}.slide-right{animation:slide-right .35s cubic-bezier(.22,1,.36,1) both}@keyframes fill-bar{0%{width:0%}}.fill-bar{animation:fill-bar .6s cubic-bezier(.22,1,.36,1) both}@keyframes win-glow{0%,to{box-shadow:0 0 8px 2px #ffd70066}50%{box-shadow:0 0 24px 6px #ffd700cc}}.win-glow{animation:win-glow 1.2s ease infinite}@keyframes badge-earn{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.3);filter:brightness(1.6) drop-shadow(0 0 12px gold)}60%{transform:scale(.95);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.badge-earn{animation:badge-earn .8s cubic-bezier(.22,1,.36,1) both}@keyframes float-particle{0%{transform:translateY(0) scale(1);opacity:0}8%{opacity:1}90%{opacity:.5}to{transform:translateY(-100vh) scale(.3);opacity:0}}.particle{position:absolute;border-radius:50%;background:#fff;animation:float-particle linear infinite;pointer-events:none}@keyframes slot-win-pulse{0%,to{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.12);filter:brightness(1.5) drop-shadow(0 0 8px gold)}}.slot-win{animation:slot-win-pulse .6s ease both}@keyframes backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}@keyframes vip-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.vip-text{background:linear-gradient(90deg,gold,#fff176,gold,orange,gold);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:vip-shimmer 2.5s linear infinite}@keyframes popup-scale-in{0%{opacity:0;transform:scale(.88) translateY(28px)}60%{transform:scale(1.02) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-scale-in{animation:popup-scale-in .38s cubic-bezier(.22,1,.36,1) both}@keyframes gold-pulse{0%,to{box-shadow:0 0 12px #ffd7004d}50%{box-shadow:0 0 40px #ffd700e6,0 0 80px #ffd7004d}}.gold-pulse{animation:gold-pulse 1.6s ease-in-out infinite}@keyframes dice-wild{0%{transform:rotate(0) scale(1) translateY(0)}10%{transform:rotate(-28deg) scale(1.14) translateY(-10px)}20%{transform:rotate(22deg) scale(.9) translateY(5px)}30%{transform:rotate(-18deg) scale(1.1) translateY(-8px)}40%{transform:rotate(14deg) scale(.93) translateY(4px)}50%{transform:rotate(-11deg) scale(1.07) translateY(-6px)}60%{transform:rotate(8deg) scale(.96) translateY(3px)}70%{transform:rotate(-6deg) scale(1.04) translateY(-3px)}80%{transform:rotate(4deg) scale(.99) translateY(2px)}90%{transform:rotate(-2deg) scale(1.01) translateY(-1px)}to{transform:rotate(0) scale(1) translateY(0)}}.dice-wild{animation:dice-wild 3s cubic-bezier(.25,.46,.45,.94) both}@keyframes dice-idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.dice-idle-bounce{animation:dice-idle-bounce 2s ease-in-out infinite}@keyframes result-flash-green{0%{background:transparent}30%{background:#22c55e40}to{background:transparent}}.result-flash-green{animation:result-flash-green .7s ease both}@keyframes result-flash-red{0%{background:transparent}30%{background:#ef444440}to{background:transparent}}.result-flash-red{animation:result-flash-red .7s ease both}
