/* ==========================================================================
   tokens.css — Design System v1.0.0 (single source of truth)
   Constitution rule 1: every design decision lives here or in components.css.
   Constitution rule 4: names say the ROLE, never the value.
   Themes: A (default, forest/gold) · B (stone/bronze) · C (ink/gold).
   Switch via <html data-theme="a|b|c">, font via <html data-font="assistant|arial">.
   Versioning: SemVer. This file is additive-only inside a MAJOR version.
   ========================================================================== */

/* Assistant (self-hosted, OFL). Variable weight 200-800, three subsets. */
@font-face{font-family:'Assistant';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('fonts/assistant-hebrew.woff2') format('woff2');
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Assistant';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('fonts/assistant-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Assistant';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('fonts/assistant-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Theme A (default): Forest & Gold ---------- */
:root{
  /* type */
  --font-family-base:'Assistant',Arial,'Helvetica Neue','Segoe UI',sans-serif;
  --font-size-base:16px; --font-leading:1.55;
  /* structure */
  --control-h:44px; --control-h-s:34px;
  --radius-btn:8px; --radius-card:12px; --radius-chip:999px;
  --shadow-1:0 1px 3px rgba(28,28,28,.08);
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px;
  /* semantic color roles */
  --color-bg:#F5F3ED;            /* page background */
  --color-surface:#FFFFFF;       /* cards, tables, inputs */
  --color-surface-alt:#FBFAF6;   /* quiet panels (admin block) */
  --color-ink:#1C1C1C;           /* primary text */
  --color-muted:#5B5B52;         /* secondary text */
  --color-line:#E2DED1;          /* borders */
  --color-line-soft:#F0EDE4;     /* inner row separators */
  --color-primary:#3B4E2B;       /* brand / primary action */
  --color-primary-deep:#2E3D22;  /* primary hover / strong text */
  --color-primary-ink:#FFFFFF;   /* text on primary */
  --color-accent:#C4A15A;        /* gold accent (decorative: borders, fills, swatches) */
  --color-accent-text:#7A5F27;   /* AA-safe gold for TEXT (>=4.5:1 on bg + surface) */
  --color-accent-ink:#6B5B33;    /* text on accent-soft */
  --color-accent-soft:#FBF7EC;   /* accent tint background */
  --color-accent-line:#E3D3A8;   /* accent tint border */
  --color-neutral-soft:#EFEDE7;  /* neutral chip background */
  --color-danger:#9A3B3B;
  --color-danger-bg:#F9ECEC;
  --color-danger-line:#E3B9B9;
  --color-focus:#C4A15A;         /* focus ring (AA on both surfaces) */
  --color-success:#2F6B2F; --color-success-bg:#E9F3E6; --color-success-line:#B9D6B1;
  --color-warn:#6B4A0C; --color-warn-bg:#FBEED7; --color-warn-line:#ECD09A;
  /* chrome slots (header/sidebar/footer) - defaults reproduce the classic look */
  --pc-header-bg:#FFFFFF; --pc-header-ink:var(--color-primary); --pc-header-text:#1C1C1C; --pc-eyebrow:#777267;
  --pc-side-bg:var(--color-primary); --pc-side-ink:#F4F5EF; --pc-side-muted:#C1CCAF;
  --pc-foot-bg:#FFFFFF; --pc-foot-ink:#756F62;
}

/* ---------- Theme B: Stone & Bronze ---------- */
:root[data-theme="b"]{
  --color-bg:#FAF8F4; --color-surface:#FFFFFF; --color-surface-alt:#FAF6F1;
  --color-ink:#2A2521; --color-muted:#6E655C; --color-line:#E8E2D8; --color-line-soft:#F1ECE4;
  --color-primary:#4A4038; --color-primary-deep:#3A322C; --color-primary-ink:#FFFFFF;
  --color-accent:#B0804F; --color-accent-text:#8A5A28; --color-accent-ink:#6B4E2E; --color-accent-soft:#F7F0E8; --color-accent-line:#E7D3BC;
  --color-neutral-soft:#F0EBE3;
  --color-danger:#9C4A32; --color-danger-bg:#F7E8E4; --color-danger-line:#E8C4BC;
  --color-focus:#B0804F;
  --color-success:#2F6B2F; --color-success-bg:#EDF3E8; --color-success-line:#C4D8BA;
  --color-warn:#7A5210; --color-warn-bg:#F8ECD4; --color-warn-line:#E8CD9E;
  --radius-btn:10px; --radius-card:14px;
  --shadow-1:0 1px 2px rgba(42,37,33,.06);
}

/* ---------- Theme C: Ink & Gold ---------- */
:root[data-theme="c"]{
  --color-bg:#F2F4F5; --color-surface:#FFFFFF; --color-surface-alt:#F7F9FA;
  --color-ink:#1A1E22; --color-muted:#5A646C; --color-line:#DCE1E4; --color-line-soft:#EBEEF0;
  --color-primary:#26313B; --color-primary-deep:#1C242C; --color-primary-ink:#FFFFFF;
  --color-accent:#C9A227; --color-accent-text:#7E6414; --color-accent-ink:#6B5A1E; --color-accent-soft:#F7EFD4; --color-accent-line:#E8D9A8;
  --color-neutral-soft:#E9EDEF;
  --color-danger:#A03B2E; --color-danger-bg:#F7E4E1; --color-danger-line:#E5B8B2;
  --color-focus:#C9A227;
  --color-success:#2E6B34; --color-success-bg:#E6F0E9; --color-success-line:#BAD3C0;
  --color-warn:#7A5A10; --color-warn-bg:#F5EBD2; --color-warn-line:#E3CE9C;
  --radius-btn:6px; --radius-card:8px;
  --shadow-1:0 1px 3px rgba(26,30,34,.10);
}

/* ---------- Theme D: Light Studio (added 1.1.0) ---------- */
:root[data-theme="d"]{
  --color-bg:#FAF7F1; --color-surface:#FFFFFF; --color-surface-alt:#F3EEE5;
  --color-ink:#22271F; --color-muted:#6E6A5E; --color-line:#E4DDCE; --color-line-soft:#EEE8DA;
  --color-primary:#3B4E2B; --color-primary-deep:#2E3D22; --color-primary-ink:#FFFFFF;
  --color-accent:#C4A15A; --color-accent-text:#8A6420; --color-accent-ink:#6B4E1F; --color-accent-soft:#F4E9D2; --color-accent-line:#E3D3A8;
  --color-neutral-soft:#EFEBE0;
  --color-danger:#9A3B3B; --color-danger-bg:#F9ECEC; --color-danger-line:#E3B9B9;
  --color-focus:#B98F3E;
  --color-success:#2F6B2F; --color-success-bg:#E9F3E6; --color-success-line:#B9D6B1;
  --color-warn:#6B4A0C; --color-warn-bg:#FBEED7; --color-warn-line:#ECD09A;
  --radius-btn:10px; --radius-card:16px;
  --shadow-1:0 4px 18px rgba(60,50,20,.08);
}

/* ---------- Theme E: Night (added 1.1.0; softened 1.2.0 - warm charcoal-green, not near-black) ---------- */
:root[data-theme="e"]{
  --color-bg:#232A26; --color-surface:#2E3631; --color-surface-alt:#39423C;
  --color-ink:#ECE9E0; --color-muted:#B3B4A8; --color-line:#46504A; --color-line-soft:#3A443E;
  --color-primary:#C9AC63; --color-primary-deep:#D9BC77; --color-primary-ink:#2A2415;
  --color-accent:#D9BC77; --color-accent-text:#D9BC77; --color-accent-ink:#E5CB85; --color-accent-soft:#3E3A28; --color-accent-line:#57503A;
  --color-neutral-soft:#39423C;
  --color-danger:#E58A8A; --color-danger-bg:#402C2C; --color-danger-line:#6B4444;
  --color-focus:#D9BC77;
  --color-success:#8FD69A; --color-success-bg:#2C3A30; --color-success-line:#47604C;
  --color-warn:#E5C97E; --color-warn-bg:#3B3620; --color-warn-line:#5C5232;
  --shadow-1:0 1px 3px rgba(0,0,0,.35);
  --pc-header-bg:#1E2420; --pc-header-ink:#ECE9E0; --pc-header-text:#ECE9E0; --pc-eyebrow:#D9BC77;
  --pc-side-bg:#1E2420; --pc-side-ink:#CFCEC2; --pc-side-muted:#9A9C8E;
  --pc-foot-bg:#1E2420; --pc-foot-ink:#B3B4A8;
}

/* ---------- Theme F: Deep Forest (added 1.1.0; harmonized soft-green surfaces) ---------- */
:root[data-theme="f"]{
  --color-bg:#EFEBDD; --color-surface:#FBF9F2; --color-surface-alt:#E7E9D8;
  --color-ink:#26311F; --color-muted:#5F6247; --color-line:#D8D2BC; --color-line-soft:#E6E0CC;
  --color-primary:#33431F; --color-primary-deep:#26331A; --color-primary-ink:#F6F1DE;
  --color-accent:#C9A24E; --color-accent-text:#7E6117; --color-accent-ink:#4A3D1E; --color-accent-soft:#F2E8CC; --color-accent-line:#DFCF9E;
  --color-neutral-soft:#EAE5D3;
  --color-danger:#9A3B3B; --color-danger-bg:#F6E9E4; --color-danger-line:#E0B8B0;
  --color-focus:#8F6623;
  --color-success:#33622B; --color-success-bg:#E3EDD3; --color-success-line:#B9CD9E;
  --color-warn:#6B4A0C; --color-warn-bg:#F2E6C8; --color-warn-line:#D9C48E;
  --radius-btn:10px; --radius-card:14px;
  --pc-header-bg:#33431F; --pc-header-ink:#F6F1DE; --pc-header-text:#F6F1DE; --pc-eyebrow:#D9C98F;
  --pc-side-bg:#26331A; --pc-side-ink:#E8E4CF; --pc-side-muted:#A9B28C;
  --pc-foot-bg:#E7E9D8; --pc-foot-ink:#4E5238;
}

/* ---------- Font switch (constitution: one token, reversible) ---------- */
:root[data-font="arial"]{--font-family-base:Arial,'Helvetica Neue','Segoe UI',sans-serif}

/* Base: pages pick this up through the shared chrome and module roots. */
body{font-family:var(--font-family-base)}
