/* Product chrome only. Canvas paper colours remain owned by the board engine. */
:root {
  /* --accent-usage: #10B981 仅允许用于 logo、每个视图的 1 个关键主按钮和键盘焦点环；当前工具与选中态一律使用中性色。 */
  --n-0:#FFFFFF; --n-25:#FAFAFA; --n-50:#F5F5F4; --n-100:#EDEDEC;
  --n-200:#E2E2E0; --n-400:#A3A3A1; --n-600:#57575A; --n-900:#18181B;
  --accent-mint:#10B981; --accent-mint-deep:#065F46;
  --accent-violet:#7C5CFF; --accent-amber:#F59E0B; --danger:#E5484D;
  --surface:var(--n-0); --surface-soft:var(--n-25); --surface-hover:var(--n-50);
  --ink:var(--n-900); --muted:var(--n-600); --line:var(--n-200);
  --btn-primary-bg:var(--n-900); --btn-primary-fg:var(--n-0); --btn-primary-border:var(--n-900);
  --btn-secondary-bg:var(--n-0); --btn-secondary-fg:var(--n-900); --btn-secondary-border:var(--n-200);
  --btn-text-fg:var(--n-900);
  --state-active-bg:var(--n-100); --state-active-fg:var(--n-900); --state-active-border:var(--n-200);
  --selection-border:var(--n-900); --selection-handle-bg:var(--n-0); --selection-handle-border:var(--n-900);
  --snap-guide:#64748B; --focus-ring:var(--accent-mint);
  --handle-white:var(--n-0); --hero-bg:#101916; --hero-ink:var(--n-0);
  --font-ui:Inter,"PingFang SC","HarmonyOS Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --text-xs:12px; --text-sm:13px; --text-base:14px; --text-md:16px; --text-lg:20px; --text-xl:28px;
  --radius-sm:6px; --radius-md:8px; --radius-card:12px; --radius-tag:999px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px;
  --shadow-panel:0 8px 28px rgb(24 24 27 / .12); --shadow-modal:0 24px 72px rgb(24 24 27 / .22);
}
body:not(.theme-light) {
  --surface:#202023; --surface-soft:#18181B; --surface-hover:#2A2A2E;
  --ink:#F5F5F4; --muted:#A3A3A1; --line:#3A3A3E;
  --btn-primary-bg:var(--n-0); --btn-primary-fg:var(--n-900); --btn-primary-border:var(--n-0);
  --btn-secondary-bg:var(--surface); --btn-secondary-fg:var(--ink); --btn-secondary-border:var(--line);
  --btn-text-fg:var(--ink);
  --state-active-bg:#2A2A2E; --state-active-fg:var(--n-0); --state-active-border:var(--line);
  --selection-border:var(--n-0); --selection-handle-bg:var(--n-0); --selection-handle-border:var(--n-0);
  --snap-guide:#94A3B8;
  --shadow-panel:0 8px 28px rgb(0 0 0 / .28); --shadow-modal:0 24px 72px rgb(0 0 0 / .45);
}
body {
  --ws-bg:var(--surface); --ws-ink:var(--ink); --ws-muted:var(--muted);
  --ws-line:var(--line); --ws-soft:var(--surface-hover); --ws-accent:var(--state-active-fg);
  --formula-panel-bg:var(--surface); --formula-panel-ink:var(--ink); --formula-panel-line:var(--line);
  --formula-button-bg:var(--btn-secondary-bg); --formula-button-line:var(--btn-secondary-border); --formula-status-ink:var(--muted); --formula-note-ink:var(--muted);
  font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;letter-spacing:0;
}
