/*
 * Sobriété de l'écran de jeu.
 *
 * ⚠️ C'est LA SEULE feuille de ce dossier qui vise des sélecteurs DU BUNDLE.
 * Toutes les autres greffes (`ac-`, `acar-`) sont étanches par construction ;
 * celle-ci ne peut pas l'être, puisque son objet est justement d'atténuer des
 * éléments dessinés par le client de jeu, dont la source est perdue (voir
 * ../LISEZMOI.md).
 *
 * C'est tenable pour une raison précise : **ce bundle est figé**. Il n'a plus
 * de source, donc plus de rebuild, donc plus de classes qui changent. Le jour
 * où le client sera réécrit, ce fichier ne s'appliquera plus à rien — il ne
 * cassera pas, il deviendra inerte, et la sobriété sera à porter dans les
 * composants eux-mêmes. Le retirer se fait en supprimant sa ligne
 * d'`index.html`.
 *
 * Ce qu'elle atténue, et pourquoi :
 *
 * - **Le HUD** (haut-gauche : statut, joueurs, ma masse, tick) reste lisible
 *   mais s'efface. Il porte une information qu'on consulte, pas une
 *   information qu'on surveille — sauf la masse, qui reste parfaitement
 *   lisible à cette opacité sur fond noir.
 * - **La barre d'aide clavier** (bas : « souris dirige · clic ou espace
 *   accélère… ») disparaît après quelques secondes. C'est une consigne : une
 *   fois lue, c'est du bruit. Elle réapparaît à chaque apparition de serpent,
 *   puisque le client la remonte.
 *
 * Aucun des deux ne capte le pointeur (`pointer-events: none` dans le bundle
 * lui-même) : les estomper ne rend donc rien inutilisable.
 *
 * La carte d'arène, elle, n'est PAS touchée : c'est le seul panneau qu'on
 * veut voir en jeu.
 */

/* Les deux panneaux du bundle partagent cette signature de classes. */
.fixed.rounded-3xl.shadow-card.backdrop-blur-xl {
  animation: acar-estomper .9s ease 5s both;
}

/* La barre d'aide est celle qui contient des touches (`<kbd>`). */
.fixed.rounded-3xl.shadow-card.backdrop-blur-xl:has(kbd) {
  animation: acar-effacer 1.2s ease 8s both;
}

@keyframes acar-estomper {
  from { opacity: 1; }
  to { opacity: .42; }
}

@keyframes acar-effacer {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* Quelqu'un qui a demandé moins d'animations ne veut pas d'un écran qui bouge
   tout seul : la sobriété s'applique alors d'emblée, sans transition. */
@media (prefers-reduced-motion: reduce) {
  .fixed.rounded-3xl.shadow-card.backdrop-blur-xl {
    animation: none;
    opacity: .42;
  }

  .fixed.rounded-3xl.shadow-card.backdrop-blur-xl:has(kbd) {
    animation: none;
    opacity: 0;
  }
}
