/* ==========================================================================
   TIBZ — jetons de conception
   Lane : console de programme de lancement.
   Strategie couleur : Committed. L'acide porte la surface, il ne decore pas.
   ========================================================================== */

:root {
  /* --- Couleur -----------------------------------------------------------
     Tout en OKLCH. Aucun noir ni blanc pur : chaque neutre est teinte vers la
     teinte de marque (190), chroma tenu bas aux extremes de luminosite. */
  --carbon-900: oklch(0.13 0.008 190);   /* fond de page */
  --carbon-850: oklch(0.15 0.008 190);   /* alternance de section */
  --carbon-800: oklch(0.17 0.009 190);   /* panneaux */
  --carbon-750: oklch(0.20 0.010 190);   /* survols */
  --carbon-700: oklch(0.24 0.010 190);   /* filets, bordures */

  --acid:       oklch(0.91 0.196 113);   /* ~#DEF015, teinte de marque conservee */
  --acid-dim:   oklch(0.62 0.130 113);   /* hairlines, etats intermediaires */
  --acid-ghost: oklch(0.91 0.196 113 / 0.12);

  --sky:        oklch(0.79 0.077 243);   /* ~#85C1E9, noms de code */
  --indigo:     oklch(0.27 0.090 285);   /* ~#20184A, voiles de profondeur */

  --paper:      oklch(0.96 0.004 190);   /* texte principal */
  --mute:       oklch(0.70 0.008 190);   /* texte secondaire */
  /* 0.60 est le plancher : en dessous, les labels mono passent sous 4.5:1
     sur le fond des panneaux (carbon-800), le plus clair des trois. */
  --faint:      oklch(0.60 0.008 190);   /* mentions, legendes */

  /* Roles semantiques : le reste de la feuille ne reference que ceux-ci. */
  --bg: var(--carbon-900);
  --fg: var(--paper);
  --rule: var(--carbon-700);
  --accent: var(--acid);

  /* --- Typographie -------------------------------------------------------
     Archivo (wdth 62-125, wght 400-900) : display + corps.
     Martian Mono (wdth 75-112.5, wght 300-800) : telemetrie, labels, chiffres. */
  --font-display: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Martian Mono", ui-monospace, "SF Mono", monospace;

  /* Echelle modulaire fluide, ratio ~1.32. Aucun palier plat. */
  --t-xs:   clamp(0.69rem, 0.67rem + 0.10vw, 0.75rem);
  --t-sm:   clamp(0.81rem, 0.78rem + 0.15vw, 0.90rem);
  --t-base: clamp(1.00rem, 0.96rem + 0.20vw, 1.13rem);
  --t-md:   clamp(1.19rem, 1.10rem + 0.42vw, 1.44rem);
  --t-lg:   clamp(1.42rem, 1.24rem + 0.90vw, 2.10rem);
  --t-xl:   clamp(1.72rem, 1.30rem + 2.10vw, 3.10rem);
  /* Les trois derniers paliers montent tres vite avec la largeur : sur petit
     ecran un titre en Archivo elargi doit rester dans la gouttiere, sur grand
     ecran il doit pouvoir devenir une plaque. D'ou des minimums bas et des
     coefficients vw eleves plutot qu'une echelle lineaire. */
  --t-2xl:  clamp(2.10rem, 1.15rem + 4.75vw, 4.60rem);
  --t-3xl:  clamp(2.70rem, 0.90rem + 7.40vw, 7.00rem);
  --t-4xl:  clamp(3.10rem, 0.60rem + 10.4vw, 10.5rem);

  /* Texte clair sur fond sombre : la graisse optique parait plus fine,
     on redonne de l'air. */
  --lh-tight: 0.94;
  --lh-snug: 1.14;
  --lh-body: 1.62;

  --tr-tight: -0.035em;
  --tr-mono: 0.10em;

  /* --- Espacement --------------------------------------------------------
     Rythme volontairement irregulier : groupements serres, separations larges. */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4rem;
  --s-9: 6rem;
  --section-y: clamp(4.5rem, 3rem + 7.5vw, 11rem);
  --gutter: clamp(1.25rem, 0.7rem + 2.75vw, 4.5rem);
  --measure: 68ch;
  --maxw: 88rem;

  /* --- Mouvement ---------------------------------------------------------
     Sorties exponentielles uniquement. Ni rebond ni elastique. */
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur: 420ms;
  --dur-slow: 780ms;

  --header-h: 4.25rem;
  --dock-h: 4.5rem;
}

/* Le site est concu en sombre : c'est la salle de controle, a 2h du matin,
   quand on regarde des courbes. On declare le schema pour que les controles
   natifs (scrollbar, focus, form) suivent, sans proposer de theme clair. */
:root { color-scheme: dark; }
