.generative-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#fbfbfc;contain:strict}
.generative-background canvas{display:block;width:100%;height:100%;pointer-events:none}
.generative-background:before{content:'';position:absolute;inset:-5%;background:radial-gradient(ellipse at 8% 70%,#d9e3e766,transparent 42%),radial-gradient(ellipse at 92% 28%,#dfe9e566,transparent 42%);pointer-events:none}
.generative-background canvas{position:relative}
/* Stable viewport height avoids reallocating the GPU buffer as mobile chrome
   expands/collapses during scrolling. Rotation still updates the viewport. */
@media(max-width:700px),(pointer:coarse){
  @supports(height:100lvh){.generative-background{bottom:auto;height:100lvh}}
}
.generative-background[data-renderer="fallback"]:before{animation:generative-drift 24s ease-in-out infinite alternate}
.generative-background.generative-paused:before{animation-play-state:paused}
.generative-download-page{position:relative;isolation:isolate}
body.generative-download-page{background:#fbfbfc}
@keyframes generative-drift{to{transform:translate3d(1%,1%,0) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.generative-background:before{animation:none!important}}
