@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:0}}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-ring:before{content:"";position:absolute;inset:-4px;border-radius:inherit;background:inherit;animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}.animate-wave{animation:wave 1.5s ease-in-out infinite}.animate-rotate{animation:rotate 20s linear infinite}.animate-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.8) 50%,hsla(0,0%,100%,0));background-size:200% 100%;animation:shimmer 2s infinite}