/* REALITAS design tokens: the ONE place for colours, spacing, widths, type sizes, component metrics and status colours.
   Components never hardcode these values. Dark is the default theme (:root); [data-theme="light"] changes colours only.
   Standard breakpoints (max-width unless noted): 1279 rail folds · 1100 tablet-wide · 1079 header collapses · 900 single column
   · 760 icon-only header buttons · 650 phones · 420 small phones · 359 smallest · min 1180 two-column archive.
   Breakpoint-dependent token values are at the end of this file; prefer changing a token here over adding a media rule elsewhere. */

/* ---------- Colour (dark default) ---------- */
:root{color-scheme:dark;
--paper:#151311;--soft:#1e1b18;--hover:#25221e;--footer-bg:#100e0c;--input-bg:#1e1b18;          /* page, surface, hover, footer, inputs */
--ink:#ede7dc;--text:#d6cfc4;--muted:#a9a196;--faint:#8f877c;                                    /* primary, body, secondary, faint text */
--line:#34302a;--line-strong:#4d463e;                                                          /* borders and rules */
--accent:#e0674b;--accent-fill:#b8412a;--on-accent:#fff;--focus:#e0674b;                       /* REALITAS rust accent */
--button-bg:#ede7dc;--button-text:#151311;
--inverse-bg:#231f1b;--inverse-text:#ede7dc;--inverse-muted:#b8afa3;--inverse-line:#3b3630;--inverse-accent:#e8a58b;--inverse-num:#d4b196;--inverse-focus:#e8a58b;--inverse-border:#3b3630;
--gauge-track:#3d3731;--gauge-fill:#e0674b;--gauge-tick:#625a50;--bar-track:#3d3731;
--shadow:0 12px 30px #0006;--shadow-toast:0 5px 25px #0003}
:root[data-theme="light"]{color-scheme:light;
--paper:#f7f7f3;--soft:#efefe7;--hover:#edeee7;--footer-bg:#efefe8;--input-bg:#fff;
--ink:#1e2422;--text:#414a43;--muted:#5e655f;--faint:#686d66;
--line:#d9dcd4;--line-strong:#c4c9bf;
--accent:#b73925;--accent-fill:#b73925;--on-accent:#fff;--focus:#b73925;
--button-bg:#1e2422;--button-text:#fff;
--inverse-bg:#1e2422;--inverse-text:#f7f7f3;--inverse-muted:#bfc6bd;--inverse-line:#4a524c;--inverse-accent:#e6baa6;--inverse-num:#caa992;--inverse-focus:#e6baa6;--inverse-border:#1e2422;
--gauge-track:#d3d6ca;--gauge-fill:#b73925;--gauge-tick:#aab1a4;--bar-track:#d8ddd2;
--shadow:0 12px 30px #1e242214}

/* ---------- Evidence-status colour families (v0.1.14). Three strong families for the most visible statuses
   (established = muted green-teal, probable = amber, contested/disputed = rust) plus a neutral one. Each family has text,
   border and background, tuned per theme for AA contrast. Statuses are mapped to tones in data/taxonomy.js
   (evidenceStatusTone); the .status-badge component reads only these tokens. ---------- */
:root{
--status-established-text:#9ccdb2;--status-established-border:#4f8f71;--status-established-bg:#1c2a23;
--status-probable-text:#e3bf72;--status-probable-border:#a9853f;--status-probable-bg:#2c2416;
--status-contested-text:#f09a82;--status-contested-border:#b9573f;--status-contested-bg:#2f1d18;
--status-neutral-text:var(--ink);--status-neutral-border:var(--line-strong);--status-neutral-bg:transparent}
:root[data-theme="light"]{
--status-established-text:#245c43;--status-established-border:#5e9a7d;--status-established-bg:#e4efe8;
--status-probable-text:#6f4f0c;--status-probable-border:#b38c3a;--status-probable-bg:#f5ead0;
--status-contested-text:#9b2f1c;--status-contested-border:#c0654f;--status-contested-bg:#f6e0d9}

/* ---------- Spacing, layout, type, component metrics ---------- */
:root{
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;                             /* spacing scale */
--gutter:32px;--shell-max:1440px;--header-h:60px;--control-h:34px;--control-radius:3px;--utility-h:36px;
--measure:680px;                                  /* reading column (articles, methodology, about) */
--toc-w:248px;--rail-w:250px;                     /* investigation navigation panel and "At a glance" rail */
--article-gap:40px;--article-header-gap:var(--s7);/* space between article columns / header columns */
--method-gap:56px;                                /* methodology/about/information columns */
--card-min:250px;--card-pad:var(--s3) var(--s4);  /* card grids (home, archive, related) */
--panel-pad:var(--s5);                            /* filled panels: argument box, verdict, discussion, callout */
--block-rule:1px solid var(--line-strong);        /* rule that separates long-form blocks instead of a box */
--read-section:64px;--read-block:32px;            /* long-form rhythm: between sections / between blocks */
--fs-h1:clamp(2.1rem,3.4vw,3.1rem);--fs-h2:clamp(1.45rem,2vw,1.85rem);--fs-card:1.3rem;--fs-meta:.75rem;
--fs-prose:1.0625rem;--lh-prose:1.75;
--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}

@media(max-width:1100px){:root{--gutter:20px}}
@media(max-width:1079px){:root{--header-h:54px;--read-section:48px;--read-block:28px;--article-gap:var(--s6);--article-header-gap:var(--s5)}}
@media(max-width:760px){:root{--control-h:32px}}
@media(max-width:650px){:root{--gutter:16px;--header-h:52px;--fs-card:1.2rem;--read-section:40px;--read-block:24px;--article-gap:var(--s5);--article-header-gap:var(--s4);--panel-pad:var(--s4);--lh-prose:1.7}}
