/* TECHXV — generated from tokens.json */
:root, [data-theme="craie"] {
  --terrain-900: #0d3527;
  --terrain-800: #134a36;
  --terrain-700: #1a6045;
  --terrain-600: #237553;
  --terrain-300: #bfd3c6;
  --terrain-100: #e1ede3;
  --craie-50: #fbfaf5;
  --craie-100: #f4f1e7;
  --craie-200: #e9e5d7;
  --craie-300: #d4ceba;
  --craie-500: #7c7663;
  --encre-900: #13211b;
  --encre-700: #3e4c45;
  --citron-300: #eef8b4;
  --citron-400: #d9ef45;
  --citron-500: #c8e02e;
  --citron-600: #b4cb1f;
  --orange-700: #8f3b00;
  --orange-500: #ec7a16;
  --orange-100: #fce9d4;
  --rouge-700: #a1251b;
  --rouge-100: #f9e1dd;
  --bleu-700: #1d4c8a;
  --bleu-600: #1f4fcf;
  --bleu-100: #dfe9f6;
  --vert-700: #1b653e;
  --vert-100: #ddefe2;
  --gris-700: #555f59;
  --gris-100: #e6e7e1;
  --surface: var(--craie-100);
  --surface-elevee: var(--craie-50);
  --surface-creuse: var(--craie-200);
  --surface-survol: var(--terrain-100);
  --surface-terrain: var(--terrain-900);
  --surface-terrain-elevee: var(--terrain-800);
  --texte: var(--encre-900);
  --texte-discret: var(--encre-700);
  --texte-sur-terrain: var(--craie-100);
  --texte-sur-terrain-discret: var(--terrain-300);
  --texte-sur-action: var(--encre-900);
  --action: var(--citron-400);
  --action-survol: var(--citron-500);
  --action-presse: var(--citron-600);
  --action-contour: var(--encre-900);
  --action-teinte: var(--citron-300);
  --lien: var(--terrain-700);
  --lien-survol: var(--terrain-900);
  --lien-sur-terrain: var(--citron-400);
  --focus: var(--bleu-600);
  --focus-sur-terrain: var(--citron-400);
  --bordure: var(--craie-300);
  --bordure-forte: var(--craie-500);
  --bordure-sur-terrain: var(--terrain-600);
  --trait-craie: #f4f1e729;
  --info: var(--bleu-700);
  --info-teinte: var(--bleu-100);
  --succes: var(--vert-700);
  --succes-teinte: var(--vert-100);
  --alerte: var(--orange-700);
  --alerte-teinte: var(--orange-100);
  --alerte-vif: var(--orange-500);
  --erreur: var(--rouge-700);
  --erreur-teinte: var(--rouge-100);
  --indisponible: var(--gris-700);
  --indisponible-teinte: var(--gris-100);
  --jauge-piste: var(--craie-200);
  --jauge-remplie: var(--terrain-700);
  --jauge-zone: var(--citron-300);
  --ombre-1: 0 1px 2px rgba(19, 33, 27, 0.10);
  --ombre-2: 0 8px 24px rgba(19, 33, 27, 0.16), 0 2px 6px rgba(19, 33, 27, 0.10);
}
:root {
  --espace-1: 4px;
  --espace-2: 8px;
  --espace-3: 12px;
  --espace-4: 16px;
  --espace-5: 24px;
  --espace-6: 32px;
  --espace-7: 48px;
  --espace-8: 64px;
  --espace-9: 96px;
  --rayon-s: 4px;
  --rayon-m: 8px;
  --rayon-l: 12px;
  --rayon-pilule: 999px;
  --largeur-lecture: 68ch;
  --largeur-contenu: 1200px;
  --largeur-page: 1440px;
  --colonne-coach: 360px;
  --cible-min: 44px;
  --cible-confort: 48px;
  --hauteur-nav: 64px;
  --epaisseur-filet: 1px;
  --epaisseur-controle: 2px;
  --epaisseur-focus: 3px;
  --decalage-focus: 2px;
  --duree-rapide: 120ms;
  --duree-moyenne: 200ms;
  --duree-lente: 320ms;
  --courbe-standard: cubic-bezier(0.2, 0, 0, 1);
  --courbe-sortie: cubic-bezier(0, 0, 0.2, 1);
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Liberation Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;
}
.tx-display { font-family: var(--font-sans); font-size: 3rem; line-height: 1.04; font-weight: 800; letter-spacing: -0.015em; }
.tx-titre-1 { font-family: var(--font-sans); font-size: 2.125rem; line-height: 1.1; font-weight: 800; letter-spacing: -0.01em; }
.tx-titre-2 { font-family: var(--font-sans); font-size: 1.625rem; line-height: 1.2; font-weight: 750; }
.tx-titre-3 { font-family: var(--font-sans); font-size: 1.3125rem; line-height: 1.3; font-weight: 700; }
.tx-surtitre { font-family: var(--font-sans); font-size: 0.8125rem; line-height: 1.3; font-weight: 750; letter-spacing: 0.08em; }
.tx-chapo { font-family: var(--font-sans); font-size: 1.1875rem; line-height: 1.55; font-weight: 400; }
.tx-corps { font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.6; font-weight: 400; }
.tx-corps-fort { font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.6; font-weight: 650; }
.tx-petit { font-family: var(--font-sans); font-size: 0.9375rem; line-height: 1.5; font-weight: 400; }
.tx-libelle { font-family: var(--font-sans); font-size: 0.9375rem; line-height: 1.35; font-weight: 650; }
.tx-chiffre { font-family: var(--font-sans); font-size: 2.5rem; line-height: 1; font-weight: 800; }
.tx-donnee { font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.4; font-weight: 500; }
.tx-code { font-family: var(--font-mono); font-size: 0.9375rem; line-height: 1.45; font-weight: 500; }
