/* Mirror design tokens — shared visual language for the landing page.
   Scoped under body[data-mirror] so this file can be loaded on a page without
   affecting the unrelated report/leaderboard/tape inline CSS in app.py. */
body[data-mirror] {
  /* background layers — near-black, not flat */
  --bg-0: #05070d;
  --bg-1: #0a0e18;
  --bg-2: #0d1220;

  /* surface layers (cards, panels) */
  --surf-1: #10141f;
  --surf-2: #141a29;
  --surf-3: #1a2032;

  /* borders */
  --border-1: #1c2333;
  --border-2: #262f45;
  --border-hover: #3a3f6b;

  /* text hierarchy */
  --text-primary: #f1f4f9;
  --text-secondary: #a6afc4;
  --text-tertiary: #6b7389;
  --text-quiet: #454c62;

  /* accents */
  --accent-purple: #8b7bff;
  --accent-purple-dim: #6a5acd;
  --accent-blue: #4fa8ff;
  --accent-glow: rgba(139, 123, 255, 0.16);

  /* state colors (P&L polarity only — matches report page convention) */
  --positive: #34d399;
  --negative: #fb7185;
  --neutral: #fbbf24;

  /* shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 8px 24px rgba(0,0,0,.35);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.5);
  --shadow-glow: 0 0 0 1px rgba(139,123,255,.12), 0 20px 60px rgba(80,60,200,.18);

  /* radii */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-pill: 999px;

  /* spacing scale */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;

  /* motion */
  --t-fast: 120ms;
  --t-med: 220ms;
  --t-slow: 420ms;
  --ease-out: cubic-bezier(.16,.8,.3,1);

  /* type */
  --font-sans: -apple-system, 'Inter', 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'SF Mono', 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, Menlo, monospace;
}

@media (prefers-reduced-motion: reduce) {
  body[data-mirror] { --t-fast: 0ms; --t-med: 0ms; --t-slow: 0ms; }
}
