@keyframes successPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(34,197,94,.1)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-success-pulse{animation:successPulse 2s ease-in-out infinite}.animate-slide-in-bottom{animation:slideInFromBottom .6s ease-out forwards}.animate-slide-in-top{animation:slideInFromTop .6s ease-out forwards}.animate-zoom-in{animation:zoomIn .5s ease-out forwards}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.animate-bounce-slow{animation:bounce 2s infinite}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite}@media (max-width:640px){.popup-mobile{margin:1rem;padding:1.5rem}.popup-mobile h3{font-size:1.5rem}.popup-mobile p{font-size:1rem}.popup-mobile button{padding:.75rem 1.5rem;font-size:1rem}}