/* TrackHero design tokens — generated from tokens.json. Do not hand-edit; regenerate when tokens.json changes. */

:root, [data-theme="light"] {
  --surface-0: #ffffff;
  --surface-100: #f5f7fa;
  --surface-200: #eaeef3;
  --border-subtle: #e1e7ee;
  --border-strong: #74869a;
  --text-primary: #10263b;
  --text-secondary: #4e6175;
  --text-tertiary: #74869a;
  --text-disabled: #c2cbd5;
  --brand-500: #2d86ce;
  --brand-600: #1f6fb3;
  --brand-700: #185a93;
  --on-brand: #ffffff;
  --brand-100: #e7f1fa;
  --brand-text: #1c67a8;
  --brand-tint-text: #164f82;
  --danger-600: #b3261e;
  --danger-700: #8f1d17;
  --danger-100: #fcebea;
  --danger-text: #b3261e;
  --danger-tint-text: #8f1d17;
  --success-text: #23764a;
  --success-100: #e4f4ea;
  --warning-text: #8a5a00;
  --warning-100: #fbf0dd;
  --info-text: #0f6e67;
  --info-100: #e0f4f1;
  --chart-focus: #2d86ce;
  --chart-compare-1: #3e5064;
  --chart-compare-2: #8a9aac;
  --chart-grid: #e1e7ee;
  --chart-sequential-1: #fde9a9;
  --chart-sequential-2: #fbc350;
  --chart-sequential-3: #f28c28;
  --chart-sequential-4: #c2410c;
  --chart-sequential-5: #7a2208;
  --scrim: rgba(16,38,59,0.5);
  --shadow-sm: 0 1px 2px rgba(16,38,59,0.04), 0 1px 1px rgba(16,38,59,0.03);
  --shadow-md: 0 6px 16px rgba(16,38,59,0.08), 0 1px 2px rgba(16,38,59,0.04);
  --shadow-lg: 0 16px 32px rgba(16,38,59,0.12), 0 2px 6px rgba(16,38,59,0.06);
}

[data-theme="dark"] {
  --surface-0: #0b1520;
  --surface-100: #111e2b;
  --surface-200: #182838;
  --border-subtle: #1f3143;
  --border-strong: #63788e;
  --text-primary: #edf2f7;
  --text-secondary: #a3b2c2;
  --text-tertiary: #63788e;
  --text-disabled: #3a4b5e;
  --brand-500: #2d86ce;
  --brand-600: #2474ba;
  --brand-700: #1f6fb3;
  --on-brand: #ffffff;
  --brand-100: #0f2a44;
  --brand-text: #5aaae8;
  --brand-tint-text: #8cc4f0;
  --danger-600: #cc3a31;
  --danger-700: #b3261e;
  --danger-100: #2e1519;
  --danger-text: #f07770;
  --danger-tint-text: #f5a19c;
  --success-text: #4fb477;
  --success-100: #10271e;
  --warning-text: #e0a33a;
  --warning-100: #2a2112;
  --info-text: #34c3b0;
  --info-100: #0d2a2b;
  --chart-focus: #4da3e8;
  --chart-compare-1: #a3b2c2;
  --chart-compare-2: #63788e;
  --chart-grid: #1f3143;
  --chart-sequential-1: #7a2208;
  --chart-sequential-2: #c2410c;
  --chart-sequential-3: #f28c28;
  --chart-sequential-4: #fbc350;
  --chart-sequential-5: #fde9a9;
  --scrim: rgba(3,8,14,0.7);
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;
  --space-10: 64px;
  --space-11: 96px;
  --topbar-height: 56px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-full: 9999px;
  --opacity-overlay: 0.6;
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
}

.h1 {
  font-family: var(--font-sans);
  font-size: 1.75rem;
  line-height: 2.25rem;
  font-weight: 600;
}

.h2 {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 600;
}

.h3 {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 600;
}

.body-lg {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
}

.body {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 1.375rem;
  font-weight: 400;
}

.body-sm {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1.1875rem;
  font-weight: 400;
}

.label {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.caption {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.data-lg {
  font-family: var(--font-sans);
  font-size: 1.625rem;
  line-height: 1.875rem;
  font-weight: 600;
}

.data {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  line-height: 1.25rem;
  font-weight: 600;
}

.data-sm {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1rem;
  font-weight: 600;
}
