/*
 * Vitruv Plan – Design-Tokens
 * Quelle: tokens.json. Alle Farben, Schriften, Abstände und Radien NUR über diese Variablen verwenden.
 * Hell ist Standard. Dunkel per <html data-theme="dark"> oder automatisch per Systemeinstellung,
 * solange nicht data-theme="light" gesetzt ist.
 */

:root {
  color-scheme: light;
  --vp-surface-100: #f4f0e8;
  --vp-surface-050: #fbf9f4;
  --vp-surface-200: #eae3d6;
  --vp-hairline: #d4cab8;
  --vp-rule-strong: #8a8072;
  --vp-ink: #1e1c19;
  --vp-ink-muted: #5a5348;
  --vp-terra: #a3402b;
  --vp-terra-strong: #7e2e1e;
  --vp-on-terra: #ffffff;
  --vp-terra-tint: #f1dcd3;
  --vp-olive: #56642a;
  --vp-on-olive: #ffffff;
  --vp-olive-tint: #e3e7d2;
  --vp-plan: #24406a;
  --vp-on-plan: #ffffff;
  --vp-plan-tint: #dbe3ee;
  --vp-status-done: #1f5e4a;
  --vp-status-open: #7a5200;
  --vp-status-block: #9b1c1c;
  --vp-focus: #24406a;
  --vp-font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --vp-font-sans: "IBM Plex Sans", system-ui, sans-serif;
  --vp-font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --vp-space-1: 4px;
  --vp-space-2: 8px;
  --vp-space-3: 16px;
  --vp-space-4: 24px;
  --vp-space-5: 40px;
  --vp-space-6: 64px;
  --vp-space-7: 112px;
  --vp-radius-0: 0px;
  --vp-radius-1: 2px;
  --vp-radius-2: 6px;
  --vp-radius-full: 999px;
  --vp-focus-ring: 0 0 0 2px var(--vp-surface-100), 0 0 0 4px var(--vp-focus);
  --vp-shadow-dialog: 0 16px 40px rgba(30, 28, 25, 0.18);
  --vp-content-max: 1200px;
}

[data-theme="dark"] {
  color-scheme: dark;
  --vp-surface-100: #151412;
  --vp-surface-050: #1f1d1a;
  --vp-surface-200: #2a2723;
  --vp-hairline: #3a362f;
  --vp-rule-strong: #7a7266;
  --vp-ink: #f1ece3;
  --vp-ink-muted: #ada597;
  --vp-terra: #e58a6e;
  --vp-terra-strong: #f0a48c;
  --vp-on-terra: #151412;
  --vp-terra-tint: #3b221b;
  --vp-olive: #b3c27a;
  --vp-on-olive: #151412;
  --vp-olive-tint: #262b18;
  --vp-plan: #93b2e0;
  --vp-on-plan: #151412;
  --vp-plan-tint: #1b2433;
  --vp-status-done: #7cc7a8;
  --vp-status-open: #e0b45c;
  --vp-status-block: #f08a8a;
  --vp-focus: #93b2e0;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --vp-surface-100: #151412;
    --vp-surface-050: #1f1d1a;
    --vp-surface-200: #2a2723;
    --vp-hairline: #3a362f;
    --vp-rule-strong: #7a7266;
    --vp-ink: #f1ece3;
    --vp-ink-muted: #ada597;
    --vp-terra: #e58a6e;
    --vp-terra-strong: #f0a48c;
    --vp-on-terra: #151412;
    --vp-terra-tint: #3b221b;
    --vp-olive: #b3c27a;
    --vp-on-olive: #151412;
    --vp-olive-tint: #262b18;
    --vp-plan: #93b2e0;
    --vp-on-plan: #151412;
    --vp-plan-tint: #1b2433;
    --vp-status-done: #7cc7a8;
    --vp-status-open: #e0b45c;
    --vp-status-block: #f08a8a;
    --vp-focus: #93b2e0;
  }
}

/* Typo-Stile */
.vp-display-xl {
  font-family: var(--vp-font-display);
  font-size: 76px;
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.01em;
}
.vp-display-l {
  font-family: var(--vp-font-display);
  font-size: 48px;
  line-height: 1.05;
  font-weight: 400;
}
.vp-display-m {
  font-family: var(--vp-font-display);
  font-size: 32px;
  line-height: 1.15;
  font-weight: 400;
}
.vp-heading {
  font-family: var(--vp-font-sans);
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
}
.vp-body-l {
  font-family: var(--vp-font-sans);
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
}
.vp-body {
  font-family: var(--vp-font-sans);
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
}
.vp-body-s {
  font-family: var(--vp-font-sans);
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
}
.vp-button {
  font-family: var(--vp-font-sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
}
.vp-label {
  font-family: var(--vp-font-mono);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.vp-data {
  font-family: var(--vp-font-mono);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}
