@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes coin-float{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:.8}to{opacity:0;transform:translateY(-60px)rotate(var(--coin-rotation,180deg))scale(.5)}}.score-coin{pointer-events:none;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 50%,#d97706 100%);border-radius:50%;width:12px;height:12px;animation:1s ease-out forwards coin-float;position:absolute;bottom:0;box-shadow:0 0 6px #fbbf2499,inset 0 -2px 4px #0003}.animate-base{animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:forwards}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fade-in}.animate-fade-out{animation:.3s cubic-bezier(.16,1,.3,1) forwards fade-out}.animate-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slide-up}.animate-slide-down{animation:.5s cubic-bezier(.16,1,.3,1) forwards slide-down}.animate-slide-left{animation:.5s cubic-bezier(.16,1,.3,1) forwards slide-left}.animate-slide-right{animation:.5s cubic-bezier(.16,1,.3,1) forwards slide-right}.animate-scale-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards scale-in}.animate-scale-out{animation:.2s cubic-bezier(.16,1,.3,1) forwards scale-out}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-subtle}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.animate-on-scroll{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.fade-in{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translate(-30px)}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translate(30px)}.fade-in-right.visible{opacity:1;transform:translate(0)}.animate-on-scroll-fade{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1)}.animate-on-scroll-fade.visible{opacity:1}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}.fade-in-delay-4{transition-delay:.4s}.fade-in-delay-5{transition-delay:.5s}.fade-in-delay-6{transition-delay:.6s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-on-scroll,.animate-on-scroll-fade,.fade-in,.fade-in-left,.fade-in-right{opacity:1;transform:none}}.transition-fast{transition:all .15s cubic-bezier(.16,1,.3,1)}.transition-normal{transition:all .25s cubic-bezier(.16,1,.3,1)}.transition-slow{transition:all .4s cubic-bezier(.16,1,.3,1)}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-shadow{transition:box-shadow .2s}.transition-transform{transition:transform .2s cubic-bezier(.16,1,.3,1)}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:.6s cubic-bezier(.68,-.55,.265,1.55) forwards bounce-in}@keyframes pulse-glow-celebration{0%,to{box-shadow:0 0 20px #e81cff66,0 0 40px #e81cff33}50%{box-shadow:0 0 40px #e81cff99,0 0 80px #e81cff66}}.animate-pulse-glow{animation:1.5s ease-in-out infinite pulse-glow-celebration}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.animate-confetti{animation:3s ease-out forwards confetti-fall}@keyframes star-burst{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:0;transform:scale(.5)rotate(360deg)}}.animate-star-burst{animation:1s ease-out forwards star-burst}@keyframes level-up-number{0%{opacity:0;transform:translateY(20px)scale(.5)}50%{opacity:1;transform:translateY(-10px)scale(1.2)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-level-up{animation:.8s cubic-bezier(.68,-.55,.265,1.55) forwards level-up-number}@keyframes xp-float{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-40px)scale(.8)}}.animate-xp-float{animation:1.5s ease-out forwards xp-float}@keyframes badge-shine{0%{background-position:-200%}to{background-position:200%}}.animate-badge-shine{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:2s ease-in-out infinite badge-shine}@keyframes streak-fire{0%,to{transform:scaleY(1)translateY(0)}50%{transform:scaleY(1.1)translateY(-2px)}}.animate-streak-fire{animation:.5s ease-in-out infinite streak-fire}
