/* solvaition — generated from tokens.json */
@font-face { font-family: "Archivo"; src: url("../fonts/archivo-latin-wght.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo SemiCondensed"; src: url("../fonts/archivo-semicondensed-latin-wght.woff2") format("woff2"); font-weight: 500 800; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --surface: #f2f4f5;
  --surface-raised: #ffffff;
  --surface-sunken: #e6eaec;
  --line: #d3d9dc;
  --line-strong: #737d82;
  --ink: #12181a;
  --ink-muted: #4b5653;
  --ink-subtle: #5c6763;
  --chrome: #12181a;
  --chrome-raised: #1b2326;
  --chrome-line: #2a353a;
  --chrome-soft: #26300c;
  --on-chrome: #eef2ef;
  --on-chrome-muted: #aab5b1;
  --signal: #c8f03c;
  --signal-hover: #d9f76e;
  --signal-soft: #f3fbd9;
  --on-signal: #12181a;
  --signal-deep: #516b00;
  --action: #12181a;
  --action-hover: #2b3437;
  --on-action: #ffffff;
  --brand: #12181a;
  --brand-hover: #2b3437;
  --brand-soft: #eef9c8;
  --on-brand: #ffffff;
  --ai-bg: #12181a;
  --ai-fg: #c8f03c;
  --info: #4b5653;
  --info-soft: #e6eaec;
  --warning: #8a5300;
  --warning-soft: #fbedcf;
  --success: #26662a;
  --success-soft: #e0efdc;
  --danger: #b23a0c;
  --danger-soft: #fbe3d8;
  --on-danger: #ffffff;
  --link: var(--ink);
  --focus: var(--brand);
  --shadow-sm: 0 1px 2px #12181a14;
  --shadow-md: 0 2px 4px #12181a0f, 0 8px 20px -4px #12181a24;
  --shadow-lg: 0 4px 8px #12181a14, 0 20px 40px -8px #12181a33;
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #12181a;
}
[data-theme="dark"] {
  --surface: #0f1416;
  --surface-raised: #172024;
  --surface-sunken: #0a0e10;
  --line: #27333a;
  --line-strong: #66757b;
  --ink: #eef2ef;
  --ink-muted: #aab5b1;
  --ink-subtle: #8d9995;
  --chrome: #0a0e10;
  --chrome-raised: #151d21;
  --chrome-line: #222c30;
  --chrome-soft: #1e260b;
  --on-chrome: #eef2ef;
  --on-chrome-muted: #aab5b1;
  --signal: #c8f03c;
  --signal-hover: #d9f76e;
  --signal-soft: #1e260b;
  --on-signal: #12181a;
  --signal-deep: #c8f03c;
  --action: #c8f03c;
  --action-hover: #d9f76e;
  --on-action: #12181a;
  --brand: #c8f03c;
  --brand-hover: #d9f76e;
  --brand-soft: #26300c;
  --on-brand: #12181a;
  --ai-bg: #c8f03c;
  --ai-fg: #12181a;
  --info: #c4cdc9;
  --info-soft: #222c30;
  --warning: #f0b752;
  --warning-soft: #3a2a0c;
  --success: #7dd38a;
  --success-soft: #12301a;
  --danger: #ff8f63;
  --danger-soft: #3d1a0e;
  --on-danger: #12181a;
  --link: var(--ink);
  --focus: var(--brand);
  --shadow-sm: 0 1px 2px #00000099;
  --shadow-md: 0 8px 20px -4px #000000cc;
  --shadow-lg: 0 20px 40px -8px #000000e6;
  --focus-ring: 0 0 0 2px #0f1416, 0 0 0 4px #c8f03c;
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-full: 9999px;
  --dur-instant: 80ms;
  --dur-fast: 140ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;
  --dur-scan: 1400ms;
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-snap: cubic-bezier(0.3, 1.5, 0.6, 1);
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --sidebar-w: 248px;
  --content-max: 1200px;
  --font-display: "Archivo SemiCondensed", "Archivo", "Arial Narrow", sans-serif;
  --font-sans: "Archivo", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 64px; font-weight: 700; letter-spacing: -0.015em; }
.display { font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 700; letter-spacing: -0.01em; }
.h1 { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 650; }
.h2 { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 650; }
.h3 { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 17px; line-height: 26px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 600; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.06em; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.mono { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 400; }
.mono-strong { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 500; }
