/* reascan — design tokens. Single source of truth for color, type, space, radii. */

:root {
  /* ---- color: dark theme (no pure black, no pure white text) ---- */
  --bg-base: #0b0d12;
  --bg-surface: #11141b;
  --bg-elevated: #171b24;
  --bg-input: #0d1017;

  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.14);

  --text-primary: #e8eaf0;
  --text-secondary: #9aa3b2;
  --text-muted: #6b7385;

  --accent: #6366f1;
  --accent-2: #8b5cf6;
  --accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --accent-soft: rgba(99, 102, 241, 0.12);
  --accent-glow: rgba(99, 102, 241, 0.35);

  --ok: #34d399;
  --ok-soft: rgba(52, 211, 153, 0.1);
  --warn: #f5a623;
  --warn-soft: rgba(245, 166, 35, 0.1);
  --danger: #f87171;
  --danger-soft: rgba(248, 113, 113, 0.1);

  /* ---- typography ---- */
  --font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* 1.25 type scale */
  --text-xs: 0.8125rem;   /* 13px */
  --text-sm: 0.875rem;    /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg: 1.125rem;    /* 18px */
  --text-xl: 1.25rem;     /* 20px */
  --text-2xl: 1.5625rem;  /* 25px */
  --text-3xl: 1.9375rem;  /* 31px */
  --text-4xl: 2.4375rem;  /* 39px */
  --text-5xl: 3.0625rem;  /* 49px */

  /* ---- spacing: 8px grid ---- */
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-8: 64px;
  --space-12: 96px;
  --space-16: 128px;

  /* ---- layout ---- */
  --max-width: 1200px;
  --content-width: 880px;

  /* ---- radii ---- */
  --radius-card: 12px;
  --radius-control: 8px;
  --radius-pill: 999px;

  /* ---- motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;

  /* ---- focus ---- */
  --focus-ring: 0 0 0 3px rgba(99, 102, 241, 0.45);
}
