/* Tokens primitifs du design systeme toutech - v1.0 - 2026-08-06
   Source de verite : brand/design-systeme.md (echelles generees OKLCH, WCAG verifie).
   Ne jamais modifier une valeur ici seul : regenerer via brand/scripts/gen_scales.js
   et verifier via brand/scripts/check_tokens.js. */

:root {
  /* Echelle marine (ancres charte : 30, 60, 80) */
  --tt-marine-10: #EBF3FC;  --tt-marine-20: #BDD5F3;  --tt-marine-30: #8FB8E8;
  --tt-marine-40: #6C95C6;  --tt-marine-50: #4B73A4;  --tt-marine-60: #2A5384;
  --tt-marine-70: #1C416D;  --tt-marine-80: #0F3057;  --tt-marine-90: #092546;
  --tt-marine-100: #051B36;

  /* Echelle laiton (ancres charte : 40, 60) - jamais de texte laiton-40 ou plus clair
     sur fond clair */
  --tt-laiton-10: #F9F1E3;  --tt-laiton-20: #EFD7B1;  --tt-laiton-30: #E4BE7E;
  --tt-laiton-40: #D9A441;  --tt-laiton-50: #B1832A;  --tt-laiton-60: #8A6410;

  /* Echelle neutre (ancres charte : 10, 30, 60, 90, 100) */
  --tt-neutre-10: #F2F5F8;  --tt-neutre-20: #D3D9E0;  --tt-neutre-30: #B4BEC8;
  --tt-neutre-40: #909AA4;  --tt-neutre-50: #6E7881;  --tt-neutre-60: #4E5760;
  --tt-neutre-70: #3E4751;  --tt-neutre-80: #2F3842;  --tt-neutre-90: #202A33;
  --tt-neutre-100: #141B21;

  /* Blanc pur - seul hex autorise hors echelles */
  --tt-blanc: #FFFFFF;

  /* Etats semantiques : pale (fond), plein (>=3:1, bordures/icones), texte (>=4,5:1) */
  --tt-succes-pale: #DFF6E2;        --tt-succes-plein: #55A569;        --tt-succes-texte: #3E8450;
  --tt-erreur-pale: #FFE8E6;        --tt-erreur-plein: #ED6D67;        --tt-erreur-texte: #C2534E;
  --tt-avertissement-pale: #FFEADA; --tt-avertissement-plein: #D1823A; --tt-avertissement-texte: #AB6625;
  --tt-information-pale: #E4F0FE;   --tt-information-plein: #6997D1;   --tt-information-texte: #5079AB;

  /* Registre des degrades - liste fermee, voir design-systeme.md.
     Jamais sur le logo, jamais en fond direct de texte courant, un seul par ecran. */
  --tt-degrade-profondeur: linear-gradient(135deg, var(--tt-marine-80), var(--tt-marine-100));
  --tt-degrade-horizon: linear-gradient(135deg, var(--tt-marine-80), var(--tt-marine-60));
  --tt-degrade-laiton: linear-gradient(90deg, var(--tt-laiton-40), var(--tt-laiton-60));
  --tt-degrade-voile: linear-gradient(180deg, rgba(15, 48, 87, 0), rgba(15, 48, 87, 0.75));

  /* Espacement - base 4 px, aucune valeur libre */
  --tt-espace-1: 4px;   --tt-espace-2: 8px;   --tt-espace-3: 12px;  --tt-espace-4: 16px;
  --tt-espace-5: 24px;  --tt-espace-6: 32px;  --tt-espace-7: 48px;  --tt-espace-8: 64px;
  --tt-espace-9: 96px;  --tt-espace-10: 128px;

  /* Typographie - Inter seul, corps jamais sous 16 px */
  --tt-police: 'Inter', system-ui, 'Segoe UI', -apple-system, sans-serif;
  --tt-display-taille: 3.5rem;     --tt-display-interligne: 1.1;   --tt-display-interlettrage: -0.02em;
  --tt-titre-1-taille: 2.5rem;     --tt-titre-1-interligne: 1.15;  --tt-titre-1-interlettrage: -0.015em;
  --tt-titre-2-taille: 1.75rem;    --tt-titre-2-interligne: 1.25;  --tt-titre-2-interlettrage: -0.01em;
  --tt-titre-3-taille: 1.25rem;    --tt-titre-3-interligne: 1.4;
  --tt-corps-long-taille: 1.125rem; --tt-corps-long-interligne: 1.6;
  --tt-corps-taille: 1rem;         --tt-corps-interligne: 1.5;
  --tt-petit-taille: 0.875rem;     --tt-petit-interligne: 1.45;
  --tt-etiquette-taille: 0.8125rem; --tt-etiquette-interligne: 1.4; --tt-etiquette-interlettrage: 0.12em;
  --tt-mesure-max: 70ch;

  /* Rayons - derives de la rondeur du logo (40/176), plafonnes */
  --tt-radius-xs: 4px;  --tt-radius-sm: 8px;  --tt-radius-md: 12px;
  --tt-radius-lg: 16px; --tt-radius-pill: 999px;

  /* Elevation - ombre teintee marine, jamais de noir pur.
     En mode sombre : pas d'ombre, surface plus claire (gere par les semantiques). */
  --tt-ombre-1: 0 1px 2px rgba(15, 48, 87, 0.08);
  --tt-ombre-2: 0 4px 12px rgba(15, 48, 87, 0.12);
  --tt-ombre-3: 0 12px 32px rgba(15, 48, 87, 0.18);
  --tt-elevation-1: var(--tt-ombre-1);
  --tt-elevation-2: var(--tt-ombre-2);
  --tt-elevation-3: var(--tt-ombre-3);

  /* Mouvement */
  --tt-duree-1: 120ms;  --tt-duree-2: 200ms;  --tt-duree-3: 320ms;
  --tt-courbe: cubic-bezier(0.2, 0, 0, 1);
}

/* Echelle typographique mobile (sous bp-md 960px) */
@media (max-width: 959px) {
  :root {
    --tt-display-taille: 2.5rem;
    --tt-titre-1-taille: 2rem;
    --tt-titre-2-taille: 1.5rem;
  }
}

/* Points de rupture (non exprimables en custom properties - valeurs de reference) :
   bp-sm 640px, bp-md 960px, bp-lg 1280px.
   Grille : 12 colonnes fluides, gouttiere 24px (16px sous bp-sm), contenu max 1200px. */

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