/* An isolated decorative layer; never participates in layout or hit testing. */
body { isolation:isolate; }
.liquid-background { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none!important; contain:strict; background:radial-gradient(ellipse at 0% 32%,#174f9919,transparent 48%),radial-gradient(ellipse at 100% 75%,#6936b31c,transparent 45%); }
.liquid-background canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.72; }
.liquid-background::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent, #080a0f9c 28%,#080a0fa8 55%,transparent),linear-gradient(0deg,#080a0f38,transparent 35%); }
.liquid-fallback { position:absolute; inset:0; }
.liquid-background.has-webgl .liquid-fallback { visibility:hidden; }
.liquid-blob { position:absolute; left:-13%; top:10%; width:clamp(260px,38vw,620px); aspect-ratio:1.08; border-radius:42% 58% 63% 37% / 52% 35% 65% 48%; border:1px solid #a7ddff55; background:radial-gradient(ellipse at 29% 14%,#e4faff55,transparent 24%),radial-gradient(ellipse at 82% 69%,#8762ff40,transparent 48%),radial-gradient(ellipse at 21% 84%,#36acff38,transparent 53%),linear-gradient(130deg,#9ddfff0d,#080a0f40); box-shadow:inset 6px 9px 15px #d3f5ff16,inset -8px -10px 16px #7175ff35,inset 0 0 42px #2569ba12,0 15px 50px #0002; animation:liquid-drift 28s ease-in-out infinite alternate; }
.liquid-blob::after { content:''; position:absolute; inset:4%; border-radius:inherit; border-top:2px solid #def5ff45; border-bottom:1px solid #838bff66; transform:rotate(-16deg); }
.liquid-blob:nth-child(2) { left:auto; right:-15%; top:52%; width:clamp(280px,42vw,680px); transform:rotate(50deg); animation-delay:-12s; animation-duration:34s; }
.liquid-blob:nth-child(3) { left:83%; top:13%; width:64px; border-radius:50%; animation-delay:-7s; }
.liquid-blob:nth-child(4) { left:8%; top:78%; width:38px; border-radius:50%; animation-delay:-20s; }
@keyframes liquid-drift { from { translate:0 0; rotate:-6deg; } to { translate:12px 24px; rotate:7deg; } }
.liquid-background.is-paused .liquid-blob { animation-play-state:paused; }
.light .liquid-background { opacity:.5; }
.light .liquid-background::after { background:linear-gradient(90deg,transparent,#f5f8ffb3 28%,#f5f8ffb3 60%,transparent); }
@media(max-width:767px) { .liquid-background { opacity:.65; } .liquid-blob { left:-180px; top:16%; } .liquid-blob:nth-child(2) { right:-200px; top:64%; } .liquid-blob:nth-child(n+3) { display:none; } }
@media(prefers-reduced-motion:reduce) { .liquid-blob { animation:none!important; } }
