.gradient-background,.gradient-sphere,.glow,.grid-overlay,.noise-overlay,.particles-container{pointer-events:none}
.gradient-background{position:fixed;inset:0;z-index:0;overflow:hidden}
.gradient-sphere{position:absolute;border-radius:50%;filter:blur(60px);opacity:.85}
.sphere-1{width:40vw;height:40vw;background:linear-gradient(40deg,rgba(30,120,230,.9),rgba(10,60,160,.7));top:-10%;left:-10%;animation:float-1 15s ease-in-out infinite alternate}
.sphere-2{width:45vw;height:45vw;background:linear-gradient(40deg,rgba(255,140,180,.85),rgba(255,200,160,.4));bottom:-20%;right:-10%;animation:float-2 18s ease-in-out infinite alternate}
.sphere-3{width:30vw;height:30vw;background:linear-gradient(40deg,rgba(40,100,200,.92),rgba(0,60,140,.7));top:60%;left:20%;animation:float-3 20s ease-in-out infinite alternate}
@keyframes float-1{0%{transform:translate(0,0) scale(1)}100%{transform:translate(10%,10%) scale(1.1)}}
@keyframes float-2{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-10%,-5%) scale(1.12)}}
@keyframes float-3{0%{transform:translate(0,0) scale(1);opacity:.35}100%{transform:translate(-6%,9%) scale(1.05);opacity:.6}}
.glow{position:absolute;width:42vw;height:42vh;background:radial-gradient(circle,rgba(72,0,255,.16),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;animation:pulse 8s infinite alternate;filter:blur(30px)}
@keyframes pulse{0%{opacity:.3;transform:translate(-50%,-50%) scale(.9)}100%{opacity:.7;transform:translate(-50%,-50%) scale(1.1)}}
.grid-overlay{position:absolute;inset:0;z-index:1;background-size:40px 40px;background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px);mix-blend-mode:multiply}
.noise-overlay{position:absolute;inset:0;opacity:.05;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.particles-container{position:absolute;inset:0;z-index:3}
.particle{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;opacity:.5;box-shadow:0 0 6px rgba(255,255,255,.6),0 0 12px rgba(255,255,255,.3);transition:all 2s linear}
main,footer{position:relative;z-index:10}
