/* 防止页面刷新时白屏的初始样式
 *
 * 【为什么要按皮肤分色】
 * 这条 CSS 管的是「JS 还没跑起来」那一帧的底色 —— 它先于 tokens.css、先于 Vue 挂载。
 * 三套皮肤原本共用同一个 #fafbfc（art 的底色），于是 nova/geeker 的分站每次打开页面
 * 都会先闪一帧 art 的浅灰，再跳到自己的画布底。
 *
 * 【皮肤名从哪来】
 * <html data-theme="…">：分站 index.html 由 Node 按 Host 解析出租户后直出注入
 * （见 index.html 顶部注释与 backend common/domain/domain-static.middleware）。
 * 主站 / 老版本 dist / 后端 fail-open 时该属性是空串 —— 命不中下面任何一条规则，
 * 逐字沿用 art 的 html / html.dark，也就是本次改动前的行为。art 是基线，不写规则。
 *
 * 🔴 为什么每套皮肤都要写 [data-theme].dark 这条复合选择器：
 *    html[data-theme='nova'] 的特异度是 (0,1,1)，与上面的 html.dark 完全相同，
 *    只靠源码顺序会把暗色用户的首帧压成浅底（更刺眼的闪白）。
 *    写成 html[data-theme='nova'].dark 后特异度 (0,2,1)，稳赢。
 *    （.dark 由 index.html 的内联脚本按 localStorage 'sys-theme' 打在 <html> 上。）
 */
html {
  background-color: #fafbfc;
}

html.dark {
  background-color: #070707;
}

/* nova：取值 = tokens.css 的 --nv-bg（画布底） */
html[data-theme='nova'] {
  background-color: #f0f2f5;
}

html[data-theme='nova'].dark {
  background-color: #0e0f13;
}

/* geeker：取值 = tokens.css 里 .theme-geeker 自己声明的 background-color。
   geeker 画布实际是渐变（浅 #f8fafc→#eef4ff→#e0ecff；暗 #0b1220→#0f172a→#132441），
   拿它声明的兜底底色（≈渐变中段）与整屏渐变的最大单通道色差最小 ——
   实测：浅色 14（对比：沿用 art #fafbfc 是 26、取渐变起点 #f8fafc 是 24）；
         暗色 23（对比：沿用 art #070707 是 58、取渐变起点 #0b1220 是 33）。 */
html[data-theme='geeker'] {
  background-color: #eef4ff;
}

html[data-theme='geeker'].dark {
  background-color: #0f172a;
}
