#underwater-light{position:fixed;inset:0;z-index:45;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 18% 10%,rgba(91,185,211,.10),transparent 28%),radial-gradient(ellipse at 78% 68%,rgba(55,116,151,.10),transparent 32%);mix-blend-mode:screen;animation:underwater-drift 18s ease-in-out infinite alternate}
#underwater-light::before,#underwater-light::after{content:'';position:absolute;inset:-15%;background:repeating-radial-gradient(ellipse at 30% 20%,rgba(128,222,237,.055) 0 1px,transparent 2px 46px);opacity:.35;transform:rotate(-7deg);animation:water-caustics 16s linear infinite}
#underwater-light::after{inset:-20%;opacity:.22;transform:rotate(8deg) scale(1.18);animation-duration:23s;animation-direction:reverse}
@keyframes underwater-drift{from{filter:hue-rotate(0deg) brightness(.94);transform:scale(1)}to{filter:hue-rotate(8deg) brightness(1.06);transform:scale(1.04)}}
@keyframes water-caustics{from{background-position:0 0;translate:-2% -1%}to{background-position:180px 110px;translate:2% 1%}}
.water-ripple{position:fixed;z-index:61;width:18px;height:18px;border:1px solid rgba(156,230,243,.7);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.2);opacity:0;box-shadow:0 0 0 1px rgba(60,156,188,.18),0 0 28px rgba(86,190,219,.22);animation:water-ripple .95s cubic-bezier(.16,.72,.31,1) forwards;mix-blend-mode:screen}.water-ripple::after{content:'';position:absolute;inset:5px;border:1px solid rgba(184,235,245,.48);border-radius:50%;animation:water-ripple-inner .95s ease-out forwards}
@keyframes water-ripple{0%{opacity:.9;transform:translate(-50%,-50%) scale(.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(13)}}
@keyframes water-ripple-inner{0%{opacity:.8;transform:scale(.4)}100%{opacity:0;transform:scale(1.9)}}
@media(prefers-reduced-motion:reduce){#underwater-light{animation:none}#underwater-light::before,#underwater-light::after{animation:none}.water-ripple{display:none}}
