/* ==========================================================================
   CTT — Design tokens v0.1
   Thème sombre par défaut. Thème clair via [data-theme="light"] sur <html>.
   Les tokens marqués (+) sont des ajouts nécessaires au respect de WCAG 2.1 AA.
   ========================================================================== */

:root,
[data-theme="dark"] {
  color-scheme: dark;

  --bg: #0B0E14;
  --surface: #151A23;
  --surface-2: #1B212C;          /* (+) survol, éléments surélevés */
  --border: #262E3B;             /* décoratif uniquement */
  --border-strong: #667089;      /* (+) contours de champs, 3,5:1 */
  --text: #E6EAF0;               /* 16,0:1 */
  --text-muted: #8A94A6;         /* 6,3:1 */

  --primary: #F5E50A;            /* fond uniquement — 1 action / écran */
  --on-primary: #0B0E14;         /* 14,8:1 */
  --primary-edge: transparent;   /* liseré bas du bouton primaire */

  --secondary: #00E5FF;          /* liens, info, direct, focus */
  --secondary-ink: #00E5FF;      /* (+) texte cyan */
  --accent: #FF2A6D;             /* alerte, complet, contesté */
  --accent-ink: #FF5C8D;         /* (+) texte d'alerte sur fond teinté, 6,6:1 */
  --on-accent: #0B0E14;          /* (+) texte sur bouton danger, 5,3:1 */
  --success: #39FF88;            /* check-in, victoire, confirmé */
  --success-ink: #39FF88;        /* (+) */

  --secondary-soft: rgb(0 229 255 / 0.12);
  --accent-soft: rgb(255 42 109 / 0.14);
  --success-soft: rgb(57 255 136 / 0.12);
  --muted-soft: rgb(138 148 166 / 0.14);

  --glow: rgb(0 229 255 / 0.5);
  --shadow-float: 0 16px 32px rgb(0 0 0 / 0.5);
}

[data-theme="light"] {
  color-scheme: light;

  --bg: #F4F6F9;
  --surface: #FFFFFF;
  --surface-2: #EEF1F5;
  --border: #D9DEE6;
  --border-strong: #7C8699;      /* 3,4:1 sur bg */
  --text: #0B0E14;               /* 17,8:1 */
  --text-muted: #5A6474;         /* 5,5:1 */

  --primary: #F5E50A;            /* jamais en couleur de texte */
  --on-primary: #0B0E14;
  --primary-edge: rgb(11 14 20 / 0.9);

  --secondary: #007A8A;          /* 4,7:1 */
  --secondary-ink: #006B79;      /* 5,7:1 — texte sur teinte / surface-2 */
  --accent: #D6004F;             /* 4,9:1 */
  --accent-ink: #C00047;         /* 5,8:1 */
  --on-accent: #FFFFFF;          /* 5,3:1 */
  --success: #0F8A4B;            /* 4,1:1 — fonds et icônes seulement */
  --success-ink: #0A6E3B;        /* 5,9:1 — texte */

  --secondary-soft: rgb(0 122 138 / 0.10);
  --accent-soft: rgb(214 0 79 / 0.09);
  --success-soft: rgb(15 138 75 / 0.10);
  --muted-soft: rgb(90 100 116 / 0.10);

  --glow: rgb(0 122 138 / 0.35);
  --shadow-float: 0 16px 32px rgb(11 14 20 / 0.16);
}

:root {
  /* Typographie */
  --font-display: 'Chakra Petch', ui-sans-serif, sans-serif;
  --font-body: 'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --fs-affichage: 200px;  /* timer projeté      · mono 700 · lh 1 */
  --fs-table: 144px;      /* n° de table mobile · mono 700 · lh 1 */
  --fs-display: 48px;     /* lh 52 · Chakra 700 */
  --fs-h1: 32px;          /* lh 36 · Chakra 700 */
  --fs-h2: 24px;          /* lh 30 · Chakra 600 */
  --fs-h3: 18px;          /* lh 24 · Chakra 600 */
  --fs-overline: 12px;    /* lh 16 · Chakra 600 · capitales · +0.1em */
  --fs-body: 16px;        /* lh 24 · Plex 400 */
  --fs-body-sm: 14px;     /* lh 20 */
  --fs-caption: 12px;     /* lh 16 · Plex 500 */
  --fs-mono-l: 40px;      /* lh 44 · mono 700 */
  --fs-mono-m: 15px;      /* lh 20 · mono 500 */

  /* Espacement (base 4) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;
  --touch: 44px;   --touch-lg: 56px;

  /* Forme */
  --radius-badge: 2px;
  --radius-field: 3px;
  --radius-panel: 4px;
  --cut-card: 12px;
  --cut-btn: 10px;
  --cut-display: 24px;
}

/* Les utilitaires de signature (biseaux, lueur, chiffres) sont définis dans
   src/index.css en @utility Tailwind : hors couche, ils écraseraient les
   variantes (ex. lueur coupée sous prefers-reduced-motion). */
