/* ==========================================================================
   TRAIL SCIENTIST — TOKENS v1.2 « FILETS DE MESURE »
   Source unique de vérité (CHARTE_LEDGER : L-004 palette · L-006 data ·
   L-008 typographies · L-013/L-014 filets, adoptés via L-016 ; wordmark L-017).
   Remplace intégralement la palette « Granite & Mousse » de la refonte.
   Un seul univers (craie) — le mode sombre v43 est retiré (décision consignée).
   ========================================================================== */

:root{
  /* palette v1.1 (L-004) */
  --craie:#F2F1ED; --carte:#FFFFFF; --graphite:#23262B;
  --glacier:#A6C3D1; --signal:#E15A4F; --granite:#CDC7BA;
  --granite-fonce:#A29A87; --line:#E5E2DA; --signal-soft:#FAECEA;
  --ink-2:#5A5D63;
  /* couleurs DATA (L-006) — jamais utilisées pour l'UI décorative */
  --data-ok:#4E7D5B; --data-warn:#C77E3F; --data-alert:#E15A4F;
  /* variantes TEXTE AA des couleurs data (mêmes teintes assombries, ≥ 4.9:1 sur carte/craie)
     — miroir des RATIO_COLORS *Text posées par S-004, re-pointées ici */
  --data-ok-text:#3E6349; --data-warn-text:#8A5527; --data-alert-text:#B03E35;
  /* typographies (L-008) */
  --font-display:'Fraunces',serif;        /* titres, wght 560-640, opsz auto */
  --font-ui:'Inter',sans-serif;           /* interface, 400/500/600 */
  --font-data:'JetBrains Mono',monospace; /* TOUS les chiffres, valeurs, unités, dates */
  /* filets de mesure (L-013/L-014) */
  --radius:2px;               /* angles vifs partout, pas d'arrondis > 2px */
  --filet:1px solid var(--granite);
  --filet-int:1px solid var(--line);

  /* ---- Fonds teintés data (≤ 8 % — L-005 : jamais d'aplat de signal) ------ */
  --tint-ok:color-mix(in srgb, var(--data-ok) 8%, var(--carte));
  --tint-warn:color-mix(in srgb, var(--data-warn) 8%, var(--carte));
  --tint-alert:var(--signal-soft);
  --tint-glacier:color-mix(in srgb, var(--glacier) 18%, var(--carte));

  /* ---- Séries de courbes (graphiques) — tokens, jamais d'hex en JS -------- */
  --chart-line-1:var(--graphite);
  --chart-line-2:var(--glacier);
  --chart-line-3:var(--granite-fonce);
  --chart-grid:var(--line);
  --chart-tick:var(--granite-fonce);

  /* ================= COUCHE DE COMPATIBILITÉ =================
     Les composants historiques consomment --ts-* : tout est re-mappé
     sur la palette v1.2. AUCUNE valeur « Granite & Mousse » ne survit. */

  /* Typo */
  --ts-font-display:var(--font-display);
  --ts-font-text:var(--font-ui);
  --ts-font-mono:var(--font-data);
  --ts-fs-xs:10px; --ts-fs-sm:11px; --ts-fs-base:12px; --ts-fs-md:13px;
  --ts-fs-lg:15px; --ts-fs-xl:18px; --ts-fs-2xl:24px; --ts-fs-3xl:30px;

  /* Espacements & rayons : angles vifs L-013 */
  --ts-sp-1:4px; --ts-sp-2:8px; --ts-sp-3:12px; --ts-sp-4:16px; --ts-sp-5:24px; --ts-sp-6:32px;
  --ts-r-sm:var(--radius); --ts-r-md:var(--radius); --ts-r-lg:var(--radius);
  --ts-r-xl:var(--radius); --ts-r-full:var(--radius); /* pastilles rectangulaires (filets) */

  /* Surfaces & encres */
  --ts-bg:var(--craie);
  --ts-bg-gradient:var(--craie);
  --ts-surface:var(--carte);
  --ts-surface-2:var(--craie);
  --ts-surface-3:var(--line);
  --ts-border:var(--granite);
  --ts-border-strong:var(--granite-fonce);
  --ts-ink:var(--graphite);
  --ts-ink-2:var(--ink-2);
  --ts-ink-3:var(--granite-fonce);
  --ts-ink-faint:var(--granite);
  --ts-shadow:none;               /* le langage filets ne porte pas d'ombres */
  --ts-shadow-lift:none;
  --ts-chart-grid:var(--chart-grid);
  --ts-chart-tick:var(--chart-tick);

  /* Actions : primaires graphite, focus glacier */
  --ts-primary:var(--graphite);
  --ts-primary-hover:#3A3E45;      /* hover graphite (L-014, valeur de charte) */
  --ts-on-primary:var(--craie);
  --ts-focus-ring:0 0 0 2px var(--glacier);
  --ts-brand-pine:var(--graphite);     /* compat : ex-primaire → graphite */
  --ts-brand-ochre:var(--data-warn);   /* compat : ex-accent → warn data */
  --ts-brand-glacier:var(--glacier);
  --ts-brand-strava:#FC4C02;           /* bouton Strava uniquement (marque tierce) */

  /* Statuts (pastilles/badges) : bordure data, fond teinté ≤ 8 %, texte AA */
  --ts-ok-bg:var(--tint-ok);      --ts-ok-text:var(--data-ok-text);      --ts-ok-border:var(--data-ok);
  --ts-warn-bg:var(--tint-warn);  --ts-warn-text:var(--data-warn-text);  --ts-warn-border:var(--data-warn);
  --ts-bad-bg:var(--tint-alert);  --ts-bad-text:var(--data-alert-text);  --ts-bad-border:var(--data-alert);
  --ts-info-bg:var(--tint-glacier); --ts-info-text:var(--ink-2);         --ts-info-border:var(--glacier);
  --ts-neutral-bg:var(--craie);   --ts-neutral-text:var(--ink-2);        --ts-neutral-border:var(--granite);

  /* Statuts data génériques (z-scores, feux) — L-006 */
  --ts-status-green:var(--data-ok);
  --ts-status-amber:var(--data-warn);
  --ts-status-red:var(--data-alert);
  --ts-status-neutral:var(--granite-fonce);

  /* Couleurs par sport : HÉRITÉES v43 (L-006/L-016b), y compris les deux
     recolorations consignées par l'audit (Natation, Autre) */
  --ts-sport-run:#1D9E75; --ts-sport-ride:#378ADD; --ts-sport-swim:#0FA8C4;
  --ts-sport-weight:#EF9F27; --ts-sport-other:#8A8470;

  /* Zones FC (héritage v43, données) */
  --ts-fcz-1:#5B8FF0; --ts-fcz-2:#3FB59A; --ts-fcz-3:#E4B23F; --ts-fcz-4:#E24B4A;

  /* Ratios / lignes historiques re-pointés sur les séries de charte */
  --ts-ratio-ewma:var(--chart-line-1);
  --ts-ratio-km:var(--chart-line-3);
  --ts-hrv:var(--chart-line-1);
  --ts-rmssd:var(--chart-line-2);
  --ts-wellness-z:var(--chart-line-2);
}
