:root{
  /* Brand base — taken verbatim from the reference board */
  --olive-900:#1E2818;
  --olive-800:#2E3B25;
  --olive-700:#405033; /* primary, from board */
  --olive-500:#55693F;
  --olive-400:#6B7D5B;
  --olive-200:#C3CDB6;
  --olive-050:#EEF1E8;

  --clay-600:#D9662A;
  --clay-500:#EF7F40; /* accent, from board */
  --clay-300:#F6AE80;
  --clay-100:#FBE3D2;

  /* Warm paper neutrals */
  --paper-000:#FFFFFF;
  --paper-100:#F6F2EA;
  --paper-200:#EDE7DB;
  --paper-300:#E2DACB;
  --line-400:#DCD5C7;
  --ink-300:#6E6E63;
  --ink-200:#3A3A32;
  --ink-100:#171713;

  /* Semantic aliases — always prefer these in components */
  --brand:var(--olive-700);
  --brand-hover:var(--olive-800);
  --brand-soft:var(--olive-050);
  --accent:var(--clay-500);
  --accent-hover:var(--clay-600);
  --accent-soft:var(--clay-100);

  --text-strong:var(--ink-100);
  --text-body:var(--ink-200);
  --text-muted:var(--ink-300);
  --text-on-dark:var(--paper-100);
  --text-accent:var(--clay-600);

  --surface-page:var(--paper-100);
  --surface-card:var(--paper-000);
  --surface-inset:var(--paper-200);
  --surface-invert:var(--olive-700);
  --surface-ink:var(--ink-100);

  --border-hairline:var(--line-400);
  --border-strong:var(--ink-100);
  --focus-ring:var(--clay-500);
}
