/*
 * IRONFORM — ported from the sportscore oracle (ADR-0032 there, TEN-900 here).
 * Two layers kept intact: palette primitives (Layer 1) + role tokens (Layer 2).
 * Path B theming: a theme overrides the PRIMITIVES only — every var() and every
 * bindery-core token resolves at use time, so all three variants ride one map.
 * Layer 3 for Bindery: the bindery-core@1 vocabulary (--b-*) maps onto the
 * roles, so compliant modules re-skin with zero knowledge of IRONFORM.
 */

:root {
  /* ── PAGE / SURFACES / BORDERS / TEXT (dark — the default theme) ── */
  --page-bg: #1C1C1F;
  --bg: #28282B;  --s1: #323235;  --s2: #3A3A3E;  --s3: #424246;
  --b1: #3C3C40;  --b2: #484850;  --b3: #585862;
  --tx: #F0F0F5;  --t2: #A8A8B2;  --t3: #6E6E7A;  --t4: #4A4A54;
  --night: #09090D;  --broadcast: #000000;

  /* ── CORE ACCENT (4-color system) + alpha fills ── */
  --blue: #4D8FFF;   --lb: #70AAFF;
  --violet: #8B78FF; --lv: #A898FF;
  --teal: #32C8C8;   --lt: #50E0E0;
  --amber: #D4A044;  --la: #FFB84D;
  --blue-a: rgba(77,143,255,0.10);
  --amber-a: rgba(212,160,68,0.08);

  /* ── IDENTITY / PRESENCE ── */
  --gold: #FFD060;
  --green: #00E878;
  --green-a: rgba(0,232,120,0.13);
  --green-line: rgba(0,232,120,0.42);

  /* ── STOP-LIGHT + positive green + muted/danger text ── */
  --ok: #34D27B;  --warn: #FFC53D;  --bad: #e5484d;  --bad-a: rgba(229,72,77,0.12);
  --good: #46a758;  --good-a: rgba(70,167,88,0.12);
  --mut: #8b8b8b;  --bad-fg: #ff9c9c;

  /* ── INKS ── */
  --ink-on-color: #ffffff;
  --ink-on-primary: #08131F;

  /* ── ROLE TOKENS (Layer 2 — the theme seam) ── */
  --role-primary: var(--blue);
  --role-generative: var(--violet);
  --role-context: var(--teal);
  --role-attention: var(--la);
  --role-presence: var(--green);
  --role-danger: var(--bad);
  --role-critical: var(--la);
  --surface-page: var(--page-bg);
  --surface-raised: var(--s1);
  --surface-overlay: var(--s2);
  --text-primary: var(--tx);
  --text-muted: var(--t2);
  --text-faint: var(--t3);
  --border-subtle: var(--b1);
  --border-strong: var(--b2);
  --ink-on-accent: var(--night);
  --hover: rgba(255,255,255,0.06);

  /* ── bindery-core@1 (Layer 3 — what modules consume; ADR-0010 appendix) ── */
  --b-bg: var(--page-bg);          --b-fg: var(--tx);
  --b-surface: var(--s1);          --b-surface-fg: var(--tx);
  --b-muted: var(--s2);            --b-muted-fg: var(--t3);
  --b-border: var(--b1);           --b-ring: var(--blue);
  --b-accent: var(--blue);         --b-accent-fg: var(--ink-on-accent);
  --b-success: var(--good);        --b-success-fg: var(--ink-on-color);
  --b-warning: var(--warn);        --b-warning-fg: var(--ink-on-accent);
  --b-danger: var(--bad);          --b-danger-fg: var(--ink-on-color);
  --b-info: var(--teal);           --b-info-fg: var(--ink-on-accent);

  --b-font-body: 'Barlow', system-ui, -apple-system, sans-serif;
  --b-font-heading: 'Barlow Condensed', 'Barlow', system-ui, sans-serif;
  --b-font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', monospace;
  --b-text-xs: 0.72rem;  --b-text-sm: 0.82rem;  --b-text-base: 0.95rem;
  --b-text-lg: 1.1rem;   --b-text-xl: 1.35rem;  --b-text-2xl: 1.7rem;  --b-text-3xl: 2.2rem;
  --b-leading-tight: 1.2;  --b-leading-normal: 1.5;  --b-leading-loose: 1.75;
  --b-weight-normal: 400;  --b-weight-semibold: 600;  --b-weight-bold: 700;
  --b-space-1: 0.25rem;  --b-space-2: 0.5rem;  --b-space-3: 0.75rem;  --b-space-4: 1rem;
  --b-space-5: 1.5rem;   --b-space-6: 2rem;    --b-space-7: 3rem;     --b-space-8: 4rem;
  --b-radius-sm: 6px;  --b-radius-md: 10px;  --b-radius-lg: 16px;  --b-radius-full: 999px;
  --b-border-w: 1px;
  --b-shadow-sm: 0 1px 2px rgba(0,0,0,0.35);
  --b-shadow-md: 0 4px 12px rgba(0,0,0,0.35);
  --b-shadow-lg: 0 12px 32px rgba(0,0,0,0.45);
  --b-ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --b-duration-fast: 120ms;  --b-duration-base: 220ms;
  --b-ring-w: 2px;
}

/* ── LIGHT — primitives only (Path B) ── */
:root[data-theme="light"] {
  --page-bg: #F2F3F5;  --bg: #FFFFFF;  --s1: #FFFFFF;  --s2: #F6F7F9;  --s3: #EDEFF2;
  --b1: #E4E6EA;  --b2: #D3D7DD;  --b3: #BBC0C8;
  --tx: #17181C;  --t2: #565A62;  --t3: #878B94;  --t4: #B2B6BE;
  --lb: #2F6BE0;  --lv: #6A45DC;  --lt: #17A0A0;  --la: #B07714;
  --ok: #1E9D55;  --warn: #B8860B;  --bad: #D23438;  --good: #2E8B4E;
  --bad-fg: #C4353C;  --mut: #6A6A71;
  --green: #17924A;  --green-a: rgba(23,146,74,0.13);  --green-line: rgba(23,146,74,0.5);
  --hover: rgba(0,0,0,0.05);
  --b-shadow-sm: 0 1px 2px rgba(20,24,32,0.10);
  --b-shadow-md: 0 4px 12px rgba(20,24,32,0.10);
  --b-shadow-lg: 0 12px 32px rgba(20,24,32,0.14);
}

/* ── HIGH-CONTRAST (outdoor / bright sun) — primitives only ── */
:root[data-theme="hc"] {
  --page-bg: #FFFFFF;  --bg: #FFFFFF;  --s1: #FFFFFF;  --s2: #FFFFFF;  --s3: #F0F0F0;
  --b1: #4A4A4A;  --b2: #1A1A1A;  --b3: #000000;
  --tx: #000000;  --t2: #171717;  --t3: #333333;  --t4: #4D4D4D;
  --blue: #0A54CC;  --violet: #5326C8;  --teal: #06736F;  --amber: #8A5B00;
  --lb: #0A54CC;  --lv: #5326C8;  --lt: #06736F;  --la: #7A5000;
  --ok: #0A7A38;  --warn: #7A5300;  --bad: #C11A20;  --good: #0A7A38;
  --bad-fg: #C11A20;  --mut: #333333;
  --gold: #6E5200;  --green: #067A2E;
  --green-a: rgba(6,122,46,0.15);  --green-line: rgba(6,122,46,0.6);
  --ink-on-accent: #FFFFFF;  --ink-on-primary: #FFFFFF;
  --hover: rgba(0,0,0,0.08);
  --b-shadow-sm: none;  --b-shadow-md: none;  --b-shadow-lg: none;
}
