/* 主题色唯一色值源；theme.js 从这些变量读取过渡色，不另维护一份颜色表。 */
[data-color="purple"] { --accent-light:#7b5bc1; --accent-dark:#c1a0ec; --accent-rgb-light:123, 91, 193; --accent-rgb-dark:193, 160, 236; --canvas-light:#f5f4f8; }
[data-color="blue"] { --accent-light:#2868c7; --accent-dark:#89b4f4; --accent-rgb-light:40, 104, 199; --accent-rgb-dark:137, 180, 244; --canvas-light:#f3f5f8; }
[data-color="green"] { --accent-light:#2b7b64; --accent-dark:#79bfa5; --accent-rgb-light:43, 123, 100; --accent-rgb-dark:121, 191, 165; --canvas-light:#f3f6f5; }
[data-color="orange"] { --accent-light:#a35a24; --accent-dark:#f1b17e; --accent-rgb-light:163, 90, 36; --accent-rgb-dark:241, 177, 126; --canvas-light:#faf7f3; }
[data-color="pink"] { --accent-light:#ae4e77; --accent-dark:#e8a4c1; --accent-rgb-light:174, 78, 119; --accent-rgb-dark:232, 164, 193; --canvas-light:#faf6f8; }
/* 色块与实际强调填充共用唯一色值来源。 */
:root { --swatch-purple:#7b5bc1; --swatch-blue:#2868c7; --swatch-green:#2b7b64; --swatch-orange:#dc8b50; --swatch-pink:#d77ca2; }
[data-color] {
  /* 过渡色探针也显式重置填充，避免继承父级橙色或粉色。 */
  --action-fill-light:var(--accent-light); --action-text-light:#fff;
  color-scheme:light;
  --primary:var(--accent-light); --primary-rgb:var(--accent-rgb-light);
  --primary-soft:var(--primary); --primary-dark:color-mix(in srgb,var(--primary) 88%,#000);
  --primary-light:color-mix(in srgb,var(--primary) 55%,#fff);
  --primary-muted:color-mix(in srgb,var(--primary) 35%,#fff);
  --primary-container:color-mix(in srgb,var(--primary) 9%,#fff); --on-primary:#fff;
  --action-fill:var(--action-fill-light,var(--primary)); --on-action:var(--action-text-light,#fff);
  --bg:var(--canvas-light); --surface:#fff; --surface-raised:#fff; --white:var(--surface); --on-surface:#282d37; --on-surface-variant:#666d7b;
  --border:#e2e5eb; --outline:#727987; --hover-bg:#f0f2f5;
  --surface-subtle:#f7f8fa; --error:#ad414b; --success:#287346; --warning:#8a5d14;
  --success-bg:#eef6ef; --error-bg:#fbf0f0; --warning-bg:#fbf4e6;
  --note-surface:#fffbef; --annotation-purple:#735aad; --annotation-green:#2b7b64;
  --highlight-yellow:#fff1a8; --highlight-purple:#f0ebf7; --highlight-green:#eaf4ee;
  --shadow-card:0 2px 3px #24324703,0 10px 28px #24324705;
  --shadow-popover:0 4px 10px #232b3c0a,0 18px 45px #232b3c1a;
  /* 纸感是排版模式，不覆盖皮肤强调色；明暗各有可读的书页底色。 */
  --paper-surface:#fffdf8; --paper-border:#e5ddcf;
}
[data-color="orange"] { --action-fill-light:#dc8b50; --action-text-light:#2c1d13; }
[data-color="pink"] { --action-fill-light:#d77ca2; --action-text-light:#2f1723; }
[data-color][data-theme="dark"] {
  color-scheme:dark;
  --primary:var(--accent-dark); --primary-rgb:var(--accent-rgb-dark);
  --primary-dark:color-mix(in srgb,var(--primary) 88%,#fff);
  --primary-light:color-mix(in srgb,var(--primary) 75%,#fff);
  --primary-muted:color-mix(in srgb,var(--primary) 60%,#20242c);
  --primary-container:color-mix(in srgb,var(--primary) 13%,#20242c); --on-primary:#1d222c;
  --action-fill:var(--primary); --on-action:#1d222c;
  --bg:#171a20; --surface:#20242c; --surface-raised:#272c35; --white:var(--surface); --on-surface:#e6e9ef; --on-surface-variant:#abb3c1;
  --border:#39414d; --outline:#9aa6b8; --hover-bg:#2c323c; --surface-subtle:#292e36;
  --error:#efa7ad; --success:#97d2ad; --warning:#e4c18a;
  --success-bg:#20362b; --error-bg:#3b282d; --warning-bg:#393224;
  --note-surface:#333024; --annotation-purple:#c1a0ec; --annotation-green:#79bfa5;
  --highlight-yellow:#514a26; --highlight-purple:#3a304f; --highlight-green:#213d33;
  --shadow-card:0 2px 3px #00000012,0 10px 28px #0000001f;
  --shadow-popover:0 4px 10px #00000025,0 18px 45px #00000065;
  --paper-surface:#27251f; --paper-border:#494339;
}
