/* ============================================================================
   tokens.css — KILTER
   Tout hex vit ici, dans :root. Zéro couleur en dur ailleurs (règle 1 de cs-build).

   LA CIBLE EST MONOCHROME, ET LE BARÈME EN TIENT COMPTE. Mesuré : aucune de ses
   couleurs peintes n'atteint le chroma 15 (#121212 → 0,00 · #111214 → 1,32 ·
   #EDEAED → 1,89). `delta_e_accent` sortira donc à `None` avec motif et le verdict
   portera sur le fond seul (SPEC §4). On n'ajoute PAS un accent saturé au clone pour
   « gagner » : ce serait cesser d'être le même template pour une note qui ne se joue
   pas là.

   TRANSPOSITION DU FOND, vérifiée :
     cible  #121212  L  5,46  chroma  0,00   —  76,8 % de la surface peinte
     clone  #132a22  L 15,01  chroma 11,77   —  ΔE₇₆ = 15,15 (seuil 8)

   POURQUOI 15,15 ET PAS 8,44. Le premier candidat, #17211D, rendait 8,44 : au-dessus
   du seuil, mais de justesse. Un seuil qu'on frôle est un seuil qu'on peut perdre à la
   mesure suivante — la part de surface d'une couleur bouge avec le contenu. On prend
   de la marge, sans cesser d'être un site très sombre : contraste blanc 15,20:1 contre
   18,73:1 chez la cible.
   ============================================================================ */

@font-face {
  font-family: 'Archivo';
  src: url('fonts/archivo-var.woff2') format('woff2-variations');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  --encre:     #132a22;   /* dominante — rôle de #121212 */
  --encre-bis: #0f2019;   /* second sombre, rôle de #111214 */
  --noir:      #04100b;
  --blanc:     #ffffff;
  --papier:    #e8efe9;   /* rôle de #edeaed */
  --filet:     #ffffff29;

  /* UNE SEULE FAMILLE, et c'est une décision de FIDÉLITÉ. La cible emploie Neue
     Montreal du libellé de 9 px au titre de 68 px : elle ne joue aucun contraste
     entre deux dessins, elle joue l'ÉCHELLE. Une seconde famille rendrait un autre
     site. Archivo est de la même classe (grotesque de labeur) et sous licence OFL. */
  --police: 'Archivo', 'Helvetica Neue', Helvetica, sans-serif;

  /* Les sept tailles relevées, en pixels : la cible ne déclare aucun ratio fluide. */
  --t9:  9px;
  --t11: 11px;
  --t14: 14px;
  --t18: 18px;
  --t24: 24px;
  --t45: 45px;
  --t68: 68px;

  /* LA DURÉE UNIQUE. Les 23 animations déclarées de la cible partagent exactement
     cette durée et cette courbe — un easeOutQuart. Sur un site sans tweens, cette
     valeur unique EST la signature temporelle, et elle est marquée `declared` :
     elle se reproduit telle quelle (règle 3 de cs-build). */
  --duree: 596ms;
  --courbe: cubic-bezier(0.165, 0.84, 0.44, 1);

  --gouttiere: 30px;
  --marge: 40px;
}
