html,body{overscroll-behavior-y:none}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes loading{0%{transform:translate(-150%)}50%{transform:translate(150%)}to{transform:translate(150%)}}.animate-loading-bar{animation:loading 1.5s cubic-bezier(.4,0,.2,1) infinite;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn 1s ease-out forwards}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.delay-700{animation-delay:.7s}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .5s ease-out forwards}@keyframes zoomInOut{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.animate-zoom-bg{animation:zoomInOut 25s ease-in-out infinite}@keyframes floatSpark{0%{transform:translateY(0) translate(0) scale(1);opacity:0}20%{opacity:1}80%{opacity:.8}to{transform:translateY(-100vh) translate(50px) scale(.5);opacity:0}}.animate-spark{animation:floatSpark linear infinite}
