/* Aurora / mesh-gradient background — shared across GDZ pages.
   Sits at z-index 1, behind .page-wrapper (z-index 10). Pure CSS. */
#aurora {
    position: fixed;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    filter: blur(70px) saturate(120%);
}

#aurora .blob {
    position: absolute;
    width: 46vmax;
    height: 46vmax;
    border-radius: 50%;
    opacity: 0.55;
    will-change: transform;
}

#aurora .b1 {
    background: radial-gradient(circle at 30% 30%, rgba(129, 140, 248, 0.85), transparent 60%);
    top: -14vmax;
    left: -8vmax;
    animation: auroraDrift1 26s ease-in-out infinite;
}

#aurora .b2 {
    background: radial-gradient(circle at 30% 30%, rgba(125, 211, 252, 0.75), transparent 60%);
    top: -6vmax;
    right: -12vmax;
    animation: auroraDrift2 32s ease-in-out infinite;
}

#aurora .b3 {
    background: radial-gradient(circle at 30% 30%, rgba(249, 168, 212, 0.7), transparent 60%);
    bottom: -16vmax;
    left: 8vmax;
    animation: auroraDrift3 30s ease-in-out infinite;
}

#aurora .b4 {
    background: radial-gradient(circle at 30% 30%, rgba(196, 181, 253, 0.7), transparent 60%);
    bottom: -12vmax;
    right: -6vmax;
    animation: auroraDrift4 36s ease-in-out infinite;
}

@keyframes auroraDrift1 {
    50% {
        transform: translate(14vmax, 10vmax) scale(1.15);
    }
}

@keyframes auroraDrift2 {
    50% {
        transform: translate(-12vmax, 12vmax) scale(1.1);
    }
}

@keyframes auroraDrift3 {
    50% {
        transform: translate(10vmax, -12vmax) scale(1.2);
    }
}

@keyframes auroraDrift4 {
    50% {
        transform: translate(-10vmax, -8vmax) scale(1.12);
    }
}

@media (prefers-reduced-motion: reduce) {
    #aurora .blob {
        animation: none;
    }
}
