/* Charte « Sceau », celle de MC Routing (DECISIONS/interface.md#charte-textes-courts) : vert du logo, papier et encres chauds,
   titres en Barlow Condensed. Jetons seulement : les composants vivent dans app.css et ne lisent que les jetons
   sémantiques. Écarts voulus avec MC Routing : bouton principal orange, --text-muted plus foncé (lisibilité au
   soleil), tailles de texte du téléphone. Contrastes contrôlés par scripts/lib/charte.mjs. Clair seulement. */

@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:600;
  src:url(../polices/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:700;
  src:url(../polices/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400;
  src:url(../polices/ibm-plex-sans-latin-400-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:500;
  src:url(../polices/ibm-plex-sans-latin-500-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:600;
  src:url(../polices/ibm-plex-sans-latin-600-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:700;
  src:url(../polices/ibm-plex-sans-latin-700-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400;
  src:url(../polices/ibm-plex-sans-latin-ext-400-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:500;
  src:url(../polices/ibm-plex-sans-latin-ext-500-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:600;
  src:url(../polices/ibm-plex-sans-latin-ext-600-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:700;
  src:url(../polices/ibm-plex-sans-latin-ext-700-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* Primitives : les couleurs du logo et le papier. */
  --sceau-vert        : #14443a;
  --sceau-vert-fonce  : #0c2e27;
  --sceau-orange      : #f28c28;
  --sceau-orange-presse: #de7a14;
  --sceau-papier      : #f7f4ec;
  --blanc             : #ffffff;

  /* Marque, accent, surfaces, textes. */
  --marque            : var(--sceau-vert);
  --marque-fonce      : var(--sceau-vert-fonce);
  --sur-marque        : var(--blanc);
  --sur-marque-discret: #c4ddd3;
  --accent            : var(--sceau-orange);
  --accent-presse     : var(--sceau-orange-presse);
  --sur-accent        : var(--text);
  --surface           : var(--sceau-papier);
  --surface-raised    : #fffdf8;
  --surface-sunken    : #efebe0;
  --text              : #1c1a16;
  --text-strong       : #141210;
  --text-secondary    : #4a463c;
  --text-muted        : #5c574b;
  --rule              : #e2dcce;
  --rule-strong       : #cfc7b5;
  --bord-carte       : #bdb6a5;
  --barre-n1         : #8c8677;
  --rule-control      : #918b7f;
  --lien              : var(--sceau-vert);
  --focus             : var(--sceau-vert);
  --rond-fond         : #e9f0ed;
  --rond-picto        : var(--sceau-vert);
  --pastille-verte-fond  : #e9f0ed;
  --pastille-verte-texte : #14443a;
  --pastille-bleue-fond  : #eaf0f7;
  --pastille-bleue-texte : #1a5a9e;
  --pastille-orange-fond : #faf0df;
  --pastille-orange-texte: #8a5a0b;
  --pastille-neutre-fond : #efebe0;
  --pastille-neutre-texte: #4a463c;

  /* États. */
  --danger            : #b0341f;
  --success           : #1a6f3c;
  --warn              : #8a5a0b;
  --info              : #1a5a9e;
  --danger-soft       : #faeae4;
  --danger-soft-rule  : #efcfc3;
  --success-soft      : #e6f4ea;
  --success-soft-rule : #bfe0ca;
  --warn-soft         : #faf0df;
  --warn-soft-rule    : #edd9ae;
  --info-soft         : #eaf0f7;
  --info-soft-rule    : #c3d6e9;
  --cal-1: #1a6f3c; --cal-2: #1a5a9e; --cal-3: #de7a14; --cal-4: #6b4ea8; --cal-5: #0f7f8a; --cal-6: #b0306a;

  /* Voiles et ombres : repli solide d'abord, color-mix ensuite (déclaration ignorée si non prise en charge). */
  --scrim-solid : var(--text-strong);
  --scrim-mid   : color-mix(in srgb, var(--text-strong) 55%, transparent);
  --ombre-carte : 0 1px 3px color-mix(in srgb, var(--text-strong) 8%, transparent);
  --ombre-haute : 0 12px 40px color-mix(in srgb, var(--text-strong) 30%, transparent);
  --surface-grain: linear-gradient(178deg, var(--surface-raised) 0%, var(--surface) 42%, var(--surface-sunken) 100%);

  /* Typographie : titres en condensée, texte en Plex, chiffres tabulaires pour les montants (classe .nombre). */
  --font-display : 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body : 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
  --font-mono : ui-monospace, 'Cascadia Mono', Consolas, monospace;
  --fs-12 : 0.75rem;
  --fs-13 : 0.8125rem;
  --fs-14 : 0.875rem;
  --fs-15 : 0.9375rem;
  --fs-16 : 1rem;
  --fs-19 : 1.1875rem;
  --fs-24 : 1.5rem;
  --fs-30 : 1.875rem;

  /* Espaces sur une base 4 ; rayons ; cible tactile. */
  --esp-1 : 0.25rem;
  --esp-2 : 0.5rem;
  --esp-3 : 0.75rem;
  --esp-4 : 1rem;
  --esp-5 : 1.25rem;
  --esp-6 : 1.5rem;
  --esp-8 : 2rem;
  --rayon-champ  : 0.375rem;
  --rayon-carte  : 0.5rem;
  --rayon-feuille: 0.75rem;
  --rayon-plein  : 999px;
  --cible        : 2.75rem;
  --picto        : 1.375rem;
  --rond         : 3rem;
  --plus         : 3.5rem;

  /* Mouvement : court, sans rebond ; --glisse tombe à 0 si le système demande moins d'animations (app.css). */
  --duree-courte : 120ms;
  --duree        : 220ms;
  --courbe       : cubic-bezier(.2,.8,.2,1);
  --duree-donnees: 180ms;
  --duree-lancement: 420ms;
  --delai-squelette: 150ms;
  --duree-respiration: 1.8s;
  --filet-lancement: 10s;
  --glisse       : 6px;
  --glisse-feuille: 100%;
  --duree-feuille: 280ms;
  /* Passage liste ↔ fiche : le nouvel écran glisse de --glisse-page, l'ancien recule de --recul-page, plus vite. */
  --duree-page   : 240ms;
  --duree-page-sortie: 160ms;
  --glisse-page  : 24px;
  --recul-page   : 8px;
  --duree-tour   : 800ms;
  --roue         : 1.125rem;

  color-scheme: only light;
}
