/* generiert aus design/tokens.json – nicht von Hand ändern */
:root {
  --bg: #f2f4f7;
  --surface: #ffffff;
  --surface-2: #e8ecf2;
  --glass: rgba(255, 255, 255, 0.86);
  --ink: #0f1722;
  --ink-2: #44516a;
  --ink-3: #5c687c;
  --line: #dce1e8;
  --line-strong: #828c9c;
  --brand: #154889;
  --on-brand: #ffffff;
  --brand-soft: #e3eaf5;
  --brand-ink: #103a72;
  --amber: #8a5300;
  --on-amber: #ffffff;
  --amber-soft: #f9ecd3;
  --danger: #b42318;
  --on-danger: #ffffff;
  --danger-soft: #fbe4e1;
  --marker-muted: #56606f;
  --focus: var(--ink);
  --premium: #0f1722;
  --on-premium: #ffffff;
  --map-land: #e8ebed;
  --map-green: #d6e5cf;
  --map-water: #cdd9de;
  --map-road: #ffffff;
  --map-highway: #f3dea1;
  --scrim: rgba(17, 25, 28, 0.32);
  --shadow-card: 0 1px 2px rgba(17, 25, 28, 0.06), 0 2px 8px rgba(17, 25, 28, 0.05);
  --shadow-float: 0 4px 16px rgba(17, 25, 28, 0.12), 0 1px 3px rgba(17, 25, 28, 0.08);
  --shadow-sheet: 0 -8px 32px rgba(17, 25, 28, 0.14);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-full: 999px;
  --duration-fast: 120ms;
  --duration-base: 220ms;
  --duration-sheet: 380ms;
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
  --font-rounded: ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --type-large-title-size: 34px;
  --type-large-title-line: 41px;
  --type-large-title-weight: 700;
  --type-large-title-tracking: 0.2px;
  --type-title-1-size: 28px;
  --type-title-1-line: 34px;
  --type-title-1-weight: 700;
  --type-title-2-size: 22px;
  --type-title-2-line: 28px;
  --type-title-2-weight: 700;
  --type-headline-size: 17px;
  --type-headline-line: 22px;
  --type-headline-weight: 600;
  --type-body-size: 17px;
  --type-body-line: 22px;
  --type-body-weight: 400;
  --type-callout-size: 16px;
  --type-callout-line: 21px;
  --type-callout-weight: 400;
  --type-subhead-size: 15px;
  --type-subhead-line: 20px;
  --type-subhead-weight: 400;
  --type-footnote-size: 13px;
  --type-footnote-line: 18px;
  --type-footnote-weight: 400;
  --type-caption-size: 12px;
  --type-caption-line: 16px;
  --type-caption-weight: 500;
  --type-caption-tracking: 0.1px;
  --type-price-xl-size: 44px;
  --type-price-xl-line: 48px;
  --type-price-xl-weight: 700;
  --type-price-xl-tracking: -0.5px;
  --type-price-size: 20px;
  --type-price-line: 24px;
  --type-price-weight: 700;
  --type-price-marker-size: 14px;
  --type-price-marker-line: 18px;
  --type-price-marker-weight: 700;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0a0e14;
    --surface: #151a22;
    --surface-2: #222934;
    --glass: rgba(21, 26, 34, 0.84);
    --ink: #eef2f7;
    --ink-2: #a8b3c4;
    --ink-3: #8b96a8;
    --line: #29313d;
    --line-strong: #65707f;
    --brand: #7ea7ec;
    --on-brand: #061531;
    --brand-soft: #15243d;
    --brand-ink: #b0c9f5;
    --amber: #f0b450;
    --on-amber: #2a1b00;
    --amber-soft: #33260e;
    --danger: #ff8b7c;
    --on-danger: #2b0703;
    --danger-soft: #3a1612;
    --marker-muted: #7d8797;
    --focus: var(--ink);
    --premium: #eef2f7;
    --on-premium: #0f1722;
    --map-land: #161b21;
    --map-green: #18261f;
    --map-water: #122127;
    --map-road: #2a313a;
    --map-highway: #4a4128;
    --scrim: rgba(0, 0, 0, 0.56);
    --shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.06);
    --shadow-float: 0 4px 16px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.07);
    --shadow-sheet: 0 -8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.07);
  }
}

[data-theme="dark"] {
  --bg: #0a0e14;
  --surface: #151a22;
  --surface-2: #222934;
  --glass: rgba(21, 26, 34, 0.84);
  --ink: #eef2f7;
  --ink-2: #a8b3c4;
  --ink-3: #8b96a8;
  --line: #29313d;
  --line-strong: #65707f;
  --brand: #7ea7ec;
  --on-brand: #061531;
  --brand-soft: #15243d;
  --brand-ink: #b0c9f5;
  --amber: #f0b450;
  --on-amber: #2a1b00;
  --amber-soft: #33260e;
  --danger: #ff8b7c;
  --on-danger: #2b0703;
  --danger-soft: #3a1612;
  --marker-muted: #7d8797;
  --focus: var(--ink);
  --premium: #eef2f7;
  --on-premium: #0f1722;
  --map-land: #161b21;
  --map-green: #18261f;
  --map-water: #122127;
  --map-road: #2a313a;
  --map-highway: #4a4128;
  --scrim: rgba(0, 0, 0, 0.56);
  --shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.06);
  --shadow-float: 0 4px 16px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.07);
  --shadow-sheet: 0 -8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.07);
}

[data-theme="light"] {
  --bg: #f2f4f7;
  --surface: #ffffff;
  --surface-2: #e8ecf2;
  --glass: rgba(255, 255, 255, 0.86);
  --ink: #0f1722;
  --ink-2: #44516a;
  --ink-3: #5c687c;
  --line: #dce1e8;
  --line-strong: #828c9c;
  --brand: #154889;
  --on-brand: #ffffff;
  --brand-soft: #e3eaf5;
  --brand-ink: #103a72;
  --amber: #8a5300;
  --on-amber: #ffffff;
  --amber-soft: #f9ecd3;
  --danger: #b42318;
  --on-danger: #ffffff;
  --danger-soft: #fbe4e1;
  --marker-muted: #56606f;
  --focus: var(--ink);
  --premium: #0f1722;
  --on-premium: #ffffff;
  --map-land: #e8ebed;
  --map-green: #d6e5cf;
  --map-water: #cdd9de;
  --map-road: #ffffff;
  --map-highway: #f3dea1;
  --scrim: rgba(17, 25, 28, 0.32);
  --shadow-card: 0 1px 2px rgba(17, 25, 28, 0.06), 0 2px 8px rgba(17, 25, 28, 0.05);
  --shadow-float: 0 4px 16px rgba(17, 25, 28, 0.12), 0 1px 3px rgba(17, 25, 28, 0.08);
  --shadow-sheet: 0 -8px 32px rgba(17, 25, 28, 0.14);
}
