/* ==========================================================================
   FOND GRAVITATIONNEL — warp.css

   Compagnon de scripts/warp.js. Une trame d'espace-temps en perspective,
   creusee par un puits gravitationnel qui suit le curseur avec inertie.
   C'est le fond signature de l'ACCUEIL uniquement : il remplace les halos
   de fx.js sur cette page (garde documentee dans initAmbient de fx.js).

   Reversibilite : supprimer warp.css + warp.js, leurs deux lignes d'appel
   dans index.html et la garde d'une ligne dans fx.js ramene exactement
   l'etat de design/exploration-spectaculaire.

   Garde-fous (tenus par warp.js, rappeles ici) :
   - prefers-reduced-motion: reduce  => warp ne s'initialise pas.
   - Petit ecran / pointeur non fin  => warp ne s'initialise pas.
   Dans les deux cas la classe warp-live n'est jamais posee, donc fx.js
   reprend le fond comme avant (halos ou degrade statique).
   ========================================================================== */

/* Le canvas vit derriere tout le contenu, comme le fx-canvas qu'il
   remplace ; le grain de base.css (z-index 2000) reste au-dessus. */
.warp-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;

  /* Fondu des bords : la trame s'eteint vers le haut et les coins pour ne
     jamais accrocher le header ni les marges de lecture. Le centre optique
     est pose un peu bas (62%) : la lumiere porte la ou vivent les cartes-
     portails, pas sous le titre. */
  -webkit-mask-image: radial-gradient(130% 115% at 50% 62%, #000 44%, transparent 97%);
  mask-image: radial-gradient(130% 115% at 50% 62%, #000 44%, transparent 97%);
}

/* Filet de securite : meme si un navigateur gardait un canvas cree avant
   un passage en mouvement reduit, rien d'anime ne doit rester visible.
   warp.js s'arrete de lui-meme ; ce bloc couvre le cas ou il ne pourrait
   plus s'executer. */
@media (prefers-reduced-motion: reduce) {
  .warp-canvas { display: none; }
}
