.bg{
    position:fixed; inset:0;
    pointer-events:none;
    z-index:-1;
}

/* Animated RGB mesh */
.bg::before{
    content:"";
    position:absolute; inset:-20%;
    background:
            radial-gradient(900px 650px at 20% 15%, rgba(0,255,136,.18), transparent 55%),
            radial-gradient(800px 560px at 80% 10%, rgba(180,0,255,.18), transparent 55%),
            radial-gradient(900px 650px at 65% 95%, rgba(0,183,255,.16), transparent 55%),
            radial-gradient(700px 520px at 10% 85%, rgba(255,43,214,.12), transparent 55%);
    filter: blur(18px);
    opacity: .85;
    animation: meshMove 10s ease-in-out infinite alternate;
}
@keyframes meshMove{
    0%{ transform: translate3d(-2%, -1%, 0) scale(1.02); }
    100%{ transform: translate3d(2%, 1%, 0) scale(1.06); }
}

/* Grid + perspective */
.bg__grid{
    position:absolute; inset:-2px;
    background:
            linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 68px 68px;
    opacity:.14;
    transform: perspective(900px) rotateX(58deg) translateY(-140px);
    transform-origin: top;
    mask-image: radial-gradient(650px 520px at 50% 15%, #000 40%, transparent 70%);
    animation: gridFloat 6s ease-in-out infinite;
}
@keyframes gridFloat{
    0%,100%{ filter: brightness(1); }
    50%{ filter: brightness(1.25); }
}

/* Scanlines + vignette */
.bg__noise{
    position:absolute; inset:0;
    opacity:.10;
    background:
            repeating-linear-gradient(
                    180deg,
                    rgba(255,255,255,.06),
                    rgba(255,255,255,.06) 1px,
                    transparent 1px,
                    transparent 3px
            );
    mix-blend-mode: overlay;
    animation: scan 5.5s linear infinite;
}
@keyframes scan{
    0%{ transform: translateY(0); }
    100%{ transform: translateY(12px); }
}

/* Neon orbs (unused divs still ok) */
.bg__glow{
    position:absolute; width:720px; height:720px; border-radius:999px;
    filter: blur(46px);
    opacity:.25;
}
.bg__glow--a{ left:-260px; top:-280px; background: radial-gradient(circle, rgba(0,255,136,.55), transparent 62%); }
.bg__glow--b{ right:-280px; top:-300px; background: radial-gradient(circle, rgba(180,0,255,.55), transparent 62%); }

@keyframes floaty{
    0%{ transform: translateY(0); }
    50%{ transform: translateY(-10px); }
    100%{ transform: translateY(0); }
}
