/* ============================================================
   ASTRA GENESIS, 01-TOKENS.CSS
   v0.2.0
   Variables globales uniquement. Ne rien mettre ici qui dessine
   quelque chose à l'écran, voir 02-base.css et suivants.

   --scale contrôle la taille de la plupart des éléments d'interface
   (padding, cartes, hexagones, nav du bas, panneau latéral...).
   --text-scale est FIXE (1.25) : la taille du texte et la barre du
   haut (HUD ressources/horloge/boutons) ne suivent jamais --scale,
   pour pouvoir retoucher la densité de l'interface sans jamais
   toucher au texte ni au HUD (demande explicite v0.9.0).
   --ui-scale est un second multiplicateur, piloté par le slider
   de l'écran Profil (0.8 → 1.5), au-dessus de --scale.
   v0.14 : DA élevée (référence fournie par l'utilisateur, test.html) :
   mêmes teal/ambre sur fond sombre, mais tons alignés sur cette
   référence, rayons plus généreux (10-16px), panneaux plus translucides
   avec flou, bordures plus nettes, typo Rajdhani/Inter/JetBrains Mono.
   Uniquement les valeurs des tokens changent ici : tous les fichiers
   css/js qui consomment ces variables (--cyan, --panel, --r-lg...)
   héritent du nouveau look sans être touchés. Les couleurs qui étaient
   codées en dur en rgba(R,G,B,alpha) ailleurs (halos, survols) ont été
   mises à jour avec les mêmes triplets RGB que ci-dessous, alpha
   inchangée à chaque fois : cyan 56,230,207→45,212,191, ambre
   255,162,60→245,158,11, violet 155,139,255→167,139,250, rose
   255,77,106→248,113,113, lime 124,255,143→74,222,128, ligne
   140,175,215→100,125,150. ============================================================ */
/* v0.73.0 : polices auto-hébergées, voir css/00-fonts.css (ancien @import Google Fonts retiré) */

:root{
  /* --- échelle --- */
  --scale: 1;          /* v0.9.0 : -20% (était 1.25) sur tout sauf texte + HUD, voir --text-scale */
  --text-scale: 1.25;  /* fixe : taille du texte et du HUD du haut, ne change jamais */
  --ui-scale: 1;       /* réglage utilisateur (écran Profil) */

  /* --- fond --- */
  --void:        #0A0F16;
  --void-2:      #080C12;
  --hull:        #0D1520;
  --hull-2:      #121C2B;
  --panel:       rgba(14,22,34,.85);
  --panel-soft:  rgba(18,28,43,.6);
  --panel-solid: #121C2B; /* même teinte que --panel mais opaque, pour le panneau latéral (v0.9.0 : plus de texte visible en transparence derrière) */
  --line:        rgba(100,125,150,.16);
  --line-strong: #1E2E40;

  /* --- accents --- */
  --cyan:        #2DD4BF;
  --cyan-dim:    #0F766E;
  --amber:       #F59E0B;
  --amber-dim:   #92600A;
  --violet:      #A78BFA;
  --rose:        #F87171;
  --lime:        #4ADE80;

  /* --- texte --- */
  --ink-0:       var(--void); /* v0.71.1 : texte sombre sur fond d'accent vif (hover Acheter/Vendre/Résilier du Marché) */
  --ink-1:       #E6EDF5;
  --ink-2:       #8FA3B8;
  --ink-3:       #64798F;

  /* --- typo --- */
  --font-display: 'Orbitron', 'Rajdhani', sans-serif;
  --font-head:    'Rajdhani', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* --- rayons (déjà à l'échelle) --- */
  --r-sm: calc(10px * var(--scale));
  --r-md: calc(12px * var(--scale));
  --r-lg: calc(16px * var(--scale));

  --shadow-deep: 0 20px 60px rgba(0,0,0,.55);

  /* --- tooltip unique AG.tooltip (css/12-tooltip.css) ---
     v0.65.2 : valeurs revenues à l'identique du design antérieur à la
     v0.65.1 (ancien #rich-tip) : fond de panneau, bordure discrète,
     rayon et paddings de panneau, titre --ink-1, sous-texte --ink-2. */
  --tip-bg:      var(--panel);
  --tip-border:  var(--line-strong);
  --tip-ink:     var(--ink-1);
  --tip-ink-2:   var(--ink-2);
  --tip-ink-3:   var(--ink-3);
  --tip-teal:    var(--cyan);
  --tip-pos:     var(--lime);
  --tip-red:     var(--rose);
  --tip-amber:   var(--amber);
  --tip-pad:     calc(12px * var(--scale)) calc(14px * var(--scale));
  --tip-max-w:   280px;
  --tip-radius:  var(--r-lg);
  --tip-blur:    10px;
  --tip-fade:    120ms;

  /* --- verre sombre des panneaux flottants (v0.62.2) ---
     Valeur UNIQUE partagée par les panneaux posés sur un render plein
     cadre (écrans Planète, Bâtiments, Usines, cartes de nœud du graphe)
     : textes, chips et arêtes ressortent sur le décor. Retoucher ici
     change les trois écrans d'un coup. */
  /* v0.70.0 : VARIABLE UNIQUE du fond des panneaux translucides
     (--qx-glass), valeur de test demandée ; --glass-dark et le fond de
     .panel la lisent. Ancienne valeur : rgba(5,10,18,.75). */
  --qx-glass:    rgb(0 4 10 / 0.85);
  --glass-dark:  var(--qx-glass);
  --glass-blur:  6px;

  /* --- hiérarchie de contraste en trois couches (v0.62.3) ---
     Valeurs UNIQUES des écrans à render plein cadre (Planète, Bâtiments,
     Usines), fond < panneaux < texte. Retoucher ici change les trois
     écrans d'un coup ; les ratios WCAG mesurés sont dans CHANGELOG.md.
     Couche 1, FOND : voile du projecteur (.dv2-spotlight). Le render
       reste visible, en retrait (centre 0.35-0.45, côtés 0.55-0.65).
     Couche 2, PANNEAUX : --glass-dark ci-dessus (0.72-0.78) + bordure
       fine --glass-border, flou léger --glass-blur.
     Couche 3, TEXTE : principal (noms, valeurs, titres), secondaire
       (descriptions, hints), accent teal (valeurs actives, interactions),
       alerte rouge (goulots, démolition). Appliquée par surcharge des
       jetons --ink-*, --cyan, --rose sur les trois écrans
       (css/design-system.css, section "Couches de contraste"). */
  --veil-center: .38;
  --veil-edge:   .58;
  /* v0.68.0 : opacité GLOBALE du voile posé sur les images de fond
     (projecteur .dv2-spotlight, vignette .dv2-vignette, voiles et
     assombrissements des fonds de la Carte). 0 = fond affiché tel quel,
     à pleine opacité (demande explicite) ; 1 = rendu d'avant v0.68.0.
     Conservé pour réglage futur. Les panneaux gardent leur verre sombre
     (--glass-dark), indépendant de ce jeton. */
  --bg-veil: 0;
  --glass-border: rgba(255,255,255,.06);
  --layer-ink-1:  #F1F5F9;
  --layer-ink-2:  #94A3B8;
  /* v0.71.1 : 3e niveau de texte des écrans plein cadre, plus discret que
     --layer-ink-2 mais lisible (environ 5.4:1 sur --hull, contre 2.6:1
     pour l'ancien --ink-3 #64798F). */
  --layer-ink-3:  #7C8DA3;
  --layer-accent: #14B8A6;
  --layer-alert:  #EF4444;

  /* --- métriques de mise en page, toutes calculées à partir de --scale
     pour rester ajustables en un seul endroit pendant 20 ans de mises à jour --- */
  /* v0.60.0 : +8px pour la 2e ligne de débit net /h sous chaque ressource
     (voir css/design-system.css, ".res .rate") : 3 lignes empilées
     (nom/valeur/débit) tenaient trop juste dans les 52px d'origine. */
  --hud-h:        calc(60px  * var(--text-scale));
  /* v0.74.0 : DÉGRADÉ des bannières d'alerte (#ribbon-alerts), toutes
     les bannières, présentes et futures : couleur saturée du niveau à
     gauche, fond sombre à droite. Un niveau = une couleur ; un nouveau
     niveau se déclare ici puis par une ligne .ribbon-row.<niveau> dans
     css/04-hud-nav.css. --ribbon-hold : part pleine de la couleur,
     --ribbon-fade : point où le fond sombre est atteint. */
  --ribbon-rose:  #B91C1C;
  --ribbon-amber: #B45309;
  --ribbon-cyan:  #0F766E;
  --ribbon-end:   rgb(6 10 18 / 0.92);
  --ribbon-hold:  8%;
  --ribbon-fade:  62%;
  --ribbon-h:     0px; /* hauteur réelle du ribbon d'alerte, posée en JS (AG.renderRibbon, js/02b-notifications.js), 0 si rien à signaler */
  --nav-h:        calc(78px  * var(--scale));
  --nav-gap:      calc(70px * var(--scale)); /* espace réservé en bas des écrans pour ne rien cacher derrière la nav */
  --panel-w:      calc(360px * var(--scale));
  --pad-lg:       calc(26px * var(--scale));
  --pad-md:       calc(16px * var(--scale));
  --pad-sm:       calc(10px * var(--scale));
}
