/* ============================================================
   tokens.css — 双主题设计令牌
   默认跟随系统 prefers-color-scheme；[data-theme] 手动覆盖。
   ============================================================ */

:root {
  /* ---- 色板（Light，默认） ---- */
  --bg: #f5f7fa;
  --bg-soft: #ffffff;
  --bg-hover: #eef2f7;
  --bg-active: #e6ecf5;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;
  --text: #1e293b;
  --text-secondary: #64748b;
  --text-muted: #94a3b8;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-weak: #eff6ff;
  --primary-weak-2: #dbeafe;
  --success: #059669;
  --success-weak: #ecfdf5;
  --warning: #d97706;
  --warning-weak: #fffbeb;
  --danger: #dc2626;
  --danger-weak: #fef2f2;
  --info: #0891b2;
  --info-weak: #ecfeff;
  --sidebar-bg: #0f172a;
  --sidebar-text: #94a3b8;
  --sidebar-text-active: #ffffff;
  --sidebar-active-bg: rgba(37, 99, 235, 0.25);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.14);
  --shadow-lift: 0 10px 28px rgba(15, 23, 42, 0.12);
  --primary-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 55%, #1d4ed8 100%);
  --ring: 0 0 0 3px var(--primary-weak);
  --skeleton: linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-active) 50%, var(--bg-hover) 75%);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-md: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 20px;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --topbar-h: 56px;
  --sidebar-w: 232px;
  --transition: 160ms ease;
}

/* ---- Dark 主题覆盖 ---- */
[data-theme="dark"] {
  --bg: #0f172a;
  --bg-soft: #1e293b;
  --bg-hover: #273449;
  --bg-active: #2d3b52;
  --border: #334155;
  --border-strong: #475569;
  --text: #e2e8f0;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --primary: #60a5fa;
  --primary-hover: #93c5fd;
  --primary-weak: #1e3a5f;
  --primary-weak-2: #274b7a;
  --success: #34d399;
  --success-weak: #063f33;
  --warning: #fbbf24;
  --warning-weak: #442f06;
  --danger: #f87171;
  --danger-weak: #4c1d1d;
  --info: #22d3ee;
  --info-weak: #083344;
  --sidebar-bg: #0b1220;
  --sidebar-text: #64748b;
  --sidebar-text-active: #f1f5f9;
  --sidebar-active-bg: rgba(96, 165, 250, 0.18);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.55);
  --shadow-lift: 0 12px 32px rgba(0, 0, 0, 0.55);
  --primary-gradient: linear-gradient(135deg, #60a5fa 0%, #3b82f6 60%, #2563eb 100%);
  --ring: 0 0 0 3px var(--primary-weak);
}
