设置页:外观、连接、关于、备份还原

主题用 <html> 的 data-theme 标记显式选择,tokens.css 新增两组选择器块,
权重压过 prefers-color-scheme;选「跟随系统」则不标记,交回媒体查询,
系统主题切换时界面仍跟着变。
顺带把 InboundForm 和 TokenGate 里硬编码的 #fff 换成 var(--c-bg):
深色主题的强调色是浅青,白字压在上面对比度不够,深色下会看不清。
This commit is contained in:
2026-08-11 18:35:04 +08:00
parent 6c8a1c4e0e
commit fb1dd401b2
7 changed files with 427 additions and 3 deletions
+60
View File
@@ -71,6 +71,66 @@
--line: 1.7;
}
/*
* 显式选择的主题(web/prefs.ts 在 <html> 上写 data-theme)。两个方向都要写:
* 深色系统上选浅色也要生效。选择器权重高于 :root 和上面媒体查询里的 :root,
* 显式选择压过系统偏好;不标 data-theme 时这两块不命中,媒体查询说了算。
* 只覆盖颜色变量,间距、字号与主题无关。
*/
:root[data-theme='light'] {
--c-bg: #fbfbfc;
--c-surface: #ffffff;
--c-surface-sunken: #f4f5f7;
--c-border: #e4e6ea;
--c-border-strong: #d0d3d9;
--c-text: #1c1e21;
--c-text-soft: #5c6169;
--c-text-faint: #8b9098;
--c-accent: #2b7a78;
--c-accent-soft: #e6f2f1;
--c-accent-text: #1f5c5a;
--c-chain: #5145cd;
--c-chain-soft: #eeedfb;
--c-chain-text: #4038a8;
--c-danger: #b3261e;
--c-danger-soft: #fdedec;
--c-warn: #8a6100;
--c-warn-soft: #fdf5e3;
--c-ok: #1f6b3a;
--c-ok-soft: #e9f5ed;
}
:root[data-theme='dark'] {
--c-bg: #16181c;
--c-surface: #1d2025;
--c-surface-sunken: #121417;
--c-border: #2b2f36;
--c-border-strong: #3a3f48;
--c-text: #e6e8eb;
--c-text-soft: #9ba1a9;
--c-text-faint: #6c727a;
--c-accent: #4db6ac;
--c-accent-soft: #1b3330;
--c-accent-text: #7fd4cb;
--c-chain: #8b83f0;
--c-chain-soft: #241f4a;
--c-chain-text: #a9a2f7;
--c-danger: #f2b8b5;
--c-danger-soft: #3a1f1e;
--c-warn: #e8c37a;
--c-warn-soft: #33290f;
--c-ok: #86d6a0;
--c-ok-soft: #16301f;
}
@media (prefers-color-scheme: dark) {
:root {
--c-bg: #16181c;