@keyframes in-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-6px)}20%,40%,60%,80%{transform:translateX(6px)}}@keyframes progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0deg) scale(1);opacity:1}80%{opacity:1}to{transform:translateY(100vh) rotate(2turn) scale(.5);opacity:0}}@keyframes success-bounce{0%{transform:scale(0)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-in-pop{animation:in-pop .4s ease-out forwards}.animate-shake{animation:shake .5s ease-in-out}.animate-progress-fill{animation:progress-fill .6s ease-out forwards}.animate-confetti-fall{animation:confetti-fall 2.5s ease-in forwards}.animate-success-bounce{animation:success-bounce .6s ease-out forwards}.animate-slide-up{animation:slide-up .4s ease-out forwards}.animate-fade-in{animation:fade-in .3s ease-out forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}