:root {
  color-scheme: light;
  --color-background: #f4f6f8;
  --color-surface: #ffffff;
  --color-surface-muted: #eef2f5;
  --color-surface-raised: #ffffff;
  --color-text-primary: #17212b;
  --color-text-secondary: #52606d;
  --color-text-muted: #6b7885;
  --color-border: #d9e0e6;
  --color-border-strong: #bac5ce;
  --color-success: #167352;
  --color-success-soft: #e6f5ef;
  --color-warning: #945b08;
  --color-warning-soft: #fff4d9;
  --color-danger: #b42331;
  --color-danger-soft: #fdebed;
  --color-info: #225ea8;
  --color-info-soft: #eaf2fc;
  --area-primary: #245f8f;
  --area-primary-action: #1c4f78;
  --area-primary-light: #3d7da8;
  --area-secondary: #d99b20;
  --area-accent: #123f66;
  --area-highlight: #d99b20;
  --area-nature: #167352;
  --area-strong: #17212b;
  --area-primary-soft: #eaf2f8;
  --area-secondary-soft: #fff4d9;
  --area-accent-soft: #e8eef5;
  --area-highlight-soft: #fff4d9;
  --area-on-primary: #ffffff;
  --area-on-secondary: #16181d;
  --area-on-accent: #ffffff;
  --area-on-highlight: #16181d;
  --area-primary-dark: var(--area-primary-action);
  --area-soft: var(--area-primary-soft);
  --theme-action-background: var(--area-primary-action);
  --theme-action-hover: color-mix(in srgb, var(--area-primary-action) 84%, black);
  --theme-action-text: var(--area-on-primary);
  --theme-link: var(--area-primary-action);
  --theme-focus-ring: var(--area-primary-action);
  --theme-selected-background: var(--area-primary-soft);
  --theme-selected-text: var(--area-primary-action);
  --theme-navigation-marker: var(--area-accent);
  --theme-card-border: color-mix(in srgb, var(--area-accent) 16%, var(--color-border));
  --theme-info-background: var(--area-accent-soft);
  --theme-info-text: var(--area-strong);
  --button-primary-background: var(--theme-action-background);
  --button-primary-text: var(--theme-action-text);
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-md: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --font-size-lg: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem);
  --font-size-xl: clamp(1.6rem, 1.2rem + 1.4vw, 2.35rem);
  --font-size-display: clamp(2rem, 1.4rem + 2.5vw, 3.75rem);
  --font-weight-regular: 400;
  --font-weight-medium: 560;
  --font-weight-semibold: 650;
  --font-weight-bold: 750;
  --line-height-tight: 1.18;
  --line-height-base: 1.55;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgb(18 49 90 / 7%), 0 4px 12px rgb(18 49 90 / 4%);
  --shadow-md: 0 10px 30px rgb(18 49 90 / 10%);
  --content-max: 75rem;
  --content-narrow: 48rem;
  --sidebar-width: 16.5rem;
  --topbar-height: 4.25rem;
  --bottom-nav-height: 4.5rem;
  --touch-target-min: 2.75rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --z-base: 1;
  --z-sticky: 20;
  --z-navigation: 40;
  --transition-fast: 140ms ease;
  --transition-base: 220ms ease;
  /* Documented breakpoints: 40rem, 48rem, 64rem, and 80rem. */
}
