:root {
  /* Palette (unchanged, now formal) */
  --ground: #160F0C;        /* page dark */
  --ground-2: #1D1510;      /* raised dark surface */
  --ivory: #F2E7CB;         /* line + text on dark */
  --ivory-dim: rgba(242,231,203,.62);
  --ivory-faint: rgba(242,231,203,.53);
  --page: #F4EBD3;          /* the lit reading surface */
  --ink: #241A12;           /* text on the lit surface */
  --ink-soft: #52443A;
  --lapis: #1E3A66;         /* opened-term pane only */
  --gold: #C9A45C;          /* ONE gold idea per view — a constellation serving one meaning may share it; two unrelated golds may not (brief/master-prompt.md §4) */

  /* Type — ONE face, two modes (Title / Body). Spectral test drive. */
  --display: "Spectral", "EB Garamond", Georgia, serif;  /* Title mode */
  --serif: "Spectral", "EB Garamond", Georgia, serif;    /* Body mode */
  --sans: "Spectral", "EB Garamond", Georgia, serif;     /* chrome/labels — same face, no third voice */

  /* Modular scale (1.25) — use these, nothing else */
  --fs-xs: .8rem;    /* kickers, metadata */
  --fs-s: .9rem;     /* captions, nav */
  --fs-base: 1.125rem; /* body: 18px */
  --fs-m: 1.4rem;    /* h3 / ledes */
  --fs-l: 1.75rem;   /* h2 */
  --fs-xl: 2.2rem;   /* page h1 */
  --fs-hero: clamp(2.6rem, 5vw, 3.4rem); /* landing h1 only */

  /* Rhythm — 8px system, tight (blog density, not gallery) */
  --sp-1: .5rem; --sp-2: 1rem; --sp-3: 1.5rem; --sp-4: 2rem;
  --sp-6: 3rem; --sp-8: 4rem;   /* --sp-8 is the MAX section gap anywhere */

  /* Containers */
  --site-max: 1160px;   /* outer frame, all pages */
  --measure: 720px;     /* reading column */
  --measure-essay: 920px; /* essay prose column only — wider than site --measure */
  --ease: cubic-bezier(.2,.75,.12,1);

  /* Breakpoint constants (documentation only — CSS custom properties cannot
     drive @media queries, so these are recorded here for reference and must
     be kept in sync with the literal px values used across shared/*.css):
       820px — essay-stack: .room-layout collapses to a single column
       760px — dense layouts: other two-column/dense grids stack
       700px — nav/chrome: .site-nav and .page-frame tighten
       430px — smallest: final compression (e.g. section-anchor grid) */
}
