:root {
  --bg-app: #f3f5f8;
  --bg-canvas: #ffffff;
  --bg-panel: #fbfcfe;
  --bg-panel-strong: #f1f4f9;

  --border-subtle: #dde3ec;
  --border-strong: #cbd5e1;

  --text-main: #0f172a;
  --text-muted: #64748b;
  --text-soft: #94a3b8;
  --text-inverse: #f8fafc;

  --brand: #2563eb;
  --brand-hover: #1d4ed8;
  --brand-soft: #e8f0ff;

  --state-live-bg: #eaf7ef;
  --state-live-text: #1f6b3d;
  --state-info-bg: #eaf1ff;
  --state-info-text: #244f99;
  --state-warn-bg: #fff4de;
  --state-warn-text: #8a6113;
  --state-error-bg: #fdebec;
  --state-error-text: #952b35;
  --state-neutral-bg: #eef2f7;
  --state-neutral-text: #334155;

  --user-bubble-bg: #f7f9fc;
  --assistant-bubble-bg: #ffffff;
  --system-bubble-bg: #f8f6f1;

  --scrollbar-thumb: #c8d0db;
  --text-emphasis: #334155;
  --divider-soft: #d7dee8;
  --quote-border: #aab7c7;
  --code-inline-bg: #edf1f6;
  --code-border: #c7d1df;
  --table-border: #d8e0ea;
  --table-header-bg: #f4f7fb;
  --section-divider: #d5dce7;
  --empty-bg: #f6f8fb;

  --code-block-bg: #14181f;
  --code-block-header-bg: #1f2530;
  --code-block-header-border: #303949;
  --code-block-text: #e9edf4;
  --code-block-muted: #c3ccda;
  --code-block-button-border: #5b677b;
  --code-block-button-bg-hover: #2b3341;

  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
}
