/* L'OPT-IN de la vague de passage, et rien d'autre.
   ~200 octets, servi tel quel depuis public/ - jamais empaqueté.

   POURQUOI CE FICHIER EXISTE, ALORS QUE LA RÈGLE EST DÉJÀ DANS
   src/styles/transition.css :

   Pour une transition entre deux documents, le navigateur doit trouver
   `@view-transition` dans la page d'ARRIVÉE avant de peindre. S'il ne l'a pas à
   cet instant, il a déjà tranché : pas de transition, et rien ne le rattrape.

   Or /composer/ est une application React : en développement, son CSS n'est pas
   une feuille liée, il est importé par main.tsx et injecté par Vite APRÈS le
   chargement du module. La règle arrivait donc trop tard, et la vague ne jouait
   jamais à l'arrivée sur le configurateur - alors qu'elle marchait sur le site,
   dont la feuille est liée. Un défaut invisible en production, où Vite émet un
   vrai <link>, et bien réel pour qui développe : on ne peut pas régler un geste
   qu'on ne voit pas.

   Lié en dur depuis index.html ET composer/index.html, il rend les deux surfaces
   identiques dans les deux environnements. Le reste de la chorégraphie
   (keyframes, pseudo-éléments, crête) peut arriver avec la feuille principale :
   seule la DÉCISION doit être précoce.

   ⚠️ Cette règle est dupliquée dans src/styles/transition.css, volontairement :
   là-bas elle sert le cas où seule la feuille empaquetée est chargée. Les deux
   doivent dire la même chose - src/lib/transition.test.ts le vérifie. */

@view-transition {
  navigation: auto;
}

/* Mouvement réduit : on n'anime pas. Même garde que dans transition.css.
   Le même-document est couvert ailleurs (src/lib/veil.ts) : un pseudo-élément
   de transition ne porte aucun attribut, `[data-wk-anim]` ne l'atteint pas. */
@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
}
