/* Jetons v3, Livre ouvert, Bleu nuit. Source de vérité : design system
   Nicolas Sardain v3, 8 octobre 2026. Copie lisible : docs/jetons-design.md. */

@layer socle, composants, adaptations, mouvement;

/* La police du livre : Archivo variable, graisse (wght) et largeur (wdth).
   Sans font-stretch, l'axe de largeur ne s'applique pas. */
@font-face {
  font-family: "Archivo";
  src: url(/fonts/archivo.woff2) format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
}

/* Couleurs, thème clair. */
:root {
  --fond: oklch(0.965 0.005 250);
  --fond-2: oklch(0.93 0.008 255);
  --dehors: oklch(0.89 0.01 255);
  --encre: oklch(0.2 0.035 262);
  --corps: oklch(0.3 0.03 262);
  --faible: oklch(0.46 0.03 262);
  --filet: oklch(0.865 0.012 258);
  --filet-fort: oklch(0.62 0.02 258);
  --titre: oklch(0.27 0.075 262);
  --couv: oklch(0.27 0.075 262);
  --sur-couv: oklch(0.955 0.008 250);
  --accent: oklch(0.45 0.16 262);
  --accent-vif: oklch(0.4 0.165 262);
  --sur-accent: oklch(0.975 0.005 250);
  --metal: oklch(0.8 0.095 82);
  --metal-vif: oklch(0.74 0.1 80);
  --sur-metal: oklch(0.2 0.035 262);
  --signal: oklch(0.47 0.085 165);
  --sur-signal: oklch(0.975 0.005 250);
  --marque-encre: #241f1b;
  --marque-accent: #8f3a26;
  --marque-clair: #f2ede4;
  --marque-accent-sombre: #c86a4e;
  --marque-fond: #f7f3ec;
  --filtre-image: none;
  color-scheme: light;
}

/* Les trois états de lumière (décision du 9 octobre 2026). La lumière du
   site suit le soleil en Charente : /scripts/lumiere.js pose data-lumiere
   sur <html> avant le premier rendu. Le jour est la valeur par défaut
   (:root ci-dessus), et celle d'une page sans script. */

/* Crépuscule : soleil entre -6° et 6°. Le livre garde sa structure du jour
   (papier clair, couverture bleu nuit), le papier baisse et se réchauffe,
   le texte se resserre d'un cran pour garder ses contrastes. metal,
   metal-vif, sur-metal, sur-accent, sur-signal et marque-* sont ceux du
   jour et ne sont pas redéclarés. */
:root[data-lumiere="crepuscule"] {
  --fond: oklch(0.915 0.012 70);
  --fond-2: oklch(0.88 0.014 68);
  --dehors: oklch(0.82 0.016 65);
  --encre: oklch(0.2 0.035 262);
  --corps: oklch(0.28 0.03 262);
  --faible: oklch(0.42 0.03 262);
  --filet: oklch(0.82 0.014 65);
  --filet-fort: oklch(0.56 0.02 258);
  --titre: oklch(0.25 0.07 262);
  --couv: oklch(0.24 0.07 262);
  --sur-couv: oklch(0.94 0.012 70);
  --accent: oklch(0.42 0.16 262);
  --accent-vif: oklch(0.37 0.165 262);
  --signal: oklch(0.44 0.085 165);
  color-scheme: light;
}

/* Nuit : soleil sous -6°, ou bascule sur Minuit. La lampe de lecture
   (décision du 9 octobre 2026, remplace la partie A de la spec 05 bis) :
   un seul papier nuit du haut en bas de chaque page, sans panneau clair.
   Seules la couverture de l'accueil et son verso gardent la toile claire
   (couv, sur-couv). Trois positions selon l'heure à Paris, posées par
   /scripts/lumiere.js dans data-nuit : soir (défaut, et sans attribut),
   nuit (22 h à 4 h 59), aube (5 h à 8 h 59). Les blocs nuit et aube ne
   redéclarent que ce qui diffère du soir. encre, titre et metal sont
   relevés d'un cran sur la spec pour tenir encre et titre à 13:1, metal à
   9,5:1 sur fond (arbitrage du 9 octobre 2026). sur-metal et marque-*
   sont ceux du jour. */
:root[data-lumiere="nuit"] {
  --fond: oklch(0.26 0.032 268);
  --fond-2: oklch(0.30 0.034 268);
  --dehors: oklch(0.22 0.028 268);
  --encre: oklch(0.945 0.012 262);
  --corps: oklch(0.85 0.014 262);
  --faible: oklch(0.72 0.025 262);
  --filet: oklch(0.36 0.03 265);
  --filet-fort: oklch(0.55 0.03 262);
  --titre: oklch(0.94 0.035 240);
  --metal: oklch(0.845 0.095 82);
  --metal-vif: oklch(0.74 0.1 80);
  --couv: oklch(0.92 0.022 240);
  --sur-couv: oklch(0.24 0.07 262);
  --accent: oklch(0.76 0.1 245);
  --accent-vif: oklch(0.82 0.09 245);
  --sur-accent: oklch(0.17 0.03 262);
  --signal: oklch(0.75 0.09 165);
  --sur-signal: oklch(0.17 0.03 262);
  --filtre-image: saturate(0.9);
  color-scheme: dark;
}
:root[data-lumiere="nuit"][data-nuit="nuit"] {
  --fond: oklch(0.17 0.026 262);
  --fond-2: oklch(0.21 0.03 262);
  --dehors: oklch(0.135 0.022 262);
  --encre: oklch(0.90 0.01 255);
  --corps: oklch(0.82 0.012 255);
  --faible: oklch(0.70 0.025 258);
  --filet: oklch(0.28 0.03 262);
  --filet-fort: oklch(0.50 0.03 260);
  --titre: oklch(0.875 0.03 235);
  --metal: oklch(0.785 0.1 80);
  --metal-vif: oklch(0.68 0.1 80);
  --filtre-image: brightness(0.88) saturate(0.85);
}
:root[data-lumiere="nuit"][data-nuit="aube"] {
  --fond: oklch(0.23 0.03 250);
  --fond-2: oklch(0.27 0.032 250);
  --dehors: oklch(0.19 0.028 250);
  --encre: oklch(0.94 0.012 245);
  --corps: oklch(0.86 0.014 245);
  --faible: oklch(0.73 0.025 250);
  --filet: oklch(0.33 0.03 250);
  --filet-fort: oklch(0.54 0.03 252);
  --titre: oklch(0.91 0.04 225);
  --metal: oklch(0.82 0.095 82);
  --filtre-image: saturate(0.95);
}

/* Espacement, mesures, famille, mouvement. */
:root {
  --e-1: 4px;
  --e-2: 8px;
  --e-3: 12px;
  --e-4: 16px;
  --e-5: 24px;
  --e-6: 32px;
  --e-7: 48px;
  --e-8: 76px;
  --gouttiere: 18px;
  --colonne: 430px;
  --barre: 3.625rem;
  --cible: 2.75rem;
  --cible-liste: 3.75rem;
  --trait: 1px;
  --trait-fort: 2px;
  --trait-focus: 2px;
  --case: 20px;
  --famille: "Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --courbe: cubic-bezier(0.2, 0.8, 0.2, 1);
  --d-transition: 340ms;
  --d-courte: 160ms;
  --duree-lumiere: 2s;
  --interlettrage: 0.08em;
}
