/*
 * Anomalia — Systeme de design (§2.1). CE FICHIER EST IMPORTE EN PREMIER.
 * Toute valeur de couleur, typographie, espacement, rayon, ombre DOIT provenir
 * d'une variable definie ici. Aucune valeur codee en dur dans les composants.
 */
:root {
  /* Fonds */
  --color-bg-primary:      #1C201E;
  --color-bg-surface:      #303532;
  --color-bg-elevated:     #3A3F3C;

  /* Texte */
  --color-ink-primary:     #D8D4C7;
  --color-ink-secondary:   #AFAE9F;
  --color-ink-muted:       #6B6B62;

  /* Signaux */
  --color-amber:           #C58A3A;
  --color-amber-light:     #D9A055;
  --color-cyan:            #55B8BE;
  --color-teal:            #276B70;
  --color-danger:          #87443B;
  --color-bio:             #68745F;

  /* Typographie */
  --font-body:             'IBM Plex Sans', sans-serif;
  --font-mono:             'IBM Plex Mono', monospace;

  /* Geometrie */
  --radius:                3px;
  --border-default:        1px solid #303532;
  --border-accent:         1px solid #C58A3A;

  /* Ombres */
  --shadow-panel:          0 2px 12px rgba(0, 0, 0, 0.4);
  --shadow-amber:          0 0 16px rgba(197, 138, 58, 0.06);

  /* Sentiments graphe - repos desature */
  --sentiment-hatred:      #6B2D2D;
  --sentiment-anger:       #87443B;
  --sentiment-unfriendly:  #7A5C35;
  --sentiment-neutral:     #6B6B62;
  --sentiment-cordial:     #68745F;
  --sentiment-friendly:    #276B70;
  --sentiment-intimate:    #3D8A8F;

  /* Sentiments graphe - survol/selection */
  --sentiment-hatred-active:     #9B3D3D;
  --sentiment-anger-active:      #B05A50;
  --sentiment-unfriendly-active: #A07A45;
  --sentiment-neutral-active:    #8A8A80;
  --sentiment-cordial-active:    #8A9E7A;
  --sentiment-friendly-active:   #3A8F96;
  --sentiment-intimate-active:   #55B8BE;

  /* --- Jetons derives (composes uniquement a partir des variables ci-dessus) --- */

  /* Typographie : tailles / graisses / interlignes (§2.2) */
  --font-size-narrative:   16px;
  --line-height-narrative: 1.8;
  --font-size-meta:        11px;
  --font-size-label:       13px;
  --font-size-error:       12px;
  --font-weight-regular:   400;
  --font-weight-medium:    500;
  --font-weight-semibold:  600;
  --letter-spacing-meta:   0.1em;

  /* Espacements (echelle coherente et aeree) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  /* Transitions fonctionnelles autorisees (opacity/transform, 150-400ms) */
  --transition-fast:   opacity 150ms ease-out;
  --transition-fade:   opacity 400ms ease;
  --duration-hover:    150ms;

  /* Focus (§2.3) */
  --focus-outline:        1px solid var(--color-cyan);
  --focus-outline-offset: 2px;

  /* Zone de fade-out bas du journal (§2.4 / §8) */
  --journal-fadeout-height: 48px;

  /* Layout : proportions du corps (2/3) et du panneau droit (1/3) */
  --layout-body: 2fr;
  --layout-panel: 1fr;
  --topbar-height: 48px;
}
