/* ============================================================
 * farpa DS · semantic tokens · v1.1.0
 * ------------------------------------------------------------
 * Camada que dá significado às primitives.
 * Themes (light/dark/hc) sobrescrevem ESTA camada.
 * Componentes consomem ESTAS variáveis (não primitive).
 *
 * v1.1.0 (Onda 1 · 2026-05-10):
 *   - --border-default agora aponta para --c-line-strong (era --c-line · "linha fantasma")
 *   - +novo: --accent-rule (filete editorial blood-700)
 *   - +novo: --bg-wash (seção wash blood-50)
 *   - +novo: --fs-display-1 (h1 hero clamp)
 *   - +novo: --fw-display-strong (Fraunces hero peso 600)
 * ============================================================ */

:root {
  /* ---------- Surfaces (background) ---------- */
  --bg:           var(--c-paper);
  --bg-subtle:    var(--c-paper-soft);
  --bg-strong:    var(--c-line);
  --bg-inverse:   var(--c-ink);
  --bg-wash:      var(--c-blood-50);   /* seção wash · .farpa-section--wash */

  /* ---------- Foreground (text) ---------- */
  --fg:           var(--c-ink);
  --fg-soft:      var(--c-ink-soft);
  --fg-muted:     var(--c-ink-muted);
  --fg-inverse:   var(--c-paper);

  /* ---------- Accent (marca) ---------- */
  --accent:       var(--c-blood-700);
  --accent-fg:    var(--c-paper);
  --accent-soft:  var(--c-blood-50);
  --accent-strong: var(--c-blood-800);
  --accent-rule:  var(--c-blood-700);  /* filete editorial · .farpa-rule */

  /* ---------- Accent AAA opt-in (Wave 3 · ADR 032 · paleta P1) ---------- */
  --accent-cobalt:      var(--c-cobalt-900);       /* cobalto · AAA single-token */
  --accent-amber:       var(--c-amber-500);         /* âmbar · banner art.50 */
  --accent-amber-bg:    var(--c-amber-bg);          /* fundo banner âmbar */
  --accent-amber-text:  #3B1F05;                   /* texto sobre amber-bg · 9.1:1 · resolve F5-FAIL-04 */
  --fg-muted-aaa:       #3D3B37;                   /* override data-contrast=aaa · 8.7:1 sobre paper-aaa */

  /* ---------- Wave 4 · DS v1.4 · Nicole F3 tokens semânticos ---------- */
  /* Foreground terciário warm (captions IA · breadcrumbs · timestamps · NÃO body text) */
  --fg-tertiary:            var(--c-warm-gray-700);  /* #7A6E5D · 4.62:1 AA PASS */
  --surface-warm:           var(--c-warm-gray-200);  /* surface suave warm */
  --surface-warm-subtle:    var(--c-warm-gray-100);  /* surface muito suave */

  /* Tipografia semântica por contexto (Nicole §4.2/4.3) */
  /* --type-mono-method: alias semântico sobre --font-mono (contexto: método, ADRs, tooltips) */
  --type-mono-method:       var(--font-mono, 'IBM Plex Mono', ui-monospace, monospace);
  /* --type-humanist-product: alias semântico sobre --font-sans (contexto: produto, cards, CTAs) */
  --type-humanist-product:  var(--font-sans, 'IBM Plex Sans', system-ui, sans-serif);

  /* Costura DSBVLR (Nicole §4.4) */
  --line-seam-thickness:    2px;
  --line-seam-color:        var(--c-cobalt-900);     /* #1E3A8A · 10.2:1 AAA sobre paper-aaa */
  --line-seam-style:        solid;

  /* Polígono logo Modo 1 (Nicole §4.5) */
  --polygon-stroke-width:   1.5px;
  --polygon-stroke-color:   var(--c-ink-aaa);        /* #1B1A17 · 17.8:1 AAA */

  /* Live dot pulse (Nicole §4.6) */
  --live-dot-size:          8px;
  --live-dot-color:         var(--c-amber-500);      /* #B45309 · 4.65:1 AA sobre paper-aaa */
  --live-dot-pulse-duration: 2s;
  --live-dot-pulse-ease:    ease-in-out;

  /* Rebite DSBVLR (Nicole §4.7) */
  --seam-node-size:         12px;
  --seam-node-size-hover:   14px;
  --seam-node-size-mobile:  16px;

  /* ---------- Borders ---------- */
  --border:        var(--c-line-strong);  /* default elevado · era --c-line */
  --border-subtle: var(--c-line);         /* casos especiais · linha fantasma */
  --border-strong: var(--c-line-strong);
  --border-focus:  var(--c-blood-700);

  /* ---------- Status ---------- */
  --error:         var(--c-error);
  --error-bg:      var(--c-error-bg);
  --success:       var(--c-success);
  --success-bg:    var(--c-success-bg);
  --warning:       var(--c-warning);
  --warning-bg:    var(--c-warning-bg);
  --info:          var(--c-info);
  --info-bg:       var(--c-info-bg);

  /* ---------- Shadows ---------- */
  --shadow-sm:    var(--sh-1);
  --shadow-md:    var(--sh-2);
  --shadow-lg:    var(--sh-3);
  --shadow-xl:    var(--sh-4);

  /* ---------- Layout ---------- */
  --container-max: 72rem;   /* 1152px */
  --content-max:   42rem;   /*  672px - leitura confortável */

  /* ---------- Focus ring ---------- */
  --focus-ring:   0 0 0 3px var(--c-blood-200);
}
