/* LA FAMILLE SÉMANTIQUE — SPEC §26.3, valeurs finales. ARCHITECTURE §12.1.
 *
 * DÉFINI UNE SEULE FOIS, AUCUN BLOC DE THÈME N'Y FIGURE — et ce n'est pas une
 * convention : c'est la propriété qui rend `T-02` vraie PAR CONSTRUCTION. Ces
 * couleurs portent une information mathématique (juste/faux, signes, courbes,
 * statuts) ; un thème qui les recolorerait rendrait fausse en sombre une
 * convention mémorisée en clair (CDC §11.1 bis). Le garde
 * `tests/gardes/test_variables_css.py` refuse une variable `--semantique-*`
 * dans un bloc de thème, et une variable `--habillage-*` dans ce fichier.
 *
 * UNE COULEUR SÉMANTIQUE NE PORTE JAMAIS DE TEXTE COURANT (SPEC §26.2) : la
 * fenêtre de luminance est VIDE au seuil de 4,5:1 sur les deux fonds. Elle
 * porte des traits, des bordures, des pastilles, des icônes, des courbes et
 * des remplissages ; le mot qui l'accompagne est en couleur d'habillage.
 * Toutes tiennent au moins 3:1 sur les deux fonds normatifs, et
 * `tests/gardes/test_contraste.py` RECALCULE les dix-huit contrastes à chaque
 * exécution plutôt que de comparer à une liste.
 *
 * AUCUNE RÈGLE DE COMPOSANT ICI : ce fichier ne déclare que des variables.
 * Un composant qui les emploie vit dans `habillage.css`, jamais l'inverse. */

:root {
  /* Les neuf couleurs — SPEC §26.3, transcrites telles quelles. */
  --semantique-juste: #2E8B57;
  --semantique-faux: #D2483F;
  /* L'AMBRE EST DESCENDU D'UN TON LE 26/08 (P19 bis), décision de Kenny sur
   * mesure — il valait `#B8860B`. C'est la SEULE des neuf qui ait jamais
   * bougé, et le motif est arithmétique : la fenêtre du §26.2 qui passe 3:1
   * sur le fond crème ET sur le fond sombre va de L = 0,1246 à L = 0,2601, et
   * `#B8860B` (L = 0,2726) en était dehors de 0,0126 — 2,88:1 sur le crème.
   * `#9C7207` (L = 0,1912) est au milieu : 3,86:1 sur le crème, 4,14:1 sur le
   * sombre. Il ÉQUILIBRE les deux fonds au lieu d'en sacrifier un — `#856205`
   * passait aussi, à 3,22:1 en sombre, trop près du seuil.
   *
   * CE QUI REND CE CHANGEMENT SANS CONSÉQUENCE POUR L'ÉLÈVE, et il faut
   * l'écrire : cette couleur n'était SERVIE NULLE PART — aucune règle CSS,
   * aucun gabarit ne la nommait, son unique alias `--semantique-statut-en-cours`
   * n'était employé par rien non plus. Le §26.3 dit que ces couleurs portent
   * une convention que l'élève mémorise ; une convention qui n'a jamais paru
   * à l'écran ne se casse pas.
   *
   * LA PROPRIÉTÉ DE CE FICHIER N'EST PAS ENTAMÉE, et c'est ce qui rend le
   * geste licite : la valeur change dans les DEUX thèmes à la fois, ce fichier
   * ne reçoit AUCUN bloc de thème, et `T-02` reste vraie par construction.
   * Ce que le §26.3 interdit est de recolorer une de ces couleurs SELON LE
   * THÈME, jamais de corriger une valeur qui manque son seuil. */
  --semantique-partiel: #9C7207;
  --semantique-neutre: #6E747C;
  --semantique-courbe-1: #3E7BC6;
  --semantique-courbe-2: #C0632A;
  --semantique-courbe-3: #7A5EA8;
  --semantique-courbe-4: #2F8F8A;
  --semantique-statut-reactiver: #8A7BC8;

  /* Les six alias — des noms d'usage, jamais de nouvelles couleurs.
   * Le zéro d'un tableau de signes n'est ni positif ni négatif : lui donner
   * l'une des deux autres couleurs serait une erreur mathématique portée par
   * la couleur (SPEC §26.3). */
  --semantique-signe-positif: var(--semantique-juste);
  --semantique-signe-negatif: var(--semantique-faux);
  --semantique-signe-nul: var(--semantique-neutre);
  --semantique-statut-a-revoir: var(--semantique-faux);
  --semantique-statut-en-cours: var(--semantique-partiel);
  --semantique-statut-acquis: var(--semantique-juste);
}
