:root {
  /* Board */
  --board: #141310;            /* deep near-black, never pure black */
  --board-blank: #1C1A16;      /* an empty tile position */
  --board-line: #26231D;       /* rules inside the board */
  --board-text: #B5AD98;       /* captions on the board */
  --board-text-dim: #6E6858;   /* row numbers, legend */
  --lamp-off: #3A362C;         /* an unlit lamp */
  /* Tiles */
  --tile: #ECE5D3;             /* upper flap */
  --tile-2: #E2DAC6;           /* lower flap, one step darker */
  --tile-seam: rgba(20,19,16,.55);
  /* Page */
  --cream: #F4EFE4;            /* reading page */
  --cream-2: #EAE4D6;          /* page alt / canvas */
  --paper: #FBFAF7;            /* theme-neutral white for lodge-site embeds */
  --ink: #17150F;
  --ink-2: #5C564A;            /* secondary text */
  --muted: #8A8373;            /* captions, hints, table secondary */
  --rule: rgba(23,21,15,.12);  /* hairlines on cream */
  --rule-strong: rgba(23,21,15,.55);
  /* Accent — amber chosen; ochre kept in reserve */
  --amber: #E8A33A;
  --amber-2: #D8942F;          /* lower flap of an amber tile */
  --amber-glow: rgba(232,163,58,.55);
  --ochre: #CF8A2B;

  /* Status tones (the chip) */
  --status-named: var(--amber);        /* rule stops in a lit lamp */
  --status-not-named: #6E6858;         /* rule runs through, no lamp — private to the lodge */
  --status-drifted: #C98E4E;           /* lamp present, unlit */
  --error: #9A5E12;                    /* error text on cream, 5.2:1; field border stays amber-2 */

  /* Semantic aliases */
  --surface-page: var(--cream);
  --surface-board: var(--board);
  --surface-tile: var(--tile);
  --surface-card: var(--cream);
  --text-body: var(--ink);
  --text-secondary: var(--ink-2);
  --text-muted: var(--muted);
  --text-on-board: var(--board-text);
  --text-on-accent: var(--ink);
  --accent: var(--amber);
  --border-default: var(--rule);
  --border-field: var(--ink);
  --focus-ring: 0 0 0 3px var(--amber-glow);
  --link: var(--ink);
  --link-hover: var(--muted);
}
