/**
 * @module   assets/jotf-bridge.css
 * @purpose  Token bridge (SiD S6 pattern) — map every jotf-ui brick token onto a Choreografy
 *           theme.css semantic token, so the byte-identical vendored bricks (assets/vendor/jotf/)
 *           render in Choreografy's theme. theme.css stays the single source of truth: the bricks
 *           inherit light/dark automatically because the theme tokens they resolve to flip under
 *           [data-theme="dark"] — one :root block covers both themes.
 * @layer    Client — load AFTER theme.css and BEFORE vendor/jotf/blocks.css.
 * @contract Maps only; never redefines a primitive palette or hardcodes a colour. Brick tokens that
 *           share a name with theme.css (--space-*, --font-mono, --radius-full, --text-*, --shadow-*)
 *           resolve directly and need no mapping here.
 */
:root {
  /* ── Brand / primary ─────────────────────────────────────────────── */
  --color-primary:            var(--accent);
  --color-primary-dark:       var(--accent-hover);
  --color-primary-light:      var(--accent-light);
  --color-primary-foreground: var(--text-inverse);
  --color-ring:               var(--accent);
  --lens:                     var(--accent);

  /* ── Accents (report designs) ────────────────────────────────────── */
  --color-accent:          var(--accent);
  --color-accent-hover:    var(--accent-hover);
  --color-accent-subtle:   var(--accent-subtle);
  --color-accent-border:   var(--accent-border);
  --color-accent-2:        var(--accent-2);
  --color-accent-2-border: var(--accent-2-border);

  /* ── Surfaces / structure ────────────────────────────────────────── */
  --color-background:    var(--bg);
  --color-card:          var(--bg-card);
  --color-input:         var(--bg-card);
  --color-surface:       var(--bg-elevated);
  --color-surface-2:     var(--bg-card-alt);
  --color-surface-3:     var(--bg-overlay);
  --color-muted:         var(--bg-elevated);
  --color-border:        var(--border);
  --color-border-strong: var(--border-active);

  /* ── Text ────────────────────────────────────────────────────────── */
  --color-foreground:        var(--text-primary);
  --color-muted-foreground:  var(--text-muted);
  --color-inverse:           var(--text-inverse);

  /* ── Status (semantic) ───────────────────────────────────────────── */
  --status-fine:            var(--success);
  --status-fine-subtle:     var(--success-subtle);
  --status-help:            var(--warning);
  --status-help-subtle:     var(--warning-subtle);
  --status-distress:        var(--danger);
  --status-distress-subtle: var(--danger-subtle);
  --status-pending:         var(--text-muted);
  --phase-active:           var(--success);
  --phase-future:           var(--text-muted);

  /* ── Typography ──────────────────────────────────────────────────── */
  --font-body:     var(--font);
  --font-headline: var(--font-heading);
  --font-serif:    var(--font-heading);
  --text-body:     var(--text-base);
  --text-small:    var(--text-sm);
  --text-eyebrow:  var(--text-xs);
  --text-h1:       var(--text-3xl);
  --text-h2:       var(--text-2xl);
  --text-h3:       var(--text-xl);
  --leading-body:    1.6;
  --tracking-eyebrow: 0.08em;
  --max-reading:     65ch;

  /* ── Radii / shadows ─────────────────────────────────────────────── */
  --radius-button: var(--radius);
  --radius-input:  var(--radius-sm);
  --radius-pill:   var(--radius-full);
  --shadow-card:    var(--shadow);
  --shadow-card-sm: var(--shadow-sm);
  --shadow-card-xs: var(--shadow-xs);
  --shadow-pop:     var(--shadow-lg);

  /* ── z-index ─────────────────────────────────────────────────────── */
  --z-dialog: 1000;
  --z-toast:  1100;

  /* ── Always-dark dashboard hero surfaces (report--dashboard) ─────── */
  --report-dark-950: var(--prim-dark-950);
  --report-dark-900: var(--prim-dark-900);
  --report-dark-850: var(--prim-dark-850);
  --report-dark-800: var(--prim-dark-800);
  --report-dark-700: var(--prim-dark-700);
  --report-dark-500: var(--prim-dark-500);
  --report-dark-400: var(--prim-dark-400);
  --report-dark-200: var(--prim-dark-200);
  --report-dark-50:  var(--prim-dark-50);
}
