@charset "UTF-8";
/* CARAVELLI — OLYMPE · VOILE EN FLUIDE SIMULÉ — feuille compagnon (priorité 5)
   Compagnon de JS/olympe-voile-v9237.js. Rien n'est stylé tant que le module
   n'a pas pris la main : une page qui charge la feuille sans le script — ou
   sans WebGPU — garde exactement sa fumée WebGL2.
   AUCUNE PROPRIÉTÉ TYPOGRAPHIQUE ici. */

.voile9237__toile{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:0;
  transition:opacity 1800ms cubic-bezier(.22,.61,.36,1);
  z-index:1;
  /* Le voile ajoute de la lumière au fond, il n'en retire pas. */
  mix-blend-mode:screen;
}
.voile9237--on .voile9237__toile{ opacity:.78; }

@media (max-width:860px){
  .voile9237--on .voile9237__toile{ opacity:.62; }
}

/* Mouvement réduit : le module peint une seule image et ne boucle pas ;
   on retire aussi l'apparition, qui est un mouvement. */
@media (prefers-reduced-motion:reduce){
  .voile9237__toile{ transition:none; }
}

@media print{ .voile9237__toile{ display:none; } }

/* La fumée WebGL2 s'efface quand la simulation WebGPU a pris la main. Règle
   déclarative : le script ne pose qu'une classe sur la racine, ce qui la rend
   insensible à l'ordre d'initialisation des deux modules — une requête unique
   ratait la toile de la v923 une fois sur deux.
   Elle ne vise QUE la toile de la fumée. Une version précédente du script
   visait `[data-fumee-v923]`, qui est le conteneur du héros et porte aussi le
   fond photographique : l'éteindre supprimait l'image. */
html.voile9237--actif .fumee-v923__canvas,
html.voile9237--actif .fumee-v923__repli{ display:none !important; }
