/* Olympusx AI — generated from tokens.json */
:root, [data-theme="dark"] {
  --background: #161616;
  --background-inverse: #f4f4f4;
  --background-brand: #0f62fe;
  --layer-01: #262626;
  --layer-02: #393939;
  --layer-03: #525252;
  --layer-accent-01: #393939;
  --layer-hover-01: #333333;
  --layer-active-01: #525252;
  --field-01: #262626;
  --highlight: #001d6c;
  --overlay: #00000099;
  --border-subtle-00: #393939;
  --border-subtle-01: #525252;
  --border-strong-01: #6f6f6f;
  --border-interactive: #4589ff;
  --text-primary: #f4f4f4;
  --text-secondary: #c6c6c6;
  --text-helper: #a8a8a8;
  --text-placeholder: #f4f4f466;
  --text-on-color: #ffffff;
  --text-inverse: #161616;
  --text-error: #ff8389;
  --interactive: #4589ff;
  --link-primary: #78a9ff;
  --link-primary-hover: #a6c8ff;
  --link-inverse: #0f62fe;
  --focus: #ffffff;
  --button-primary: #0f62fe;
  --button-primary-hover: #0050e6;
  --button-primary-active: #002d9c;
  --button-secondary: #6f6f6f;
  --button-tertiary: #ffffff;
  --button-danger-primary: #da1e28;
  --brand-primary: #4589ff;
  --brand-accent: #3ddbd9;
  --accent-data: #009d9a;
  --support-success: #42be65;
  --support-error: #fa4d56;
  --support-warning: #f1c21b;
  --support-info: #4589ff;
  --tag-blue-bg: #0043ce;
  --tag-blue-text: #d0e2ff;
  --tag-green-bg: #0e6027;
  --tag-green-text: #a7f0ba;
  --tag-purple-bg: #6929c4;
  --tag-purple-text: #e8daff;
  --tag-teal-bg: #005d5d;
  --tag-teal-text: #9ef0f0;
  --tag-gray-bg: #525252;
  --tag-gray-text: #f4f4f4;
  --tag-red-bg: #a2191f;
  --tag-red-text: #ffd7d9;
  --ai-aura-start: #4589ff1a;
  --ai-aura-end: #00000000;
  --ai-border-start: #a6c8ff5c;
  --ai-border-end: #4589ff;
  --charts-1: #8a3ffc;
  --charts-2: #33b1ff;
  --charts-3: #007d79;
  --charts-4: #ff7eb6;
  --charts-7: #6fdc8c;
  --charts-10: #d2a106;
  --elevation-overlay: 0 2px 6px rgba(0, 0, 0, 0.8);
  color-scheme: dark;
}
[data-theme="light"] {
  --background: #f4f4f4;
  --background-inverse: #393939;
  --background-brand: #0f62fe;
  --layer-01: #ffffff;
  --layer-02: #f4f4f4;
  --layer-03: #ffffff;
  --layer-accent-01: #e0e0e0;
  --layer-hover-01: #e8e8e8;
  --layer-active-01: #c6c6c6;
  --field-01: #ffffff;
  --highlight: #d0e2ff;
  --overlay: #00000099;
  --border-subtle-00: #c6c6c6;
  --border-subtle-01: #e0e0e0;
  --border-strong-01: #8d8d8d;
  --border-interactive: #0f62fe;
  --text-primary: #161616;
  --text-secondary: #525252;
  --text-helper: #6f6f6f;
  --text-placeholder: #16161666;
  --text-on-color: #ffffff;
  --text-inverse: #ffffff;
  --text-error: #da1e28;
  --interactive: #0f62fe;
  --link-primary: #0f62fe;
  --link-primary-hover: #0043ce;
  --link-inverse: #78a9ff;
  --focus: #0f62fe;
  --button-primary: #0f62fe;
  --button-primary-hover: #0050e6;
  --button-primary-active: #002d9c;
  --button-secondary: #393939;
  --button-tertiary: #0f62fe;
  --button-danger-primary: #da1e28;
  --brand-primary: #0f62fe;
  --brand-accent: #08bdba;
  --accent-data: #009d9a;
  --support-success: #24a148;
  --support-error: #da1e28;
  --support-warning: #f1c21b;
  --support-info: #0043ce;
  --tag-blue-bg: #d0e2ff;
  --tag-blue-text: #0043ce;
  --tag-green-bg: #a7f0ba;
  --tag-green-text: #0e6027;
  --tag-purple-bg: #e8daff;
  --tag-purple-text: #6929c4;
  --tag-teal-bg: #9ef0f0;
  --tag-teal-text: #005d5d;
  --tag-gray-bg: #e0e0e0;
  --tag-gray-text: #161616;
  --tag-red-bg: #ffd7d9;
  --tag-red-text: #a2191f;
  --ai-aura-start: #4589ff1a;
  --ai-aura-end: #ffffff00;
  --ai-border-start: #a6c8ffa3;
  --ai-border-end: #78a9ff;
  --charts-1: #6929c4;
  --charts-2: #1192e8;
  --charts-3: #005d5d;
  --charts-4: #9f1853;
  --charts-7: #198038;
  --charts-10: #b28600;
  --elevation-overlay: 0 2px 6px rgba(0, 0, 0, 0.3);
  color-scheme: light;
}
:root {
  --spacing-01: 2px;
  --spacing-02: 4px;
  --spacing-03: 8px;
  --spacing-04: 12px;
  --spacing-05: 16px;
  --spacing-06: 24px;
  --spacing-07: 32px;
  --spacing-08: 40px;
  --spacing-09: 48px;
  --spacing-10: 64px;
  --spacing-11: 80px;
  --spacing-12: 96px;
  --spacing-13: 160px;
  --radius-none: 0px;
  --radius-popover: 2px;
  --radius-swatch: 4px;
  --radius-round: 50%;
  --container-max: 1584px;
  --container-wide: 1312px;
  --container-text: 68ch;
  --container-narrow: 672px;
  --grid-gutter: 32px;
  --grid-margin: 16px;
  --header-height: 64px;
  --font-sans: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.display {
  font-family: var(--font-sans);
  font-size: 96px;
  line-height: 0.95;
  font-weight: 300;
  letter-spacing: -0.03em;
}
.hero {
  font-family: var(--font-sans);
  font-size: 68px;
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.02em;
}
.h2 {
  font-family: var(--font-sans);
  font-size: 42px;
  line-height: 1.19;
  font-weight: 300;
  letter-spacing: -0.01em;
}
.metric {
  font-family: var(--font-sans);
  font-size: 54px;
  line-height: 1.19;
  font-weight: 300;
  letter-spacing: -0.01em;
}
.h3 {
  font-family: var(--font-sans);
  font-size: 32px;
  line-height: 1.25;
  font-weight: 400;
}
.h4 {
  font-family: var(--font-sans);
  font-size: 28px;
  line-height: 1.28572;
  font-weight: 400;
}
.h5 {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
}
.h6 {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
}
.heading-compact {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.28572;
  font-weight: 600;
  letter-spacing: 0.16px;
}
.lede {
  font-family: var(--font-sans);
  font-size: 19px;
  line-height: 1.5;
  font-weight: 300;
}
.body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}
.body-sm {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.42857;
  font-weight: 400;
  letter-spacing: 0.16px;
}
.body-compact {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.28572;
  font-weight: 400;
  letter-spacing: 0.16px;
}
.eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.33333;
  font-weight: 400;
  letter-spacing: 0.08em;
}
.code {
  font-family: var(--font-mono);
  font-size: 14px;
  line-height: 1.42857;
  font-weight: 400;
  letter-spacing: 0.32px;
}
.code-inline {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.33333;
  font-weight: 400;
  letter-spacing: 0.32px;
}
.label {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.33333;
  font-weight: 400;
  letter-spacing: 0.32px;
}
.legal {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.33333;
  font-weight: 400;
}
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url('fonts/IBMPlexSans-Light.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/IBMPlexSans-Regular.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/IBMPlexSans-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 300; font-display: swap; src: url('fonts/IBMPlexSansArabic-Light.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/IBMPlexSansArabic-Regular.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/IBMPlexSansArabic-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/IBMPlexMono-Regular.woff2') format('woff2'); }
