/* ============================================================
   主题 D · 纸白极简（2026-11-05）
   纯白画布 + 细灰线 + 黑字，只保留一个电力红做强调。
   由 server/views/render.js 在 style.css 之后统一插入，
   页面内联样式仍在后，页面级配色不受影响。
   要回到原主题：把 render.js 里的 THEME 置空即可。
   ============================================================ */

/* ---------- 1) 设计令牌 ---------- */
:root {
  --primary: #111111;
  --primary-light: #f3f4f6;
  --primary-dark: #000000;
  --accent: #d9534f;
  --green: #2f7d5c;
  --amber: #b8860b;
  --bg: #ffffff;
  --card: #ffffff;
  --border: #e5e5e5;
  --line: #e5e5e5;
  --text: #111111;
  --text-sub: #6b7280;
  --shadow: 0 0 0 rgba(0, 0, 0, 0);
  --radius: 3px;
  --brand: #111111;
  --ink: #111111;
  --brand-grad: #111111;
  --shadow-sm: 0 0 0 rgba(0, 0, 0, 0);
  --shadow-md: 0 0 0 rgba(0, 0, 0, 0);
  --shadow-lg: 0 0 0 rgba(0, 0, 0, 0);
  --ring: 0 0 0 2px rgba(17, 17, 17, .16);
}

body {
  background: #fff;
  color: #111;
}

::selection { background: rgba(17, 17, 17, .12); }
* { scrollbar-color: #d8d8d8 transparent; }
::-webkit-scrollbar-thumb { background: #d8d8d8; }
::-webkit-scrollbar-thumb:hover { background: #c4c4c4; }

/* ---------- 2) 侧边栏：白底黑字 ---------- */
.side-nav {
  background: #fff;
  color: #111;
  border-right: 1px solid #e5e5e5;
  box-shadow: none;
}
.side-nav::before { display: none; }
.side-brandrow,
.side-brand { border-bottom-color: #ececec; }
.side-brand { color: #111; }
.side-name { color: #111; letter-spacing: .5px; }
.side-logo {
  background: #111;
  border-radius: 4px;
  box-shadow: none;
}
.side-collapse-top {
  background: transparent;
  border: 1px solid #e5e5e5;
  color: #777;
}
.side-collapse-top:hover { background: #f4f4f4; color: #111; }
.side-groups { padding-top: 6px; }
.side-group { color: #7a7a7a; font-weight: 700; }
.side-groups > .side-group:not(:first-child) { border-top-color: #efefef; }
.side-group:hover { color: #111; background: #f5f5f5; }
.side-group.on { color: #111; background: #f2f2f2; }
.side-group.on .si-ico { filter: none; }
.side-group.on::before { background: #111; }
.side-group.side-sub { color: #737373; }
.side-group.side-sub:hover { color: #111; background: #f5f5f5; }
.side-group.side-sub.on { color: #111; background: #f2f2f2; }
.side-items { border-left-color: #ececec; }
.side-link { color: #4b4b4b; }
.side-link:hover { color: #111; background: #f4f4f4; }
.side-link.sf-cur {
  color: #fff;
  background: #111;
  box-shadow: none;
}
.side-link.sf-cur .side-star { color: rgba(255, 255, 255, .45); }
.side-link.sf-cur .side-star:hover,
.side-link.sf-cur .side-star.faved { color: #f0c060; }
.side-star { color: #ccc; }
.side-star:hover, .side-star.faved { color: #c99700; }
.side-foot { border-top-color: #ececec; }
.side-foot .data-status { background: #f4f4f4; color: #555; }
.side-toggle {
  background: #f4f4f4;
  color: #555;
}
.side-toggle:hover { background: #e8e8e8; color: #111; }
.btn-ghost {
  background: #f2f2f2;
  color: #555;
}
.btn-ghost:hover { background: #e6e6e6; color: #111; }

/* 侧栏搜索 / 收藏 / 管理入口 */
.side-search input {
  background: #fff;
  border-color: #e5e5e5;
  color: #111;
}
.side-search input::placeholder { color: #a3a3a3; }
.side-search input:focus { border-color: #111; background: #fff; }
.side-search-res {
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}
.side-search-res .sr-item { color: #333; border-radius: 3px; }
.side-search-res .sr-item:hover { background: #f4f4f4; color: #111; }
.side-search-res .sr-item .sr-g { color: #7a7a7a; }
.side-search-res .sr-empty { color: #7a7a7a; }
.side-fav-title { color: #7a7a7a; letter-spacing: 1.5px; }
.side-fav-item {
  color: #555;
  border: 1px dashed #e0e0e0;
  border-radius: 3px;
}
.side-fav-item:hover { background: #f4f4f4; color: #111; }
.side-fav-item .fk { background: #f2f2f2; color: #888; }
.side-fav-empty { color: #7a7a7a; border-color: #e5e5e5; border-radius: 3px; }
.side-admin {
  color: #555;
  border-color: #e0e0e0;
  border-radius: 3px;
}
.side-admin:hover { background: #f4f4f4; color: #111; }

/* ---------- 3) 顶栏 / 页签 / 输入控件 ---------- */
.toolbar {
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-bottom-color: #e5e5e5;
  box-shadow: none;
}
.tabs { border-bottom-color: #e5e5e5; }
.tab { border-radius: 0; }
.tab:hover { background: #f7f7f7; color: #111; }
.tab.active { color: #111; }
.tab.active::after { background: #111; border-radius: 0; }
.data-status { background: #f4f4f4; color: #555; }
.date-input,
.cmp-date,
.col-picker .cp-search,
.mg-range-custom .mg-date {
  border-color: #dcdcdc;
  border-radius: 3px;
  background: #fff;
}
.date-input:focus,
.cmp-date:focus,
.col-picker .cp-search:focus,
.mg-date:focus { border-color: #111; box-shadow: none; }
.btn {
  border-radius: 3px;
  border-color: #dcdcdc;
  background: #fff;
  font-weight: 500;
}
.btn:hover { background: #fff; border-color: #111; color: #111; }
.btn.primary {
  background: #111;
  border-color: #111;
  color: #fff;
  box-shadow: none;
}
.btn.primary:hover { background: #000; color: #fff; box-shadow: none; }
.zoom-ctrl .btn-nav { border-radius: 3px; }

/* ---------- 4) 卡片：白底细线，无阴影 ---------- */
.kpi-card,
.nav-card,
.wb-kpi,
.wb-steps .st,
.wb-boards .bd,
.heat-chart-card,
.heat-table-card,
.heat-stat,
.heat-desc-card,
.table-toolbar,
.table-wrap,
.daily-wrap,
.trend-desc,
.mg-cell {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  box-shadow: none;
}
.kpi-card:hover,
.nav-card:hover,
.wb-kpi:hover,
.wb-steps .st:hover,
.wb-boards .bd:hover,
.heat-chart-card:hover,
.heat-stat:hover,
.heat-desc-card:hover,
.table-toolbar:hover,
.table-wrap:hover {
  border-color: #cfcfcf;
  box-shadow: none;
}
.nav-card:hover,
.wb-kpi:hover,
.wb-steps .st:hover,
.wb-boards .bd:hover { transform: none; border-color: #111; }
.kpi-card { overflow: hidden; }
.kpi-card::before { display: none; }
.kpi-card:hover { transform: none; border-color: #cfcfcf; }
.kpi-label { color: #6b7280; font-weight: 500; letter-spacing: 0; }
.kpi-value { color: #111; letter-spacing: 0; }
.kpi-sub { color: #7a7a7a; }
.nav-card .nc-t { color: #111; }
.nav-card .nc-d { color: #777; }
.wb-title { color: #111; }
.wb-title .wb-date { color: #6b7280; }
.wb-fresh { background: #fff; border-color: #e5e5e5; color: #6b7280; }
.wb-val { color: #111; }
.wb-lab, .wb-val small { color: #6b7280; }
.wb-delta.up { color: #2f7d5c; background: #eef3ef; }
.wb-delta.down { color: #d9534f; background: #fbf0ef; }
.wb-delta.flat { color: #6b7280; background: #f3f4f6; }
.wb-ic.i-blue, .wb-ic.i-amber, .wb-ic.i-green,
.wb-ic.i-purple, .wb-ic.i-red, .wb-ic.i-orange { background: #f4f4f4; }
.wb-steps .st b, .wb-boards .bd b { color: #111; }
.wb-steps .st span, .wb-boards .bd span { color: #777; }

/* ---------- 5) 卡片头 / KPI 大数字 ---------- */
.heat-chart-head { border-bottom: 1px solid #f0f0f0; }
.heat-chart-head h3 { color: #111; }
.heat-chart-head h3::before {
  width: 3px; height: 14px;
  border-radius: 0;
  background: #111;
}
.heat-stat .hs-value,
.heat-stat .hs-time { color: #111; }
.heat-stat .hs-value.hs-blue,
.heat-stat .hs-time.hs-blue { color: #111; }
.heat-stat .hs-label { color: #6b7280; }
.az-stat .az-v { color: #111; }
.az-stat .az-s { color: #737373; }
.heat-desc-card p { color: #111; }
.heat-hist .hist-title { color: #111; }
.ls-sub-title { color: #111; }
.chart-title { color: #111; }
.trend-desc { color: #111; }
.stat-chip {
  background: #fff;
  border-color: #e5e5e5;
  color: #6b7280;
  box-shadow: none;
}

/* ---------- 6) 明细表 ---------- */
.heat-table th, .heat-table td {
  border-color: #e8e8e8;
  color: #111;
}
.heat-table thead th {
  background: #f7f7f7;
  border-bottom: 1px solid #e0e0e0;
  color: #111;
}
.heat-table td.ht-unit { background: #fafafa; }
.heat-table td.ht-kind-y { color: #111; }
.heat-table td.ht-kind-t { color: #a94438; }
.heat-table td.ht-period { color: #111; }
.heat-table tbody tr:nth-child(even) td:not(.ht-unit) { background: #fcfcfc; }
.heat-table tbody tr:hover td { background: #f5f5f5; }
.heat-table td.neg-num { color: #d9534f; }
.heat-table .ht-badge.on { background: #eef3ef; color: #2f7d5c; }
.heat-table .ht-badge.off { background: #f2f2f2; color: #888; }
.ls-sub-title { color: #111; }

/* 每日统计总表：深蓝表头改为浅灰底黑字 */
.daily-wrap { border-color: #e5e5e5; }
.daily-table thead th { border-color: #e0e0e0; }
.daily-table thead tr:first-child th {
  background: #f4f4f4;
  color: #111;
}
.daily-table thead tr:first-child th.d-solo {
  background: #fafafa;
  color: #111;
}
.daily-table thead tr:nth-child(2) th { background: #fafafa; color: #111; }
.daily-table tbody tr:nth-child(even) td { background: #fcfcfc; }
.daily-table tbody tr:nth-child(even) td.d-sticky { background: #fcfcfc; }
.daily-table tbody tr:hover td { background: #f5f5f5 !important; }
.daily-table td.d-sticky { background: #fff; }
.daily-table td.d-date.rest { background: #f0f0f0; }
.daily-table tbody tr:nth-child(even) td.d-date.rest { background: #f0f0f0; }
.daily-table tbody tr:hover td.d-date.rest { background: #e8e8e8 !important; }
.daily-table td.neg { color: #d9534f; }

/* ---------- 7) 胶囊 / 分段控件 / 下拉选择 ---------- */
.chip {
  border-color: #dcdcdc;
  color: #555;
  background: #fff;
}
.chip:hover { border-color: #111; color: #111; box-shadow: none; }
.chip.on { background: #111; border-color: #111; color: #fff; box-shadow: none; }
.cp-trigger { border-color: #dcdcdc; color: #333; }
.cp-trigger:hover { border-color: #111; color: #111; }
.cp-trigger.on { background: #111; border-color: #111; color: #fff; }
.cp-badge { background: #f0f0f0; color: #111; }
.cp-trigger.on .cp-badge { background: rgba(255, 255, 255, .25); color: #fff; }
.cp-sel {
  background: #f6f6f6;
  border-color: #e0e0e0;
  color: #333;
}
.cp-sel:hover { background: #d9534f; border-color: #d9534f; color: #fff; }
.cp-panel {
  border-color: #e5e5e5;
  border-radius: 4px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .10);
}
.col-picker .cp-quick {
  border-color: #d0d0d0;
  background: #fafafa;
  color: #555;
}
.col-picker .cp-quick:hover { background: #111; border-color: #111; color: #fff; }
.col-picker .cp-block {
  background: #fafafa;
  border-color: #ededed;
  border-radius: 3px;
}
.col-picker .cp-chip {
  border-color: #dcdcdc;
  background: #fff;
  color: #444;
}
.col-picker .cp-chip:hover { border-color: #111; color: #111; }
.col-picker .cp-chip.on { background: #111; border-color: #111; color: #fff; }
.view-tabs { border-color: #dcdcdc; border-radius: 3px; }
.view-tab { background: #fff; color: #666; }
.view-tab + .view-tab { border-left-color: #dcdcdc; }
.view-tab:hover { background: #f4f4f4; color: #111; }
.view-tab.active { background: #111; color: #fff; box-shadow: none; }
.unit-tab { border-color: #e5e5e5; color: #666; }
.unit-tab.active { background: #111; border-color: #111; color: #fff; }
.sec-tab {
  border-color: #e0e0e0;
  background: #fff;
  color: #666;
}
.sec-tab:hover { border-color: #111; color: #111; }
.sec-tab.active {
  background: #111;
  border-color: #111;
  color: #fff;
  box-shadow: none;
}
.range-preset.active { background: #f2f2f2; border-color: #111; color: #111; }
#btnCompare.active { background: #111; color: #fff; }
.diff-pos { color: #2f7d5c; }
.diff-neg { color: #a94438; }
.wk-delta.up { color: #2f7d5c; }
.wk-delta.down { color: #d9534f; }
.wk-b { color: #6b7280; background: #fafafa; }
.wk-total td { background: #f7f7f7; border-top-color: #d0d0d0; }

/* ---------- 8) 面包屑 / 页脚 / 弹窗 / Toast ---------- */
.crumbs .crumb-link { color: #111; }
.crumbs .crumb-sep { color: #ccc; }
.crumbs .crumb-cur { color: #6b7280; }
.site-footer { border-top: 1px solid #e5e5e5; color: #6b7280; }
.site-footer a { color: #6b7280; }
.modal {
  border-radius: 4px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .18);
}
.modal-mask { background: rgba(17, 17, 17, .38); }
.modal-header h3, .modal-body h4 { color: #111; }
.modal-body code {
  background: #f7f7f7;
  border-color: #ececec;
  color: #333;
  border-radius: 3px;
}
.shot-body { background: #f7f7f7; }
.toast { background: rgba(17, 17, 17, .94); border-radius: 3px; }

/* ---------- 9) 趋势分析八宫格 ---------- */
.mg-title { color: #111; }
.mg-zoom:hover { background: #f2f2f2; color: #111; }
.mg-filter, .mg-range-btn { color: #737373; border-radius: 3px; }
.mg-filter:hover, .mg-range-btn:hover { background: #f2f2f2; color: #111; }
.mg-range-btn.on { background: #f2f2f2; color: #111; }
.mg-modes { background: #fafafa; border-color: #e5e5e5; border-radius: 3px; }
.mg-mode { color: #737373; }
.mg-mode:hover { color: #111; }
.mg-mode.on { background: #fff; color: #111; box-shadow: none; }
.mg-menu { border-color: #e5e5e5; border-radius: 4px; box-shadow: 0 8px 24px rgba(0, 0, 0, .10); }
.mg-range-head { color: #111; }
.mg-range-quick { border-color: #d0d0d0; color: #666; }
.mg-range-quick:hover { border-color: #111; color: #111; background: #f5f5f5; }
.mg-range-quick.on {
  background: #f2f2f2;
  border-color: #111;
  border-style: solid;
  color: #111;
}
.mg-range-ok {
  border-color: #111;
  background: #111;
  color: #fff;
}
.mg-range-ok:hover { background: #000; }
.mg-menu-item { color: #333; }
.mg-menu-item:hover { background: #f5f5f5; }
.mg-menu-group { color: #111; border-top-color: #efefef; }
.mg-zoom-box { border-radius: 4px; box-shadow: 0 20px 50px rgba(0, 0, 0, .22); }
.mg-zoom-head { border-bottom-color: #efefef; }
.mg-zoom-title { color: #111; }
.mg-zoom-mask { background: rgba(17, 17, 17, .55); }

/* ---------- 10) 其他细碎收口 ---------- */
.spinner { border-color: #ececec; border-top-color: #111; }
.card-loading .mini-spinner { border-color: #ececec; border-top-color: #111; }
.table-note { color: #737373; }
.chart-card.picker-open { z-index: 60; }

/* ---------- 11) 压过 layout-v3 的「金融墨绿」皮肤 ----------
   layout-v3 第 16~17 节（雪球浅色 + 金融墨绿）用 html[data-theme="light"] 前缀
   重写了强调色，部分还把 #0E7C66 直接写死，令牌改不动。本小节以同名选择器
   再次声明（主题 D 排在最后加载，同权重后者胜出），把强调色收回到黑/红。 */
html:root,
html[data-theme="light"] {
  --v3-bg: #ffffff;
  --xq-bg: #ffffff;
  --xq-line: #e5e5e5;
  --pg-accent: #111111;
  --pg-accent-soft: rgba(17, 17, 17, .06);
  --xq-blue: #111111;
  --xq-red: #d9534f;
  --xq-green: #2f7d5c;
  --xq-text: #111111;
  --xq-sub: #6b7280;
  --v3-sub: #555c66;
  --v3-muted: #737373;
  --v3-line: #e5e5e5;
}
html[data-theme="light"] body { background: #fff; }
html[data-theme="light"] .site-footer,
html[data-theme="light"] .site-footer a { color: #6b7280; }
html[data-theme="light"] .side-logo { background: #111 !important; }
html[data-theme="light"] .btn.primary {
  background: #111;
  border-color: #111;
  color: #fff;
  box-shadow: none;
}
html[data-theme="light"] .btn:hover { border-color: #111; color: #111; background: #f7f7f7; }
html body .tab-select:hover { border-color: #111; color: #111; }
html[data-theme="light"] body.has-topnav .side-group.on,
html[data-theme="light"] body.has-topnav .side-group:hover {
  background: #f2f2f2;
  color: #111;
  box-shadow: inset 0 -2px 0 #111;
}
html[data-theme="light"] .side-link.sf-cur {
  background: #111;
  color: #fff;
  box-shadow: none;
}
html[data-theme="light"] .side-link.sf-cur::before { background: var(--accent); }
html[data-theme="light"] .side-link:hover { background: #f4f4f4; color: #111; }
html[data-theme="light"] .sh-tabs .tab.active,
html[data-theme="light"] .sh-tabs .view-tab.active {
  color: #111;
  border-bottom-color: #111;
}
html[data-theme="light"] .chart-title,
html[data-theme="light"] .heat-chart-head h3 { border-left-color: #111; }
html body .kpi-grid > *:hover,
html body .heat-grid > *:hover { background: rgba(17, 17, 17, .03); }
html body .wb-delta.up { color: #2f7d5c; background: #eef3ef; }
html body .wb-delta.down { color: #d9534f; background: #fbf0ef; }

/* ---------- 12) 收回各页内联样式里的深蓝强调 ----------
   页面模板自带的 <style> 排在主题之后，同类选择器它们赢，只能用 !important 收回。
   这里只动「控件外观 + 文字强调色」，图表里的系列色、涨跌色、状态灯不动。 */
html body .sh-title,
html body .pf-title,
html body .pf-chip b,
html body .pf-imp-pct,
html body .toolbar-info h3,
html body .tp-group-name,
html body a.nav-card { color: #111 !important; }
html body .tp-sub3-name { color: #555 !important; }
html body .hs-wf { color: #8a6100 !important; }

/* 选中态胶囊 / 页签：统一黑底白字 */
html body .cv-tab.active,
html body .ud-tab.active,
html body .type-tab.on,
html body .hour-chip.on,
html body .ud-sect .ud-sec-no {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
  box-shadow: none !important;
}
html body .cv-tabs { background: #f2f2f2 !important; border-color: #e5e5e5 !important; border-radius: 6px; }
html body .cv-tab,
html body .hour-chip { border-radius: 3px; }
html body .cv-tab:hover,
html body .ud-tab:hover,
html body .type-tab:hover,
html body .hour-chip:hover { background: #ececec !important; border-color: #111 !important; color: #111 !important; }
html body .hour-chip.on .dot { background: #d9534f !important; }

/* 表头浅蓝底 → 浅灰底黑字 */
html body .hour-stats th { background: #f7f7f7 !important; color: #111 !important; }
html body .hour-stats th, html body .hour-stats td { border-color: #e8e8e8 !important; }
html body .fc-cand-scroll .heat-table tr.fc-best td { background: #f5f5f5 !important; color: #111 !important; }
html body .fc-cand-scroll .heat-table tr.fc-best td:first-child::before { color: #d9534f !important; }

/* 复选框选中态、分组小标题、合同编号链接 */
html body .tp-check-on,
html body .tp-check-partial { background: #111 !important; border-color: #111 !important; }
html body .tp-check { border-color: #cfcfcf !important; border-radius: 2px; }
html body .tp-sub2-name { color: #111 !important; }
html body .cv-link { color: #111 !important; text-decoration: underline; text-underline-offset: 2px; }
html body .cv-link:hover { color: #d9534f !important; }

/* 结算表格：浅蓝底/深蓝字 → 浅灰底黑字（合计列、选中行、表尾、时间列） */
html body .st-table tr.st-sel td { background: #e9e9e9 !important; color: #111 !important; }
html body .st-table tfoot td { background: #f5f5f5 !important; color: #111 !important; }
html body .st-sheet td.sum,
html body .st-sheet tr.sheet-total td { background: #f5f5f5 !important; color: #111 !important; }
html body .st-sheet .sh-time,
html body .st-sheet td.sh-time { background: #fafafa !important; color: #111 !important; }
html body .st-unit-title,
html body .st-rules b { color: #111 !important; }
html body .st-rules code { background: #f2f2f2 !important; color: #111 !important; }
html body .st-field select, html body .st-field input { border-color: #dcdcdc !important; color: #111 !important; border-radius: 3px; }

/* 首页看板卡、披露导航卡：链接默认蓝色收回黑色 */
html body a.wb-kpi,
html body a.nav-card,
html body .wb-ic { color: #111 !important; }
html body .nav-card { background: #fff !important; border-color: #e5e5e5 !important; border-radius: 3px; box-shadow: none !important; }
html body .nav-card:hover { border-color: #111 !important; transform: none; }
html body .nav-card .nc-t { color: #111 !important; }

/* 趋势 / 分时 / 预测页里的浅灰提示文字：#94a3b8 在白底只有 2.6:1，提到能读 */
html body .trend-title,
html body .trend-title small,
html body .tp-parent-name { color: #111 !important; }
html body .range-info,
html body .cp-hint,
html body .col-empty { color: #737373 !important; }

/* 兜底：没有自带颜色的链接不再落到浏览器默认蓝；负值红加深到能读 */
html body a { color: inherit; }
html body .st-table td.neg,
html body .daily-table td.neg,
html body .heat-table td.neg-num { color: #c0392b !important; }
html body .trend-card-title,
html body .tp-badge { color: #111 !important; }
html body .tp-badge { background: #ececec !important; }
html body .trend-kpi-empty { color: #737373 !important; }
html body #qMonthChip,
html body #qMonthChip .btn { background: #f4f4f4 !important; border-color: #e5e5e5 !important; color: #111 !important; }

/* 各页内联 style="color:#94a3b8" 的浅灰小注：属性选择器一次性兜住，不用逐类补 */
html body [style*="#94a3b8" i],
html body .tsl-note { color: #737373 !important; }

/* ---------- 14) 页面自带 :root 调色板（天气 / 驾驶舱）也要跟着换肤 ----------
   这两页在正文 <style> 里重写了一遍 :root，权重和主题令牌相同却排在后面，
   所以把主题令牌提到 html:root（多一个元素选择器）就能压过它们。
   数据系列色（--blue/--teal/--purple/--up/--down）不动。 */
html:root,
html[data-theme="light"] {
  --brand: #111111;
  --brand-deep: #111111;
  --brand-weak: #f2f2f2;
  --brand-grad: #111111;
  --bg: #ffffff;
  --card: #ffffff;
  --line: #e5e5e5;
  --txt: #111111;
  --sub: #6b7280;
  --shadow: none;
}

/* 天气页整套自带皮肤（pages-special 用 body.page-x.page-x 提权）里剩下的蓝 */
body.page-weather.page-weather { background: #fff; color: #111; }
body.page-weather.page-weather .dcard.today { border-color: #111 !important; box-shadow: none !important; }
html body .center-note { color: #737373; }
