/* Nền sao động */
.starry-bg,
.nebula,
.cosmic-whirl,
.cosmic-whirl.secondary,
.spark-field {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.starry-bg { z-index: 0; }
.nebula { z-index: 1; }
.cosmic-whirl { z-index: 2; }
.spark-field { z-index: 3; }

/* Nebula tinh vân */
.nebula {
    background: radial-gradient(circle at 30% 40%, var(--glow-primary) 0%, transparent 45%),
                radial-gradient(circle at 70% 60%, var(--glow-secondary) 0%, transparent 50%),
                radial-gradient(circle at 20% 80%, var(--glow-primary) 0%, transparent 60%);
    opacity: 0.15;
    filter: blur(80px);
    animation: nebulaWave 18s infinite alternate ease-in-out;
}

@keyframes nebulaWave {
    0% { opacity: 0.1; transform: scale(1); }
    100% { opacity: 0.25; transform: scale(1.15); }
}

/* Xoáy vũ trụ */
.cosmic-whirl {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1400px;
    height: 1400px;
    background: conic-gradient(from 0deg, transparent, var(--glow-primary) 20deg, var(--glow-secondary) 70deg, transparent 130deg);
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.2;
    animation: spinCosmic 40s linear infinite;
}

.cosmic-whirl.secondary {
    width: 1100px;
    height: 1100px;
    background: conic-gradient(from 180deg, transparent, var(--glow-secondary) 25deg, var(--glow-primary) 90deg, transparent 150deg);
    animation: spinCosmicReverse 45s linear infinite;
    opacity: 0.15;
}

@keyframes spinCosmic { 100% { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes spinCosmicReverse { 100% { transform: translate(-50%, -50%) rotate(-360deg); } }