/* ============================================================================
   AGENTIC GURU V2 — SOURCE UNIQUE DES VALEURS DE DESIGN
   ----------------------------------------------------------------------------
   CE FICHIER EST LE SEUL PROPRIETAIRE DES VALEURS. Personne d'autre n'ecrit un
   #hex, un rayon ou une graduation d'espacement du socle V2 : les autres
   feuilles les CONSOMMENT par `var(--ag2-*)`.

   Ou changer quoi :
     bleu Sonic ........ --ag2-blue           (et sa famille --ag2-blue-*)
     or Supersonic ..... --ag2-gold           (et sa famille --ag2-gold-*)
     fond de page ...... --ag2-bg / --ag2-bg-alt / --ag2-surface
     encre ............. --ag2-ink / --ag2-ink-2 / --ag2-ink-3
     filets ............ --ag2-line / --ag2-line-strong
     rayons ............ --ag2-r-1 / --ag2-r-2 / --ag2-r-3
     typographie ....... --ag2-sans / --ag2-mono / --ag2-t-*
     espacement ........ --ag2-1 .. --ag2-9

   QUI CONSOMME CE FICHIER
     agentic-v2.css ......... composants `.ag2-*` et markup herite (11 pages)
     commencer.html ......... via des alias locaux dans `.cmc-page`

   POURQUOI `:root` ET NON `.ag2`
   /commencer ne peut pas porter la classe `ag2` : `agentic-v2.css` contient 50
   selecteurs d'ELEMENT sous `.ag2` (`.ag2 h1`, `.ag2 p`, `.ag2 img`, `.ag2 pre`
   ...) qui restyleraient toute la page avec une echelle typographique qui n'est
   pas la sienne. Mesure faite, pas supposee : evidence/class_collision.json.
   Les jetons vivent donc a la racine, ou tout le monde peut les lire sans
   heriter des regles.

   ATTENTION A L'ORDRE DE CHARGEMENT. Toute page qui charge `agentic-v2.css`
   DOIT charger ce fichier avant. Une page qui l'oublie perd tout son style.
   Ce n'est pas une consigne : `test_token_ownership.mjs` refuse la page.

   LE SPA PREMIUM NE PEUT PAS LIRE CE FICHIER. Il vit dans un autre depot
   (`_agentic_ops/landing/src/theme-v2.css`) et duplique 26 de ces jetons par
   necessite structurelle. Cette duplication est SURVEILLEE : `token_drift.mjs`
   echoue des qu'une valeur commune diverge.
   ========================================================================= */

:root {
  /* — Canevas et surfaces. Blanc chaud, jamais gris bleuté. — */
  --ag2-bg: #fcfaf8;
  --ag2-bg-alt: #f5f4f2;
  --ag2-surface: #ffffff;
  --ag2-surface-sunk: #faf9f7;

  /* — Encre. Le noir n'est pas #000 : trop dur sur un fond chaud. — */
  --ag2-ink: #0c0a09;
  --ag2-ink-2: #44403c;
  --ag2-ink-3: #79716b;
  --ag2-ink-inverse: #ffffff;

  /* — Filets. La structure du système tient ici. — */
  --ag2-line: #e7e5e4;
  --ag2-line-strong: #d6d3d1;
  --ag2-line-ink: #0c0a09;

  /* — Bleu Sonic : le seul accent fonctionnel. — */
  --ag2-blue: #2563eb;
  --ag2-blue-hover: #1d4ed8;
  --ag2-blue-deep: #1e40af;
  --ag2-blue-bright: #3b82f6;
  --ag2-blue-ghost: rgba(37, 99, 235, 0.08);
  --ag2-blue-ring: rgba(37, 99, 235, 0.35);

  /* — Or Supersonic : rare. Voir la règle de l'or en tête de fichier. — */
  --ag2-gold: #d97706;
  --ag2-gold-ink: #92400e;
  --ag2-gold-wash: #fffbeb;
  --ag2-gold-line: #fcd34d;

  /* — États. — */
  --ag2-ok: #15803d;
  --ag2-ok-wash: #f0fdf4;
  --ag2-warn: #b45309;
  --ag2-err: #b91c1c;
  --ag2-err-wash: #fef2f2;

  /* — Typographie. Geist est verrouillé par WQ-0089, on ne le rediscute pas. — */
  --ag2-sans: 'Geist Variable', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ag2-mono: 'Geist Mono Variable', ui-monospace, 'SFMono-Regular', Consolas, monospace;

  /* Échelle à fort contraste : un display large, puis de l'UI petit. Le
     ventre mou 24-32px est volontairement absent — c'est lui qui fait
     « site de template ». */
  --ag2-t-display: clamp(2.25rem, 1.35rem + 3.6vw, 3.5rem);
  --ag2-t-h2: clamp(1.65rem, 1.25rem + 1.6vw, 2.25rem);
  --ag2-t-h3: 1.125rem;
  --ag2-t-lead: clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);
  --ag2-t-body: 1rem;
  --ag2-t-ui: 0.875rem;
  --ag2-t-label: 0.75rem;
  --ag2-t-micro: 0.6875rem;

  --ag2-lh-display: 1.06;
  --ag2-lh-title: 1.16;
  --ag2-lh-body: 1.6;
  --ag2-ls-display: -0.032em;
  --ag2-ls-title: -0.018em;
  --ag2-ls-label: 0.14em;

  /* — Espacement : la trame mesurée sur la référence. — */
  --ag2-1: 4px;
  --ag2-2: 8px;
  --ag2-3: 12px;
  --ag2-4: 16px;
  --ag2-5: 24px;
  --ag2-6: 32px;
  --ag2-7: 48px;
  --ag2-8: 64px;
  --ag2-9: 96px;
  --ag2-section: clamp(56px, 6vw, 96px);
  --ag2-pad-x: clamp(20px, 4vw, 40px);

  /* — Conteneurs. — */
  --ag2-w-prose: 720px;
  --ag2-w: 1120px;
  --ag2-w-wide: 1280px;

  /* — Rayons : petits. C'est un choix mesuré, pas une préférence. — */
  --ag2-r-1: 4px;
  --ag2-r-2: 6px;
  --ag2-r-3: 8px;
  --ag2-r-pill: 999px;

  /* — Élévation : presque rien. Les filets font le travail. — */
  --ag2-shadow-0: none;
  --ag2-shadow-1: 0 1px 2px rgba(12, 10, 9, 0.04);
  --ag2-shadow-2: 0 4px 16px -6px rgba(12, 10, 9, 0.10);

  --ag2-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ag2-fast: 140ms;
  --ag2-slow: 320ms;
}
