/* ==================================================================
   mindmap5.3 · variables.css —— 设计令牌（阶段①②定稿方案的落地）
   Design Read：redesign-preserve 科技玻璃导图产品条，中文重度用户；
   DESIGN_VARIANCE 4 / MOTION_INTENSITY 3 / VISUAL_DENSITY 7。
   桌面玻璃对齐 #left-toolbar；手机多选栏用实心底，不用桌面胶囊。
   ================================================================== */
:root {
  --node-action-size: 24px;
  --node-action-touch-size: 44px;
  --node-action-icon-size: 16px;
  --node-action-radius: 5px;
  --node-action-gap: 4px;
  --node-fold-size: 24px; /* 24px画布中的圆圈外径22px。 */
  --node-fold-expanded-size: 18px; /* 无数字的展开圆圈缩小为16.5px外径。 */
  --node-fold-hit: 36px;
  --node-fold-touch-hit: 44px;
  --node-fold-offset: 26px;
  --node-fold-route-clearance: 18px;
  --node-fold-stroke: 1.5px;
  --node-fold-count-font-size: 11px;
  --node-fold-hover-tint: 9%;
  --node-fold-focus-width: 2px;
  --branch-panel-width: 360px;
  --branch-choice-height: 74px;
  --branch-choice-icon-size: 36px;
  --branch-corner-radius: 12px;
  --branch-organic-width: 7px;
  --branch-organic-tip: 1.8px;
  --reader-outline-width: 1.5px;
  --reader-outline-radius: 4px;
  --font-ui: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  --mono: "SF Mono", "JetBrains Mono", Consolas, monospace;

  /* 布局尺寸 */
  --menubar-h: 54px;
  /* 统一顶栏布局：其他公共界面继续使用已有 trial-05 令牌。 */
  --ui-topbar-h: 48px;
  --ui-topbar-padding: 10px;
  --ui-mobile-topbar-h: 52px;
  --ui-mobile-topbar-padding: 12px;
  --ui-mobile-return-w: 68px;
  --ui-topbar-book-w: 180px;
  --ui-topbar-book-compact-w: 120px;
  --ui-reader-aux-w: 320px;
  --ui-reader-sidebar-w: calc(var(--ui-reader-aux-w) * 1.5);
  --radius-panel: 14px;
  --radius-btn: 9px;
  --radius-editor: 16px;
  --editor-max-w: 1120px;
  --editor-max-h: 90dvh;
  --editor-preview-w: 320px;
  --editor-gap: 24px;
  --editor-pane-padding: 20px;
  --editor-preview-padding: 40px;
  --editor-preview-gutter: 158px;
  --editor-preview-control-gap: 2px;
  --editor-preview-row-gap: 4px;
  --editor-divider-width: 8px;
  --editor-preview-min-width: 360px;
  --editor-source-min-width: 360px;
  --editor-palette-width: calc(8 * var(--palette-cell) + 7 * var(--palette-gap) + 2 * var(--palette-padding) + 2px);
  --editor-control-h: 38px;
  --editor-touch-target: 44px;
  --batch-dock-max-w: 1060px;
  --batch-dock-h: 52px;
  --batch-dock-mobile-h: 112px;
  --minimap-reserve: 0px;
  --sel-quick-action: 36px;
  --sel-quick-gap: 4px;
  --node-menu-padding: 6px;
  --node-menu-color-size: 20px;
  --node-menu-mobile-width: 366px;
  --node-menu-list-width: 310px;
  --icon-size: 20px;
  --reader-width: 60vw;
  /* AI 辅助栏独立占位；底层 Reader 与辅助栏状态不随开关重建。 */
  --ai-panel-width: 440px;
  /* 入门窗口沿用公共面板与主题颜色。 */
  --start-width: 780px;
  --start-padding: 32px;
  --ai-panel-gutter: 20px;
  --ai-chat-radius: 14px;
  --ai-toolbar-target: 36px;
  --ai-quick-width: 360px;
  --ai-quick-max-height: 360px;
  --z-ai-panel: 65;
  --z-ai-mobile: 160;
  --reader-right-inset: 0px;
  --md-right-inset: 0px;
  --left-toolbar-w: 48px;
  --left-toolbar-pad: 12px;
  --outline-w: 360px;
  --map-md-default-w: 360px;
  --map-outline-default-w: 320px;
  --map-canvas-min-w: 320px;
  --map-library-max-w: 620px;
  --file-access-padding: 20px;
  --file-access-list-h: min(340px, 40dvh);
  --outline-right-inset: 0px;
  --canvas-right-inset: 0px;
  --outline-card-base: var(--reader-library-bg);
  --outline-node-tint: 8%;
  --outline-summary-tint: 14%;
  --outline-card-border: 34%;
  --outline-drag-handle-size: 24px;
  --outline-drop-line-width: 4px;
  --outline-drop-zone-h: 32px;
  --outline-drop-zone-touch-h: 44px;
  --outline-drag-source-opacity: .55;
  --z-outline-drag: 85;
  --safe-area-bottom: env(safe-area-inset-bottom, 0px);
  /* 阅读集管理器（三栏全屏视图）：栏宽为默认值，运行时可被用户拖宽覆盖 */
  --manager-left-w: 190px;
  --manager-right-w: 400px;
  --manager-left-min: 165px;
  --manager-left-max: 280px;
  --manager-right-min: 320px;
  --manager-right-max: 560px;
  --manager-header-h: 72px;
  --manager-content-pad: 24px;
  /* 本地保存向导：四步共用尺寸，状态颜色消费 trial-05 语义令牌。 */
  --library-location-width: 920px;
  --library-location-padding: 36px;
  --library-location-gap: 24px;
  --library-location-name: 26px;
  --library-location-font: 16px;
  --library-location-path: 18px;
  --library-location-heading: 19px;
  --library-location-open-width: 190px;
  --library-wizard-width: 860px;
  --library-wizard-padding: 32px;
  --library-wizard-gap: 16px;
  --library-wizard-title: 27px;
  --library-wizard-font: 15px;
  --library-wizard-step-size: 34px;
  --manager-compact-width: 720px;
  --manager-scrim: rgba(0, 0, 0, .32);
  --z-menubar: 60;
  --z-manager: 61;
  --z-panel: 50;
  --z-toolbar: 52;
  --z-outline: 60;
  --z-mdpanel: 60;
  --z-batch: 70;
  --z-reader: 59;
  --z-modal: 90;
  --z-ctxmenu: 80;
  --z-batch-menu: 81;
  --z-color-tray: 82;
  --z-batch-dialog: 91;
  --z-toast: 99;

  /* 动画 */
  --anim-fast: .18s;
  --anim: .3s;
  /* Markdown 同步定位：短暂描边，不改变卡片尺寸或选中状态。 */
  --node-focus-duration: 1800ms;
  --node-focus-width: 3px;
  --node-focus-offset: 5px;
  --node-focus-color: var(--ui-accent);
  /* 方向键跟随节点时，卡片与画布可见边缘之间的屏幕像素距离。 */
  --node-navigation-margin: 24px;

  /* 画布背景预设：TWEAKS 仅保存预设 id，颜色统一由设计令牌提供。 */
  --board-preset-white: #ffffff;
  --board-preset-gray: #f3f4f6;
  --board-preset-warm: #fff8eb;
  --board-preset-blue: #eef6ff;
  --board-preset-night: #081020;

  /* trial-05 公共 UI：独立命名空间，由各控件显式消费，不重绑科技卡片的旧令牌。 */
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --ui-font-mono: ui-monospace, SFMono-Regular, monospace;
  --ui-font-size: 14px;
  --ui-line-height: 1.5;
  --ui-weight-normal: 400;
  --ui-weight-medium: 550;
  --ui-weight-strong: 650;
  --ui-font-caption: 11px;
  --ui-font-label: 12px;
  --ui-font-control: 13px;
  --ui-font-heading: 17px;
  --ui-font-page-title: 21px;
  --ui-border-width: 1px;
  --ui-radius: 9px;
  --ui-control-h: 33px;
  --ui-control-gap: 6px;
  --ui-button-padding: 6px 11px;
  --ui-button-radius: 6px;
  --ui-button-line-height: 1.4;
  --ui-icon-button-size: 34px;
  --ui-icon-size: 19px;
  --ui-touch-target: 44px;
  /* 完整调色盘统一两行八列，窄容器保留热区并在面板内滚动。 */
  --palette-columns: 8;
  --palette-cell: 36px;
  --palette-gap: 6px;
  --palette-label-row-gap: 10px;
  --palette-padding: 10px;
  --palette-check-dark: #17202a;
  --palette-check-light: #ffffff;
  --node-link-width: 520px;
  --node-link-inset: 12px;
  --node-link-padding: 16px;
  --node-link-gap: 8px;
  --node-link-backdrop: rgb(0 0 0 / .35);
  --ui-input-radius: 7px;
  --ui-input-padding: 7px 10px;
  --ui-input-h: 38px;
  --ui-input-editor-padding: 10px 11px;
  --ui-input-editor-line-height: 1.7;
  --ui-menu-radius: 9px;
  --ui-menu-padding: 5px;
  --ui-menu-min-w: 180px;
  --ui-menu-separator-margin: 4px;
  --ui-row-h: 58px;
  --ui-row-padding: 7px 0;
  --ui-row-gap: 10px;
  --ui-nav-item-h: 40px;
  --ui-nav-item-padding: 9px 12px;
  --ui-header-h: 54px;
  --ui-header-padding: 0 12px;
  --ui-header-gap: 10px;
  --ui-footer-h: 27px;
  /* 原文捏合：跨 iframe 传递，文字保持原字号，只压缩段落间隔。 */
  --pinch-gap-height: 44px;
  --pinch-duration: 480ms;
  --pinch-replay-duration: 220ms;
  --pinch-width: 880px;
  --pinch-z: 100;
  --ui-panel-header-h: 55px;
  --ui-panel-header-touch-h: 56px;
  --ui-panel-header-padding: 10px 16px;
  --ui-panel-body-padding: 18px 16px;
  --ui-panel-width: 360px;
  --ui-panel-radius: 9px;
  --ui-popover-radius: 10px;
  --ui-group-radius: 11px;
  --ui-section-radius: 8px;
  --ui-dialog-radius: 12px;
  --ui-dialog-head-padding: 18px 22px;
  --ui-dialog-body-padding: 20px 22px;
  --ui-toast-radius: 8px;
  --ui-toast-padding: 10px 17px;
  --ui-pill-radius: 4px;
  --ui-pill-padding: 2px 7px;
  --ui-toolbar-button-size: 36px;
  --ui-toolbar-radius: 12px;
  --ui-toolbar-padding: 6px;
  --ui-toolbar-gap: 4px;
  /* 阅读区选文工具条：色板沿用公共语义，尺寸只影响本工具条。 */
  --reader-selection-mobile-width: 366px;
  --reader-selection-gap: 4px;
  --reader-selection-padding: 6px;
  --reader-selection-swatch: 20px;
  --reader-selection-swatch-gap: 8px;
  --reader-selection-control: 36px;
  --reader-selection-symbol: 20px;
  --reader-selection-palette-symbol: 12px;
  --reader-selection-tooltip-bg: #28313d;
  --reader-selection-tooltip-text: #fff;
  --reader-selection-tooltip-width: 280px;
  --reader-selection-z: 60;
  --ui-disabled-opacity: .45;
  --ui-focus-width: 2px;
  --ui-focus-offset: 2px;
  --ui-focus-ring-width: 3px;
  --ui-focus-ring-color: #396fb330;
  --ui-focus: 0 0 0 var(--ui-focus-ring-width) var(--ui-focus-ring-color);
  --ui-focus-soft: 0 0 0 var(--ui-focus-ring-width) var(--ui-accent-soft);
  --ui-hover-bg: var(--ui-accent-soft);
  --ui-hover-text: var(--ui-accent);
  --ui-pressed-bg: var(--ui-accent-soft);
  --ui-pressed-text: var(--ui-accent);
  --ui-input-bg: var(--ui-panel);
  --ui-input-border: var(--ui-border);
  --ui-menu-bg: var(--ui-panel);
  --ui-menu-border: var(--ui-border);
  --ui-row-hover-bg: var(--ui-bg);
  --ui-scrim: #17243655;
  --ui-toolbar-bg: color-mix(in srgb, var(--ui-panel) 70%, transparent);
  --ui-toolbar-border: color-mix(in srgb, var(--ui-border) 70%, transparent);
  --ui-shadow-toolbar: 0 3px 16px #152a3510;
  --ui-shadow-aux: -8px 0 24px #1020300c;
  --ui-motion: 140ms;
  --ui-motion-fast: 120ms;
  --ui-motion-detail: 150ms;
  --ui-motion-ease: ease;
  --ui-color-1: #4279af;
  --ui-color-2: #4f8c7a;
  --ui-color-3: #a47b42;
  --ui-color-4: #697caf;
  --ui-color-5: #ae707d;
  --ui-color-6: #687781;
  --ui-success: var(--ui-color-2);
  --ui-warning: var(--ui-color-3);
  --ui-pinned: #ac843a;

  /* 雅致卡片：原型标准圆角与留白跨三种布局一致，只在雅致分支显式消费。 */
  --elegant-font: var(--ui-font);
  --elegant-text: var(--ui-text);
  --elegant-muted: var(--ui-muted);
  --elegant-canvas: var(--ui-canvas);
  --elegant-dot-color: color-mix(in srgb, var(--ui-muted) 21%, transparent);
  --elegant-dot-radius: .8px;
  --elegant-dot-spacing: 20px;
  --elegant-radius: 9px;
  --elegant-accent-w: 3px;
  --elegant-padding: 17px 17px 14px;
  --elegant-root-padding: 20px;
  --elegant-title-size: 15px;
  --elegant-root-size: 19px;
  --elegant-title-weight: 650;
  --elegant-title-line: 1.6;
  --elegant-title-margin: 0 0 5px;
  --elegant-body-size: 13px;
  --elegant-body-line: 1.85;
  --elegant-body-margin: 3px 0;
  --elegant-body-padding: 5px 12px;
  --elegant-body-line-w: var(--elegant-quote-line-w);
  --elegant-body-line-tint: 25%;
  --elegant-body-tint: 3%;
  --elegant-quote-padding: 5px 12px;
  --elegant-quote-margin: 3px -3px 3px;
  --elegant-quote-line-w: 2px;
  --elegant-quote-line-tint: 50%;
  --elegant-quote-tint: 5%;
  --elegant-quote-hover-tint: 9%;
  --elegant-tag-radius: 4px;
  --elegant-tag-size: 10px;
  --elegant-tag-padding: 3px 7px;
  --elegant-tag-gap: 5px;
  --elegant-tag-tint: 8%;
  --elegant-tags-margin: 5px 0 0;
  --elegant-source-size: 10px;
  --elegant-source-line: 1.6;
  --elegant-source-margin: 2px 0 0;
  --elegant-note-size: 12px;
  --elegant-note-line: 1.8;
  --elegant-note-margin: 3px 0;
  --elegant-root-label-size: 10px;
  --elegant-root-label-spacing: .15em;
  --elegant-root-label-gap: 9px;
  --elegant-shadow-hover: 0 5px 18px #192b3b12;
  --elegant-shadow-selected: 0 5px 16px #192b3b12;
  --elegant-selected-ring-w: 3px;
  --elegant-selected-ring-tint: 16%;
  --elegant-focus-width: 3px;
  --elegant-focus-offset: 4px;
  --elegant-link-width: 1.5px;
  --elegant-link-opacity: .65;
  /* 可选的高对比卡片：只压缩留白，正文保持13px。 */
  --card-compact-radius: 7px;
  --card-compact-top: 10px;
  --card-compact-side: 12px;
  --card-compact-padding: var(--card-compact-top) var(--card-compact-side);
  --card-compact-title-weight: 750;
  --card-compact-title-line: 1.4;
  --card-compact-body-line: 1.6;
  --card-compact-gap: 6px;
  --card-compact-note-line: 1.6;
  --card-header-block-padding: 9px;
  --card-header-padding: var(--card-header-block-padding) var(--card-compact-side);
  --card-header-text: #ffffff;
}

/* ---------- DARK ---------- */
html[data-theme="dark"] {
  --card-ink-text: #ffffff;
  --card-compact-text: #f4f6f8;
  --card-readable-muted: #bac5d3;
  --ui-bg: #171d26;
  --ui-panel: #202833;
  --ui-text: #e2e8ef;
  --ui-muted: #a0adbf;
  --ui-border: #34404f;
  --ui-accent: #9ac1fa;
  --ui-accent-soft: #2c3d56;
  --ui-canvas: #18212d;
  --ui-danger: #f0959a;
  --ui-primary-text: #162238;
  --ui-shadow: 0 8px 28px #0004;

  --outline-node-tint: 9%;
  --outline-summary-tint: 15%;
  --bg-0: #060b18;
  --bg-1: #0a1226;
  --grid-line: rgba(86, 148, 255, .05);
  --text-0: #eef4ff;
  --text-1: #b9c6e4;
  --text-2: #7d8db2;
  --panel-bg: rgba(13, 22, 44, .88);
  --left-toolbar-bg: rgba(13, 22, 44, .52);
  --reader-library-bg: #0d162c;
  --panel-border: rgba(120, 160, 240, .2);
  --hover-bg: rgba(120, 160, 255, .1);
  --active-bg: rgba(90, 140, 255, .18);

  --btn-bg: rgba(30, 46, 84, .8);
  --btn-border: rgba(120, 160, 240, .28);
  --input-bg: rgba(8, 14, 30, .8);
  --input-border: rgba(120, 160, 240, .25);
  --editor-section-bg: rgba(8, 15, 33, .5);
  --editor-preview-bg: rgba(4, 10, 24, .66);
  --focus-ring: #8fd0ff;
  --batch-bg: rgba(10, 19, 39, .94);
  --batch-border: rgba(143, 208, 255, .28);
  --batch-glass-bg: rgba(13, 22, 44, .68);
  --batch-pop-bg: rgba(10, 19, 39, .8);
  --batch-primary: #8fd0ff;
  --batch-summary: #d8a8ff;
  --batch-ok: #68e3ba;
  --batch-mobile-bg: var(--bg-1);

  --card-surface: linear-gradient(158deg, rgba(21, 34, 64, .94) 0%, rgba(11, 19, 38, .97) 100%);
  --elegant-surface: var(--ui-panel);
  --elegant-border: var(--ui-border);
  --elegant-shadow: 0 3px 12px #192b3b09;
  --elegant-root-tint: 8%;
  --note-text: #8593b8;
  --danger: #ff7a8a;

  /* 层级色（顺序策略基础序列，由 palette.js 运行时覆盖细化） */
  --lv-root: #55e6ff;
  --lv-sum: #e879f9;  /* Σ 汇总专属色（设计稿定稿值） */

  --tag-blue-a: #5aa2ff;
  --tag-purple-a: #b79bff;
  --tag-cyan-a: #3ee6ff;

  --frag-text: #4cc3ff;
  --frag-link: #3ee6ff;
  --frag-image: #b79bff;

  --rel-line: #ffa65c;
  --sel-ring: #8fd0ff;
  /* 多格式阅读标记色：PDF / EPUB 共用，旧 token 继续映射为黄色。 */
  --reader-highlight: #ffd64a;
  --reader-highlight-red: #ff6b6b;
  --reader-highlight-yellow: #ffd64a;
  --reader-highlight-blue: #56d6ff;
  --reader-highlight-green: #5fd6a5;
  --reader-highlight-purple: #a78bfa;
  --accent-ui1: #2563eb;
  --accent-ui2: #7c3aed;
  --shadow-panel: 0 18px 44px -18px rgba(0, 0, 0, .65);

  --board-bg:
    radial-gradient(900px 480px at 70% 0%, rgba(64, 120, 255, .10), transparent 62%),
    linear-gradient(180deg, #050a16, #081020);
  --board-bg-active: var(--board-bg);
  --board-solid: #081020;
  --board-grid: repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 40px),
                repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 40px);
}

/* ---------- LIGHT（默认） ---------- */
html[data-theme="light"] {
  --card-ink-text: #000000;
  --card-compact-text: #111111;
  --card-readable-muted: #526071;
  --ui-bg: #f5f6f8;
  --ui-panel: #ffffff;
  --ui-text: #263344;
  --ui-muted: #6b7685;
  --ui-border: #e3e7ed;
  --ui-accent: #315f9a;
  --ui-accent-soft: #eaf1fb;
  --ui-canvas: #f1f5f9;
  --ui-danger: #ae3c46;
  --ui-primary-text: #ffffff;
  --ui-shadow: 0 8px 28px #1d334314;

  --outline-node-tint: 7%;
  --outline-summary-tint: 12%;
  --bg-0: #edf3fc;
  --bg-1: #f7fafe;
  --grid-line: rgba(37, 99, 235, .055);
  --text-0: #101a30;
  --text-1: #33415e;
  --text-2: #66748f;
  /* 浅色主题使用更深的强调色，保证摘录来源与边框的可读性。 */
  --reader-highlight: #946200;
  --reader-highlight-red: #b4233d;
  --reader-highlight-yellow: #946200;
  --reader-highlight-blue: #0969a8;
  --reader-highlight-green: #147d45;
  --reader-highlight-purple: #6f42c1;
  --panel-bg: rgba(255, 255, 255, .86);
  --left-toolbar-bg: rgba(255, 255, 255, .48);
  --reader-library-bg: #ffffff;
  --panel-border: rgba(23, 68, 166, .16);
  --hover-bg: rgba(37, 99, 235, .07);
  --active-bg: rgba(37, 99, 235, .13);

  --btn-bg: rgba(255, 255, 255, .9);
  --btn-border: rgba(23, 68, 166, .2);
  --input-bg: rgba(255, 255, 255, .95);
  --input-border: rgba(23, 68, 166, .22);
  --editor-section-bg: rgba(245, 249, 255, .76);
  --editor-preview-bg: rgba(232, 240, 252, .78);
  --focus-ring: #1663c7;
  --batch-bg: rgba(255, 255, 255, .96);
  --batch-border: rgba(22, 99, 199, .22);
  --batch-glass-bg: rgba(255, 255, 255, .68);
  --batch-pop-bg: rgba(255, 255, 255, .85);
  --batch-primary: #1663c7;
  --batch-summary: #8d42c6;
  --batch-ok: #087d5f;
  --batch-mobile-bg: var(--bg-1);

  --card-surface: linear-gradient(160deg, rgba(255, 255, 255, .97), rgba(244, 249, 255, .93));
  --elegant-surface: var(--ui-panel);
  --elegant-border: var(--ui-border);
  --elegant-shadow: 0 3px 12px #192b3b09;
  --elegant-root-tint: 8%;
  --note-text: #64748b;
  --danger: #d6336c;

  --tag-blue-a: #1263de;
  --tag-purple-a: #7c46e0;
  --tag-cyan-a: #0797b7;

  --frag-text: #0579c9;
  --frag-link: #0797b7;
  --frag-image: #7c46e0;

  --lv-sum: #be18c9;  /* Σ 汇总专属色（设计稿定稿值，亮色主题加深） */

  --rel-line: #e07a1f;
  --sel-ring: #1663c7;
  --accent-ui1: #2563eb;
  --accent-ui2: #7c3aed;
  --shadow-panel: 0 14px 36px -16px rgba(23, 68, 166, .35);

  --board-bg:
    radial-gradient(900px 480px at 70% 0%, rgba(4, 121, 201, .06), transparent 62%),
    linear-gradient(180deg, #e6eefb, #f6fafe);
  --board-bg-active: var(--board-bg);
  --board-solid: #f6fafe;
  --board-grid: repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 40px),
                repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 40px);
}

/* ---------- TWEAKS 固定背景预设（与主题独立） ---------- */
html[data-background="white"] {
  --board-bg-active: linear-gradient(180deg, var(--board-preset-white), var(--board-preset-white));
  --board-solid: var(--board-preset-white);
}
html[data-background="gray"] {
  --board-bg-active: linear-gradient(180deg, var(--board-preset-gray), var(--board-preset-gray));
  --board-solid: var(--board-preset-gray);
}
html[data-background="warm"] {
  --board-bg-active: linear-gradient(180deg, var(--board-preset-warm), var(--board-preset-warm));
  --board-solid: var(--board-preset-warm);
}
html[data-background="blue"] {
  --board-bg-active: linear-gradient(180deg, var(--board-preset-blue), var(--board-preset-blue));
  --board-solid: var(--board-preset-blue);
}
html[data-background="night"] {
  --board-bg-active: linear-gradient(180deg, var(--board-preset-night), var(--board-preset-night));
  --board-solid: var(--board-preset-night);
}

@media (pointer: coarse), (any-pointer: coarse) {
  :root {
    --palette-cell: var(--ui-touch-target);
    --palette-gap: 0px;
    --palette-padding: 6px;
  }
}

/* 减少动态仅影响本轮新增 UI 令牌，不改变科技画布已有动画开关。 */
@media (prefers-reduced-motion: reduce) {
  :root {
    --ui-motion: 0ms;
    --ui-motion-fast: 0ms;
    --ui-motion-detail: 0ms;
  }
}
