@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px rgba(34,197,94,.3)}50%{box-shadow:0 0 30px rgba(34,197,94,.6)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-slide-in-up{animation:slideInUp .6s ease-out forwards}.animate-slide-in-down{animation:slideInDown .6s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-pulse-glow{animation:pulseGlow 2s infinite}.animate-bounce-in{animation:bounceIn .8s ease-out forwards}.animate-float-up{animation:floatUp 2s ease-out forwards}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);background-size:200px 100%;animation:shimmer 2s infinite}.animate-stagger-1{animation-delay:.1s}.animate-stagger-2{animation-delay:.2s}.animate-stagger-3{animation-delay:.3s}.animate-stagger-4{animation-delay:.4s}.animate-stagger-5{animation-delay:.5s}.animate-stagger-6{animation-delay:.6s}.animate-trophy-bounce{animation:trophyBounce 2s infinite}@keyframes trophyBounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}