/* Sivotis — jetons de la charte « signal » (refonte-2026-08)
 *
 * Second thème. Il expose EXACTEMENT le même jeu de noms que ops-intel.css :
 * 45 jetons dans :root, un dans .ec, sept dans .ec-onboard. C'est cette parité
 * stricte, et elle seule, qui rend les deux chartes interchangeables — servir
 * ce fichier à la place de l'autre suffit à rehabiller tout le site.
 * La parité est vérifiable :
 *   diff <(grep -oE '^\s*--[a-z0-9-]+' css/tokens/ops-intel.css | tr -d ' ' | sort) \
 *        <(grep -oE '^\s*--[a-z0-9-]+' css/tokens/signal.css    | tr -d ' ' | sort)
 *
 * Les valeurs viennent du :root de mockups/refonte-2026-08/assets/sivotis.css.
 * La maquette ne couvrant que deux écrans, elle ne définit ni états, ni badges
 * de palier, ni bloc de code : ces valeurs-là sont choisies ici pour tenir sur
 * son fond, et signalées une par une. Elles sont à revoir avec la maquette
 * quand les écrans correspondants existeront (phases 4 et 5).
 *
 * Correspondance avec les noms de la maquette :
 *   --void   -> --bg        --paper -> --fg      --link  -> --accent
 *   --void-2 -> --bg-2      --dust  -> --muted   --hair  -> --hairline
 */

:root {
  /* ── Fonds ──────────────────────────────────────────────────────── */
  --bg: #0a0b0d;                 /* maquette : --void */
  --bg-2: #0d0f13;               /* maquette : --void-2 */
  --bg-rgb: 10, 11, 13;
  /* Fond des panneaux — valeur relevée sur .side dans la maquette. */
  --panel-rgb: 13, 15, 19;

  /* ── Texte ──────────────────────────────────────────────────────── */
  --fg: #eeeeee;                 /* maquette : --paper */
  --fg-rgb: 238, 238, 238;
  --muted: rgba(var(--fg-rgb), .52);   /* maquette : --dust */
  --faint: rgba(var(--fg-rgb), .30);   /* maquette : --faint */
  --white: #fff;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;

  /* ── Filets ─────────────────────────────────────────────────────── */
  --hairline: rgba(var(--white-rgb), .09);   /* maquette : --hair */
  --hairline-2: rgba(var(--white-rgb), .05); /* maquette : --hair-2 */

  /* ── Accents ────────────────────────────────────────────────────── */
  --accent: #1851ff;             /* maquette : --link */
  --accent-rgb: 24, 81, 255;
  /* Teintes de catégorie de la Veille : cinq voisines de l'accent, du violet
   * au sarcelle, pour distinguer les zones sans casser la famille bleue. La
   * fraîcheur reste portée par l'opacité. */
  --cat-0-rgb: 24, 81, 255;
  --cat-1-rgb: 112, 70, 235;
  --cat-2-rgb: 14, 130, 200;
  --cat-3-rgb: 22, 146, 146;
  --cat-4-rgb: 156, 72, 205;
  /* Teinte pâle de l'accent : un titre de sommaire au survol. La maquette
   * l'écrit en clair (`.entry:hover h2`) ; c'est la seule couleur de son CSS
   * qui n'était pas déjà un jeton. */
  --accent-soft: #c3d3ff;
  /* Accent « chaud » du portail. La maquette l'emploie déjà pour le badge de
   * palier dans la barre latérale. */
  --hot: #8ab0ff;
  /* ABSENT DE LA MAQUETTE — accent de la carte des menaces. Un bleu plus clair
   * que l'accent, pour que les points se détachent du fond sans virer au cyan
   * qui jurerait avec cette charte. */
  --accent-map: #6d8bff;
  /* ABSENT DE LA MAQUETTE — points inertes du planisphère. Un gris bleuté
   * assez effacé pour que les foyers en --accent-map restent seuls à ressortir. */
  --map-dot: rgba(160, 178, 220, .20);

  /* ── Constellation d'enquête ────────────────────────────────────── */
  /* Le fond de la charte signal (js/constellation.js). Composantes séparées :
   * le canevas compose ses alphas au fil du récit, il lui faut le triplet.
   * Valeurs relevées sur les rgba() littéraux de la maquette. */
  --graph-dot-rgb: 214, 222, 238;    /* bruit collecté, observable non corroboré */
  --graph-line-rgb: 138, 152, 180;   /* liaison inerte */
  --graph-hot-rgb: 58, 110, 255;     /* liaison corrélée */
  --graph-node-rgb: 150, 182, 255;   /* observable corroboré */
  --graph-mark-rgb: 146, 180, 255;   /* étiquette de corrélation, confiance haute */
  --graph-label-rgb: 240, 243, 250;  /* valeur de l'observable */
  --graph-out-rgb: 96, 235, 160;     /* ce qui est publié */

  /* ── États ──────────────────────────────────────────────────────── */
  /* ABSENTS DE LA MAQUETTE — elle n'a aucun écran d'erreur. Vermillon et ambre
   * choisis pour rester lisibles sur #0a0b0d sans concurrencer le bleu. */
  --danger: #ff5a45;
  --danger-rgb: 255, 90, 69;
  --on-danger: #1a0704;
  --warn: #f0b429;
  --warn-rgb: 240, 180, 41;
  --form-error: #e2483a;

  /* Ce qui est confirmé, publié, tenu. La maquette l'appelle --confirm et
   * l'emploie pour le chiffre des alertes publiées et pour une valeur de
   * confiance atteinte. */
  --confirm: #3ddc84;
  --confirm-rgb: 61, 220, 132;

  /* ── Badges de palier ───────────────────────────────────────────── */
  /* ABSENTS DE LA MAQUETTE. CLOUD réutilise --accent, comme dans ops-intel.
   * BASIC prend un neutre chaud, ON-PREMISE le gris-bleu --inert de la
   * maquette : trois familles distinctes au premier coup d'œil. */
  --plan-basic: #d9d4c7;
  --on-plan-basic: #23201a;
  --plan-onprem: #3a4150;        /* maquette : --inert */
  --on-plan-onprem: #e8ecf5;

  /* ── Bloc de code ───────────────────────────────────────────────── */
  /* ABSENT DE LA MAQUETTE. Fond un cran sous --bg pour creuser le bloc, texte
   * bleuté pour rester dans la famille. */
  --code-bg: #07080a;
  --code-fg: #b9c6ff;
  /* ── Mise en page ─────────────────────────────────── */
  /* Reprises telles quelles de la maquette : --gut et --measure. La gouttière
   * respire avec la fenêtre, le contenu reste borné à 1360 px. */
  --gut: clamp(20px, 4.4vw, 64px);
  --measure: min(1360px, 100%);

  /* ── Typographie ────────────────────────────────────────────────── */
  /* Déclarées par css/refonte-fonts.css, auto-hébergées dans fonts/. */
  --font-sans: 'Schibsted Grotesk', system-ui, -apple-system, sans-serif;
  --font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

}

/* Le portail sert un filet plus marqué que le site public, comme dans
 * ops-intel — ici .12 contre .09, l'écart y est .07 contre .06. */
.ec {
  --hairline: rgba(var(--white-rgb), .12);
}

/* Échelle propre à l'assistant de démarrage. ABSENTE DE LA MAQUETTE : transposée
 * depuis ops-intel en gardant les mêmes écarts relatifs, sur la base bleutée de
 * cette charte. À revoir en phase 5, quand l'assistant sera porté. */
.ec-onboard {
  --field-bg: #06070a;
  --panel: #101319;
  --border: #262c38;
  --muted-soft: #7c8698;
  --warn-soft: #d9a441;
  --danger-soft: #e2564a;
  /* L'assistant a aussi sa propre pile mono, sans JetBrains : il rend une
   * monospace système. Conservé tel quel et scopé, comme ses couleurs. */
  --font-mono: ui-monospace, monospace;

}
