/* zever design tokens — generated from tokens.json. Do not edit by hand. */


:root,
[data-theme="light"] {
  --surface-canvas: #f6f6f8;
  --surface: #ffffff;
  --surface-sunken: #f0f0f4;
  --surface-raised: #ffffff;
  --surface-hover: #f2f2f6;
  --surface-selected: #f3f1fd;
  --surface-disabled: #f1f1f4;
  --surface-inverse: #16161a;
  --surface-scrim: rgba(22, 22, 26, 0.6);
  --text-primary: #16161a;
  --text-secondary: #3d3d46;
  --text-muted: #6b6b78;
  --text-inverse: #ffffff;
  --text-on-brand: #ffffff;
  --text-disabled: #a1a1ae;
  --text-link: #5438c9;
  --brand-600: #5b45d9;
  --brand-700: #4a35b8;
  --brand-500: #7a63e8;
  --brand-100: #e8e4fb;
  --brand-50: #f5f3fe;
  --logo-primary: #4a35b8;
  --logo-secondary: #7a63e8;
  --border-subtle: #ebebef;
  --border-default: #d6d6de;
  --border-control: #8a8a98;
  --border-strong: #3d3d46;
  --border-focus: #5b45d9;
  --border-inverse: #3d3d46;
  --success-fg: #027a48;
  --success-solid: #12b76a;
  --success-bg: #ecfdf3;
  --success-border: #a6f4c5;
  --warn-fg: #b54708;
  --warn-solid: #f79009;
  --warn-bg: #fffaeb;
  --warn-border: #fedf89;
  --danger-fg: #b42318;
  --danger-solid: #d92d20;
  --danger-bg: #fef3f2;
  --danger-border: #fecdca;
  --info-fg: #0e7490;
  --info-solid: #0891b2;
  --info-bg: #edfafd;
  --info-border: #a5e8f5;
  --neutral-fg: #3d3d46;
  --neutral-solid: #6b6b78;
  --neutral-bg: #f1f1f4;
  --neutral-border: #d6d6de;
  --confidence-track: #ebebef;
  --shadow-xs: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(16, 24, 40, 0.09), 0 1px 2px -1px rgba(16, 24, 40, 0.06);
  --shadow-md: 0 4px 8px -2px rgba(16, 24, 40, 0.09), 0 2px 4px -2px rgba(16, 24, 40, 0.05);
  --shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, 0.09), 0 4px 6px -2px rgba(16, 24, 40, 0.04);
  --shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.22);
}

[data-theme="dark"] {
  --surface-canvas: #0c0c10;
  --surface: #131319;
  --surface-sunken: #08080b;
  --surface-raised: #1a1a22;
  --surface-hover: #1f1f28;
  --surface-selected: #221c42;
  --surface-disabled: #1a1a20;
  --surface-inverse: #f6f6f8;
  --surface-scrim: rgba(5, 5, 8, 0.72);
  --text-primary: #f2f2f5;
  --text-secondary: #d3d3db;
  --text-muted: #9a9aa8;
  --text-inverse: #0d0d11;
  --text-on-brand: #ffffff;
  --text-disabled: #61616e;
  --text-link: #a594ff;
  --brand-600: #5f4add;
  --brand-700: #7058e4;
  --brand-500: #8f7cf0;
  --brand-100: #2a2350;
  --brand-50: #1c1836;
  --logo-primary: #8f7cf0;
  --logo-secondary: #c9bdff;
  --border-subtle: #24242c;
  --border-default: #31313c;
  --border-control: #7d7d8c;
  --border-strong: #55555f;
  --border-focus: #a594ff;
  --border-inverse: #d6d6de;
  --success-fg: #75e0a7;
  --success-solid: #32d583;
  --success-bg: #06251a;
  --success-border: #085d3a;
  --warn-fg: #fec84b;
  --warn-solid: #fdb022;
  --warn-bg: #2a1c06;
  --warn-border: #93370d;
  --danger-fg: #fda29b;
  --danger-solid: #f97066;
  --danger-bg: #2c0f0d;
  --danger-border: #912018;
  --info-fg: #67e8f9;
  --info-solid: #22d3ee;
  --info-bg: #062b33;
  --info-border: #0e5a6b;
  --neutral-fg: #c5c5d0;
  --neutral-solid: #9a9aa8;
  --neutral-bg: #1f1f28;
  --neutral-border: #31313c;
  --confidence-track: #24242c;
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.6);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.7);
  --shadow-md: 0 4px 8px -2px rgba(0, 0, 0, 0.7);
  --shadow-lg: 0 12px 16px -4px rgba(0, 0, 0, 0.8);
  --shadow-focus: 0 0 0 3px rgba(132, 173, 255, 0.28);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface-canvas: #0c0c10;
    --surface: #131319;
    --surface-sunken: #08080b;
    --surface-raised: #1a1a22;
    --surface-hover: #1f1f28;
    --surface-selected: #221c42;
    --surface-disabled: #1a1a20;
    --surface-inverse: #f6f6f8;
    --surface-scrim: rgba(5, 5, 8, 0.72);
    --text-primary: #f2f2f5;
    --text-secondary: #d3d3db;
    --text-muted: #9a9aa8;
    --text-inverse: #0d0d11;
    --text-on-brand: #ffffff;
    --text-disabled: #61616e;
    --text-link: #a594ff;
    --brand-600: #5f4add;
    --brand-700: #7058e4;
    --brand-500: #8f7cf0;
    --brand-100: #2a2350;
    --brand-50: #1c1836;
    --logo-primary: #8f7cf0;
    --logo-secondary: #c9bdff;
    --border-subtle: #24242c;
    --border-default: #31313c;
    --border-control: #7d7d8c;
    --border-strong: #55555f;
    --border-focus: #a594ff;
    --border-inverse: #d6d6de;
    --success-fg: #75e0a7;
    --success-solid: #32d583;
    --success-bg: #06251a;
    --success-border: #085d3a;
    --warn-fg: #fec84b;
    --warn-solid: #fdb022;
    --warn-bg: #2a1c06;
    --warn-border: #93370d;
    --danger-fg: #fda29b;
    --danger-solid: #f97066;
    --danger-bg: #2c0f0d;
    --danger-border: #912018;
    --info-fg: #67e8f9;
    --info-solid: #22d3ee;
    --info-bg: #062b33;
    --info-border: #0e5a6b;
    --neutral-fg: #c5c5d0;
    --neutral-solid: #9a9aa8;
    --neutral-bg: #1f1f28;
    --neutral-border: #31313c;
    --confidence-track: #24242c;
    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.6);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.7);
    --shadow-md: 0 4px 8px -2px rgba(0, 0, 0, 0.7);
    --shadow-lg: 0 12px 16px -4px rgba(0, 0, 0, 0.8);
    --shadow-focus: 0 0 0 3px rgba(132, 173, 255, 0.28);
  }
}

:root {
  --space-0\.5: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --stroke-hairline: 1px;
  --stroke-emphasis: 2px;
  --stroke-focus: 2px;
  --z-base: 0;
  --z-sticky: 100;
  --z-drawer: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
  --duration-instant: 80ms;
  --duration-fast: 120ms;
  --duration-base: 160ms;
  --duration-slow: 240ms;
  --duration-resolve: 600ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-entrance: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --opacity-disabled: 0.5;
  --opacity-skeleton: 0.6;
  --opacity-scrim: 0.6;
  --font-sans: Lexend, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Sometype Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --text-display: 600 48px/52px var(--font-sans);
  --text-h1: 600 30px/38px var(--font-sans);
  --text-h2: 600 24px/32px var(--font-sans);
  --text-h3: 600 18px/26px var(--font-sans);
  --text-title: 600 16px/24px var(--font-sans);
  --text-body: 400 15px/22px var(--font-sans);
  --text-body-strong: 500 15px/22px var(--font-sans);
  --text-body-sm: 400 13px/20px var(--font-sans);
  --text-caption: 400 12px/18px var(--font-sans);
  --text-label: 500 12px/16px var(--font-sans);
  --text-label-form: 500 13px/18px var(--font-sans);
  --text-button: 500 14px/20px var(--font-sans);
  --text-mono: 400 13px/20px var(--font-mono);
  --text-mono-strong: 500 13px/20px var(--font-mono);
  --text-mono-sm: 400 12px/18px var(--font-mono);
  --text-amount: 500 14px/20px var(--font-mono);
  --text-confidence: 500 13px/16px var(--font-mono);
}

.display {
  font-family: var(--font-sans);
  font-size: 48px;
  line-height: 52px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.h1 {
  font-family: var(--font-sans);
  font-size: 30px;
  line-height: 38px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.h2 {
  font-family: var(--font-sans);
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
  letter-spacing: -0.015em;
}

.h3 {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.title {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.body {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: 0;
}

.body-strong {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22px;
  font-weight: 500;
  letter-spacing: 0;
}

.body-sm {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0;
}

.caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0;
}

.label {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.label-form {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  letter-spacing: 0;
}

.button {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.mono {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0;
}

.mono-strong {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.mono-sm {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0;
}

.amount {
  font-family: var(--font-mono);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.confidence {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0;
}


/* Focus ring for every live control (pass 11, C-3). Keyboard focus is always louder than hover. */
:where(a[href], button, input, select, textarea, summary, [tabindex], [role="button"], [role="tab"], [role="radio"], [role="switch"], [role="option"]):focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
