:root {
  color-scheme: dark;

  /* 层级：侧栏最暗，内容区次之，卡片最亮 */
  --bg: #0c0c0f;
  --bg-elev: #111114;
  --bg-elev2: #17171b;
  --bg-input: #141418;
  --bg-hover: rgba(255, 255, 255, 0.055);
  --bg-sunken: #0a0a0d;
  --sidebar-bg: #08080a;

  --border: rgba(255, 255, 255, 0.085);
  --border-strong: rgba(255, 255, 255, 0.16);
  --divider: rgba(255, 255, 255, 0.08);
  --accent-line: rgba(124, 92, 255, 0.42);
  --nav-active: rgba(124, 92, 255, 0.14);

  --text: #cfd2da;
  --text-strong: #f0f1f5;
  --text-dim: #9ba1ad;
  --text-mute: #7c8290;
  --text-weight: 400;
  --heading-weight: 560;
  --strong-weight: 560;
  --text-tracking: 0.004em;

  --accent: #7c5cff;
  --accent-2: #a78bfa;
  --accent-soft: rgba(124, 92, 255, 0.15);
  /* 选中文字：中国红。深色背景上纯红对比最足，配白字最清楚 */
  --select-bg: #d92b2b;
  --select-fg: #ffffff;
  --accent-grad-1: #6a4cf5;
  --accent-grad-2: #7557f8;

  --ok: #34d399;
  --warn: #fbbf24;
  --danger: #f87171;
  --info: #60a5fa;

  --radius-lg: 14px;
  --radius: 10px;
  --radius-sm: 7px;

  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-2: 0 6px 20px rgba(0, 0, 0, 0.3);
  --shadow-3: 0 16px 44px rgba(0, 0, 0, 0.44);
  --shadow: var(--shadow-2);
  --focus-ring: rgba(124, 92, 255, 0.16);
  --focus-glow: rgba(124, 92, 255, 0.24);
  --mask: rgba(6, 6, 12, 0.6);
  --fig-mask: rgba(5, 5, 9, 0.9);
  --fig-view-ink: #eef0f5;

  /* 工作流画布（canvas 用，JS 通过 getComputedStyle 读这几个）：
     画布底色、卡片底、卡片描边。深色浅色各一套，见下面的 [data-theme="light"]。 */
  --wf-canvas: #15161a;
  --wf-card: #202228;
  --wf-card-hot: #2c2d35;
  --wf-card-line: #34353c;
  --wf-card-line-hot: #4d4f5b;
  --wf-minimap: #191a20;
  --wf-grid: rgba(255, 255, 255, 0.1);
  /* 画布上那些悬浮面板（工具条、搜索、数据列表、详情、动作条）的底与描边 */
  --wf-panel: rgba(24, 25, 30, 0.92);
  --wf-panel-solid: rgba(21, 22, 26, 0.97);
  --wf-panel-hover: rgba(40, 42, 50, 0.95);
  --wf-panel-line: rgba(255, 255, 255, 0.1);
  --wf-panel-line-soft: rgba(255, 255, 255, 0.07);

  /* 电路配色：以前只定义在 .cir-lab 上，工作流里的电路卡片就用不到。
     提到 :root 以后，两侧画同一张电路用的是同一套颜色。 */
  --cir-canvas-bg: #15161a;
  --cir-part: #e6e9f2;
  --cir-part-hot: #c4b5fd;
  --cir-part-label: #9ba1ad;
  --cir-wire: #7dd3fc;
  --cir-wire-hot: #a78bfa;
  --cir-pin: #f59e0b;
  --cir-pin-hot: #fbbf24;
  --cir-warn: #f59e0b;
  --cir-live: #34d399;
  --cir-live-arrow: #6ee7b7;
  --cir-particle: #d1fae5;
  --cir-fault: #ef4444;
  --cir-fault-fill: rgba(239, 68, 68, 0.9);
  --cir-node: #38bdf8;
  --cir-node-bg: rgba(56, 189, 248, 0.16);
  --cir-select-fill: rgba(167, 139, 250, 0.12);

  /* 动效：全站只用一套时长和一条缓动曲线，避免各处快慢不一
     快 = 悬停/按下，中 = 展开收起，慢 = 整块内容进场 */
  --dur-fast: 120ms;
  --dur-base: 160ms;
  --dur-slow: 240ms;
  --ease: cubic-bezier(0.2, 0.65, 0.3, 1);
  --ease-out: var(--ease);
  --ease-snap: var(--ease);
  --ease-spring: cubic-bezier(0.3, 1.2, 0.5, 1);
  --dur-snap: var(--dur-base);
  --dur-spring: 220ms;
  --dur-text: var(--dur-slow);
  --stagger: 16ms;
  /* 页面进场的错峰间隔：0 / 40 / 80ms，最多错开三层 */
  --enter-step: 40ms;

  --sidebar: 244px;
  --topbar: 52px;
  /* 正文列宽：铺满可用宽度，不做居中留白（窗口再宽也不空出一大片） */
  --content-max: 100%;
  --chart-pending: rgba(167, 139, 250, 0.24);
  --font: "Inter", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  /* 古诗词：行楷。自带字体优先（手机也能拿到同一套字形），
     缺字/加载中回落到系统楷体，再退到宋体 */
  --font-poem: "CTB Xingkai", "STXingkai", "华文行楷", "Xingkai SC", "Kaiti SC", "STKaiti", "KaiTi", "楷体", "Songti SC", "SimSun", serif;
  /* 大段白话文（赏析）：宋体，和行楷原文形成书卷对比 */
  --font-serif: "Songti SC", "Source Han Serif SC", "Noto Serif SC", "SimSun", serif;
  --mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --fig-1: currentColor;
  --fig-2: #f59e0b;
  --fig-3: #34d399;
  --fig-4: #60a5fa;
  --fig-5: #f472b6;
}

/* 单色线条：所有图元都用当前文字色（浅色主题下就是黑色），旧图里的硬编码颜色也一并压掉 */
[data-fig="mono"] {
  --fig-1: currentColor;
  --fig-2: currentColor;
  --fig-3: currentColor;
  --fig-4: currentColor;
  --fig-5: currentColor;
}

[data-fig="mono"] .figure-svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
[data-fig="mono"] .figure-svg [fill]:not([fill="none"]) { fill: currentColor; }

[data-theme="light"] {
  color-scheme: light;

  --bg: #f6f7f9;
  --bg-elev: #ffffff;
  --bg-elev2: #f4f5f7;
  --bg-input: #ffffff;
  --bg-hover: rgba(17, 24, 39, 0.05);
  --bg-sunken: #f1f2f5;
  --sidebar-bg: #fbfbfc;
  --chart-pending: rgba(124, 92, 255, 0.2);
  --nav-active: rgba(124, 92, 255, 0.1);

  --border: rgba(17, 24, 39, 0.1);
  --border-strong: rgba(17, 24, 39, 0.19);
  --divider: rgba(17, 24, 39, 0.095);
  --accent-line: rgba(124, 92, 255, 0.38);

  --text: #2a2f3a;
  --text-strong: #10141c;
  --text-dim: #545c69;
  --text-mute: #666d7a;
  --text-weight: 400;
  --heading-weight: 600;
  --strong-weight: 600;
  --text-tracking: 0;

  --accent-2: #7c3aed;
  --accent-soft: rgba(124, 92, 255, 0.1);
  /* 浅色主题：同样是中国红，略压深一点，白字更稳 */
  --select-bg: #c81e1e;
  --select-fg: #ffffff;

  --ok: #047857;
  --warn: #92400e;
  --danger: #b91c1c;
  --info: #1d4ed8;

  --shadow-1: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-2: 0 6px 18px rgba(16, 24, 40, 0.07);
  --shadow-3: 0 16px 40px rgba(16, 24, 40, 0.11);
  --shadow: var(--shadow-2);
  --focus-ring: rgba(124, 92, 255, 0.12);
  --focus-glow: rgba(124, 92, 255, 0.18);
  --mask: rgba(17, 24, 39, 0.3);
  --fig-mask: rgba(12, 15, 22, 0.82);

  /* 工作流画布：浅色主题下是浅灰底 + 白卡片 + 淡描边，
     不再是「整个页面白的、工作流一块黑」 */
  --wf-canvas: #f7f8fa;
  --wf-card: #ffffff;
  --wf-card-hot: #f1f2f7;
  --wf-card-line: rgba(17, 24, 39, 0.14);
  --wf-card-line-hot: rgba(17, 24, 39, 0.3);
  --wf-minimap: #ffffff;
  --wf-grid: rgba(17, 24, 39, 0.16);
  --wf-panel: rgba(255, 255, 255, 0.95);
  --wf-panel-solid: rgba(255, 255, 255, 0.98);
  --wf-panel-hover: rgba(241, 242, 247, 0.98);
  --wf-panel-line: rgba(17, 24, 39, 0.12);
  --wf-panel-line-soft: rgba(17, 24, 39, 0.08);

  --cir-canvas-bg: #f7f8fa;
  --cir-part: #111827;
  --cir-part-hot: #7c3aed;
  --cir-part-label: #545c69;
  --cir-wire: #0369a1;
  --cir-wire-hot: #7c3aed;
  --cir-pin: #b45309;
  --cir-pin-hot: #92400e;
  --cir-warn: #b45309;
  --cir-live: #059669;
  --cir-live-arrow: #047857;
  --cir-particle: #065f46;
  --cir-fault: #dc2626;
  --cir-fault-fill: #dc2626;
  --cir-node: #0284c7;
  --cir-node-bg: rgba(2, 132, 199, 0.14);
  --cir-select-fill: rgba(124, 58, 237, 0.1);
}
