:root {
  /* Almanac identity */
  --paper: #FAF6EE;
  --paper-alt: #F1E9D8;
  --ink: #221E19;
  --ink-soft: #4A443C;
  --moss: #2F4B3E;
  --moss-deep: #1D2F27;
  --ochre: #C0762F;
  --ochre-ink: #8A5220;
  --rule: #D9CEB6;
  --rule-strong: #B7A97F;

  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --font-ui: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
  --container-w: 1120px;
  --edge: clamp(1.25rem, 4vw, 3rem);

  /* Compatibility aliases used by existing components */
  --nv-bg: var(--paper);
  --nv-accent: var(--moss);
  --nv-white: #FFFFFF;
  --nv-divider: var(--rule);
  --nv-surface: var(--paper-alt);

  --nv-text: var(--ink);
  --nv-text-dim: var(--ink-soft);
  --nv-text-muted: #675F52;
  --nv-accent-deep: var(--moss-deep);
  --nv-text-on-accent: var(--paper);

  --nv-tint-accent-low: rgba(47, 75, 62, 0.08);
  --nv-tint-accent-mid: rgba(47, 75, 62, 0.16);
  --nv-tint-paper: rgba(250, 246, 238, 0.68);
  --nv-tint-ochre: rgba(192, 118, 47, 0.22);

  /* Ink-derived (#221E19) shadow and scrim alphas */
  --nv-shadow-ink: rgba(34, 30, 25, 0.12);
  --nv-shadow-ink-strong: rgba(34, 30, 25, 0.16);
  --nv-scrim: rgba(34, 30, 25, 0.28);
  --nv-scrim-deep: rgba(34, 30, 25, 0.52);

  --nv-font-display: var(--font-display);
  --nv-font-body: var(--font-ui);

  --nv-sp-1: 4px;
  --nv-sp-2: 8px;
  --nv-sp-3: 12px;
  --nv-sp-4: 16px;
  --nv-sp-5: 20px;
  --nv-sp-6: 24px;
  --nv-sp-8: 32px;

  --nv-sidebar-w: 252px;
  --nv-panel-w: 300px;

  --nv-ease: 220ms ease;
  --nv-ease-slow: 700ms ease;

  --nv-glow: 0 0 0 1px var(--rule-strong);

  --nv-r-sm: 6px;
  --nv-r-md: 10px;
  --nv-r-lg: 14px;
}
