@keyframes gradient-shift{0%,to{opacity:1}50%{opacity:.8}}.animate-gradient-shift{animation:gradient-shift 8s ease-in-out infinite}.wave{position:absolute;bottom:0;left:0;width:200%;height:200px;background:rgba(255,255,255,.1);border-radius:50%;animation:wave-animation 10s linear infinite}.wave1{animation-duration:8s;opacity:.3}.wave2{animation-duration:12s;opacity:.2;animation-delay:2s}.wave3{animation-duration:15s;opacity:.1;animation-delay:4s}@keyframes wave-animation{0%{transform:translateX(-50%) translateY(0) rotate(0deg)}to{transform:translateX(-50%) translateY(-20px) rotate(1turn)}}.bubble{position:absolute;bottom:-100px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),rgba(255,255,255,.1));border-radius:50%;animation:bubble-rise linear infinite;box-shadow:0 0 20px rgba(255,255,255,.3)}@keyframes bubble-rise{0%{bottom:-100px;opacity:0;transform:translateX(0) scale(1)}10%{opacity:1}90%{opacity:1}to{bottom:110vh;opacity:0;transform:translateX(50px) scale(.5)}}.star{position:absolute;width:3px;height:3px;background:white;border-radius:50%;box-shadow:0 0 10px rgba(255,255,255,.8);animation:twinkle ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.particle{position:absolute;width:6px;height:6px;background:rgba(255,255,255,.6);border-radius:50%;animation:float-up linear infinite;box-shadow:0 0 15px rgba(255,255,255,.5)}@keyframes float-up{0%{bottom:-50px;opacity:0;transform:translateX(0) rotate(0deg)}10%{opacity:1}90%{opacity:.5}to{bottom:110vh;opacity:0;transform:translateX(100px) rotate(2turn)}}.leaf{position:absolute;top:-50px;font-size:24px;animation:leaf-fall linear infinite;filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}@keyframes leaf-fall{0%{top:-50px;opacity:0;transform:translateX(0) rotate(0deg)}10%{opacity:1}90%{opacity:.8}to{top:110vh;opacity:0;transform:translateX(100px) rotate(1turn)}}.pulse-circle{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent);animation:pulse ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.8);opacity:.3}50%{transform:scale(1.2);opacity:.1}}