/* duovia-tokens.css — charte Duovia
   ───────────────────────────────────────────────────────────────────────────
   Révision du 2026-08-13 (2) : reprise fidèle du thème SOMBRE de la frise
   réglementaire, appliqué à l'intégralité de l'interface.

   Principes de cette charte, et ce qui fait sa tenue :

   • UN SEUL FOND, PARTOUT. #0C1317 couvre la page entière — barre latérale,
     barre haute, zone de contenu. Aucune zone claire, aucune rupture. Ce sont
     les filets et les surfaces légèrement plus claires qui structurent, pas les
     contrastes de fond.

   • DES TEXTES DOUX, JAMAIS BLANCS. #E7EFF2 pour le texte principal, #BACAD1
     pour le secondaire, #8BA2AC pour le tertiaire. Le blanc pur sur fond sombre
     éblouit et fatigue ; ces trois valeurs donnent la hiérarchie sans agresser.

   • LA COULEUR EST UN SIGNAL, PAS UN DÉCOR. L'accent teal #46B6BF est réservé
     aux repères — sur-titres, liens, entrée active. L'échelle à cinq niveaux
     (vert → rouge) ne sert qu'à qualifier un état réglementaire.

   • DES SÉPARATIONS AU CHEVEU. Filets #243138, rayons de 4 px, ombres profondes
     mais discrètes. Rien qui claque, tout qui se lit.

   Tout passe par variables : la bascule claire/sombre ne demanderait que
   d'éditer ce fichier.
   ─────────────────────────────────────────────────────────────────────────── */

@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/HankenGrotesk-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: dark;   /* barres de défilement et contrôles natifs suivent le thème */

  /* — Fonds — un seul fond de page, deux surfaces en relief — */
  --duovia-bg:         #0C1317;   /* page entière, sans exception */
  --duovia-surface:    #141F25;   /* cartes, panneaux */
  --duovia-surface-2:  #1A272E;   /* encarts, en-têtes de grille, zones en retrait */
  --duovia-surface-3:  #101A1F;   /* nuance intermédiaire : barre latérale, lignes alternées */

  /* — Textes — trois niveaux, aucun blanc pur — */
  --duovia-ink:        #E7EFF2;   /* principal */
  --duovia-ink-2:      #BACAD1;   /* secondaire */
  --duovia-muted:      #8BA2AC;   /* tertiaire, libellés */

  /* — Filets — */
  --duovia-line:       #243138;
  --duovia-line-soft:  #1B262C;   /* séparation interne, encore plus discrète */

  /* — Accent — */
  --duovia-accent:          #46B6BF;
  --duovia-accent-contrast: #05181B;   /* texte posé SUR l'accent : sombre, jamais blanc */
  --duovia-accent-soft:     #123034;
  --duovia-heritage:        #0E9B8E;

  /* — Alias sémantiques — */
  --duovia-paper:        var(--duovia-bg);
  --duovia-text:         var(--duovia-ink);
  --duovia-text-muted:   var(--duovia-muted);
  --duovia-border:       var(--duovia-line);
  --duovia-surface-dark: var(--duovia-surface-3);
  --duovia-on-dark:      var(--duovia-ink);

  /* — Échelle de qualification, du plus favorable au plus critique —
       Valeurs du thème sombre de la frise : suffisamment lumineuses pour
       ressortir sur #0C1317 sans vibrer. */
  --duovia-n5: #3CB56A;   /* maîtrisé */
  --duovia-n4: #8FC24A;
  --duovia-n3: #E0AC33;   /* vigilance */
  --duovia-n2: #DC8544;
  --duovia-n1: #D2564C;   /* critique */

  /* — États, alignés sur l'échelle — */
  --duovia-success: var(--duovia-n5); --duovia-success-soft: rgba(60,181,106,.14); --duovia-success-ink: #7FD9A2;
  --duovia-info:    var(--duovia-accent); --duovia-info-soft: var(--duovia-accent-soft); --duovia-info-ink: #7FD3DA;
  --duovia-warn:    var(--duovia-n3); --duovia-warn-soft:    rgba(224,172,51,.14);  --duovia-warn-ink:    #F0CE84;
  --duovia-danger:  var(--duovia-n1); --duovia-danger-soft:  rgba(210,86,76,.15);   --duovia-danger-ink:  #EB958D;

  /* — Rayons, ombre, espace — */
  --duovia-r-pill: 100px;
  --duovia-r-card: 4px;
  --duovia-r-lg:   4px;
  --duovia-r-md:   3px;
  --duovia-r-sm:   2px;
  --duovia-shadow-lift: 0 1px 2px rgba(0,0,0,.4), 0 10px 28px -14px rgba(0,0,0,.7);
  --duovia-gutter: 30px;

  /* — Gabarit — */
  --duovia-sidebar-width: 258px;
  --duovia-topbar-height: 66px;

  /* — Typographie — */
  /* Serif éditorial en graisse normale, comme la frise : la tenue vient de la
     forme des lettres, pas de l'épaisseur du trait. Bricolage Grotesque reste
     chargée pour un éventuel retour en arrière, mais n'est plus utilisée. */
  --duovia-font-display: Georgia, "Times New Roman", "Bricolage Grotesque", serif;
  --duovia-font-body:    "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --duovia-font-mono:    ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}
