/* SoilTwin tokens, generated from the identity system. Fonts: Geologica + IBM Plex Mono (Google Fonts). */
:root, [data-theme="light"] {
  --paper: #ffffff;
  --loess: #f1ecdc;
  --line: #d8cfb9;
  --line-strong: #8a7a66;
  --ink: #2b1e15;
  --ink-muted: #6b5a4a;
  --logo-ink: #624732;
  --soil: #624732;
  --on-soil: #f1ecdc;
  --humus: #2b1e15;
  --on-humus: #f1ecdc;
  --loam: #865c29;
  --sprout: #79893f;
  --sprout-text: #56642b;
  --on-sprout: #1c1410;
  --signal: #cea03b;
  --signal-text: #7a5a10;
  --on-signal: #1c1410;
  --action: #624732;
  --on-action: #f1ecdc;
  --alert: #a3381f;
  --ndvi-1: #efe3c0;
  --ndvi-2: #cea03b;
  --ndvi-3: #a4a23f;
  --ndvi-4: #79893f;
  --ndvi-5: #47632b;
  --focus: var(--ink);
}
[data-theme="dark"] {
  --paper: #1c1410;
  --loess: #2a1f18;
  --line: #4b3b2f;
  --line-strong: #9a8a76;
  --ink: #f1ecdc;
  --ink-muted: #b9aa97;
  --logo-ink: #f1ecdc;
  --loam: #b8823f;
  --sprout: #8fa24c;
  --sprout-text: #a9bb6a;
  --signal-text: #e0b755;
  --action: #f1ecdc;
  --on-action: #2b1e15;
  --alert: #ec8e73;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #1c1410;
    --loess: #2a1f18;
    --line: #4b3b2f;
    --line-strong: #9a8a76;
    --ink: #f1ecdc;
    --ink-muted: #b9aa97;
    --logo-ink: #f1ecdc;
    --loam: #b8823f;
    --sprout: #8fa24c;
    --sprout-text: #a9bb6a;
    --signal-text: #e0b755;
    --action: #f1ecdc;
    --on-action: #2b1e15;
    --alert: #ec8e73;
    color-scheme: dark;
  }
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 6px;
  --radius-node: 999px;
  --font-display: Geologica, "Helvetica Neue", Arial, sans-serif;
  --font-sans: Geologica, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 72px; line-height: 70px; font-weight: 300; letter-spacing: -0.02em; }
.display { font-family: var(--font-display); font-size: 48px; line-height: 52px; font-weight: 300; letter-spacing: -0.015em; }
.title { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 500; letter-spacing: -0.005em; }
.lead { font-family: var(--font-sans); font-size: 20px; line-height: 30px; font-weight: 300; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.small { font-family: var(--font-sans); font-size: 14px; line-height: 21px; font-weight: 400; }
.label { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.08em; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
.data-lg { font-family: var(--font-mono); font-size: 32px; line-height: 36px; font-weight: 400; letter-spacing: -0.01em; }
