
/* Decorative motion accents only; these do not depict any rig or model output. */
body{isolation:isolate}
.ambient-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;--ambient-green:118,185,0;--ambient-secondary:118,185,0}
.ambient-glow{position:absolute;border-radius:50%;width:min(950px,85vw);height:min(950px,100vh);will-change:transform}
.ambient-glow-green{left:-28%;top:-18%;background:radial-gradient(ellipse,rgba(var(--ambient-green),.11) 0%,rgba(var(--ambient-green),.038) 38%,transparent 70%);animation:ambient-green-drift 18s ease-in-out -6s infinite alternate}
.ambient-glow-secondary{right:-25%;top:25%;background:radial-gradient(ellipse,rgba(var(--ambient-secondary),.10) 0%,rgba(var(--ambient-secondary),.028) 40%,transparent 70%);animation:ambient-secondary-drift 22s ease-in-out -9s infinite alternate}
.ambient-glow-center{left:50%;top:-12vh;width:min(1240px,110vw);height:110vh;background:radial-gradient(ellipse at 50% 45%,rgba(var(--ambient-green),.07) 0%,rgba(var(--ambient-green),.03) 35%,rgba(var(--ambient-green),.01) 55%,transparent 75%);transform:translate3d(-50%,0,0);animation:ambient-center-drift 20s ease-in-out -8s infinite alternate}
.ambient-network{position:absolute;width:clamp(190px,23vw,345px);height:85vh;max-height:900px;overflow:visible;color:rgb(var(--ambient-green));opacity:.42;transform-origin:center;animation:ambient-network-drift 18s ease-in-out -5s infinite alternate}
.ambient-network-left{left:-42px;top:-3%}
.ambient-network-right{right:-48px;top:12%;color:rgb(var(--ambient-secondary));animation-direction:alternate-reverse;animation-duration:22s}
.ambient-links{fill:none;stroke:currentColor;stroke-width:.85;stroke-opacity:.48;stroke-linecap:round;stroke-linejoin:round}
.ambient-trace{fill:none;stroke:currentColor;stroke-width:1.35;stroke-opacity:.85;stroke-linecap:round;stroke-dasharray:46 1086;animation:ambient-trace-drift 12s linear -4s infinite}
.ambient-network-right .ambient-trace{animation-duration:16s;animation-delay:-7s}
.ambient-joints circle{fill:var(--bg);stroke:currentColor;stroke-width:1;stroke-opacity:.65}
.ambient-joints .ambient-joint-core{fill:currentColor;fill-opacity:.5;stroke:none}
.hero{background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(247,247,248,.16))}
.theme-dark .hero{background:linear-gradient(180deg,rgba(17,17,17,.3),rgba(17,17,17,.08))}
.theme-dark .ambient-background{--ambient-green:137,190,68;--ambient-secondary:137,190,68}
.theme-dark .ambient-network{opacity:.28}
.ambient-paused .ambient-background *{animation-play-state:paused!important}
@keyframes ambient-green-drift{from{transform:translate3d(0,0,0) scale(.96)}to{transform:translate3d(7vw,9vh,0) scale(1.1)}}
@keyframes ambient-secondary-drift{from{transform:translate3d(0,0,0) scale(1.05)}to{transform:translate3d(-6vw,-9vh,0) scale(.96)}}
@keyframes ambient-center-drift{from{transform:translate3d(calc(-50% - 7vw),-4vh,0) scale(.94)}to{transform:translate3d(calc(-50% + 7vw),8vh,0) scale(1.06)}}
@keyframes ambient-network-drift{from{transform:translate3d(-4px,-20px,0) rotate(-2.5deg)}to{transform:translate3d(20px,28px,0) rotate(2.5deg)}}
@keyframes ambient-trace-drift{from{stroke-dashoffset:1132}to{stroke-dashoffset:0}}
@media(max-width:760px){
 .ambient-glow{width:125vw;height:75vh}
 .ambient-glow-green{left:-62%;top:-10%}
 .ambient-glow-secondary{right:-65%;top:28%}
 .ambient-glow-center{width:125vw;height:100vh;top:-6vh;opacity:.9}
 .ambient-network{width:190px;opacity:.26}
 .ambient-network-left{left:-85px}
 .ambient-network-right{right:-105px}
 .theme-dark .ambient-network{opacity:.19}
}
@media(prefers-reduced-motion:reduce){.ambient-background *{animation:none!important;will-change:auto}}
@media print{.ambient-background{display:none}}

/* Keep the central decorative pattern inside the hero, above its background and below its content. */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-network{position:absolute;z-index:-1;pointer-events:none;left:50%;top:12px;width:min(1040px,110vw);height:auto;overflow:visible;color:var(--accent);opacity:.19;transform:translateX(-50%);animation:hero-network-drift 16s ease-in-out -5s infinite alternate}
.hero-network .ambient-links{stroke-width:.85;stroke-opacity:.48}
.hero-network .ambient-joints circle{stroke-opacity:.65}
.hero-network .ambient-trace{animation-duration:14s}
.theme-dark .hero-network{color:#89be44;opacity:.12}
.ambient-paused .hero-network,.ambient-paused .hero-network *{animation-play-state:paused!important}
@keyframes hero-network-drift{from{transform:translate3d(calc(-50% - 16px),-10px,0) rotate(-1deg)}to{transform:translate3d(calc(-50% + 20px),14px,0) rotate(1deg)}}
@media(max-width:760px){.hero-network{top:130px;width:760px;opacity:.11}.theme-dark .hero-network{opacity:.08}}
@media(prefers-reduced-motion:reduce){.hero-network,.hero-network *{animation:none!important}}
@media print{.hero-network{display:none}}
