/* =============================================================================
   Tokens — système « Glace »
   Seul fichier où une couleur s'écrit en dur. Les couleurs de texte et de fond
   principales restent en #rrggbb : le test de contraste ne lit que ce format.
   ============================================================================= */
:root {
  /* Fonds */
  --color-bg: #EDF2F7;            /* glace */
  --color-surface: #FFFFFF;
  --color-surface-2: #F6F9FC;     /* glace polie, cartes secondaires */

  /* Texte */
  --color-text: #0B1B2B;          /* encre */
  --color-text-soft: #3E4E61;
  --color-text-muted: #4A5B6E;    /* givre */

  /* Action : la ligne bleue */
  --color-accent: #0B5CD5;
  --color-accent-strong: #0848A8;
  --color-accent-soft: #DCE8FB;
  --color-accent-dim: rgba(11, 92, 213, 0.10);
  --color-on-accent: #FFFFFF;

  /* Résultats */
  --color-success: #0D6B3D;
  --color-success-soft: #DDF3E6;
  --color-danger: #C8102E;        /* lumière rouge : défaite, élimination */
  --color-danger-strong: #A30D24;
  --color-danger-soft: #FBE1E5;
  --color-warning: #8A4B00;
  --color-warning-soft: #FCEFD6;
  --color-neutral: #3A4A5C;
  --color-neutral-soft: #E2E8F0;

  /* Traits et voiles */
  --color-border: rgba(11, 27, 43, 0.10);
  --color-border-strong: rgba(11, 27, 43, 0.18);
  --color-hairline: rgba(11, 27, 43, 0.07);
  --color-fill: rgba(11, 27, 43, 0.06);
  --color-scrim: rgba(11, 27, 43, 0.30);
  --color-toast: rgba(11, 27, 43, 0.88);
  --color-toast-icon: #7FD6A4;

  /* Matériau verre */
  --glass-bg: rgba(255, 255, 255, 0.62);
  --glass-bg-strong: rgba(255, 255, 255, 0.80);
  --glass-bg-faint: rgba(255, 255, 255, 0.45);
  --glass-fallback: rgba(255, 255, 255, 0.94);
  --glass-border: rgba(255, 255, 255, 0.88);
  --glass-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.95);
  --glass-blur: blur(26px) saturate(180%);

  /* Patinoire (décor de fond) */
  --patinoire-glace: #F6F9FC;
  --patinoire-bleu: rgba(47, 111, 208, 0.18);
  --patinoire-rouge: rgba(211, 38, 58, 0.15);

  /* Typographie : Archivo, une seule famille variable. Les titres et les
     chiffres utilisent ses largeurs élargies, le texte courant la largeur normale. */
  --font-body: "Archivo", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-heading: "Archivo", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --stretch-titre: 125%;
  --stretch-sous-titre: 112%;
  --stretch-chiffre: 110%;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-md: 0.9375rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 2rem;
  --text-2xl: 2.875rem;

  /* Espacements (grille de 4 px) */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-3xl: 32px;
  --space-4xl: 48px;

  /* Rayons */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  /* Ombres */
  --shadow-sm: 0 4px 12px rgba(16, 42, 84, 0.08);
  --shadow-md: 0 8px 24px rgba(16, 42, 84, 0.09);
  --shadow-lg: 0 14px 36px rgba(16, 42, 84, 0.16);
  --shadow-accent: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 8px 18px rgba(11, 92, 213, 0.28);
  --focus-ring: 0 0 0 4px rgba(11, 92, 213, 0.18);

  /* Mouvement */
  --transition: 200ms ease;
  --spring: 240ms cubic-bezier(0.2, 0.8, 0.2, 1);

  /* Gabarit */
  --nav-height: 68px;
  --sidebar-width: 260px;
  --content-max: 760px;
}
