/*
 * Jetons de conception — direction artistique §7.
 *
 * Ancrage : vernaculaire des cartes géologiques et du carnet de terrain.
 * Pas de fond crème, pas de serif à fort contraste, pas de terracotta.
 *
 * Les seuls accents chromatiques sont les couleurs officielles de la charte
 * stratigraphique internationale, parce qu'elles *encodent de l'information* et
 * raccordent l'affichage vectoriel au fond scanné BRGM.
 */

:root {
  color-scheme: dark;

  /* --- Fonds : ardoise très sombre ------------------------------------ */
  --fond-0: #12160f;          /* carte, plein écran */
  --fond-1: #1b211d;          /* panneaux, tiroir */
  --fond-2: #232a25;          /* cartouches, champs */
  --fond-3: #2d352f;          /* survol, sélection */
  --voile: rgba(18, 22, 15, 0.82);

  /* --- Encre ---------------------------------------------------------- */
  --encre: #e9e7de;
  --encre-2: #b3b6ab;         /* secondaire — contraste 7:1 sur --fond-1 */
  --encre-3: #7f857b;         /* tertiaire, jamais pour du texte courant */
  --trait: #3a423b;           /* filets, séparateurs */
  --trait-fort: #55604f;

  /* --- Charte stratigraphique internationale (§7) ---------------------- */
  --sys-socle:       #e0709a;
  --sys-cambrien:    #7fa056;
  --sys-ordovicien:  #009270;
  --sys-silurien:    #b3e1b6;
  --sys-devonien:    #cb8c37;
  --sys-carbonifere: #67a599;
  --sys-permien:     #f04028;
  --sys-trias:       #812b92;
  --sys-jurassique:  #34b2c9;
  --sys-cretace:     #7fc64e;
  --sys-paleogene:   #fd9a52;
  --sys-neogene:     #ffe619;
  --sys-quaternaire: #fff2ae;
  --sys-indetermine: #6b7266;

  /* --- Statut juridique (§7, §9) — jamais réutilisées ailleurs --------- */
  --statut-interdit: #e0533d;
  --statut-verifier: #e0a93d;
  --statut-autorise: #7fbf6a;

  /* --- Provenance épistémique (§5.1) ----------------------------------- */
  --prov-observe: 1;          /* trait plein épais */
  --prov-publie: 1;           /* trait plein + marqueur de source */
  --prov-derive: 1;           /* trait plein fin */
  --prov-predit: 1;           /* POINTILLÉ — jamais autre chose */
  --tiret-predit: 7 5;

  /* --- Typographie : quatre rôles (§7) ---------------------------------
   *
   *   --f-titre  titres et nombres mis en avant
   *   --f-ui     libellés, jetons, lettrage de carte
   *   --f-texte  lecture longue : descriptions, arguments, avertissements
   *   --f-data   coordonnées, notations, âges, pourcentages
   *
   * Les familles sont vendorisées (voir polices.css). Auparavant elles étaient
   * seulement NOMMÉES : aucun fichier n'était servi, et tout retombait sur
   * Helvetica, Georgia et Menlo système. Ce que l'application affichait n'avait
   * donc été choisi par personne.
   *
   * Trois partis pris complets sont disponibles, commutés par `data-typo` sur
   * la racine. Chacun redéfinit les quatre rôles — pas seulement les titres :
   * une typographie n'est pas un titre posé sur un texte quelconque.
   */
  --f-titre: "Instrument Serif", Georgia, serif;
  --f-ui: "Archivo Narrow", "Helvetica Neue", Arial, sans-serif;
  --f-texte: "Newsreader", Georgia, serif;
  --f-data: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --titre-graisse: 400;
  --titre-casse: none;
  --titre-espace: 0;

  /* Corps de texte 16 px minimum, jamais en dessous (§6.6). */
  --t-texte: 16px;
  --t-texte-l: 17px;
  --t-ui: 13px;               /* libellés : 12 px minimum + gras + interlettrage */
  --t-ui-s: 12px;
  --t-data: 14px;
  --t-titre: 20px;
  --ls-ui: 0.06em;

  /* --- Cibles tactiles (§6.6) ------------------------------------------ */
  --cible: 48px;              /* minimum absolu */
  --cible-terrain: 56px;      /* identifier, consigner une trouvaille */
  --ecart: 8px;               /* écart minimal entre deux cibles */

  /* --- Zones sûres ------------------------------------------------------ */
  --sa-t: env(safe-area-inset-top, 0px);
  --sa-b: env(safe-area-inset-bottom, 0px);
  --sa-l: env(safe-area-inset-left, 0px);
  --sa-r: env(safe-area-inset-right, 0px);

  --rayon: 3px;               /* presque droit : registre instrument, pas app */
  --rail: 46px;               /* largeur de la colonne stratigraphique */
  --ombre: 0 -2px 18px rgba(0, 0, 0, 0.55);
}

/*
 * Mode contraste renforcé (§6.6) — pour le plein soleil.
 * Augmente le poids des traits ET la saturation, il ne se contente pas
 * d'éclaircir : au soleil rasant c'est le contraste de forme qui sauve, pas la
 * luminosité.
 */
:root[data-contraste="fort"] {
  --fond-0: #000000;
  --fond-1: #0b0d0a;
  --fond-2: #161a14;
  --fond-3: #262c22;
  --encre: #ffffff;
  --encre-2: #e2e5dc;
  --encre-3: #b9bdb2;
  --trait: #6b7566;
  --trait-fort: #93a08c;
  --statut-interdit: #ff6a4d;
  --statut-verifier: #ffc247;
  --statut-autorise: #8ee673;
  --sys-silurien: #8fd894;
  --sys-quaternaire: #ffe98a;
  --t-ui: 14px;
  --t-ui-s: 13px;
  --poids-trait: 2.4px;
}

:root { --poids-trait: 1.6px; }

/* Colonne stratigraphique basculable à gauche (§6.6, gaucher / droitier). */
:root[data-rail="gauche"] { --rail-cote: left; }
:root[data-rail="droite"] { --rail-cote: right; }


/* ------------------------------------------------------------------ */
/* Partis pris typographiques                                          */
/* ------------------------------------------------------------------ */

/*
 * B — PLANCHE LITHOGRAPHIQUE (défaut)
 *   Instrument Serif reprend le contraste des caractères de labeur du XIXe,
 *   celui des planches paléontologiques que l'outil affiche déjà. Newsreader
 *   tient la lecture longue, Archivo Narrow fait le lettrage de carte.
 */
:root[data-typo="lithographie"] {
  --f-titre: "Instrument Serif", Georgia, serif;
  --f-ui: "Archivo Narrow", "Helvetica Neue", Arial, sans-serif;
  --f-texte: "Newsreader", Georgia, serif;
  --f-data: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --titre-graisse: 400;
  --titre-casse: none;
  --titre-espace: 0;
}

/*
 * A — RELEVÉ DE TERRAIN
 *   Bricolage Grotesque : une grotesque contemporaine à largeur optique, plus
 *   dense et plus robuste aux petits corps. Moins datée, plus lisible de biais.
 */
:root[data-typo="terrain"] {
  --f-titre: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  --f-ui: "Archivo Narrow", "Helvetica Neue", Arial, sans-serif;
  --f-texte: "Newsreader", Georgia, serif;
  --f-data: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --titre-graisse: 800;
  --titre-casse: none;
  --titre-espace: -.015em;
}

/*
 * C — CARTE D'ÉTAT-MAJOR
 *   Tout en condensé et en mono. Austère, très lisible au soleil rasant, et
 *   c'est le registre du lettrage topographique.
 */
:root[data-typo="etatmajor"] {
  --f-titre: "Archivo Narrow", "Helvetica Neue", Arial, sans-serif;
  --f-ui: "Archivo Narrow", "Helvetica Neue", Arial, sans-serif;
  --f-texte: "Literata", Georgia, serif;
  --f-data: "Martian Mono", ui-monospace, Menlo, monospace;
  --titre-graisse: 700;
  --titre-casse: uppercase;
  --titre-espace: .03em;
}
