:root {
  --ink: #1E1E1E;
  --ink-soft: #555555;
  --paper: #F4F3EF;
  --paper-soft: #EFECE6;
  --card: #FFFFFF;
  --charcoal: #222222;
  --deep: #21333D;
  --forest: #2E3C2A;
  --sage: #E6E8DB;

  --wood: #A8663C;
  --wood-dark: #8A5230;
  --accent-soft: #D8B99A;

  --line: rgba(30, 30, 30, .10);
  --line-strong: rgba(30, 30, 30, .16);

  --ok-bg: #E7F3EA;
  --ok-fg: #1E6B3A;
  --err-bg: #FBEAEA;
  --err-fg: #B3261E;

  --on-dark-soft: rgba(244, 243, 239, .82);
  --on-dark-mute: rgba(244, 243, 239, .60);
  --on-dark-faint: rgba(244, 243, 239, .55);

  --f-display: 'Space Grotesk', sans-serif;
  --f-body: 'Inter', sans-serif;
  --f-mono: 'IBM Plex Mono', monospace;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 48px;
  --space-9: 64px;

  --maxw: 1560px;
  --gutter: clamp(20px, 4vw, 48px);

  --radius: 6px;
  --radius-card: 12px;
  --radius-lg: 20px;

  --shadow-card: 0 4px 20px rgba(0, 0, 0, .04);
  --shadow-card-hover: 0 10px 28px rgba(0, 0, 0, .08);

  --ease: .15s ease;
  --ease-lift: transform .3s ease, box-shadow .3s ease;

  --z-header: 50;
}