/* Lot accessibilité (passe cloud du 2 novembre 2026) — règles transversales, chargées après les feuilles des écrans.
   Le focus reste NEUTRE (texte sur fond : noir en clair, blanc en sombre), jamais rouge : le rouge ne dit que le direct. */

/* Un contour décollé de 2 px : sur un bouton à aplat noir (ou blanc en sombre), un contour collé se confondait avec le bord. */
:focus-visible { outline: 2px solid var(--focus, currentColor); outline-offset: 2px; }

/* Un titre focalisé par programme (arrivée sur une page, brief prêt) ne montre l'anneau qu'au clavier. */
h1[tabindex="-1"]:focus:not(:focus-visible),
h2[tabindex="-1"]:focus:not(:focus-visible),
main[tabindex="-1"]:focus:not(:focus-visible) { outline: none; }

/* Le lien d'évitement apparaît au-dessus de l'en-tête, lisible dans les deux apparences. */
.saut-contenu { color: var(--texte); border: 1px solid var(--filet); border-radius: var(--rayon, 5px); text-decoration: none; }

/* Un état d'erreur porte le titre de la page sans changer d'allure. */
h1.titre-erreur { font: inherit; font-size: 1rem; font-weight: 400; margin: 0 0 8px; color: var(--secondaire); }

/* Texte agrandi et zoom 200 % : les noms longs passent à la ligne au lieu de déborder. */
.suivis-nom, .feuille-titre, .eq-titre, .nom-joueur, .potes-journee-nom, .titre-article { overflow-wrap: anywhere; }

/* Couleurs forcées (contraste élevé) : l'état d'une étoile ou d'un interrupteur ne repose pas sur la seule couleur. */
@media (forced-colors: active) {
  .etoile-suivi[aria-pressed="true"], .feuille-ligne[aria-checked="true"], .feuille-ligne[aria-pressed="true"],
  .suivis-filtre[aria-pressed="true"], .chip[aria-pressed="true"] { outline: 2px solid CanvasText; outline-offset: -2px; }
  :focus-visible { outline: 2px solid Highlight; }
}

/* « Réduire les animations » coupe aussi les transitions de la webapp (l'app coupe la sienne, D124). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
