/* GÉNÉRÉ par tools/sync-tokens.mjs — NE PAS ÉDITER À LA MAIN.
   couleur ← config/settings_schema.json (valeurs accessibles)
   reste   ← catharsis-design/colors_and_type.css
   Relancer : node tools/sync-tokens.mjs */

:root {
  /* ---------- Couleur — source de vérité : le thème ---------- */
  --bg-page: #F7F8FA;
  --bg-surface: #FFFFFF;
  --bg-subtle: #ECEEF0;
  --bg-warm: #F4E7D8;
  --bg-inverse: #1F2327;
  --fg-1: #1F2327;
  --fg-2: #5C6265;
  --fg-3: #676C70;   /* thème — contraste 1,62:1 → 5,00:1 (WCAG AA) */
  --fg-accent: #F2B361;
  --fg-data: #0E2B2D;
  --bg-intelligence: #BFE8E1;
  --fg-alert: #B8443C;   /* thème — contraste 3,16:1 → 5,03:1 (WCAG AA) */
  --line-hair: #E0E6E8;

  /* ---------- Neutrals — porcelain → graphite ---------- */
  --c-porcelain-white: #F7F8FA;   /* page bg, surfaces                 */
  --c-soft-pearl:      #ECEEF0;   /* card bg, subtle fills             */
  --c-mist-grey:       #E0E6E8;   /* dividers, hairlines, rest states  */
  --c-chrome:          #C0C6CC;   /* metallic, borders, captions       */
  --c-quiet-graphite:  #5C6265;   /* secondary text                    */
  --c-deep-graphite:   #1F2327;   /* primary text, dark surfaces       */

  /* ---------- Warm + cool accents (USE SPARINGLY) ---------- */
  --c-chrome-mint:        #BFE8E1; /* data, "intelligence", calm signal */
  --c-deep-teal-graphite: #0E2B2D; /* premium dark, occasional surface  */
  --c-warm-sand:          #F4E7D8; /* warmth, "human" backgrounds       */
  --c-soft-amber:         #F2B361; /* primary CTA, warm focus           */
  --c-calm-red:           #D56E67; /* alert / destructive (subtle)      */

  /* ---------- Semantic — surface ---------- */

  /* ---------- Semantic — foreground ---------- */
  --fg-on-dark:     var(--c-porcelain-white);

  /* ---------- Semantic — line ---------- */
  --line-rule:      var(--c-chrome);
  --line-focus:     var(--c-soft-amber);

  /* ---------- Type families ---------- */
  --font-display: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --font-ui:      "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-data:    "Inter Tight", "Inter", -apple-system, sans-serif;

  /* ---------- Type scale (steps in px → rem at 16px root) ---------- */
  --fs-hero:      4.5rem;   /* 72  display, French editorial titles    */
  --fs-display:   3.25rem;  /* 52  page / hero titles                  */
  --fs-h1:        2.25rem;  /* 36                                       */
  --fs-h2:        1.75rem;  /* 28                                       */
  --fs-h3:        1.375rem; /* 22                                       */
  --fs-body-lg:   1.125rem; /* 18                                       */
  --fs-body:      1rem;     /* 16                                       */
  --fs-body-sm:   0.9375rem;/* 15                                       */
  --fs-label:     0.8125rem;/* 13  Inter Medium, all-caps tracking     */
  --fs-caption:   0.75rem;  /* 12                                       */
  --fs-data-xl:   2.5rem;   /* 40  numeric readouts                    */
  --fs-data-lg:   1.75rem;  /* 28                                       */

  /* ---------- Line height & tracking ---------- */
  --lh-tight:     1.05; /* @kind font */
  --lh-snug:      1.2;  /* @kind font */
  --lh-normal:    1.5;  /* @kind font */
  --lh-relaxed:   1.65; /* @kind font */
  --tr-eyebrow:   0.14em;   /* labels                                  */
  --tr-tight:     -0.02em;  /* display                                 */
  --tr-normal:    0;        /* @kind font */

  /* ---------- Spacing scale (8pt grid, plus 4px micro) ---------- */
  --sp-0:  0; /* @kind spacing */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;
  --sp-10: 128px;

  /* ---------- Radii — porcelain corners ---------- */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;
  --r-card: 18px;     /* default card                                  */

  /* ---------- Elevation — chrome-soft, never harsh ---------- */
  --sh-hair:  0 0 0 1px rgba(31,35,39,0.06);
  --sh-1:     0 1px 2px rgba(31,35,39,0.04), 0 0 0 1px rgba(31,35,39,0.04);
  --sh-2:     0 4px 14px rgba(31,35,39,0.06), 0 0 0 1px rgba(31,35,39,0.04);
  --sh-3:     0 14px 40px rgba(31,35,39,0.08), 0 2px 6px rgba(31,35,39,0.04);
  --sh-glow-mint: 0 0 24px rgba(191,232,225,0.55);
  --sh-glow-amber: 0 6px 20px rgba(242,179,97,0.28);
  --sh-inset-hair: inset 0 0 0 1px rgba(31,35,39,0.06);

  /* ---------- Motion — calm, premium, never bouncy ---------- */
  --ease-standard: cubic-bezier(0.32, 0.08, 0.24, 1); /* @kind other */
  --ease-soft:     cubic-bezier(0.4, 0, 0.2, 1);      /* @kind other */
  --ease-emerge:   cubic-bezier(0.16, 1, 0.3, 1);     /* @kind other */
  --dur-xs: 120ms; /* @kind other */
  --dur-sm: 200ms; /* @kind other */
  --dur-md: 320ms; /* @kind other */
  --dur-lg: 520ms; /* @kind other */
  --dur-xl: 800ms; /* @kind other */

  /* ---------- Layout ---------- */
  --container: 1240px;
  --container-narrow: 880px;
  --gutter: 32px;
}
