/* Shared typography and palette for the project page and guide. */
  /* Light palette; interactive research figures retain their white canvas. */
  :root {
    color-scheme: light;
    --ground: #ffffff;
    --tint: #f6f6f7;
    --panel: #ffffff;
    --ink: #3c3c43;
    --text: #3c3c43;
    --muted: #67676c;
    --line: #e2e2e3;
    --line-strong: #d8d8dc;
    --accent: #1f4e8c;
    --accent-soft: #e8eef7;
    --ok: #2f7d4f;
    --code: #f3f5f8;
    --code-ink: #1f2937;
    --code-key: #1f4e8c;
    --code-str: #8a4b08;
    --code-c: #7c8694;
    --serif: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  }
  * { box-sizing: border-box; }
  body { margin: 0; background: var(--ground); color: var(--text); font-family: var(--sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
  a { color: var(--accent); }
  h1, h2, h3 { margin: 0; color: var(--ink); text-wrap: balance; font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; }
  h1 { font-size: clamp(2.1rem, 4.2vw, 3rem); line-height: 1.12; }
  h2 { font-size: clamp(1.6rem, 2.8vw, 2rem); line-height: 1.3; }
  h3 { font-size: 1.12rem; line-height: 1.35; }
  p { margin: 0; }
  code { font-family: var(--mono); font-size: .88em; background: var(--code); color: var(--code-ink); padding: 1px 5px; border-radius: 4px; }
  .eyebrow { font-family: var(--sans); font-size: .875rem; font-weight: 600; letter-spacing: 0; color: var(--muted); }
  .wrap { max-width: 1200px; margin: 0 auto; padding-inline: 24px; }
  /* Navigation, hero and buttons are styled in assets/site.css. */
  .cta { display: flex; gap: 12px; flex-wrap: wrap; }
  .btn { font-family: var(--sans); text-decoration: none; cursor: pointer; }
