@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.animate-float{animation:4s ease-in-out infinite float}.animate-float-delayed{animation:4s ease-in-out 1s infinite float}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.animate-pulse-slow{animation:3s ease-in-out infinite pulse-slow}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animate-icon-bounce{animation:2s ease-in-out infinite icon-bounce}@keyframes pulse-icon{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-icon{animation:2s ease-in-out infinite pulse-icon}@keyframes shake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-5deg)}20%,40%,60%,80%{transform:rotate(5deg)}}.animate-shake{animation:3s ease-in-out infinite shake}@keyframes ring{0%{transform:rotate(0)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}to{transform:rotate(0)}}.animate-ring{animation:2.5s ease-in-out infinite ring}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-bounce-slow{animation:2.5s ease-in-out infinite bounce-slow}
