/* static/ui/tokens.css — the one place a colour, font, or size is spelled out.
   Values copied verbatim from app.css:6-28 (admin "industrial terminal" palette), names normalised.
   Hard-coded hex anywhere else under static/ui, static/deals, static/admin, static/site is a review reject
   (tests/web/test_ui_primitives.py::test_no_hardcoded_hex_outside_tokens). */
:root {
  --bg: #0c0c0e;  --surface: #131316;  --surface-2: #1a1a1f;
  --border: #25252c;  --border-strong: #3a3a44;
  --text: #ece8dd;  --muted: #9e988a;  --dim: #5a5650;
  --accent: #ffb547;  --accent-soft: rgba(255,181,71,.10);  --accent-2: #c2f7c4;
  --danger: #ff6c4d;  --success: #6cd47e;  --info: #7ab9ff;  --warn: #ffb547;
  --sk-a: #16161a;  --sk-b: #202026;                 /* skeleton shimmer stops */
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --display: "Instrument Serif", "New York", Georgia, serif;
  --sans: "IBM Plex Sans", system-ui, sans-serif;
  --radius: 0px;  --gap: 16px;  --pad: 16px;
  --topbar-h: 56px;  --rail-w: 240px;  --rail-w-collapsed: 56px;
  --shadow-overlay: 0 8px 24px rgba(0,0,0,.5);
  --fs-xs: 11px; --fs-sm: 12px; --fs-base: 14px; --fs-lg: 18px; --fs-xl: 22px; --fs-2xl: 28px;
  --bp-sm: 640px; --bp-md: 768px; --bp-lg: 1024px; --bp-xl: 1280px;  /* documentation only — media queries can't read vars */
}
/* legacy aliases so app.css keeps working until E/F delete it */
:root { --bg-elev: var(--surface); --bg-elev-2: var(--surface-2); --line: var(--border);
        --line-bold: var(--border-strong); --ink: var(--text); --ink-mute: var(--muted);
        --ink-dim: var(--dim); --ok: var(--success); --err: var(--danger); }

/* ── storefront light theme (plan §11) ────────────────────────────────────
   <html data-theme="light"> on _public_base.html. Values are the storefront's own from the old
   public.css :root + its hard-coded hex, so nothing changes visually — same values, now as tokens.
   Archivo Black / Fraunces stay the storefront faces (--display / --sans); --mono is JetBrains Mono as in :root. */
:root[data-theme="light"] {
  --bg: #F4F1EC;  --surface: #fff;  --surface-2: #ECE7DD;
  --border: #1A1A1A;  --border-strong: #0B0B0B;
  --text: #0B0B0B;  --muted: #6B6257;  --dim: #6a655c;
  --accent: #FF4A1C;  --accent-soft: #FFE9DF;
  --danger: #B00020;  --danger-soft: #FFE0E0;  --success: #1f7a3a;
  /* status colours the dark palette also defines — without these the storefront
     inherited the dark ones, which wash out on #F4F1EC. Blue reads as info next
     to the orange accent; --warn is that accent family, darkened for contrast. */
  --info: #1F5FBF;  --warn: #9A5B00;
  --sk-a: #ECE7DD;  --sk-b: #F4F1EC;
  /* prose shades the storefront uses beside --text / --muted (were hard-coded in public.css) */
  --text-lede: #2b2924;  --text-soft: #3a3731;  --text-prose: #2a2822;
  /* footer on ink: muted copy + hairline */
  --foot-muted: #aaa299;  --foot-rule: #333;
  --display: "Archivo Black", "Helvetica Neue", Arial, sans-serif;
  --sans: "Fraunces", Georgia, "Times New Roman", serif;
  --shadow-overlay: 0 14px 30px -22px rgba(0,0,0,0.6);
}
