/* Karchi Online design tokens */
:root, [data-theme="light"] {
  --karchi-blue: #0039BF;
  --karchi-navy: #012674;
  --karchi-orange: #F98600;
  --on-blue: #FFFFFF;
  --on-orange: #0A1433;
  --surface: #FFFFFF;
  --surface-warm: #FFF5E8;
  --ink: #0A1433;
  --ink-muted: #4A5578;
  --brand-text: #0039BF;
  --accent-text: #A35300;
  --border: #D9DFEF;
}
[data-theme="dark"] {
  --karchi-blue: #0039BF;
  --karchi-navy: #012674;
  --karchi-orange: #F98600;
  --on-blue: #FFFFFF;
  --on-orange: #0A1433;
  --surface: #060D24;
  --surface-warm: #0E1A3D;
  --ink: #F3F5FB;
  --ink-muted: #A3AECB;
  --brand-text: #8FAEFF;
  --accent-text: #FF9A2E;
  --border: #22305A;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --karchi-blue: #0039BF;
    --karchi-navy: #012674;
    --karchi-orange: #F98600;
    --on-blue: #FFFFFF;
    --on-orange: #0A1433;
    --surface: #060D24;
    --surface-warm: #0E1A3D;
    --ink: #F3F5FB;
    --ink-muted: #A3AECB;
    --brand-text: #8FAEFF;
    --accent-text: #FF9A2E;
    --border: #22305A;
  }
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --font-display: "Outfit", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-body: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 60px; font-weight: 800; letter-spacing: -1.5px; }
.display-l { font-family: var(--font-display); font-size: 44px; line-height: 46px; font-weight: 800; letter-spacing: -1px; }
.heading { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.4px; }
.title { font-family: var(--font-display); font-size: 20px; line-height: 26px; font-weight: 700; }
.price { font-family: var(--font-display); font-size: 32px; line-height: 36px; font-weight: 800; }
.body-l { font-family: var(--font-body); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 24px; font-weight: 400; }
.small { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 500; }
.label { font-family: var(--font-body); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 1.2px; }
.button { font-family: var(--font-body); font-size: 16px; line-height: 20px; font-weight: 700; }
.ticket-code { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: 0.5px; }
