/* Shellfall — generated from tokens.json */
:root, [data-theme="day"] {
  --surface: #efe6d2;
  --surface-raised: #f7f1e3;
  --surface-sunk: #e4d9c1;
  --ink: #2e2a2a;
  --ink-muted: #6b5644;
  --rule: #b9a988;
  --rule-strong: #8c7358;
  --focus: #2e5fa8;
  --lamp: #f2b067;
  --on-lamp: #2e2a2a;
  --lamp-ink: #8a5410;
  --live: #4e6b3a;
  --hearthguard: #3f6299;
  --rustcoats: #9a4330;
  --mustard: #7a5f1c;
  --on-faction: #efe6d2;
  --scrim: rgba(46,42,42,0.35);
  --pigment-paper: #efe6d2;
  --pigment-pale-wash: #d9d3c2;
  --pigment-grass: #9aaa86;
  --pigment-field: #c7ae86;
  --pigment-mud: #8c7358;
  --pigment-churned: #6b5644;
  --pigment-chalk: #dccfb4;
  --pigment-woods: #5e6e5a;
  --pigment-water: #8fa6b0;
  --pigment-road: #cdbea2;
  --pigment-roofs: #a86f55;
  --pigment-hearthguard: #5a7fb8;
  --pigment-rustcoats: #b4553e;
  --pigment-mustard: #c9a24a;
  --pigment-lamp: #f2b067;
  --pigment-ink: #2e2a2a;
  --shadow-clay: 0 2px 0 rgba(46,42,42,0.10), 0 8px 18px rgba(46,42,42,0.16);
  --shadow-lamp: 0 0 0 1px rgba(242,176,103,0.45), 0 0 24px rgba(242,176,103,0.35);
}
[data-theme="night"] {
  --surface: #1b2230;
  --surface-raised: #252e3e;
  --surface-sunk: #141a25;
  --ink: #efe6d2;
  --ink-muted: #a9b1bc;
  --rule: #4a5568;
  --rule-strong: #7a8699;
  --focus: #f2b067;
  --lamp: #f2b067;
  --on-lamp: #2e2a2a;
  --lamp-ink: #f2b067;
  --live: #a9c48e;
  --hearthguard: #9db8e4;
  --rustcoats: #e39a84;
  --mustard: #e2c27a;
  --on-faction: #1b2230;
  --scrim: rgba(0,0,0,0.55);
  --pigment-paper: #efe6d2;
  --pigment-pale-wash: #d9d3c2;
  --pigment-grass: #9aaa86;
  --pigment-field: #c7ae86;
  --pigment-mud: #8c7358;
  --pigment-churned: #6b5644;
  --pigment-chalk: #dccfb4;
  --pigment-woods: #5e6e5a;
  --pigment-water: #8fa6b0;
  --pigment-road: #cdbea2;
  --pigment-roofs: #a86f55;
  --pigment-hearthguard: #5a7fb8;
  --pigment-rustcoats: #b4553e;
  --pigment-mustard: #c9a24a;
  --pigment-lamp: #f2b067;
  --pigment-ink: #2e2a2a;
  --shadow-clay: 0 2px 0 rgba(0,0,0,0.35), 0 10px 22px rgba(0,0,0,0.45);
  --shadow-lamp: 0 0 0 1px rgba(242,176,103,0.45), 0 0 24px rgba(242,176,103,0.35);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-paper: 2px;
  --radius-clay: 14px;
  --radius-pill: 999px;
  --duration-bleed: 800ms;
  --duration-cloud: 800ms;
  --duration-ui: 160ms;
  --font-display: "IM Fell English", "Iowan Old Style", Georgia, serif;
  --font-display-sc: "IM Fell English SC", "IM Fell English", Georgia, serif;
  --font-body: "Alegreya Sans", "Gill Sans", "Trebuchet MS", sans-serif;
  --font-mono: "Courier Prime", "Courier New", ui-monospace, monospace;
  --font-hand: Kalam, "Bradley Hand", "Segoe Print", cursive;
}
.display-title { font-family: var(--font-display); font-size: 56px; line-height: 60px; font-weight: 400; letter-spacing: -0.01em; }
.display-heading { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 400; }
.display-letter { font-family: var(--font-display); font-size: 19px; line-height: 28px; font-weight: 400; font-style: italic; }
.map-region { font-family: var(--font-display-sc); font-size: 18px; line-height: 22px; font-weight: 400; letter-spacing: 0.14em; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-small { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-body); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.button { font-family: var(--font-body); font-size: 15px; line-height: 20px; font-weight: 700; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
.radio { font-family: var(--font-mono); font-size: 16px; line-height: 24px; font-weight: 700; }
.pencil { font-family: var(--font-hand); font-size: 18px; line-height: 22px; font-weight: 300; }
