/* HuntLab tokens, gegenereerd uit tokens.json. Thema: zet data-theme="light", "dark" of "night" op html. */
:root, [data-theme="light"] {
  --surface-page: #edf0ed;
  --surface-raised: #ffffff;
  --surface-sunken: #dfe4df;
  --ink: #14211e;
  --ink-muted: #3d4b46;
  --line: #7f8f88;
  --line-soft: #c9d1cc;
  --brand: #17332f;
  --brand-hover: #234640;
  --on-brand: #f3f5f2;
  --accent: #9c5420;
  --on-accent: #ffffff;
  --status-good: #0f6e8c;
  --status-caution: #a8490f;
  --status-critical: #8e1b2e;
  --on-status: #ffffff;
  --status-good-soft: #d6e9ef;
  --status-caution-soft: #f6e1d2;
  --status-critical-soft: #f3d9dd;
  --focus-ring: #0f6e8c;
  --map-land: #dde3da;
  --map-field: #cbd6c4;
  --map-field-alt: #e6e3d2;
  --map-forest: #b5c4b0;
  --map-water: #8fb7c4;
  --map-road: #ffffff;
  --map-boundary: #17332f;
  --map-view-cone: #9c542047;
  --forecast-1: #cfe3ea;
  --forecast-2: #6fafc4;
  --forecast-3: #0f6e8c;
  --shadow-sheet: 0 -2px 12px rgba(15,26,24,.18);
  --shadow-map: 0 1px 4px rgba(15,26,24,.3);
}
[data-theme="dark"] {
  --surface-page: #0f1a18;
  --surface-raised: #1a2825;
  --surface-sunken: #0a1311;
  --ink: #e9eeea;
  --ink-muted: #a9b8b1;
  --line: #62756e;
  --line-soft: #2c3b37;
  --brand: #cfe0d6;
  --brand-hover: #e0ece5;
  --on-brand: #0f1a18;
  --accent: #e3a56c;
  --on-accent: #0f1a18;
  --status-good: #6fc6e0;
  --status-caution: #f2a65a;
  --status-critical: #ffccd2;
  --on-status: #0f1a18;
  --status-good-soft: #12343f;
  --status-caution-soft: #40280f;
  --status-critical-soft: #451a22;
  --focus-ring: #6fc6e0;
  --map-land: #162320;
  --map-field: #1f302b;
  --map-field-alt: #2a322a;
  --map-forest: #1a2b26;
  --map-water: #2c5361;
  --map-road: #33423d;
  --map-boundary: #cfe0d6;
  --map-view-cone: #e3a56c47;
  --forecast-1: #16363f;
  --forecast-2: #2e7288;
  --forecast-3: #6fc6e0;
  --shadow-sheet: 0 -2px 12px rgba(0,0,0,.5);
  --shadow-map: 0 1px 4px rgba(0,0,0,.6);
}
[data-theme="night"] {
  --surface-page: #050000;
  --surface-raised: #140505;
  --surface-sunken: #000000;
  --ink: #f0604a;
  --ink-muted: #d45442;
  --line: #a8402f;
  --line-soft: #2a0c08;
  --brand: #5a140c;
  --brand-hover: #6e1a10;
  --on-brand: #ff8e7a;
  --accent: #ff8e7a;
  --on-accent: #050000;
  --status-good: #f0604a;
  --status-caution: #ffb4a3;
  --status-critical: #ffd6cc;
  --on-status: #050000;
  --status-good-soft: #2a0c08;
  --status-caution-soft: #2a0c08;
  --status-critical-soft: #2a0c08;
  --focus-ring: #ffb4a3;
  --map-land: #0c0202;
  --map-field: #160505;
  --map-field-alt: #1c0704;
  --map-forest: #120303;
  --map-water: #2a0a08;
  --map-road: #300d0a;
  --map-boundary: #a63a2a;
  --map-view-cone: #ff8e7a38;
  --forecast-1: #2a0c08;
  --forecast-2: #7a2214;
  --forecast-3: #f0604a;
  --shadow-sheet: 0 0 0 1px #2A0C08;
  --shadow-map: 0 0 0 1px #2A0C08;
}
: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-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;
  --tap-min: 56px;
  --tap-map: 64px;
  --icon-md: 24px;
  --icon-lg: 32px;
  --tabbar-height: 72px;
  --font-sans: "Schibsted Grotesk", "Segoe UI", system-ui, sans-serif;
}
.text-display { font-family: var(--font-sans); font-size: 40px; line-height: 44px; font-weight: 800; letter-spacing: -0.02em; }
.text-title { font-family: var(--font-sans); font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.01em; }
.text-heading { font-family: var(--font-sans); font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: 0; }
.text-body-l { font-family: var(--font-sans); font-size: 18px; line-height: 26px; font-weight: 400; letter-spacing: 0; }
.text-body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0; }
.text-label { font-family: var(--font-sans); font-size: 16px; line-height: 20px; font-weight: 600; letter-spacing: 0; }
.text-caption { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0; }
.text-data-xl { font-family: var(--font-sans); font-size: 40px; line-height: 44px; font-weight: 700; letter-spacing: -0.01em; }
.text-data { font-family: var(--font-sans); font-size: 20px; line-height: 26px; font-weight: 600; letter-spacing: 0; }
@font-face { font-family: "Schibsted Grotesk"; src: url("SchibstedGrotesk-Variable.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
