/* ============================================================================
   PROMETHEUS — jetons de conception v2.0 · base « Factory »
   Une seule source de vérité pour la couleur, le texte, l'espace et le trait.
   À charger AVANT toute autre feuille. Aucune règle de composant ici.

   Trois règles héritées de Factory :
   1. Le fond reste #101010 partout. Seules les cartes claires sont lumineuses.
   2. Geist 400 pour tout. La graisse ne porte jamais la hiérarchie ; la taille
      et le crénage négatif le font.
   3. La couleur est une voix de donnée, jamais un ornement. Aucun accent en
      fond de bouton, aucune ombre pour simuler l'élévation.
   ========================================================================= */

:root {
  /* — surfaces ————————————————————————————————— */
  --pr-bg:      #101010;   /* fond de page — le vide de référence */
  --pr-bg-2:    #101010;   /* rails et barres : même fond, séparés par un trait */
  --pr-s1:      transparent; /* panneau : défini par son filet, pas par un fond */
  --pr-s2:      #1d1a18;   /* surface surélevée, ligne survolée, fond de bouton */
  --pr-s3:      #1d1a18;   /* champ, puce, piste de jauge */

  /* — cartes claires : la figure sur fond noir. Marketing uniquement. ——— */
  --pr-card:    #eeeeee;   /* carte claire, texte primaire */
  --pr-card-hi: #fafafa;   /* bouton clair, haut de la pile claire */

  /* — traits ——————————————————————————————————— */
  --pr-line:    #1d1a18;   /* filet interne, séparateur de ligne */
  --pr-line-2:  #3d3a39;   /* contour de panneau, contour de bouton fantôme */
  --pr-grid:    #1d1a18;   /* grille de graphique */

  /* — texte ———————————————————————————————————— */
  --pr-tx:      #eeeeee;   /* valeur, titre */
  --pr-tx-2:    #b8b3b0;   /* prose secondaire, chiffre de rang deux */
  --pr-tx-3:    #8a8380;   /* libellé, méta, unité, horodatage */
  --pr-tx-4:    #4d4947;   /* désactivé, graduation */

  /* — accent : le signal. État vivant, sélection, build. Jamais un fond
       de bouton, jamais un aplat de carte, jamais décoratif. ————————— */
  --pr-am:      #ee6018;
  --pr-am-w:    rgba(238,96,24,.19);
  --pr-am-w2:   rgba(238,96,24,.08);

  /* — sémantique financière : hausse / baisse. Jamais autre chose.
       Le vert vient de Factory ; le rouge n'y existe pas et reste
       hors-palette, admis parce que la baisse doit se lire. ——————————— */
  --pr-pos:     #a0ca92;
  --pr-neg:     #ff5a6e;
  --pr-pos-w:   rgba(160,202,146,.16);
  --pr-neg-w:   rgba(255,90,110,.16);

  /* — séries de données : une rampe neutre, pas une palette. Factory
       n'admet aucun accent supplémentaire : au-delà du signal et des deux
       couleurs de sens, une série se distingue par la valeur, pas la teinte. */
  --pr-d1:      #eeeeee;   /* série principale / réalisé */
  --pr-d2:      #b8b3b0;
  --pr-d3:      #8a8380;
  --pr-d4:      #4d4947;
  --pr-d5:      #3d3a39;
  --pr-band:    .19;       /* opacité d'une bande de confiance à 80 % */
  --pr-band-2:  .08;       /* opacité d'une bande de confiance à 95 % */

  /* — rayon : le système n'est pas mou. ——————————————————— */
  --pr-r1: 3px;   /* bouton, puce, nav */
  --pr-r2: 10px;  /* carte, panneau */
  --pr-r3: 20px;  /* grand panneau */

  /* — élévation : aucune. La profondeur naît du contraste clair/sombre
       et du rythme d'espacement. Jetons conservés à zéro pour que tout
       appel existant cesse d'ombrer sans casser. ——————————————— */
  --pr-e1: none;
  --pr-e2: none;

  /* — typographie —————————————————————————————— */
  --pr-ui:   'Geist', Inter, system-ui, sans-serif;
  --pr-mono: 'Geist Mono', 'JetBrains Mono', ui-monospace, monospace;
  --pr-w:    400;          /* la seule graisse d'interface */
  --pr-w-em: 500;          /* réservée à un libellé qui doit dominer */

  /* — crénage : proportionnel à la taille, négatif ——————————— */
  --pr-ls-display: -.04em;   /* 44px et plus */
  --pr-ls-heading: -.025em;  /* 20–36px */
  --pr-ls-body:    -.01em;   /* 13–16px */
  --pr-ls-mono:    -.02em;   /* chiffres, colonnes */
  --pr-ls-caps:    1.4px;    /* petites capitales mono : le crénage s'ouvre */

  /* — rythme : multiples de 8 au niveau page, de 4 dans les panneaux ——— */
  --pr-sp1: 4px;  --pr-sp2: 8px;  --pr-sp3: 12px; --pr-sp4: 16px;
  --pr-sp5: 24px; --pr-sp6: 32px; --pr-sp7: 96px;  /* écart de section */
  --pr-row: 26px;           /* hauteur d'une ligne de tableau dense */
  --pr-max: 1200px;         /* largeur de page, surfaces marketing */
}

/* Surfaces claires : le monde de la carte #eeeeee, pas un thème clair global. */
[data-theme="light"] {
  --pr-bg:      #eeeeee;
  --pr-bg-2:    #fafafa;
  --pr-s1:      transparent;
  --pr-s2:      rgba(16,16,16,.05);
  --pr-s3:      rgba(16,16,16,.05);

  --pr-line:    rgba(16,16,16,.10);
  --pr-line-2:  rgba(16,16,16,.22);
  --pr-grid:    rgba(16,16,16,.08);

  --pr-tx:      #101010;
  --pr-tx-2:    #3d3a39;
  --pr-tx-3:    #6c6663;
  --pr-tx-4:    #a29c99;

  --pr-am:      #c44a0c;   /* le signal pur ne passe pas 4,5:1 sur #eeeeee */
  --pr-am-w:    rgba(196,74,12,.14);
  --pr-am-w2:   rgba(196,74,12,.07);

  --pr-pos:     #40714f;   /* idem pour le vert métrique */
  --pr-neg:     #b3243a;
  --pr-pos-w:   rgba(64,113,79,.12);
  --pr-neg-w:   rgba(179,36,58,.12);

  --pr-d1:      #101010;
  --pr-d2:      #3d3a39;
  --pr-d3:      #6c6663;
  --pr-d4:      #a29c99;
  --pr-d5:      #c9c4c1;
}

/* Tout chiffre destiné à être comparé colonne par colonne. */
.pr-num {
  font-family: var(--pr-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--pr-ls-mono);
}

/* Petites capitales mono : la voix « instrument » du système. */
.pr-eyebrow {
  font: var(--pr-w) 10px var(--pr-mono);
  letter-spacing: var(--pr-ls-caps);
  text-transform: uppercase;
  color: var(--pr-tx-3);
}

/* Transition unique : un interrupteur, pas une animation en couches. */
.pr-switch {
  transition: color .15s cubic-bezier(.4, 0, .2, 1),
              background-color .15s cubic-bezier(.4, 0, .2, 1),
              border-color .15s cubic-bezier(.4, 0, .2, 1),
              stroke .15s cubic-bezier(.4, 0, .2, 1);
}
