@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes float-slower{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:.4}50%{opacity:.8}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-float{animation:6s ease-in-out infinite float}.animate-float-slow{animation:8s ease-in-out infinite float-slow}.animate-float-slower{animation:10s ease-in-out infinite float-slower}.animate-pulse-soft{animation:3s ease-in-out infinite pulse-soft}.animate-fade-in-up{animation:.6s ease-out forwards fade-in-up}.animate-scale-in{animation:.5s ease-out forwards scale-in}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.glass{-webkit-backdrop-filter:blur(10px);background:#fffc}.glass-dark{-webkit-backdrop-filter:blur(10px);background:#0000004d}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-gradient{background-size:200% 200%;animation:3s infinite gradient-shift}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px #00000026}
