@keyframes blob{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}to{transform:translate(0)scale(1)}}.animate-blob{animation:7s infinite blob}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@keyframes scan-vertical{0%{opacity:0;top:-10%}20%{opacity:1}80%{opacity:1}to{opacity:0;top:110%}}.animate-scan-vertical{animation:2s linear infinite scan-vertical}@keyframes progress-load{0%{width:0%}20%{width:15%}50%{width:60%}80%{width:85%}to{width:98%}}.animate-progress{animation:2.5s cubic-bezier(.22,1,.36,1) forwards progress-load}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}.animate-pulse-soft{animation:2s ease-in-out infinite pulse-soft}
@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-animate{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards modalPop}@keyframes bounceCheck{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.icon-pop{opacity:0;animation:.8s cubic-bezier(.34,1.56,.64,1) .3s forwards bounceCheck;transform:scale(0)}@keyframes wave{0%,to{height:10%}50%{height:100%}}.music-bar{animation:1s ease-in-out infinite wave}.music-bar:first-child{animation-delay:.1s}.music-bar:nth-child(2){animation-delay:.3s}.music-bar:nth-child(3){animation-delay:.5s}.music-bar:nth-child(4){animation-delay:.2s}@keyframes confettiDrop{0%{opacity:1;transform:translateY(-100%)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.confetti{background-color:#d1607e;width:8px;height:8px;animation:3s linear forwards confettiDrop;position:absolute;top:-10px}
@keyframes modalShake{0%{opacity:0;transform:scale(.95)translateY(10px)}40%{opacity:1;transform:scale(1)translateY(0)}50%{transform:translate(-5px)}60%{transform:translate(5px)}70%{transform:translate(-5px)}80%{transform:translate(5px)}to{transform:translate(0)}}.modal-animate-error{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards modalShake}@keyframes pulseRed{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 15px #ef444400}to{box-shadow:0 0 #ef444400}}.icon-pulse{animation:2s infinite pulseRed}.striped-bg{background-image:linear-gradient(135deg,#fce7f3 25%,#fff1f2 25% 50%,#fce7f3 50% 75%,#fff1f2 75% 100%);background-size:20px 20px}