/* =====================================================================
   Assay · design tokens
   Light is "Bench" (clean lab white); dark is "Night shift".
   The cobalt accent carries meaning (links, buttons, released);
   the trace colours (--t2, --t3, --t4) are for data and decoration only.
   ===================================================================== */
:root {
  color-scheme: light;
  --paper: #f5f6f8;
  --card: #ffffff;
  --well: #eceef3;
  --line: #d9dde6;
  --grid: #e3e7ef;
  --ink: #0b1324;
  --ink-2: #2c364a;
  --muted: #586276;
  --cobalt: #2443c9;
  --cobalt-2: #1b35a3;
  --on-cobalt: #ffffff;
  --cobalt-soft: #e4e9fc;
  --t2: #c26a00;
  --t3: #b02a72;
  --t4: #0f7f86;
  --pass: #2443c9;
  --alert: #b42318;
  --alert-soft: #fde7e4;
  --focus: #c26a00;
  --shadow-card: 0 1px 2px rgba(11, 19, 36, 0.06), 0 6px 18px -12px rgba(11, 19, 36, 0.18);
  --shadow-lift: 0 2px 4px rgba(11, 19, 36, 0.06), 0 22px 44px -24px rgba(11, 19, 36, 0.32);
  --shadow-press: inset 0 1px 2px rgba(11, 19, 36, 0.12);

  --display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --body: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --fs-h1: clamp(44px, 5.8vw, 88px);
  --fs-h2: clamp(32px, 3.9vw, 56px);
  --fs-h3: 22px;
  --fs-lead: clamp(17px, 1.35vw, 20px);
  --fs-body: 16.5px;
  --fs-small: 14px;
  --fs-label: 11.5px;

  --wrap: 1240px;
  --gutter: max(20px, 4vw);
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 40px; --s-7: 64px; --s-8: 104px;

  --r-xs: 3px;
  --r-s: 6px;
  --r-m: 10px;
  --r-l: 16px;
  --r-pill: 999px;

  --ease: cubic-bezier(0.2, 0.7, 0.1, 1);
  --run: cubic-bezier(0.45, 0.05, 0.25, 1);
  --d-fast: 160ms;
  --d: 300ms;
  --d-slow: 760ms;
}

/* ---------- Night shift ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #070b15;
    --card: #0e1424;
    --well: #0a101d;
    --line: #1f2a42;
    --grid: #172036;
    --ink: #e8edf7;
    --ink-2: #bec8dc;
    --muted: #8e99b1;
    --cobalt: #8ea4ff;
    --cobalt-2: #b3c1ff;
    --on-cobalt: #071033;
    --cobalt-soft: #16214a;
    --t2: #ffb454;
    --t3: #ff7ab8;
    --t4: #4fd1d9;
    --pass: #8ea4ff;
    --alert: #ff8a7a;
    --alert-soft: #3a1512;
    --focus: #ffb454;
    --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 8px 22px -14px rgba(0, 0, 0, 0.8);
    --shadow-lift: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 26px 50px -24px rgba(0, 0, 0, 0.9);
    --shadow-press: inset 0 1px 3px rgba(0, 0, 0, 0.6);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #070b15;
  --card: #0e1424;
  --well: #0a101d;
  --line: #1f2a42;
  --grid: #172036;
  --ink: #e8edf7;
  --ink-2: #bec8dc;
  --muted: #8e99b1;
  --cobalt: #8ea4ff;
  --cobalt-2: #b3c1ff;
  --on-cobalt: #071033;
  --cobalt-soft: #16214a;
  --t2: #ffb454;
  --t3: #ff7ab8;
  --t4: #4fd1d9;
  --pass: #8ea4ff;
  --alert: #ff8a7a;
  --alert-soft: #3a1512;
  --focus: #ffb454;
  --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 8px 22px -14px rgba(0, 0, 0, 0.8);
  --shadow-lift: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 26px 50px -24px rgba(0, 0, 0, 0.9);
  --shadow-press: inset 0 1px 3px rgba(0, 0, 0, 0.6);
}
