/* Papa Finance Academy — generated from tokens.json */

:root, [data-theme="dark"] {
  --bg: #09090b;
  --surface: #121216;
  --surface-raised: #1b1b21;
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.40);
  --ink: #ffffff;
  --ink-muted: rgba(255, 255, 255, 0.72);
  --ink-subtle: rgba(255, 255, 255, 0.56);
  --brand: #0781fe;
  --brand-soft: rgba(7, 129, 254, 0.16);
  --gold: #e8b04a;
  --gold-soft: rgba(232, 176, 74, 0.14);
  --action: #0068d6;
  --action-hover: #0058b8;
  --on-action: #ffffff;
  --link: #4da3ff;
  --success: #00c951;
  --success-soft: rgba(0, 201, 81, 0.15);
  --warning: #ff8a4c;
  --warning-soft: rgba(255, 138, 76, 0.15);
  --danger: #ff6b61;
  --danger-soft: rgba(255, 107, 97, 0.15);
  --focus: #4da3ff;
  --shadow-card: none;
}

[data-theme="light"] {
  --bg: #ffffff;
  --surface: #f4f4f5;
  --surface-raised: #ffffff;
  --border: rgba(9, 9, 11, 0.08);
  --border-strong: rgba(9, 9, 11, 0.48);
  --ink: #09090b;
  --ink-muted: #52525b;
  --ink-subtle: #71717a;
  --brand: #0781fe;
  --brand-soft: #e6f1ff;
  --gold: #8a5a00;
  --gold-soft: #fbf1dc;
  --action: #0068d6;
  --action-hover: #0058b8;
  --on-action: #ffffff;
  --link: #0068d6;
  --success: #00873a;
  --success-soft: #e3f7ea;
  --warning: #b54708;
  --warning-soft: #fdead7;
  --danger: #c8261a;
  --danger-soft: #fde7e5;
  --focus: #0068d6;
  --shadow-card: 0 1px 2px rgba(9, 9, 11, 0.06), 0 4px 16px rgba(9, 9, 11, 0.06);
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-24: 96px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --font-display: "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;
  --font-sans: "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
}

.display-xl { font-family: var(--font-display); font-size: 60px; line-height: 72px; font-weight: 700; }

.display { font-family: var(--font-display); font-size: 40px; line-height: 52px; font-weight: 700; }

.h1 { font-family: var(--font-display); font-size: 32px; line-height: 44px; font-weight: 600; }

.h2 { font-family: var(--font-display); font-size: 24px; line-height: 34px; font-weight: 600; }

.h3 { font-family: var(--font-display); font-size: 18px; line-height: 28px; font-weight: 600; }

.price { font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 700; letter-spacing: -0.02em; }

.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 30px; font-weight: 400; }

.body { font-family: var(--font-sans); font-size: 16px; line-height: 28px; font-weight: 400; }

.body-strong { font-family: var(--font-sans); font-size: 16px; line-height: 28px; font-weight: 600; }

.small { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }

.caption { font-family: var(--font-sans); font-size: 12px; line-height: 18px; font-weight: 500; }

.mono { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 500; }
