/* Qlay tokens — compiled from tokens.json (Qlay design system). */
:root, [data-theme="light"] {
  --bg: #ffffff;
  --surface: #f5f5f2;
  --surface-raised: #ffffff;
  --surface-inverse: #0a0b0f;
  --line: #e6e6e1;
  --line-strong: #87888d;
  --ink: #0a0b0f;
  --ink-muted: #5a5c66;
  --ink-inverse: #f3f3ef;
  --ink-inverse-muted: #a3a7b2;
  --qlay: #2e44ff;
  --qlay-text: var(--qlay);
  --on-qlay: #ffffff;
  --qlay-soft: #eceeff;
  --bit: #0a0b0f;
  --bit-text: var(--bit);
  --on-bit: #ffffff;
  --bit-soft: #efede6;
  --lime: #c5f23a;
  --lime-text: #4f7a00;
  --on-lime: #0a0b0f;
  --lime-soft: #f3fbdd;
  --orange: #ff5a1f;
  --orange-text: #c23a0a;
  --on-orange: #0a0b0f;
  --orange-soft: #ffede5;
  --accent: var(--qlay);
  --accent-text: var(--qlay-text);
  --on-accent: var(--on-qlay);
  --accent-soft: var(--qlay-soft);
  --success: #0f7a4a;
  --success-soft: #e3f5ec;
  --warning: #8a5a00;
  --warning-soft: #fdf3dc;
  --danger: #c42b2b;
  --danger-soft: #fde8e6;
  --link: var(--accent-text);
  --shadow-sm: 0 1px 2px #0a0b0f0d;
  --shadow-md: 0 2px 4px #0a0b0f0a, 0 8px 24px -4px #0a0b0f1f;
  --shadow-lg: 0 4px 8px #0a0b0f0f, 0 24px 48px -8px #0a0b0f2e;
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #2e44ff;
}
[data-theme="dark"] {
  --bg: #0a0b0f;
  --surface: #12141a;
  --surface-raised: #1a1d25;
  --surface-inverse: #f3f3ef;
  --line: #262a33;
  --line-strong: #6b707c;
  --ink: #f3f3ef;
  --ink-muted: #a3a7b2;
  --ink-inverse: #0a0b0f;
  --ink-inverse-muted: #5a5c66;
  --qlay: #8c9bff;
  --qlay-text: var(--qlay);
  --on-qlay: #0a0b0f;
  --qlay-soft: #1a1f4d;
  --bit: #f3f3ef;
  --bit-text: var(--bit);
  --on-bit: #0a0b0f;
  --bit-soft: #1d1f26;
  --lime: #c5f23a;
  --lime-text: #c5f23a;
  --on-lime: #0a0b0f;
  --lime-soft: #1f2a0a;
  --orange: #ff6b33;
  --orange-text: #ff7a45;
  --on-orange: #0a0b0f;
  --orange-soft: #33150a;
  --accent: var(--qlay);
  --accent-text: var(--qlay-text);
  --on-accent: var(--on-qlay);
  --accent-soft: var(--qlay-soft);
  --success: #5bd69a;
  --success-soft: #0f2a1d;
  --warning: #f5c04e;
  --warning-soft: #2e2208;
  --danger: #ff8a80;
  --danger-soft: #3a1210;
  --link: var(--accent-text);
  --shadow-sm: 0 1px 2px #00000080;
  --shadow-md: 0 8px 24px -4px #000000b3;
  --shadow-lg: 0 24px 48px -8px #000000cc;
  --focus-ring: 0 0 0 2px #0a0b0f, 0 0 0 4px #8c9bff;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-tile: 25%;
  --radius-full: 9999px;
  --container: 1200px;
  --container-narrow: 720px;
  --ecobar-height: 36px;
  --header-height: 64px;
  --tile-sm: 24px;
  --bit-square: 8px;
  --font-sans: Geist, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
.display-xl { font-family: var(--font-sans); font-size: 96px; line-height: 92px; font-weight: 600; letter-spacing: -0.045em; }
.display { font-family: var(--font-sans); font-size: 64px; line-height: 64px; font-weight: 600; letter-spacing: -0.04em; }
.h1 { font-family: var(--font-sans); font-size: 44px; line-height: 48px; font-weight: 600; letter-spacing: -0.03em; }
.h2 { font-family: var(--font-sans); font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -0.02em; }
.h3 { font-family: var(--font-sans); font-size: 22px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
.body-lg { font-family: var(--font-sans); font-size: 19px; line-height: 30px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.01em; }
.eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.02em; }
.code { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; }
.numeric { font-family: var(--font-mono); font-size: 40px; line-height: 44px; font-weight: 500; letter-spacing: -0.03em; }
@font-face { font-family: 'Geist'; src: url('fonts/Geist-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('fonts/GeistMono-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
