/* ─── GÉNÉRÉ — ne pas éditer à la main (source : design/tokens/tokens.json, ADR-029). Régénérer : node design/tokens/generate.js ─── */
:root {
  /* Piliers — 3 couleurs, usage STRICT : uniquement ce qui représente un pilier (maquette/CLAUDE.md §Couleurs) */
  --eco: #1F9966;
  --eco-50: #D2EFE0;
  --eco-800: #125537;
  --soc: #5B6FBE;
  --soc-50: #E2E4F2;
  --soc-800: #3D4F9E;
  --econ: #B8842E;
  --econ-50: #F5E6CA;
  --econ-800: #7C5A1F;

  /* 6 rôles réservés hors piliers (maquette/CLAUDE.md:107-115) — ne jamais détourner */
  --sig: #9A5CAE;
  --sig-50: #EFE2F3;
  --sig-800: #6A3D77;
  --pt: #2F6E72;
  --pt-50: #D8EAEA;
  --pt-800: #1C4A4D;
  --coral: #E0567A;
  --coral-50: #F7E3E7;
  --cta: #BF5265;
  --cta-hover: #A8536A;
  --ink-action: #6F6857;
  --meta-bg: #F8F1DC;
  --meta-txt: #5C5347;
  --meta-line: #E2D7BC;
  --meta: #5C5347;
  --gold: #C9A227;
  --gold-50: #FBEFC1;
  --gold-800: #6F5410;
  --silver: #9AA1AA;
  --silver-50: #ECEEF1;
  --silver-800: #545B63;
  --bronze: #B07A45;
  --bronze-50: #F3E1D0;
  --bronze-800: #6E4426;

  /* Sémantique — erreur / avertissement */
  --err: #884A3F;
  --err-50: #F0DAD2;
  --warn: #9A7642;

  /* Neutres crème — texte, fonds, bordures */
  --bg: #FDFCF6;
  --surf: #FFFFFF;
  --surface: #FFFFFF;
  --cream-2: #F8F1DC;
  --cream-hilite: #FCF7E8;
  --cream-hi: #FCF7E8;
  --line: #EFE5D0;
  --line-2: #E2D7BC;
  --ink: #1F1B14;
  --ink-60: #5C5347;
  --ink-25: #B8AE9C;

  /* Accessibilité — corrections actées ADR-017 B1/B2/B3 (arbitrage Richard 16.05.2026), reprises telles quelles (ADR-029 Décision point 8 : ce ne sont pas des propositions, elles ne se re-décident pas ici) */
  --ink-40: #6F6855;
  --btn-primary-bg: #125537;
  --btn-primary-text: #FFFFFF;
  --focus-ring: 0 0 0 2px #125537, 0 0 0 4px rgba(253,252,246,0.9);
  --hit-min: 44px;

  /* Typographie — familles */
  --fd: 'Funnel Display', system-ui, sans-serif;
  --fs: 'Funnel Sans', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --w-light: 300;
  --w-regular: 400;
  --w-medium: 500;

  /* Échelle typographique — absente de ui/tokens.css (tailles en dur dans les classes) et de citizup-web (son --t-* est un token de durée, pas de taille) ; reprise telle quelle de handoff/tokens.css:65-71 (encodage taille/interligne, cf. commentaires) */
  --t-display: 34px / 36px;
  --t-title: 24px / 28px;
  --t-subtitle: 20px / 25px;
  --t-body: 14px / 22px;
  --t-label: 10px / 14px;
  --t-num: 32px;
  --t-meta: 13px / 18px;

  /* Spacing — multiples de 4, absent de ui/tokens.css et citizup-web, repris de handoff/tokens.css:74-75 */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-12: 48px;

  /* Radius — nommé PAR USAGE (ADR-029 Décision point 5, pas par taille abstraite). ui/tokens.css n'a aucun radius nommé (valeurs en dur dans les classes, additif sans conflit) ; citizup-web nomme par taille abstraite (--r-sm/md/lg/xl/2xl), non repris comme vocabulaire canonique — ses valeurs 10/12/14/18/999 coïncident avec celles ci-dessous */
  --r-check: 5px;
  --r-compact: 10px;
  --r-card: 12px;
  --r-hero: 14px;
  --r-sheet: 18px;
  --r-pill: 999px;

  /* Ombres */
  --sh-card: 0 1px 2px rgba(31,27,20,0.03);
  --sh-modal: 0 8px 32px rgba(31,27,20,0.14);

  /* Tokens spécifiques à la maquette web — hors périmètre valeurs de charte d'ADR-029 (pas des couleurs/typo/spacing/radius/ombre/cible tactile), mais consommés par les classes .cz-* préservées de ui/tokens.css : conservés tels quels pour ne rien casser (CA-05) */
  --ui-accent: #1F9966;
  --ui-accent-50: #D2EFE0;
  --ui-accent-800: #125537;
  --ui-accent-grad: #125537;
  --chip-h: 22px;
  --chip-h-tap: 32px;
  --cz-band-pb: 12px;
}
/* ─── FIN GÉNÉRÉ ─── */
