/* Jetons de claude.deskio.io — seule source des couleurs, polices, rayons et espacements.
   Brief : design/BRIEF.md (v2, « manuel de poche », d'abord le téléphone). */
@font-face{font-family:"League Spartan";src:url("/fonts/LeagueSpartan-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"League Spartan";src:url("/fonts/LeagueSpartan-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Atkinson Next";src:url("/fonts/AtkinsonHyperlegibleNext-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Next";src:url("/fonts/AtkinsonHyperlegibleNext-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
/* Replis aux métriques ajustées : pas de saut de mise en page au chargement. */
@font-face{font-family:"Atkinson Repli";src:local("Arial");size-adjust:104%;ascent-override:95%;descent-override:24%}
@font-face{font-family:"Spartan Repli";src:local("Arial");size-adjust:96%;ascent-override:80%;descent-override:20%}

:root{
  /* Palette — 2 neutres (90 % de la surface), 1 accent (≤ 3 %), 2 états */
  --brume:#edeff2;        /* fond */
  --terminal:#15181d;     /* texte, cartes de commande, barre du haut, sommaire */
  --curseur:#f5c400;      /* fil de progression et focus clavier — rien d'autre */
  --sortie:#1b7040;       /* exercice fait — 5,3:1 sur Brume */
  --erreur:#ad2b2b;       /* avertissement de sécurité — 5,2:1 sur son encadré */
  /* Dérivés des deux neutres (mélanges, pas de nouvelles teintes) */
  --brume-2:color-mix(in srgb,var(--terminal) 6%,var(--brume));
  --filet:color-mix(in srgb,var(--terminal) 16%,var(--brume));
  --gris:color-mix(in srgb,var(--terminal) 62%,var(--brume));
  --terminal-2:color-mix(in srgb,var(--brume) 9%,var(--terminal));
  --terminal-texte:color-mix(in srgb,var(--brume) 88%,var(--terminal));
  --terminal-gris:color-mix(in srgb,var(--brume) 58%,var(--terminal));
  --sortie-clair:color-mix(in srgb,var(--sortie) 45%,var(--brume)); /* « Copié » sur fond Terminal */
  --voile:color-mix(in srgb,var(--terminal) 45%,transparent);       /* derrière le panneau Sommaire */

  /* Familles */
  --f-titre:"League Spartan","Spartan Repli",system-ui,sans-serif;
  --f-texte:"Atkinson Next","Atkinson Repli",system-ui,sans-serif;
  --f-code:ui-monospace,"SF Mono",Menlo,Consolas,monospace;   /* la police du Terminal de l'apprenant */

  /* Échelle typographique — taille / interlignage / interlettrage par niveau */
  --t-accueil:clamp(2rem,5vw + .5rem,3.25rem);      --l-accueil:1.05; --ls-accueil:-.02em;
  --t-titre:clamp(1.75rem,4.2vw + .6rem,2.75rem);   --l-titre:1.08;   --ls-titre:-.015em;
  --t-h2:clamp(1.25rem,1.6vw + .8rem,1.6rem);       --l-h2:1.2;       --ls-h2:-.01em;
  --t-h3:1.06rem;                                   --l-h3:1.3;       --ls-h3:0;
  --t-texte:clamp(1rem,.25vw + .95rem,1.1rem);      --l-texte:1.6;    --ls-texte:.005em;
  --t-code:clamp(.84rem,.2vw + .8rem,.92rem);       --l-code:1.55;    --ls-code:0;
  --t-petit:.84rem;                                 --l-petit:1.45;   --ls-petit:.01em;
  --t-num:1.5rem;                                   /* numéro dans la liste des leçons */

  /* Espacements */
  --e1:.25rem; --e2:.5rem; --e3:.875rem; --e4:1.25rem; --e5:2rem; --e6:3rem; --e7:4.5rem;
  --marge:1rem;           /* marge latérale du téléphone (16 px) */
  --mesure:70ch;          /* largeur de lecture */
  --rail:17.5rem;         /* sommaire en colonne (grand écran) */
  --barre:3.25rem;        /* hauteur de la barre du haut */
  --fil:3px;              /* LE GESTE : fil de progression */
  --nav-bas:3.75rem;      /* navigation basse au pouce (téléphone) */
  --cible:2.75rem;        /* cible tactile minimale (44 px) */
  --case:1.15rem;         /* cases à cocher */

  /* Rayons — par rang : champ < carte de commande < exercice < panneau */
  --r-champ:6px; --r-carte:10px; --r-exercice:16px; --r-panneau:18px; --r-pastille:999px;

  --duree:.2s;
}
