/* ============================================================
   ANIMA — prototype v2 · tokens de palette (OKLCH)
   ------------------------------------------------------------
   Grammaire du site projet pédagogique (atelier-pp / Ta Trace) :
   calcaire clair chaud, encre sombre, teintes de rupture par rubrique.
   Un seul jeu de TEINTES ; deux thèmes = deux jeux de niveaux :
     · clair (défaut)      — calcaire #F2EEE6, encre #14100C
     · sombre chaud        — une nuit brune, pas du néon : mêmes teintes,
                             luminosités inversées, chromas contenus.
   Toute couleur est dérivée : oklch(var(--l-…) var(--c-…) var(--h-…)).

   Règles (spec « Phase 1 — Charte ») :
   · 3 états réservés : ok ~150, alerte ~70, critique ~25.
   · 6 teintes de domaine + accent à ≥ 30° de chaque état ; l'ambre n'est
     jamais un accent. Créneaux autorisés : [100-120] ∪ [180-355].
     Sept créneaux ≥ 29° : 110 · 185 · 214 · 243 · 272 · 301 · 330.
   · Validé par proto2/tools/valider-palette.mjs (WCAG 2.2 + APCA + écarts).
   ============================================================ */

:root {
  color-scheme: light;

  /* — Teintes (constantes dans les deux thèmes) — */
  --h-fond: 80;          /* calcaire : beige chaud */
  --h-encre: 60;         /* encre brune */
  --h-accent: 214;       /* pétrole (la « mer » de Ta Trace) */

  --h-equipe: 330;       /* prune */
  --h-enfants: 301;      /* orchidée */
  --h-sante: 185;        /* sarcelle */
  --h-pedagogie: 272;    /* indigo */
  --h-logistique: 110;   /* olive */
  --h-argent: 243;       /* bleu acier */

  --h-reglementation: 214; /* portail : pétrole */
  --h-animer: 330;         /* portail : prune */
  --h-diriger: 272;        /* portail : indigo */

  --h-ok: 150;
  --h-alerte: 70;
  --h-critique: 25;

  /* — Niveaux : thème clair — */
  --l-bg0: .945;  --c-bg0: .012;      /* calcaire */
  --l-s1: .972;   --c-s1: .008;       /* carte : à peine plus claire */
  --l-s2: .99;    --c-s2: .004;       /* champ de saisie */
  --l-s3: .905;   --c-s3: .02;        /* calcaire-2 : encart, filet épais */

  --l-texte: .17;   --c-texte: .012;
  --l-texte2: .37;  --c-texte2: .02;
  --l-texte3: .49;  --c-texte3: .02;

  --a-ligne: .16;                      /* filet : encre à 16 % */
  --l-ligne2: .58;  --c-ligne2: .02;   /* filet fort (bordure ≥ 3:1) */

  --l-accent: .42;  --c-accent: .08;
  --l-sur-accent: .975; --c-sur-accent: .003;

  --l-dom: .42;     --c-dom: .08;      /* teinte de domaine en texte (≥ 4,5:1) */
  --l-dom-fond: .935; --c-dom-fond: .025; /* lavis de domaine (fond de tuile) */
  --l-dom-fond2: .90; --c-dom-fond2: .04; /* lavis appuyé (barre, pastille) */

  --l-portail: .33; --c-portail: .075;  /* bande pleine largeur teintée */
  --l-sur-portail: .955; --c-sur-portail: .005;
  --a-portail-filet: .28;

  --l-etat: .45;    --c-etat: .11;      /* ok */
  --l-alerte: .46;  --c-alerte: .11;    /* ambre → ocre lisible */
  --l-critique: .47; --c-critique: .16; /* brique */
  --l-etat-fond: .93; --c-etat-fond: .03;

  --a-ombre: .10;
}

/* — Thème sombre chaud : mêmes teintes, autres niveaux — */
[data-theme="sombre"] {
  color-scheme: dark;

  --l-bg0: .215;  --c-bg0: .012;
  --l-s1: .25;    --c-s1: .012;
  --l-s2: .285;   --c-s2: .012;
  --l-s3: .31;    --c-s3: .014;

  --l-texte: .93;   --c-texte: .012;
  --l-texte2: .87;  --c-texte2: .012;
  --l-texte3: .80;  --c-texte3: .014;

  --a-ligne: .18;
  --l-ligne2: .60;  --c-ligne2: .02;

  --l-accent: .82;  --c-accent: .08;
  --l-sur-accent: .215; --c-sur-accent: .012;

  --l-dom: .82;     --c-dom: .08;
  --l-dom-fond: .27; --c-dom-fond: .03;
  --l-dom-fond2: .30; --c-dom-fond2: .04;

  --l-portail: .30; --c-portail: .065;
  --l-sur-portail: .94; --c-sur-portail: .005;
  --a-portail-filet: .24;

  --l-etat: .82;    --c-etat: .10;
  --l-alerte: .82;  --c-alerte: .10;
  --l-critique: .82; --c-critique: .10;
  --l-etat-fond: .28; --c-etat-fond: .035;

  --a-ombre: .35;
}

/* — Couleurs dérivées (les seules utilisées par app.css) — */
:root {
  --bg-0: oklch(var(--l-bg0) var(--c-bg0) var(--h-fond));
  --s1: oklch(var(--l-s1) var(--c-s1) var(--h-fond));
  --s2: oklch(var(--l-s2) var(--c-s2) var(--h-fond));
  --s3: oklch(var(--l-s3) var(--c-s3) var(--h-fond));

  --texte: oklch(var(--l-texte) var(--c-texte) var(--h-encre));
  --texte-2: oklch(var(--l-texte2) var(--c-texte2) var(--h-encre));
  --texte-3: oklch(var(--l-texte3) var(--c-texte3) var(--h-encre));

  --ligne: oklch(var(--l-texte) var(--c-texte) var(--h-encre) / var(--a-ligne));
  --ligne-2: oklch(var(--l-ligne2) var(--c-ligne2) var(--h-encre));
  --ombre: oklch(0.1 0.01 60 / var(--a-ombre));

  --accent: oklch(var(--l-accent) var(--c-accent) var(--h-accent));
  --sur-accent: oklch(var(--l-sur-accent) var(--c-sur-accent) var(--h-fond));
  --accent-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-accent));

  --equipe: oklch(var(--l-dom) var(--c-dom) var(--h-equipe));
  --enfants: oklch(var(--l-dom) var(--c-dom) var(--h-enfants));
  --sante: oklch(var(--l-dom) var(--c-dom) var(--h-sante));
  --pedagogie: oklch(var(--l-dom) var(--c-dom) var(--h-pedagogie));
  --logistique: oklch(var(--l-dom) var(--c-dom) var(--h-logistique));
  --argent: oklch(var(--l-dom) var(--c-dom) var(--h-argent));

  --equipe-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-equipe));
  --enfants-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-enfants));
  --sante-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-sante));
  --pedagogie-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-pedagogie));
  --logistique-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-logistique));
  --argent-fond: oklch(var(--l-dom-fond) var(--c-dom-fond) var(--h-argent));

  --equipe-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-equipe));
  --enfants-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-enfants));
  --sante-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-sante));
  --pedagogie-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-pedagogie));
  --logistique-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-logistique));
  --argent-fond2: oklch(var(--l-dom-fond2) var(--c-dom-fond2) var(--h-argent));

  --equipe-portail: oklch(var(--l-portail) var(--c-portail) var(--h-equipe));
  --enfants-portail: oklch(var(--l-portail) var(--c-portail) var(--h-enfants));
  --sante-portail: oklch(var(--l-portail) var(--c-portail) var(--h-sante));
  --pedagogie-portail: oklch(var(--l-portail) var(--c-portail) var(--h-pedagogie));
  --logistique-portail: oklch(var(--l-portail) var(--c-portail) var(--h-logistique));
  --argent-portail: oklch(var(--l-portail) var(--c-portail) var(--h-argent));
  --reglementation-portail: oklch(var(--l-portail) var(--c-portail) var(--h-reglementation));
  --animer-portail: oklch(var(--l-portail) var(--c-portail) var(--h-animer));
  --diriger-portail: oklch(var(--l-portail) var(--c-portail) var(--h-diriger));
  --sur-portail: oklch(var(--l-sur-portail) var(--c-sur-portail) var(--h-fond));
  --portail-filet: oklch(var(--l-sur-portail) var(--c-sur-portail) var(--h-fond) / var(--a-portail-filet));

  --ok: oklch(var(--l-etat) var(--c-etat) var(--h-ok));
  --alerte: oklch(var(--l-alerte) var(--c-alerte) var(--h-alerte));
  --critique: oklch(var(--l-critique) var(--c-critique) var(--h-critique));
  --info: var(--texte-2);
  --ok-fond: oklch(var(--l-etat-fond) var(--c-etat-fond) var(--h-ok));
  --alerte-fond: oklch(var(--l-etat-fond) var(--c-etat-fond) var(--h-alerte));
  --critique-fond: oklch(var(--l-etat-fond) var(--c-etat-fond) var(--h-critique));
}
