/* ============================================================
   01-TOKENS — le seul fichier à ouvrir pour re-thémer TOUTE l'interface.
   Propriétaire : R2 (refonte). Valeurs = artefact validé v10 (section 04).
   Les alias legacy (2e bloc) gardent l'interface existante branchée sur le
   nouveau vocabulaire ; ils partent au chantier R6.
   ============================================================ */

:root {
  /* ---------- SURFACES ---------- */
  --fm-bg:            #070907;
  --fm-surface-1:     rgba(13, 16, 12, 0.90);
  --fm-surface-2:     rgba(24, 28, 22, 0.94);
  --fm-surface-3:     rgba(34, 39, 31, 0.98);
  --fm-surface-solid: #121510;
  --fm-scrim:         rgba(4, 6, 3, 0.66);
  --fm-blur:          blur(12px) saturate(1.1);

  /* ---------- TRAITS ---------- */
  --fm-line-1: rgba(214, 226, 204, 0.08);
  --fm-line-2: rgba(214, 226, 204, 0.16);
  --fm-line-3: rgba(214, 226, 204, 0.30);

  /* ---------- ENCRE (4 niveaux, jamais plus) ---------- */
  --fm-ink-1: #edf2e6;   /* titre, valeur chiffrée */
  --fm-ink-2: #b9c3b0;   /* texte courant */
  --fm-ink-3: #8e9a86;   /* étiquette, légende */
  --fm-ink-4: #5d6757;   /* désactivé / décor — jamais seul porteur de sens */

  /* ---------- ACCENT & SÉMANTIQUE ---------- */
  --fm-accent:      #b4f04e;
  --fm-accent-ink:  #0b1004;
  --fm-accent-soft: rgba(180, 240, 78, 0.14);
  --fm-accent-line: rgba(180, 240, 78, 0.42);
  --fm-accent-glow: rgba(180, 240, 78, 0.22);

  --fm-info:   #8fd0ff;
  --fm-ok:     #7ad66a;
  --fm-warn:   #ffc247;
  --fm-danger: #ff6a56;
  --fm-info-soft:   rgba(143, 208, 255, 0.14);
  --fm-ok-soft:     rgba(122, 214, 106, 0.14);
  --fm-warn-soft:   rgba(255, 194, 71, 0.14);
  --fm-danger-soft: rgba(255, 106, 86, 0.14);

  /* ---------- SAISONS (roue, frise, badges) ---------- */
  --fm-season-spring: #9ee06a;
  --fm-season-summer: #ffd23c;
  --fm-season-autumn: #e08a42;
  --fm-season-winter: #8fd0ff;

  /* ---------- ESPACEMENT (base 4, jamais de valeur hors échelle) ---------- */
  --fm-sp-0: 2px;   --fm-sp-1: 4px;   --fm-sp-2: 6px;   --fm-sp-3: 8px;
  --fm-sp-4: 12px;  --fm-sp-5: 16px;  --fm-sp-6: 24px;  --fm-sp-7: 32px;

  /* ---------- RAYONS ---------- */
  --fm-r-1: 5px;
  --fm-r-2: 8px;
  --fm-r-3: 12px;
  --fm-r-pill: 999px;

  /* ---------- TYPOGRAPHIE ---------- */
  --fm-font-display: "Syne", sans-serif;
  --fm-font-mono:    "IBM Plex Mono", ui-monospace, monospace;

  --fm-fs-100: 10px;
  --fm-fs-200: 11px;
  --fm-fs-300: 12px;
  --fm-fs-400: 13px;
  --fm-fs-500: 15px;
  --fm-fs-600: 18px;
  --fm-fs-700: 22px;

  --fm-lh-1: 1.15;
  --fm-lh-2: 1.45;
  --fm-tr-1: 0.08em;
  --fm-tr-2: 0.18em;
  --fm-tr-3: 0.26em;

  /* ---------- CONTRÔLES & LIGNES DE ZONE ---------- */
  --fm-ctl-h: 24px;
  --fm-row-h: 20px;

  /* ---------- ÉLÉVATION ---------- */
  --fm-el-0: none;
  --fm-el-1: 0 2px 8px rgba(0, 0, 0, 0.35);
  --fm-el-2: 0 10px 34px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(220, 255, 180, 0.05);
  --fm-el-3: 0 18px 48px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(220, 255, 180, 0.06);
  --fm-focus: 0 0 0 2px var(--fm-bg), 0 0 0 4px var(--fm-accent);

  /* ---------- MOUVEMENT ---------- */
  --fm-dur-1: 120ms;
  --fm-dur-2: 220ms;
  --fm-dur-3: 420ms;
  --fm-ease: cubic-bezier(0.2, 0.9, 0.25, 1);

  /* ---------- PLANS (z-index : une seule échelle, nommée) ---------- */
  --fm-z-canvas:   0;
  --fm-z-overlay:  5;
  --fm-z-hud:      10;
  --fm-z-float:    20;
  --fm-z-announce: 30;
  --fm-z-toast: var(--fm-z-announce);
  --fm-z-modal:    40;

  /* ---------- GÉOMÉTRIE DE L'ÉCRAN ---------- */
  /* --fm-ui-scale = LEVIER MAÎTRE de Jean : zoom global du HUD, règle la taille
     générale en UN point. Les échelles --fm-sp-* affinent l'AÉRATION
     indépendamment du zoom. */
  --fm-ui-scale:      0.88;
  --fm-edge:          8px;
  --fm-topbar-h:      40px;
  --fm-foot-h:        104px;
  --fm-col-left:      196px;
  --fm-col-left-wide: 300px;
  --fm-col-tune:      400px;
  --fm-col-right:     232px;
  --fm-col-right-m:   208px;
  --fm-perf-w:        440px;
  --fm-nest-w:        460px;
  --fm-strip-left:    36px;
  --fm-strip-right:   40px;
  --fm-chron-w:       640px;
  --fm-mini-w:        168px;
}

/* ---------- ALIAS DE GÉOMÉTRIE (noms C0-C8) ----------
   Les 4 alias --fm-dock-* / --fm-botbar-h, sans utilisateur depuis R1,
   sont purgés (R6). */

/* ---------- ALIAS DE COMPATIBILITÉ ----------
   Les anciens tokens restent des alias : 10-legacy.css vit toujours. */
:root {
  --bg: var(--fm-bg);               --panel: var(--fm-surface-1);   --panel-2: var(--fm-surface-2);
  --ink: var(--fm-ink-1);           --ink-dim: var(--fm-ink-2);     --ink-faint: var(--fm-ink-3);
  --line: var(--fm-line-1);         --line-strong: var(--fm-line-2);
  --accent: var(--fm-accent);       --accent-soft: var(--fm-accent-soft);
  --danger: var(--fm-danger);       --r: var(--fm-r-2);
  --font-d: var(--fm-font-display); --font-m: var(--fm-font-mono);
  --ui-scale: var(--fm-ui-scale);   --pad: var(--fm-sp-3);          --gap: var(--fm-sp-2);
}

@media (prefers-reduced-motion: reduce) {
  :root { --fm-dur-1: 0ms; --fm-dur-2: 0ms; --fm-dur-3: 0ms; }
}
