:root {
  --bg:#f7f8fa; --bg-elev:#ffffff; --bg-sunken:#eef0f4; --surface:#ffffff;
  --border:#e2e5ea; --text:#1b1d22; --text-dim:#5a606b; --text-faint:#9aa0ab;
  --accent:#3b6ef6; --accent-hover:#2f5be0; --accent-contrast:#ffffff;
  --bubble-sent:#4f46e5;
  --danger:#e5484d; --ok:#30a46c;
  --model-claude:#d9883c; --model-ollama:#30a46c; --model-ipc:#3b6ef6;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-full:999px;
  --fs-xs:12px; --fs-sm:13px; --fs-base:15px; --fs-lg:18px; --fs-xl:24px;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,"SF Mono",Menlo,monospace;
  --shadow-1:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.10);
  --shadow-2:0 4px 12px rgba(0,0,0,.12);
  --sidebar-w:220px; --rsb-w:300px; --topbar-h:56px; --z-overlay:1000; --z-dropdown:1100;
  /* Aliases for admin-style token names (do not mass-rename; keep both working) */
  --radius-sm:var(--r-sm); --radius-md:var(--r-md); --radius-lg:var(--r-lg);
  --transition-fast:.15s ease; --transition-base:.25s ease;
}
:root[data-theme="dark"], body.dark, html.dark, .dark {
  --bg:#0f1115; --bg-elev:#171a21; --bg-sunken:#0b0d11; --surface:#1b1f27;
  --border:#272c36; --text:#e8eaee; --text-dim:#a4abb8; --text-faint:#6b7280;
  --accent:#5b86ff; --accent-hover:#7197ff; --accent-contrast:#0f1115;
  --bubble-sent:#6366f1;
  --danger:#ff6166; --ok:#3dd68c;
  --model-claude:#e7a05a; --model-ollama:#3dd68c; --model-ipc:#5b86ff;
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 6px 18px rgba(0,0,0,.5);
}
