/* Quovarne — generated from tokens.json */
@font-face{font-family:"Sora";src:url("fonts/sora-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Sora";src:url("fonts/sora-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");font-weight:600;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 {
  --ink-900: #0B1424;
  --ink-800: #14213D;
  --ink-700: #223457;
  --ink-600: #34476B;
  --ink-500: #53638A;
  --ink-400: #6F7EA4;
  --ink-300: #9AA6C2;
  --ink-200: #C5CCDB;
  --ink-100: #E6EAF1;
  --ink-50: #F3F5F9;
  --bg: #FFFFFF;
  --surface: #F3F5F9;
  --surface-raised: #FFFFFF;
  --border: #D5DBE7;
  --border-strong: #6F7EA4;
  --text: #14213D;
  --text-muted: #53638A;
  --brand: #14213D;
  --on-brand: #FFFFFF;
  --signal: #FFB020;
  --on-signal: #0B1424;
  --signal-text: #9A5B00;
  --signal-soft: #FFF1D6;
  --focus-ring: #14213D;
  --positive: #13734C;
  --critical: #B42E2E;
  --info: #2457B8;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-icon: 22%;
  --shadow-menu: 0 4px 16px rgba(20,33,61,0.14);
  --font-display: "Sora", system-ui, sans-serif;
  --font-sans: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0B1424;
    --surface: #111D33;
    --surface-raised: #182640;
    --border: #25355A;
    --border-strong: #6F7EA4;
    --text: #E6EAF1;
    --text-muted: #9AA6C2;
    --brand: #34476B;
    --on-brand: #FFFFFF;
    --signal: #FFB020;
    --on-signal: #0B1424;
    --signal-text: #FFB020;
    --signal-soft: #3A2A0A;
    --focus-ring: #FFB020;
    --positive: #4FD1A0;
    --critical: #FF7A7A;
    --info: #7FB0FF;
    --shadow-menu: 0 4px 16px rgba(0,0,0,0.5);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0B1424;
  --surface: #111D33;
  --surface-raised: #182640;
  --border: #25355A;
  --border-strong: #6F7EA4;
  --text: #E6EAF1;
  --text-muted: #9AA6C2;
  --brand: #34476B;
  --on-brand: #FFFFFF;
  --signal: #FFB020;
  --on-signal: #0B1424;
  --signal-text: #FFB020;
  --signal-soft: #3A2A0A;
  --focus-ring: #FFB020;
  --positive: #4FD1A0;
  --critical: #FF7A7A;
  --info: #7FB0FF;
  --shadow-menu: 0 4px 16px rgba(0,0,0,0.5);
  color-scheme: dark;
}
.display-xl { font-family: var(--font-display); font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -0.02em; }
.display-lg { font-family: var(--font-display); font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -0.015em; }
.h1 { font-family: var(--font-display); font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -0.01em; }
.h2 { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; }
.h3 { font-family: var(--font-display); font-size: 20px; line-height: 26px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 600; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em; }
.data-lg { font-family: var(--font-mono); font-size: 20px; line-height: 28px; font-weight: 500; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 400; }
.data-sm { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 400; }
