/* Moss design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --ground: #eeeae1;
  --stone: #faf8f3;
  --stone-sunk: #e3ddd1;
  --edge: #8c8476;
  --ink: #2a2924;
  --ink-soft: #59544a;
  --sprout: #416934;
  --on-sprout: #fbfaf5;
  --sprout-tint: #dde6d0;
  --clay: #9a4c35;
  --clay-tint: #f2ddd2;
  --slate: #56656d;
  --sand: #dccdb0;
  --bark: #3b2f22;
  --shadow-rest: 0 1px 1px #3b2f2214, 0 6px 14px -8px #3b2f2252;
  --shadow-lift: 0 2px 2px #3b2f2214, 0 14px 24px -12px #3b2f2259;
  --shadow-pebble: inset 0 1px 0 #ffffff59, inset 0 -3px 6px #3b2f221f, 0 1px 1px #3b2f221f, 0 4px 10px -5px #3b2f2266;
  --shadow-press: inset 0 3px 7px #3b2f2247, inset 0 -1px 0 #ffffff33;
  --shadow-groove: inset 0 2px 4px #3b2f2224, inset 0 0 0 1px #3b2f220f;
  color-scheme: light;
}
[data-theme="dark"] {
  --ground: #161c19;
  --stone: #212925;
  --stone-sunk: #10150f;
  --edge: #7b867e;
  --ink: #ede9df;
  --ink-soft: #b2b4a7;
  --sprout: #93c26f;
  --on-sprout: #14200f;
  --sprout-tint: #2a3a27;
  --clay: #e39c7e;
  --clay-tint: #402b23;
  --slate: #a3b4bc;
  --sand: #4a4332;
  --bark: #000000;
  --shadow-rest: 0 1px 1px #00000059, 0 8px 18px -10px #000000b3;
  --shadow-lift: 0 2px 2px #00000059, 0 16px 28px -12px #000000cc;
  --shadow-pebble: inset 0 1px 0 #ffffff1f, inset 0 -3px 6px #00000047, 0 1px 1px #00000066, 0 4px 10px -5px #000000b3;
  --shadow-press: inset 0 3px 8px #000000a6, inset 0 -1px 0 #ffffff14;
  --shadow-groove: inset 0 2px 5px #00000080, inset 0 0 0 1px #ffffff0a;
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-10: 40px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-full: 999px;
  --font-display: "Alegreya", Georgia, "Iowan Old Style", serif;
  --font-body: "Alegreya Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --type-display-family: var(--font-display);
  --type-display-size: 48px;
  --type-display-line: 52px;
  --type-display-weight: 500;
  --type-display-tracking: -0.01em;
  --type-title-family: var(--font-display);
  --type-title-size: 30px;
  --type-title-line: 36px;
  --type-title-weight: 500;
  --type-title-tracking: -0.005em;
  --type-heading-family: var(--font-display);
  --type-heading-size: 20px;
  --type-heading-line: 26px;
  --type-heading-weight: 600;
  --type-body-family: var(--font-body);
  --type-body-size: 17px;
  --type-body-line: 26px;
  --type-body-weight: 400;
  --type-body-sm-family: var(--font-body);
  --type-body-sm-size: 15px;
  --type-body-sm-line: 22px;
  --type-body-sm-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 15px;
  --type-label-line: 20px;
  --type-label-weight: 500;
  --type-label-tracking: 0.01em;
}
/* Type styles as utility classes (optional) */
.type-display { font-family: var(--type-display-family); font-size: var(--type-display-size); line-height: var(--type-display-line); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); letter-spacing: var(--type-title-tracking); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-body-sm { font-family: var(--type-body-sm-family); font-size: var(--type-body-sm-size); line-height: var(--type-body-sm-line); font-weight: var(--type-body-sm-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
