/* Gamefut Keys — generated from tokens.json */
:root, [data-theme="dark"] {
  --bg: #0c0d10;
  --surface: #14161a;
  --surface-2: #1b1e23;
  --surface-3: #23272e;
  --line: #2a2e35;
  --line-strong: #6b7380;
  --ink: #eef0f3;
  --ink-2: #a3abb6;
  --ink-3: #848c97;
  --primary: #eef0f3;
  --primary-hover: #d6dae0;
  --on-primary: #0c0d10;
  --accent: #7aa7ff;
  --accent-soft: #17233a;
  --focus: var(--accent);
  --success: #4cc38a;
  --success-soft: #12291f;
  --warning: #e6b450;
  --warning-soft: #2b2312;
  --danger: #ff7b72;
  --danger-soft: #321615;
  --region: #e5484d;
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04) inset, 0 12px 32px rgba(0,0,0,0.35);
  color-scheme: dark;
}
[data-theme="light"] {
  --bg: #f4f5f7;
  --surface: #ffffff;
  --surface-2: #f0f2f5;
  --surface-3: #e7eaee;
  --line: #dde1e6;
  --line-strong: #8a929d;
  --ink: #121417;
  --ink-2: #545c66;
  --ink-3: #646b77;
  --primary: #121417;
  --primary-hover: #2a2e35;
  --on-primary: #ffffff;
  --accent: #2459d6;
  --accent-soft: #e8effd;
  --focus: var(--accent);
  --success: #157a4a;
  --success-soft: #e6f4ec;
  --warning: #8a5a00;
  --warning-soft: #fbf1dc;
  --danger: #c4302b;
  --danger-soft: #fce9e8;
  --region: #d93036;
  --shadow-card: 0 1px 2px rgba(16,18,23,0.06), 0 12px 32px rgba(16,18,23,0.06);
  color-scheme: light;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --control-h: 52px;
  --control-h-sm: 40px;
  --panel-w: 520px;
  --page-w: 1040px;
  --font-sans: Onest, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.text-display { font-family: var(--font-sans); font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -0.01em; }
.text-title { font-family: var(--font-sans); font-size: 24px; line-height: 30px; font-weight: 600; letter-spacing: -0.01em; }
.text-heading { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 600; }
.text-body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.text-small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.text-label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.text-button { font-family: var(--font-sans); font-size: 16px; line-height: 20px; font-weight: 600; }
.text-code { font-family: var(--font-mono); font-size: 17px; line-height: 24px; font-weight: 500; letter-spacing: 0.02em; }
