/* ===== Design Tokens =====
 * Dark-first palette. Light theme overrides below.
 * Status colors stay constant across themes.
 */
:root,
:root[data-theme="dark"] {
  --bg-base: #0a0a0a;
  --bg-elevated: #141414;
  --bg-input: #1a1a1a;
  --bg-hover: #1f1f1f;
  --bg-active: #262626;

  --border: #262626;
  --border-strong: #404040;

  --text-primary: #f5f5f5;
  --text-secondary: #a3a3a3;
  --text-muted: #737373;

  --accent: #3b82f6;
  --accent-hover: #2563eb;
  --accent-soft: rgba(59, 130, 246, 0.12);

  --status-alive: #22c55e;
  --status-dead: #ef4444;
  --status-error: #f59e0b;
  --status-notfound: #a3a3a3;
  --status-pending: #525252;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
}

:root[data-theme="light"] {
  --bg-base: #ffffff;
  --bg-elevated: #fafafa;
  --bg-input: #f5f5f5;
  --bg-hover: #f0f0f0;
  --bg-active: #e5e5e5;

  --border: #e5e5e5;
  --border-strong: #d4d4d4;

  --text-primary: #0a0a0a;
  --text-secondary: #525252;
  --text-muted: #a3a3a3;

  --accent-soft: rgba(59, 130, 246, 0.08);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;

  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --text-xs: 11px;
  --text-sm: 13px;
  --text-md: 14px;
  --text-lg: 16px;

  --header-height: 44px;
  --transition: 120ms ease;
}
