@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(5deg)}}@keyframes float-delay{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-4deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes score-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-delay{animation:float-delay 3.5s ease-in-out .5s infinite}.animate-shimmer{background-size:200% auto;animation:shimmer 3s linear infinite}.animate-slide-up{animation:slide-up .5s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scale-in .4s cubic-bezier(.16,1,.3,1) forwards}.animate-score-pop{animation:score-pop .6s cubic-bezier(.16,1,.3,1) forwards}.animate-gradient{background-size:200% 200%;animation:gradient-shift 4s ease infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.btn-press{transition:transform .1s,box-shadow .1s}.btn-press:active{transform:translateY(var(--press-depth, 3px))!important;box-shadow:none!important}.glass-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.score-glow{text-shadow:0 0 20px rgba(34,197,94,.4),0 0 40px rgba(34,197,94,.2)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}
