/* BSHOT — generated from tokens.json */
:root, [data-theme="light"] {
  --surface: #F4F6F9;
  --surface-raised: #FFFFFF;
  --surface-sunken: #E9EDF3;
  --line: #D5DBE5;
  --line-strong: #7A869E;
  --ink: #0E1830;
  --ink-muted: #4D5873;
  --noche: #0E1830;
  --on-noche: #F4F6F9;
  --amanecer: #F26A0F;
  --on-amanecer: #0E1830;
  --amanecer-ink: #B4440A;
  --amanecer-soft: #FDE8D7;
  --verde: #0B7A55;
  --verde-soft: #D8F2E7;
  --amarillo: #F2B705;
  --amarillo-ink: #8A5A00;
  --amarillo-soft: #FDF1C7;
  --rojo: #C42B2B;
  --rojo-soft: #FBE0DD;
  --cielo: #2459C9;
  --cielo-soft: #DFE8FB;
  --focus: var(--cielo);
  --link: var(--amanecer-ink);
  --shadow-card: 0 1px 2px rgba(14,24,48,0.06), 0 8px 24px rgba(14,24,48,0.08);
}
[data-theme="dark"] {
  --surface: #0A1224;
  --surface-raised: #121C33;
  --surface-sunken: #070D1A;
  --line: #26324D;
  --line-strong: #5E6B87;
  --ink: #EDF1F7;
  --ink-muted: #A2ADC4;
  --noche: #24365F;
  --on-noche: #EDF1F7;
  --amanecer: #F7801F;
  --on-amanecer: #0A1224;
  --amanecer-ink: #FF9A4D;
  --amanecer-soft: #3A1E0C;
  --verde: #3CCB92;
  --verde-soft: #0D3326;
  --amarillo: #F2B705;
  --amarillo-ink: #F5C842;
  --amarillo-soft: #3A2E07;
  --rojo: #FF7A70;
  --rojo-soft: #3D1615;
  --cielo: #7FA6FF;
  --cielo-soft: #152548;
  --focus: var(--cielo);
  --link: var(--amanecer-ink);
  --shadow-card: 0 1px 2px rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.35);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-20: 80px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-text: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-data: "Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 72px; line-height: 72px; font-weight: 800; letter-spacing: -0.025em; }
.display-l { font-family: var(--font-display); font-size: 48px; line-height: 52px; font-weight: 800; letter-spacing: -0.02em; }
.heading { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }
.title { font-family: var(--font-display); font-size: 21px; line-height: 28px; font-weight: 700; }
.body-l { font-family: var(--font-text); font-size: 19px; line-height: 30px; font-weight: 400; }
.body { font-family: var(--font-text); font-size: 16px; line-height: 26px; font-weight: 400; }
.label { font-family: var(--font-text); font-size: 15px; line-height: 20px; font-weight: 600; letter-spacing: 0.005em; }
.caption { font-family: var(--font-text); font-size: 13px; line-height: 18px; font-weight: 400; }
.eyebrow { font-family: var(--font-text); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.09em; }
.metric { font-family: var(--font-data); font-size: 40px; line-height: 44px; font-weight: 600; letter-spacing: -0.02em; }
.data { font-family: var(--font-data); font-size: 14px; line-height: 20px; font-weight: 500; }
