/* ===== FOND SPATIAL — ciel étoilé + nébuleuses rouges =====
   Chargé après style.css : surcharge le fond. Supprimer ce fichier
   (et son <link> dans index.html) pour retrouver le fond uni. */

body {
  background-color: #050109;
}

/* calque fixe GPU — étoiles + nébuleuses (pas de repaint au scroll) */
body::after {
  content: "";
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background-image:
    /* nébuleuses rouges */
    radial-gradient(760px 520px at 85% 6%, rgba(255, 30, 30, 0.08), transparent),
    radial-gradient(900px 640px at 8% 94%, rgba(255, 30, 30, 0.055), transparent),
    radial-gradient(620px 460px at 55% 45%, rgba(150, 20, 25, 0.05), transparent),
    /* étoiles fixes */
    radial-gradient(1px 1px at 28.4% 66.4%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 9.3% 95.2%, rgba(255,215,200,0.6), transparent),
    radial-gradient(1px 1px at 22.5% 19.9%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 24.5% 47.5%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 41.4% 63.0%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 49.4% 24.4%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 77.8% 21.9%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 5.0% 24.9%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 13.3% 46.5%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 95.0% 89.1%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 83.1% 54.8%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 45.0% 75.2%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 62.7% 27.5%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 23.4% 33.6%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 13.8% 23.1%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 6.4% 40.8%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 41.6% 20.7%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 90.5% 58.4%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 47.7% 94.3%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 85.3% 95.3%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 48.8% 27.3%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 38.9% 66.9%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 84.1% 92.0%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 90.7% 59.2%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 64.3% 13.6%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 5.0% 37.9%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 32.7% 76.1%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 75.2% 83.2%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 47.0% 74.9%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 22.4% 6.9%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 95.0% 19.9%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 23.9% 47.4%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 46.5% 25.6%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 60.6% 96.4%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 96.5% 10.8%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 57.6% 90.8%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 94.1% 19.8%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 10.2% 77.2%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 79.6% 56.6%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 53.3% 66.2%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 1.3% 42.0%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 43.4% 36.2%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 43.5% 73.4%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 46.5% 82.6%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 32.2% 24.5%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 88.2% 24.4%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 33.6% 49.4%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 48.8% 35.5%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 28.0% 59.6%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 51.7% 19.1%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 48.9% 75.8%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 44.8% 1.7%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 40.4% 24.3%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 47.3% 53.1%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 35.2% 45.4%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 23.1% 72.1%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 74.3% 95.1%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 21.6% 48.4%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 98.1% 83.3%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 36.1% 30.2%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 27.4% 97.4%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 69.7% 12.6%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 87.3% 57.4%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 44.0% 18.4%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 94.1% 47.8%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 49.2% 57.7%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 14.9% 56.3%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 99.4% 11.8%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 77.6% 38.0%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 86.0% 99.0%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 61.0% 74.0%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 26.5% 8.1%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 55.2% 15.7%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 68.9% 47.0%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 28.8% 28.3%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 68.7% 92.4%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 42.5% 54.5%, rgba(255,215,200,0.6), transparent),
    radial-gradient(1px 1px at 82.7% 7.1%, rgba(255,215,200,0.6), transparent),
    radial-gradient(1px 1px at 59.5% 82.4%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 12.4% 68.9%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 50.0% 49.4%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 88.9% 73.5%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 2.6% 22.9%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 100.0% 67.2%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 76.3% 17.5%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 91.6% 18.1%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 63.5% 49.2%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 34.8% 33.3%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 33.0% 69.4%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 81.4% 55.0%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 31.5% 32.3%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 65.8% 54.3%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 18.8% 36.2%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 76.0% 20.4%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 92.8% 43.8%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 2.9% 63.0%, rgba(255,255,255,0.6), transparent),
    radial-gradient(1px 1px at 31.1% 1.4%, rgba(255,255,255,0.8), transparent),
    radial-gradient(1px 1px at 22.5% 84.1%, rgba(255,185,170,0.5), transparent),
    radial-gradient(1px 1px at 94.7% 64.8%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 93.3% 29.2%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 83.5% 98.0%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 55.1% 38.4%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 86.4% 27.6%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 93.4% 50.8%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 72.6% 83.7%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 86.5% 44.7%, rgba(255,215,200,0.8), transparent),
    radial-gradient(1px 1px at 33.2% 76.3%, rgba(255,185,170,0.8), transparent),
    radial-gradient(1px 1px at 93.3% 87.0%, rgba(255,185,170,0.6), transparent),
    radial-gradient(1px 1px at 23.4% 77.6%, rgba(255,215,200,0.5), transparent),
    radial-gradient(1px 1px at 74.5% 70.5%, rgba(255,185,170,0.8), transparent),
    radial-gradient(2px 2px at 98.8% 79.2%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 49.5% 3.7%, rgba(255,215,200,1), transparent),
    radial-gradient(2px 2px at 87.0% 87.4%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 52.6% 45.7%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 41.0% 65.5%, rgba(255,255,255,0.6), transparent),
    radial-gradient(2px 2px at 46.9% 96.9%, rgba(255,185,170,0.8), transparent),
    radial-gradient(2px 2px at 65.0% 85.2%, rgba(255,185,170,1), transparent),
    radial-gradient(2px 2px at 95.4% 62.7%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 61.7% 23.5%, rgba(255,215,200,1), transparent),
    radial-gradient(2px 2px at 99.7% 74.7%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 76.0% 70.4%, rgba(255,185,170,0.6), transparent),
    radial-gradient(2px 2px at 16.6% 29.9%, rgba(255,255,255,0.6), transparent),
    radial-gradient(2px 2px at 32.4% 5.6%, rgba(255,215,200,0.8), transparent),
    radial-gradient(2px 2px at 43.1% 24.4%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 17.0% 7.9%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 49.8% 58.3%, rgba(255,185,170,0.6), transparent),
    radial-gradient(2px 2px at 63.8% 46.0%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 89.9% 46.5%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 7.4% 94.5%, rgba(255,215,200,1), transparent),
    radial-gradient(2px 2px at 63.9% 42.4%, rgba(255,185,170,0.8), transparent),
    radial-gradient(2px 2px at 84.5% 19.9%, rgba(255,185,170,0.8), transparent),
    radial-gradient(2px 2px at 10.7% 38.1%, rgba(255,215,200,0.8), transparent),
    radial-gradient(2px 2px at 99.3% 29.5%, rgba(255,185,170,1), transparent),
    radial-gradient(2px 2px at 27.4% 56.6%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 91.1% 74.5%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 60.7% 35.2%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 62.1% 67.8%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 62.8% 90.3%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 30.9% 44.1%, rgba(255,215,200,1), transparent),
    radial-gradient(2px 2px at 73.2% 9.0%, rgba(255,215,200,0.8), transparent),
    radial-gradient(2px 2px at 74.7% 17.6%, rgba(255,215,200,0.6), transparent),
    radial-gradient(2px 2px at 53.1% 91.3%, rgba(255,215,200,0.6), transparent),
    radial-gradient(2px 2px at 91.4% 94.4%, rgba(255,215,200,0.8), transparent),
    radial-gradient(2px 2px at 80.4% 46.8%, rgba(255,255,255,0.6), transparent),
    radial-gradient(2px 2px at 75.4% 22.6%, rgba(255,185,170,1), transparent),
    radial-gradient(2px 2px at 96.7% 80.5%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 79.1% 1.4%, rgba(255,255,255,1), transparent),
    radial-gradient(2px 2px at 45.5% 67.3%, rgba(255,215,200,1), transparent),
    radial-gradient(2px 2px at 58.5% 82.2%, rgba(255,255,255,0.8), transparent),
    radial-gradient(2px 2px at 67.5% 47.1%, rgba(255,215,200,1), transparent);
}

/* étoiles scintillantes */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 91.5% 22.1%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 90.9% 30.2%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 14.0% 94.6%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 11.6% 23.5%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 38.9% 37.1%, rgba(255,185,170,1), transparent),
    radial-gradient(1px 1px at 58.7% 72.7%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 83.4% 61.6%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 69.0% 21.7%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 85.5% 9.9%, rgba(255,215,200,1), transparent),
    radial-gradient(1px 1px at 54.4% 97.8%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 39.8% 19.0%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 9.2% 21.2%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 5.1% 33.4%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 6.9% 76.5%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 81.3% 23.3%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 27.7% 98.4%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 79.9% 11.0%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 1.5% 79.0%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 1.6% 26.5%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 52.6% 74.6%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 77.8% 51.3%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 50.4% 94.5%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 45.8% 96.4%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 84.7% 42.6%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 71.2% 44.4%, rgba(255,215,200,0.7), transparent),
    radial-gradient(1px 1px at 60.8% 6.6%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 38.1% 59.7%, rgba(255,185,170,0.9), transparent),
    radial-gradient(1px 1px at 50.6% 43.0%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 85.3% 65.1%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 43.0% 88.8%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 82.7% 39.9%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 31.3% 31.3%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 95.4% 68.7%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 9.1% 8.5%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 74.5% 37.3%, rgba(255,255,255,0.7), transparent),
    radial-gradient(1px 1px at 58.6% 56.2%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 41.1% 87.4%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 96.8% 60.0%, rgba(255,255,255,0.9), transparent),
    radial-gradient(1px 1px at 57.8% 21.3%, rgba(255,185,170,1), transparent),
    radial-gradient(1px 1px at 22.4% 10.8%, rgba(255,215,200,1), transparent),
    radial-gradient(1px 1px at 11.5% 27.9%, rgba(255,185,170,0.7), transparent),
    radial-gradient(1px 1px at 84.5% 97.5%, rgba(255,255,255,1), transparent),
    radial-gradient(1px 1px at 60.9% 65.8%, rgba(255,215,200,1), transparent),
    radial-gradient(1px 1px at 2.9% 27.3%, rgba(255,215,200,0.9), transparent),
    radial-gradient(1px 1px at 35.1% 18.1%, rgba(255,185,170,0.7), transparent);
  animation: twinkle 4.5s ease-in-out infinite alternate;
}
@keyframes twinkle { from { opacity: 0.35; } to { opacity: 1; } }

/* les sections alternées laissent passer le cosmos */
.section-alt { background: rgba(18, 3, 9, 0.78); }

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
}
