/**
 * GENERATED by @uioli/tokens. Do not edit.
 *
 * Light is the default and lives on :root. Dark is opt-in and applies only on
 * an explicit [data-theme="dark"] — there is deliberately no
 * prefers-color-scheme switch. Every component reads roles, never literals, so
 * adding one later is a two-line change.
 */

:root {
  /* surfaces */
  --surface-canvas: #EBEFF8;
  --surface-card: #FFFFFF;
  --surface-raised: #F5F7FC;

  /* text */
  --text-primary: #41506C;
  --text-secondary: #4A5B7A;
  --text-muted: #5B647D;
  --text-disabled: #84849A;

  /* interactive */
  --interactive: #2E5FC9;
  --interactive-hover: #2759C5;
  --interactive-fg: #FFFFFF;
  --interactive-subtle: rgba(46,95,201,0.10);

  /* borders and elevation */
  --border-subtle: #EAEDF6;
  --border-default: #D1D6E1;
  --shadow-float: 0 3px 16px rgba(46,95,201,0.14);

  /* eligibility tiers */
  --tier-eligible: #2E5FC9;
  --tier-conditional: #806012;
  --tier-requires-lmn: #BC3200;
  --tier-not-eligible: #5B647D;

  /* deadline escalation — two steps */
  --deadline-urgent: #C51C1C;
  --deadline-soon: #9F4E08;

  /* account kinds — categorical, not semantic */
  --account-hsa: #0E7169;
  --account-fsa: #6D28D9;
  --account-hra: #A81C6E;

  /* brand canvas */
  --brand-canvas: radial-gradient(174.49% 89.54% at 55.68% 80.96%, #62379A 0%, #471983 98%);

  /* shape */
  --radius-pill: 9999px;
  --radius-card: 16px;
  --radius-control: 8px;
  --radius-panel: 32px;

  /* spacing — 4px base */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-3xl: 32px;
  --space-4xl: 48px;
  --space-5xl: 64px;
  --space-6xl: 96px;
  --section-gap: 96px;

  /* type */
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --type-display-xl-size: 64px;
  --type-display-xl-line: 1.04;
  --type-display-xl-weight: 500;
  --type-display-xl-tracking: -0.03em;
  --type-display-size: 48px;
  --type-display-line: 1.08;
  --type-display-weight: 500;
  --type-display-tracking: -0.025em;
  --type-heading-size: 32px;
  --type-heading-line: 40px;
  --type-heading-weight: 500;
  --type-heading-tracking: -0.02em;
  --type-heading-sm-size: 24px;
  --type-heading-sm-line: 30px;
  --type-heading-sm-weight: 500;
  --type-heading-sm-tracking: -0.015em;
  --type-subheading-size: 20px;
  --type-subheading-line: 28px;
  --type-subheading-weight: 500;
  --type-body-lg-size: 18px;
  --type-body-lg-line: 27px;
  --type-body-lg-weight: 400;
  --type-body-size: 16px;
  --type-body-line: 24px;
  --type-body-weight: 400;
  --type-caption-size: 13px;
  --type-caption-line: 18px;
  --type-caption-weight: 400;
  --type-label-size: 12px;
  --type-label-line: 1.2;
  --type-label-weight: 600;
  --type-label-tracking: 0.14em;
  --type-balance-size: 32px;
  --type-balance-line: 40px;
  --type-balance-weight: 700;
  --type-balance-hero-size: 44px;
  --type-balance-hero-line: 52px;
  --type-balance-hero-weight: 700;
  --type-balance-hero-tracking: -0.02em;

  /* focus — every interactive element, both themes */
  --focus-width: 2px;
  --focus-offset: 2px;
  --focus-ring: 2px solid var(--interactive);
}

[data-theme="dark"] {
  /* surfaces */
  --surface-canvas: #050201;
  --surface-card: #0E0F12;
  --surface-raised: #191C21;

  /* text */
  --text-primary: #FFFFFF;
  --text-secondary: #D4D4D8;
  --text-muted: #A1A1AA;
  --text-disabled: #6B6B70;

  /* interactive */
  --interactive: #6495ED;
  --interactive-hover: #8FB2F5;
  --interactive-fg: #050201;
  --interactive-subtle: rgba(100,149,237,0.13);

  /* borders and elevation */
  --border-subtle: rgba(255,255,255,0.06);
  --border-default: #27272A;
  --shadow-float: none;

  /* eligibility tiers */
  --tier-eligible: #6495ED;
  --tier-conditional: #D4A63A;
  --tier-requires-lmn: #FF7F50;
  --tier-not-eligible: #A1A1AA;

  /* deadline escalation — two steps */
  --deadline-urgent: #F04747;
  --deadline-soon: #DD6B20;

  /* account kinds — categorical, not semantic */
  --account-hsa: #2DD4BF;
  --account-fsa: #A78BFA;
  --account-hra: #F472B6;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}
