/* =============================================================
   Socle · Couche 1 : tokens primitifs
   Les valeurs brutes du système. C'est le seul fichier où un
   hex, un rem ou une courbe littérale a le droit d'exister.
   Les composants ne consomment JAMAIS ces tokens directement :
   ils passent par la couche sémantique (tokens/semantic.css).
   ============================================================= */

:root {
  /* ---------------------------------------------------------
     Couleurs · Neutres (gris légèrement froids)
     --------------------------------------------------------- */
  --neutral-0: #ffffff;
  --neutral-50: #f6f7f8;
  --neutral-100: #edeff1;
  --neutral-200: #dfe2e6;
  --neutral-300: #c8cdd3;
  --neutral-400: #a6adb7;
  --neutral-500: #818a96;
  --neutral-600: #5f6875;
  --neutral-700: #454d59;
  --neutral-800: #2e3440;
  --neutral-900: #1d222b;
  --neutral-950: #12151b;
  --neutral-1000: #000000;

  /* ---------------------------------------------------------
     Couleurs · Accent (bleu outremer)
     --------------------------------------------------------- */
  --blue-50: #f0f3ff;
  --blue-100: #e1e8ff;
  --blue-200: #c8d4fe;
  --blue-300: #a5b8fc;
  --blue-400: #8095f8;
  --blue-500: #5e72f2;
  --blue-600: #4557e7;
  --blue-700: #3644c9;
  --blue-800: #2e3aa3;
  --blue-900: #2a3480;
  --blue-950: #1a2050;

  /* ---------------------------------------------------------
     Couleurs · Statuts
     --------------------------------------------------------- */
  --green-50: #edfaf2;
  --green-100: #d5f3e1;
  --green-200: #abe6c4;
  --green-300: #79d3a2;
  --green-400: #48bb80;
  --green-500: #2aa26a;
  --green-600: #1e8757;
  --green-700: #1b6c48;
  --green-800: #19563b;
  --green-900: #154731;
  --green-950: #0a2a1c;

  --red-50: #fef1f1;
  --red-100: #fde1e1;
  --red-200: #fac6c6;
  --red-300: #f59d9d;
  --red-400: #ed6b6b;
  --red-500: #e04444;
  --red-600: #c92f2f;
  --red-700: #a82626;
  --red-800: #8b2222;
  --red-900: #732121;
  --red-950: #3f0e0e;

  --amber-50: #fff8eb;
  --amber-100: #feeecc;
  --amber-200: #fddd95;
  --amber-300: #fbc75d;
  --amber-400: #f7ac2e;
  --amber-500: #e98f14;
  --amber-600: #ce6e0c;
  --amber-700: #a9520e;
  --amber-800: #8a4112;
  --amber-900: #723612;
  --amber-950: #421b06;

  /* ---------------------------------------------------------
     Typographie
     --------------------------------------------------------- */
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  --font-size-12: 0.75rem;
  --font-size-13: 0.8125rem;
  --font-size-14: 0.875rem;
  --font-size-15: 0.9375rem;
  --font-size-16: 1rem;
  --font-size-18: 1.125rem;
  --font-size-20: 1.25rem;
  --font-size-24: 1.5rem;
  --font-size-30: 1.875rem;
  --font-size-36: 2.25rem;

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.2;
  --line-height-snug: 1.35;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;

  --letter-spacing-tight: -0.015em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.05em;

  /* ---------------------------------------------------------
     Espacement (grille de 4px, nommé par sa valeur en px)
     --------------------------------------------------------- */
  --space-0: 0;
  --space-2: 0.125rem;
  --space-4: 0.25rem;
  --space-6: 0.375rem;
  --space-8: 0.5rem;
  --space-10: 0.625rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-20: 1.25rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --space-80: 5rem;

  /* ---------------------------------------------------------
     Rayons
     --------------------------------------------------------- */
  --radius-0: 0;
  --radius-4: 0.25rem;
  --radius-6: 0.375rem;
  --radius-8: 0.5rem;
  --radius-10: 0.625rem;
  --radius-12: 0.75rem;
  --radius-16: 1rem;
  --radius-20: 1.25rem;
  --radius-full: 9999px;

  /* ---------------------------------------------------------
     Bordures
     --------------------------------------------------------- */
  --border-1: 1px;
  --border-2: 2px;
  --border-3: 3px;

  /* ---------------------------------------------------------
     Ombres (deux jeux : clair et sombre)
     --------------------------------------------------------- */
  --shadow-xs: 0 1px 2px 0 rgba(16, 20, 28, 0.06);
  --shadow-s: 0 1px 2px rgba(16, 20, 28, 0.05), 0 2px 6px rgba(16, 20, 28, 0.07);
  --shadow-m: 0 2px 4px rgba(16, 20, 28, 0.05), 0 8px 20px rgba(16, 20, 28, 0.1);
  --shadow-l: 0 4px 8px rgba(16, 20, 28, 0.06), 0 16px 40px rgba(16, 20, 28, 0.16);

  --shadow-dark-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --shadow-dark-s: 0 1px 2px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.4);
  --shadow-dark-m: 0 2px 4px rgba(0, 0, 0, 0.35), 0 8px 20px rgba(0, 0, 0, 0.45);
  --shadow-dark-l: 0 4px 8px rgba(0, 0, 0, 0.4), 0 16px 40px rgba(0, 0, 0, 0.55);

  /* ---------------------------------------------------------
     Plans (z-index)
     --------------------------------------------------------- */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-overlay: 1030;
  --z-modal: 1040;
  --z-toast: 1050;
  --z-tooltip: 1060;

  /* ---------------------------------------------------------
     Mouvement
     --------------------------------------------------------- */
  --duration-fast: 120ms;
  --duration-base: 180ms;
  --duration-slow: 280ms;
  --ease-standard: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-out: cubic-bezier(0.1, 0.7, 0.3, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.35, 1);
  --ease-bounce: cubic-bezier(0.3, 1.4, 0.4, 1);
}
