:root {
  color-scheme: dark;

  /* Surfaces */
  --bg: #0e1218;
  --surface: #141a22;
  --surface-raised: #1a222c;
  --surface-sunken: #10161d;
  --line: #26313d;
  --line-strong: #3a4755;

  /* Text */
  --ink: #e9e3d7;
  --ink-soft: #b9c2cc;
  --ink-muted: #8b95a1;

  /* Accents */
  --accent: #d8b271;
  --accent-hover: #e8c88f;
  --accent-ink: #1e1810;
  --ok: #85c59a;
  --warn: #e2ac6b;
  --danger: #dd9184;
  --info: #8ab8d6;

  /* Spacing scale (4px step) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* Type scale */
  --text-xs: 12px;
  --text-sm: 13px;
  --text-md: 15px;
  --text-lg: 17px;
  --text-xl: 22px;
  --text-2xl: 28px;
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --font-sans: ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;

  /* Effects */
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.4);
  --shadow-lg: 0 18px 48px rgb(0 0 0 / 0.55);
  --duration: 180ms;
  --ease: cubic-bezier(0.2, 0.6, 0.3, 1);

  /* Board */
  --cell: 96px;
  --sidebar-width: 352px;
}
