@keyframes coinSpin{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}@keyframes sparkle{0%{opacity:0;transform:scale(0) translateY(0) rotate(0deg)}25%{opacity:1;transform:scale(1) translateY(-20px) rotate(90deg)}50%{opacity:1;transform:scale(.8) translateY(-35px) rotate(180deg)}to{opacity:0;transform:scale(.3) translateY(-50px) rotate(1turn)}}@keyframes pulseRing{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1.2);opacity:.3}to{transform:scale(1.5);opacity:0}}@keyframes progressShrink{0%{width:100%}to{width:0}}@keyframes rainbowShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.coin-spin{animation:coinSpin 3s linear infinite}.sparkle-particle{position:absolute;animation:sparkle 1s ease-out forwards;pointer-events:none}.pulse-ring{position:absolute;border-radius:50%;animation:pulseRing 1.5s ease-out infinite}.progress-bar-shrink{animation:progressShrink 6s linear forwards;transform-origin:left}.rainbow-gradient{background:linear-gradient(45deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#fd79a8);background-size:300% 300%;animation:rainbowShift 3s ease infinite}@keyframes numberRoll{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.number-roll{animation:numberRoll .3s ease-out}