/* Vega Bell - design tokens. Single source of truth: docs/DESIGN_SYSTEM.md */
:root {
  --bg-void: #0B0A1F;
  --bg-deep: #141235;
  --surface: #1E1B4B;
  --surface-2: #2A2560;
  --stroke: #3B3480;
  --primary: #7C3AED;
  --primary-lite: #A78BFA;
  --accent-cyan: #22D3EE;
  --accent-mag: #EC4899;
  --gold: #FBBF24;
  --success: #34D399;
  --danger: #FB7185;
  --text: #F8FAFC;
  --text-dim: #A5B4FC;

  --grad-hero: linear-gradient(135deg, #7C3AED 0%, #EC4899 50%, #22D3EE 100%);
  --grad-gold: linear-gradient(135deg, #FDE68A 0%, #FBBF24 45%, #D97706 100%);

  --font-display: 'Fredoka', ui-rounded, 'Segoe UI', system-ui, sans-serif;
  --font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Consolas, monospace;

  --r-sm: 8px; --r-md: 14px; --r-lg: 22px; --r-pill: 999px;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;

  --shadow-1: 0 2px 8px rgba(0,0,0,.35);
  --shadow-2: 0 8px 28px rgba(0,0,0,.45);
  --shadow-glow: 0 0 24px rgba(34,211,238,.35);

  --tap: 44px;
  --maxw: 1120px;
}
* { box-sizing: border-box; }
/* A component rule that sets `display` must never out-shout the `hidden`
   attribute. Screens toggle `hidden` on flex/grid blocks (the Turnstile
   field, the board filters), and without this they stay on screen as empty
   holes. */
[hidden] { display: none !important; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg-void);
  color: var(--text);
  font-family: var(--font-ui);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  min-height: 100dvh;
}
h1,h2,h3,h4 { font-family: var(--font-display); font-weight: 600; margin: 0 0 var(--sp-3); line-height: 1.15; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: var(--accent-cyan); }
img, svg { max-width: 100%; }
