/* Design tokens ported from the original Claude design system. */
:root{
  --navy-50:#F2F5FA;  --navy-100:#DDE4F0; --navy-200:#B7C4DC; --navy-300:#8394BC;
  --navy-400:#4E6394; --navy-500:#2A416F; --navy-600:#102A55; --navy-700:#021945;
  --navy-800:#01112F; --navy-900:#000A1E;

  --ink-900:#1A1714; --ink-800:#2A251F; --ink-700:#3D372F; --ink-600:#554D42;
  --ink-500:#6B6357; --ink-400:#8C8477; --ink-300:#B2AA9D;

  --terracotta-100:#FBE7E2; --terracotta-400:#D4674F; --terracotta-600:#9E3F2C;

  --white:#FFFFFF; --black:#000000;

  --border-hairline:var(--navy-100);
  --border-strong:var(--navy-200);

  --font-display:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-text:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --ease-standard: cubic-bezier(.2,.8,.2,1);

  /* Public typography: rem-based reading/UI roles and fluid headings. */
  --type-display-size: clamp(3rem, 2rem + 4vw, 6rem);
  --type-display-weight: 700;
  --type-display-leading: 1.04;
  --type-display-tracking: -0.035em;
  --type-display: var(--type-display-weight) var(--type-display-size)/var(--type-display-leading) var(--font-display);

  --type-hero-size: clamp(2.5rem, 1.5rem + 4vw, 5rem);
  --type-hero-weight: 700;
  --type-hero-leading: 1.07;
  --type-hero-tracking: -0.03em;
  --type-hero: var(--type-hero-weight) var(--type-hero-size)/var(--type-hero-leading) var(--font-display);

  --type-page-title-size: clamp(2.25rem, 1.5rem + 3vw, 4rem);
  --type-page-title-weight: 600;
  --type-page-title-leading: 1.1;
  --type-page-title-tracking: -0.025em;
  --type-page-title: var(--type-page-title-weight) var(--type-page-title-size)/var(--type-page-title-leading) var(--font-display);

  --type-section-size: clamp(1.875rem, 1.375rem + 2vw, 3rem);
  --type-section-weight: 600;
  --type-section-leading: 1.16;
  --type-section-tracking: -0.025em;
  --type-section: var(--type-section-weight) var(--type-section-size)/var(--type-section-leading) var(--font-display);

  --type-subsection-size: clamp(1.25rem, 1.125rem + 0.5vw, 1.5rem);
  --type-subsection-weight: 600;
  --type-subsection-leading: 1.28;
  --type-subsection-tracking: -0.015em;
  --type-subsection: var(--type-subsection-weight) var(--type-subsection-size)/var(--type-subsection-leading) var(--font-display);

  --type-body-large-size: 1.125rem;
  --type-body-large-weight: 400;
  --type-body-large-leading: 1.65;
  --type-body-large-tracking: normal;
  --type-body-large: var(--type-body-large-weight) var(--type-body-large-size)/var(--type-body-large-leading) var(--font-text);

  --type-body-size: 1rem;
  --type-body-weight: 400;
  --type-body-leading: 1.7;
  --type-body-tracking: normal;
  --type-body: var(--type-body-weight) var(--type-body-size)/var(--type-body-leading) var(--font-text);

  --type-body-small-size: 0.875rem;
  --type-body-small-weight: 400;
  --type-body-small-leading: 1.6;
  --type-body-small-tracking: normal;
  --type-body-small: var(--type-body-small-weight) var(--type-body-small-size)/var(--type-body-small-leading) var(--font-text);

  --type-navigation-size: 0.9375rem;
  --type-navigation-weight: 600;
  --type-navigation-leading: 1.4;
  --type-navigation-tracking: normal;
  --type-navigation: var(--type-navigation-weight) var(--type-navigation-size)/var(--type-navigation-leading) var(--font-text);

  --type-metadata-size: 0.75rem;
  --type-metadata-weight: 500;
  --type-metadata-leading: 1.5;
  --type-metadata-tracking: 0.04em;
  --type-metadata: var(--type-metadata-weight) var(--type-metadata-size)/var(--type-metadata-leading) var(--font-text);

  --type-eyebrow-size: 0.75rem;
  --type-eyebrow-weight: 600;
  --type-eyebrow-leading: 1.5;
  --type-eyebrow-tracking: 0.12em;
  --type-eyebrow: var(--type-eyebrow-weight) var(--type-eyebrow-size)/var(--type-eyebrow-leading) var(--font-text);

  --type-caption-size: 0.8125rem;
  --type-caption-weight: 400;
  --type-caption-leading: 1.5;
  --type-caption-tracking: normal;
  --type-caption: var(--type-caption-weight) var(--type-caption-size)/var(--type-caption-leading) var(--font-text);

  --type-button-size: 0.9375rem;
  --type-button-weight: 600;
  --type-button-leading: 1.2;
  --type-button-tracking: normal;
  --type-button: var(--type-button-weight) var(--type-button-size)/var(--type-button-leading) var(--font-text);

  --type-form-size: 1rem;
  --type-form-weight: 400;
  --type-form-leading: 1.4;
  --type-form-tracking: normal;
  --type-form: var(--type-form-weight) var(--type-form-size)/var(--type-form-leading) var(--font-text);

  --type-emphasis-weight: 700;
  /* Existing quotation glyph, not a content heading. */
  --type-quote-mark: 400 3.5rem/0.7 var(--font-display);

  /* Public layout foundations. These do not change admin layout. */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;

  --layout-content-max: 80rem;
  --layout-wide-max: 90rem;
  --layout-reading-max: 68ch;
  --layout-task-max: 56rem;
  --layout-gutter: clamp(2.5rem, 4vw, 4rem);
  --layout-columns: 12;
  --layout-grid-gap: clamp(1rem, 1.7vw, 1.5rem);
  --layout-column-gap: clamp(1.5rem, 4vw, 4rem);
  --layout-section-space: clamp(3rem, 7vw, 7rem);
  --layout-chapter-space: clamp(2.5rem, 5vw, 5rem);
  --layout-heading-space: clamp(1.5rem, 3vw, 3rem);
  --layout-anchor-offset: 5.5rem;
  --section-space: var(--layout-section-space);
  --grid-gap: var(--layout-grid-gap);
}
/* Content thresholds; menu/search keep their existing interaction thresholds. */
@media (max-width: 1100px) {
  :root { --layout-columns: 8; --layout-gutter: 2rem; }
}
@media (max-width: 640px) {
  :root { --layout-gutter: 1.25rem; --layout-columns: 4; }
}
