/* =====================================================================
   Clause · design tokens
   Plain-English law. Light is "Paper" (foolscap white, ink); dark is
   "Chambers". --green is the one accent (buttons, links, inserted plain
   English). --red is the track-changes red: struck-out legalese, and
   urgent notices. --margin is the highlighter for notes in the margin:
   a background, never text.
   ===================================================================== */
:root {
  color-scheme: light;
  --paper: #fbfaf6;
  --card: #ffffff;
  --well: #f3f1ea;
  --line: #e2ddd0;
  --ink: #16181f;
  --ink-2: #3a3d47;
  --muted: #5e616b;
  --green: #1d5c3f;
  --green-2: #154630;
  --on-green: #ffffff;
  --green-soft: #e2efe7;
  --red: #b3261e;
  --on-red: #ffffff;
  --red-soft: #f9e1de;
  --margin: #fff1a8;
  --focus: #1d5c3f;
  --shadow-card: 0 1px 2px rgba(22, 24, 31, 0.05), 0 14px 30px -22px rgba(22, 24, 31, 0.32);
  --shadow-lift: 0 28px 56px -28px rgba(22, 24, 31, 0.4);

  --display: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  --serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: var(--body);

  --fs-h1: clamp(42px, 5.6vw, 88px);
  --fs-h2: clamp(32px, 3.8vw, 56px);
  --fs-h3: 22px;
  --fs-lead: clamp(17.5px, 1.35vw, 20px);
  --fs-body: 17px;
  --fs-small: 15px;
  --fs-label: 12px;

  --wrap: 1200px;
  --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-s: 4px;
  --r-m: 8px;
  --r-l: 14px;
  --r-pill: 999px;

  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --snap: cubic-bezier(0.34, 1.56, 0.64, 1);
  --d-fast: 150ms;
  --d: 300ms;
  --d-slow: 900ms;
}

/* ---------- Chambers ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #0f1413;
    --card: #18201e;
    --well: #131a18;
    --line: #2a3532;
    --ink: #eef2ef;
    --ink-2: #cdd6d1;
    --muted: #9aa7a1;
    --green: #8fd3b0;
    --green-2: #b0e2c8;
    --on-green: #08261a;
    --green-soft: #183229;
    --red: #ff8a80;
    --on-red: #2e0a07;
    --red-soft: #3b1b18;
    --margin: #4a4316;
    --focus: #8fd3b0;
    --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 16px 34px -20px rgba(0, 0, 0, 0.85);
    --shadow-lift: 0 30px 60px -26px rgba(0, 0, 0, 0.9);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #0f1413;
  --card: #18201e;
  --well: #131a18;
  --line: #2a3532;
  --ink: #eef2ef;
  --ink-2: #cdd6d1;
  --muted: #9aa7a1;
  --green: #8fd3b0;
  --green-2: #b0e2c8;
  --on-green: #08261a;
  --green-soft: #183229;
  --red: #ff8a80;
  --on-red: #2e0a07;
  --red-soft: #3b1b18;
  --margin: #4a4316;
  --focus: #8fd3b0;
  --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 16px 34px -20px rgba(0, 0, 0, 0.85);
  --shadow-lift: 0 30px 60px -26px rgba(0, 0, 0, 0.9);
}
