/* Reference atmosphere: low-contrast grid, grain, drifting light and a slow scan. */
body{isolation:isolate}
.ambient-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.4}
.ambient-grid{position:absolute;inset:-48px;background-image:linear-gradient(rgba(39,39,42,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(39,39,42,.35) 1px,transparent 1px);background-size:48px 48px;opacity:.3;animation:ambient-drift 14s linear infinite}
.ambient-orb{position:absolute;border-radius:50%;will-change:transform}
.ambient-orb-a{width:680px;height:680px;top:-192px;left:-192px;background:radial-gradient(circle,rgba(221,255,0,.09),transparent 65%);animation:ambient-float-a 16s ease-in-out infinite}
.ambient-orb-b{width:760px;height:760px;bottom:-256px;right:-192px;background:radial-gradient(circle,hsl(187 95% 55% / .07),transparent 65%);animation:ambient-float-b 21s ease-in-out infinite}
.ambient-orb-c{width:420px;height:420px;top:33.333%;left:50%;background:radial-gradient(circle,hsl(315 90% 62% / .05),transparent 65%);animation:ambient-float-b 21s ease-in-out infinite}
.ambient-scan{position:absolute;left:0;right:0;height:112px;background:linear-gradient(180deg,transparent,rgba(221,255,0,.06),transparent);animation:ambient-scan 10s linear infinite;will-change:transform,opacity}
.ambient-line{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(90deg,transparent,rgba(221,255,0,.7),transparent)}
.ambient-line-left{left:24px;opacity:.2}.ambient-line-right{right:24px;opacity:.1}
.ambient-grain{position:absolute;inset:0;background-image:url('/assets/grain.svg');opacity:.035}
@keyframes ambient-drift{from{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}
@keyframes ambient-float-a{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(140px,80px) scale(1.15)}}
@keyframes ambient-float-b{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-120px,-60px) scale(1.12)}}
@keyframes ambient-scan{0%{opacity:0;transform:translateY(-12vh)}15%,85%{opacity:1}100%{opacity:0;transform:translateY(112vh)}}
@media(max-width:767px){.ambient-line{display:none}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){#cursor-ring,.hero-glow{display:none}.ambient-orb,.ambient-grid,.ambient-scan{animation:none;will-change:auto}.ambient-scan{display:none}}
