/**
 * 时段主色：官网 + OOSYS 共用。依赖 html[data-time-theme]（由 photov-time-theme.js 写入）。
 * 墙钟时区由 photov-time-theme.js 解析：默认用浏览器系统时区（Intl）；可选 html[data-time-theme-wall] 或
 * localStorage.photov_time_theme_wall（IANA 名）覆盖。时区校验用 Intl 构造器，避免仅用「能否取到 hour」误判。
 * 档位：night · morning · afternoon · evening（17–20）· dusk（20–22 入暮过渡）
 * 诊断：data-time-theme-wall、data-time-theme-wall-src（html|localStorage|browser|utc）、
 * data-time-theme-hour、data-time-theme-clock（zone|fallback-local）、data-time-theme-local-tz。
 * 使用 !important 覆盖各页内联 body background；OOSYS 另铺一层更饱和的 chrome 底便于肉眼区分时段。
 */

html {
  transition: background-color 0.5s ease;
}

/* —— 夜 22–6：冷色深底 —— */
html[data-time-theme="night"] {
  color-scheme: dark;
  --pv-accent: #8ab4f8;
  --pv-accent-soft: rgba(138, 180, 248, 0.22);
  --pv-page-bg: radial-gradient(1200px 700px at 12% 0%, rgba(100, 140, 255, 0.18), transparent 55%),
    radial-gradient(900px 500px at 88% 20%, rgba(56, 189, 248, 0.1), transparent 50%),
    linear-gradient(168deg, #0a0e18 0%, #121a2a 42%, #161d2e 100%);
  --pv-text: #e8edf7;
  --pv-muted: rgba(232, 237, 247, 0.72);
  --pv-nav-bg: rgba(14, 18, 30, 0.92);
  --pv-nav-border: rgba(138, 180, 248, 0.35);
  --pv-card-surface: rgba(255, 255, 255, 0.06);
  --pv-container-border: rgba(138, 180, 248, 0.28);
}

/* —— 晨 6–12：暖金晨光 —— */
html[data-time-theme="morning"] {
  color-scheme: light;
  --pv-accent: #c77800;
  --pv-accent-soft: rgba(199, 120, 0, 0.18);
  --pv-page-bg: radial-gradient(1000px 600px at 15% -10%, rgba(255, 214, 140, 0.55), transparent 52%),
    radial-gradient(800px 480px at 90% 10%, rgba(255, 183, 77, 0.22), transparent 48%),
    linear-gradient(180deg, #fffaf2 0%, #fff5eb 35%, #faf8f5 100%);
  --pv-text: #1a1a1a;
  --pv-muted: rgba(26, 26, 26, 0.62);
  --pv-nav-bg: rgba(255, 252, 246, 0.94);
  --pv-nav-border: rgba(199, 120, 0, 0.35);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(199, 120, 0, 0.22);
}

/* —— 昼 12–17：清透天蓝 —— */
html[data-time-theme="afternoon"] {
  color-scheme: light;
  --pv-accent: #0b79d0;
  --pv-accent-soft: rgba(11, 121, 208, 0.14);
  --pv-page-bg: radial-gradient(1100px 640px at 10% 0%, rgba(120, 200, 255, 0.35), transparent 55%),
    radial-gradient(700px 420px at 95% 15%, rgba(0, 150, 200, 0.12), transparent 45%),
    linear-gradient(185deg, #f4f9ff 0%, #eef6fc 45%, #f7f9fb 100%);
  --pv-text: #0f1720;
  --pv-muted: rgba(15, 23, 32, 0.58);
  --pv-nav-bg: rgba(255, 255, 255, 0.92);
  --pv-nav-border: rgba(11, 121, 208, 0.28);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(11, 121, 208, 0.2);
}

/* —— 暮 17–20：霞紫暖调（日落后仍偏昼感）—— */
html[data-time-theme="evening"] {
  color-scheme: light;
  --pv-accent: #7c4dff;
  --pv-accent-soft: rgba(124, 77, 255, 0.2);
  --pv-page-bg: radial-gradient(1000px 620px at 8% 0%, rgba(255, 160, 122, 0.28), transparent 50%),
    radial-gradient(900px 520px at 92% 8%, rgba(124, 77, 255, 0.2), transparent 48%),
    linear-gradient(168deg, #fff5f0 0%, #f3edff 38%, #f8f6fb 100%);
  --pv-text: #1a1428;
  --pv-muted: rgba(26, 20, 40, 0.62);
  --pv-nav-bg: rgba(255, 250, 252, 0.93);
  --pv-nav-border: rgba(124, 77, 255, 0.3);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(124, 77, 255, 0.22);
}

/* —— 入暮过渡 20–22：接夜前，余暖 + 靛底，比暮暗、比夜深浅 —— */
html[data-time-theme="dusk"] {
  color-scheme: dark;
  --pv-accent: #c4b5fd;
  --pv-accent-soft: rgba(196, 181, 253, 0.22);
  --pv-page-bg: radial-gradient(920px 560px at 10% 0%, rgba(255, 150, 130, 0.14), transparent 52%),
    radial-gradient(780px 480px at 92% 12%, rgba(99, 102, 241, 0.22), transparent 50%),
    linear-gradient(170deg, #1e2436 0%, #252d42 38%, #2c3548 100%);
  --pv-text: #e8eaf3;
  --pv-muted: rgba(232, 234, 243, 0.68);
  --pv-nav-bg: rgba(22, 26, 40, 0.92);
  --pv-nav-border: rgba(196, 181, 253, 0.28);
  --pv-card-surface: rgba(255, 255, 255, 0.07);
  --pv-container-border: rgba(196, 181, 253, 0.22);
}

/* 未跑脚本前：默认昼 */
html:not([data-time-theme]) {
  --pv-accent: #0b79d0;
  --pv-accent-soft: rgba(11, 121, 208, 0.12);
  --pv-page-bg: #f4f9ff;
  --pv-text: #0f1720;
  --pv-muted: rgba(15, 23, 32, 0.55);
  --pv-nav-bg: #ffffff;
  --pv-nav-border: rgba(0, 0, 0, 0.12);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(0, 0, 0, 0.12);
}

/* —— 全站 body（覆盖内联 background）—— */
html[data-time-theme] body {
  background: var(--pv-page-bg) !important;
  color: var(--pv-text);
  transition: background 0.45s ease, color 0.35s ease;
}

/* —— PHOTOV 官网顶栏 .nav —— */
html[data-time-theme] body .nav {
  background: var(--pv-nav-bg) !important;
  border-bottom-color: var(--pv-nav-border) !important;
  transition: background 0.45s ease, border-color 0.35s ease;
}
html[data-time-theme] body .nav a {
  color: var(--pv-text) !important;
}
html[data-time-theme="night"] body .nav .nav-download,
html[data-time-theme="dusk"] body .nav .nav-download {
  background: var(--pv-accent) !important;
  color: #0f141f !important;
}
html[data-time-theme="morning"] body .nav .nav-download,
html[data-time-theme="afternoon"] body .nav .nav-download,
html[data-time-theme="evening"] body .nav .nav-download {
  background: var(--pv-text) !important;
  color: #fff !important;
}

html[data-time-theme] body .container {
  border-left-color: var(--pv-container-border) !important;
  border-right-color: var(--pv-container-border) !important;
}

/* —— OOSYS：顶栏与主卡片（:has 避免影响无 .top-nav 的官网页）—— */
html[data-time-theme] body .top-nav {
  border-bottom-color: var(--pv-nav-border) !important;
  transition: border-color 0.35s ease;
}

/* OOSYS：sticky 顶栏容器（一级 + 二级），长页滚动仍可切换分栏 */
html[data-time-theme] body:has(.top-nav) .oosys-chrome {
  position: sticky;
  top: 0;
  z-index: 10040;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 14px rgba(15, 23, 32, 0.07);
}
html[data-time-theme="morning"] body:has(.top-nav) .oosys-chrome {
  background: rgba(255, 252, 246, 0.94);
}
html[data-time-theme="afternoon"] body:has(.top-nav) .oosys-chrome {
  background: rgba(244, 249, 255, 0.94);
}
html[data-time-theme="evening"] body:has(.top-nav) .oosys-chrome {
  background: rgba(255, 248, 252, 0.94);
}
html[data-time-theme="dusk"] body:has(.top-nav) .oosys-chrome,
html[data-time-theme="night"] body:has(.top-nav) .oosys-chrome {
  background: rgba(14, 18, 30, 0.92);
  box-shadow: 0 4px 22px rgba(0, 0, 0, 0.38);
}

html[data-time-theme="night"] body:has(.top-nav) .container,
html[data-time-theme="dusk"] body:has(.top-nav) .container {
  background: var(--pv-card-surface) !important;
  color: var(--pv-text);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

html[data-time-theme="night"] body:has(.top-nav) .container h1,
html[data-time-theme="night"] body:has(.top-nav) .container h2,
html[data-time-theme="night"] body:has(.top-nav) h1,
html[data-time-theme="dusk"] body:has(.top-nav) .container h1,
html[data-time-theme="dusk"] body:has(.top-nav) .container h2,
html[data-time-theme="dusk"] body:has(.top-nav) h1 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body .nav-secondary,
html[data-time-theme="dusk"] body .nav-secondary {
  background: rgba(14, 18, 30, 0.55) !important;
  border-bottom-color: var(--pv-nav-border) !important;
}

html[data-time-theme="morning"] body .nav-secondary,
html[data-time-theme="afternoon"] body .nav-secondary,
html[data-time-theme="evening"] body .nav-secondary {
  background: rgba(255, 255, 255, 0.55) !important;
}

/* —— OOSYS：与旧 #f5f5f5 / #f0f4f8 拉开差距，时段一眼可辨 —— */
html[data-time-theme="morning"] body:has(.top-nav) {
  background: linear-gradient(185deg, #fff4e0 0%, #ffe8c8 28%, #faf4ee 72%, #f7f2ea 100%) !important;
}
html[data-time-theme="afternoon"] body:has(.top-nav) {
  background: linear-gradient(188deg, #cfe8ff 0%, #dbeafe 32%, #e8f4fc 70%, #f0f7fc 100%) !important;
}
html[data-time-theme="evening"] body:has(.top-nav) {
  background: linear-gradient(182deg, #ffe8f0 0%, #f3e8ff 35%, #faf5fb 75%, #f8f6fc 100%) !important;
}
html[data-time-theme="dusk"] body:has(.top-nav) {
  background: radial-gradient(880px 500px at 14% 0%, rgba(255, 130, 110, 0.1), transparent 50%),
    radial-gradient(760px 440px at 86% 8%, rgba(129, 140, 248, 0.2), transparent 48%),
    linear-gradient(170deg, #1a2130 0%, #222a3c 42%, #2a3348 100%) !important;
}
html[data-time-theme="night"] body:has(.top-nav) {
  background: radial-gradient(900px 520px at 18% 0%, rgba(120, 160, 255, 0.22), transparent 52%),
    linear-gradient(168deg, #0b101c 0%, #121a2c 45%, #181f30 100%) !important;
}

/* —— OOSYS 夜 / 入暮：正文与表格内大量内联 #333/#555 等，用 !important 提亮（不碰顶栏彩色 pill 的 a）—— */
html[data-time-theme="night"] body:has(.top-nav) .container :where(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    li,
    dt,
    dd,
    td,
    th,
    label,
    small,
    summary,
    strong,
    b,
    figcaption
  ),
html[data-time-theme="dusk"] body:has(.top-nav) .container :where(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    li,
    dt,
    dd,
    td,
    th,
    label,
    small,
    summary,
    strong,
    b,
    figcaption
  ) {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container :where(.hint, .bm-hint, .sub, .oosys-stub-hint, .loading),
html[data-time-theme="dusk"] body:has(.top-nav) .container :where(.hint, .bm-hint, .sub, .oosys-stub-hint, .loading) {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container :where(.error, .err, .err-box),
html[data-time-theme="dusk"] body:has(.top-nav) .container :where(.error, .err, .err-box) {
  color: #ffcdd2 !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container :where(.success, .msg.success),
html[data-time-theme="dusk"] body:has(.top-nav) .container :where(.success, .msg.success) {
  color: #c8e6c9 !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container code,
html[data-time-theme="dusk"] body:has(.top-nav) .container code {
  color: #c5d6f5 !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container a,
html[data-time-theme="dusk"] body:has(.top-nav) .container a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .top-nav a,
html[data-time-theme="dusk"] body:has(.top-nav) .container .top-nav a {
  color: #fff !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .top-nav a.nav-business,
html[data-time-theme="night"] body:has(.top-nav) .container .top-nav a.nav-business.current,
html[data-time-theme="dusk"] body:has(.top-nav) .container .top-nav a.nav-business,
html[data-time-theme="dusk"] body:has(.top-nav) .container .top-nav a.nav-business.current {
  color: #3d3200 !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container input,
html[data-time-theme="night"] body:has(.top-nav) .container textarea,
html[data-time-theme="night"] body:has(.top-nav) .container select,
html[data-time-theme="dusk"] body:has(.top-nav) .container input,
html[data-time-theme="dusk"] body:has(.top-nav) .container textarea,
html[data-time-theme="dusk"] body:has(.top-nav) .container select {
  color: var(--pv-text) !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(138, 180, 248, 0.35) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container th,
html[data-time-theme="dusk"] body:has(.top-nav) .container th {
  color: var(--pv-text) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container td,
html[data-time-theme="dusk"] body:has(.top-nav) .container td {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .sub-tabs a,
html[data-time-theme="dusk"] body:has(.top-nav) .container .sub-tabs a {
  color: var(--pv-muted) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .sub-tabs a.active,
html[data-time-theme="dusk"] body:has(.top-nav) .container .sub-tabs a.active {
  color: var(--pv-accent) !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .nav-secondary a,
html[data-time-theme="dusk"] body:has(.top-nav) .nav-secondary a {
  color: var(--pv-text) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(138, 180, 248, 0.28) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .nav-secondary a[class*="current"],
html[data-time-theme="night"] body:has(.top-nav) .nav-secondary a.current,
html[data-time-theme="dusk"] body:has(.top-nav) .nav-secondary a[class*="current"],
html[data-time-theme="dusk"] body:has(.top-nav) .nav-secondary a.current {
  background: rgba(138, 180, 248, 0.32) !important;
  color: #f8fafc !important;
  border-color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .nav-secondary .nav-sep,
html[data-time-theme="night"] body:has(.top-nav) .nav-secondary .asset-subnav-sep,
html[data-time-theme="dusk"] body:has(.top-nav) .nav-secondary .nav-sep,
html[data-time-theme="dusk"] body:has(.top-nav) .nav-secondary .asset-subnav-sep {
  color: rgba(232, 237, 247, 0.42) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .top-nav .nav-sep,
html[data-time-theme="dusk"] body:has(.top-nav) .top-nav .nav-sep {
  color: rgba(255, 255, 255, 0.55) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .nav-logout,
html[data-time-theme="dusk"] body:has(.top-nav) .nav-logout {
  color: rgba(232, 237, 247, 0.65) !important;
}

/* 资产页等：内联写在 style 块里的 KPI / 说明色 */
html[data-time-theme="night"] body:has(.top-nav) .container .asset-intro,
html[data-time-theme="night"] body:has(.top-nav) .container .asset-meta,
html[data-time-theme="night"] body:has(.top-nav) .container .asset-empty,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-intro,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-meta,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-empty {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .asset-kpi .k,
html[data-time-theme="night"] body:has(.top-nav) .container .asset-kpi .v-detail,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-kpi .k,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-kpi .v-detail {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .asset-kpi .v,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-kpi .v {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .asset-layer h2,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-layer h2 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .asset-pie-legend .lb,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-pie-legend .lb {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container .asset-pie-legend .nv,
html[data-time-theme="dusk"] body:has(.top-nav) .container .asset-pie-legend .nv {
  color: var(--pv-text) !important;
}

/* 常见内联灰/黑字（OOSYS 模板 style=""） */
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#333"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #333"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#555"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #555"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#666"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #666"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#444"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #444"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#37474f"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #37474f"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#607d8b"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #607d8b"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#78909c"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #78909c"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#455a64"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #455a64"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#263238"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #263238"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#888"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #888"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#333"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #333"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#555"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #555"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#666"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #666"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#444"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #444"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#37474f"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #37474f"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#607d8b"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #607d8b"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#78909c"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #78909c"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#455a64"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #455a64"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#263238"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #263238"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#888"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #888"] {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#c62828"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #c62828"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#b71c1c"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #b71c1c"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#c62828"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #c62828"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#b71c1c"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #b71c1c"] {
  color: #ffb4a8 !important;
}

html[data-time-theme="night"] body:has(.top-nav) .container [style*="color:#5d4037"],
html[data-time-theme="night"] body:has(.top-nav) .container [style*="color: #5d4037"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color:#5d4037"],
html[data-time-theme="dusk"] body:has(.top-nav) .container [style*="color: #5d4037"] {
  color: var(--pv-muted) !important;
}

/* —— 官网价格页 pricing.html：夜间/入暮中层 `.container` 深色带，压住内联浅色底，正文与表统一 token —— */
html[data-time-theme="night"] body:is(.period-year, .period-month) .container {
  background: linear-gradient(180deg, rgba(14, 18, 30, 0.94) 0%, rgba(10, 13, 22, 0.92) 52%, rgba(8, 11, 18, 0.9) 100%) !important;
}

html[data-time-theme="dusk"] body:is(.period-year, .period-month) .container {
  background: linear-gradient(180deg, rgba(26, 30, 44, 0.93) 0%, rgba(20, 24, 36, 0.9) 52%, rgba(16, 20, 32, 0.88) 100%) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .container [style*="color:#555"],
html[data-time-theme="night"] body:is(.period-year, .period-month) .container [style*="color: #555"],
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .container [style*="color:#555"],
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .container [style*="color: #555"],
html[data-time-theme="night"] body:is(.period-year, .period-month) .container [style*="color:#666"],
html[data-time-theme="night"] body:is(.period-year, .period-month) .container [style*="color: #666"],
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .container [style*="color:#666"],
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .container [style*="color: #666"] {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-hero,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-hero {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-hero h1,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-hero h1 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-hero p,
html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-hero .hero-note,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-hero p,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-hero .hero-note {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-hero strong,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-hero strong {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card {
  background: rgba(0, 0, 0, 0.24) !important;
  border-color: var(--pv-container-border) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card:hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card:hover {
  border-color: rgba(138, 180, 248, 0.45) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card.selected,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card.selected {
  border-color: var(--pv-accent) !important;
  box-shadow: 0 0 0 2px rgba(138, 180, 248, 0.35) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"],
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] {
  background: linear-gradient(180deg, rgba(184, 134, 11, 0.12) 0%, rgba(0, 0, 0, 0.2) 100%) !important;
  border-color: rgba(230, 200, 120, 0.36) !important;
  box-shadow: none !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-header,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-header {
  color: #f0d78c !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-desc,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-desc {
  color: rgba(240, 215, 140, 0.88) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .voucher-code-inline,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .voucher-code-inline {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(230, 200, 120, 0.55) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-header,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-header {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-price,
html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-price .unit,
html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-desc,
html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-benefits li,
html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-note,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-price,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-price .unit,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-desc,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-benefits li,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-note {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body.period-month .pricing-card[data-tier="personal"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="night"] body.period-month .pricing-card[data-tier="master"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="dusk"] body.period-month .pricing-card[data-tier="personal"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="dusk"] body.period-month .pricing-card[data-tier="master"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note) {
  color: #9ecbff !important;
}

html[data-time-theme="night"] body.period-year .pricing-card[data-tier="personal"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="night"] body.period-year .pricing-card[data-tier="master"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="dusk"] body.period-year .pricing-card[data-tier="personal"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note),
html[data-time-theme="dusk"] body.period-year .pricing-card[data-tier="master"] :is(.pricing-card-header, .pricing-card-price, .pricing-card-price .unit, .pricing-card-desc, .pricing-card-benefits li, .pricing-card-note) {
  color: #efd27a !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-card-benefits li,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-card-benefits li {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-selected-intro,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-selected-intro {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-selected-intro h2,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-selected-intro h2 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block li,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block li {
  color: var(--pv-muted) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block strong,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block strong {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-compare,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-compare {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-compare h2,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-compare h2 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table th,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table th {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.08) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table td,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table td {
  color: var(--pv-muted) !important;
  background: rgba(0, 0, 0, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table tbody tr.sub-item td:first-child,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table tbody tr.sub-item td:first-child {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table .cell-check .check,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table .cell-check .check {
  color: #7ae582 !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table .cell-check .dash,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table .cell-check .dash {
  color: rgba(232, 237, 247, 0.45) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table .cell-pay-note,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table .cell-pay-note {
  color: rgba(232, 237, 247, 0.55) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table tr.section-header td,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table tr.section-header td {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table thead th:hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table thead th:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: inset 0 0 0 2px rgba(138, 180, 248, 0.32) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table thead th[data-tier]:hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table thead th[data-tier]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: inset 0 0 0 2px rgba(138, 180, 248, 0.38) !important;
}

html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table thead th[data-tier]:hover {
  box-shadow: inset 0 0 0 2px rgba(196, 181, 253, 0.38) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-voucher,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-voucher {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-voucher h2,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-voucher h2 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .pricing-voucher p,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .pricing-voucher p {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .voucher-code,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .voucher-code {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(138, 180, 248, 0.35) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .copyright,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-links a,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-lang-trigger,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-lang-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-lang-menu,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-lang-menu {
  background: rgba(22, 28, 42, 0.98) !important;
  border-color: rgba(138, 180, 248, 0.3) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-lang-menu button,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .footer-lang-menu button.active {
  background: var(--pv-accent) !important;
  color: #0a0e18 !important;
}

/* 价格表：选中方案列（原 rgba 金底在夜模式下偏「没进夜」） */
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table thead th:nth-child(2),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table td:nth-child(2):not([colspan]),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table thead th:nth-child(3),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table td:nth-child(3):not([colspan]),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table thead th:nth-child(4),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table td:nth-child(4):not([colspan]),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table thead th:nth-child(5),
html[data-time-theme="night"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table td:nth-child(5):not([colspan]),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table thead th:nth-child(2),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table td:nth-child(2):not([colspan]),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table thead th:nth-child(3),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table td:nth-child(3):not([colspan]),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table thead th:nth-child(4),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table td:nth-child(4):not([colspan]),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table thead th:nth-child(5),
html[data-time-theme="dusk"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table td:nth-child(5):not([colspan]) {
  background: rgba(184, 134, 11, 0.14) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table td:nth-child(2):not([colspan]):hover,
html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table td:nth-child(3):not([colspan]):hover,
html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table td:nth-child(4):not([colspan]):hover,
html[data-time-theme="night"] body:is(.period-year, .period-month) .compare-table td:nth-child(5):not([colspan]):hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table td:nth-child(2):not([colspan]):hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table td:nth-child(3):not([colspan]):hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table td:nth-child(4):not([colspan]):hover,
html[data-time-theme="dusk"] body:is(.period-year, .period-month) .compare-table td:nth-child(5):not([colspan]):hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* —— 下载页 download.html：仅 night，左侧媒体列 / 占位图过亮 —— */
html[data-time-theme="night"] body:has(.download-hero) .download-block {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .download-block-media {
  background: rgba(8, 12, 22, 0.55) !important;
  border-right-color: rgba(255, 255, 255, 0.08) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .download-block-media .img-placeholder {
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.03),
    rgba(255, 255, 255, 0.03) 8px,
    rgba(255, 255, 255, 0.065) 8px,
    rgba(255, 255, 255, 0.065) 16px
  ) !important;
  color: var(--pv-muted) !important;
}

/* 下载页：页脚链接 / 版权 / 语言（内联 #000）—— night + 入暮 */
html[data-time-theme="night"] body:has(.download-hero) .footer,
html[data-time-theme="dusk"] body:has(.download-hero) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .copyright,
html[data-time-theme="dusk"] body:has(.download-hero) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-links a,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-links a:hover,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-links a:hover {
  opacity: 0.88 !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-trigger,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-trigger:hover,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-menu,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu {
  background: rgba(22, 28, 42, 0.98) !important;
  border-color: rgba(138, 180, 248, 0.3) !important;
}

html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu {
  border-color: rgba(196, 181, 253, 0.32) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-menu button,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu button.active {
  background: var(--pv-accent) !important;
  color: #0a0e18 !important;
}

html[data-time-theme="dusk"] body:has(.download-hero) .footer-lang-menu button.active {
  color: #1a1628 !important;
}

html[data-time-theme="night"] body:has(.download-hero) .download-hero .legal,
html[data-time-theme="dusk"] body:has(.download-hero) .download-hero .legal {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.download-hero) .download-hero .legal a,
html[data-time-theme="dusk"] body:has(.download-hero) .download-hero .legal a {
  color: var(--pv-accent) !important;
}

/* —— 资源页 resources.html（body 含 .section.resources）—— */
html[data-time-theme="night"] body:has(.section.resources) .container,
html[data-time-theme="dusk"] body:has(.section.resources) .container {
  background: transparent !important;
}

html[data-time-theme="night"] body:has(.section.resources) .section,
html[data-time-theme="dusk"] body:has(.section.resources) .section {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .section-title,
html[data-time-theme="dusk"] body:has(.section.resources) .section-title {
  color: var(--pv-text) !important;
}

/* 独立 resources.html（无首页 #resources）：手册等链接内联 #000，须与 span 一并压过 */
html[data-time-theme="night"] body:has(.section.resources):not(:has(#resources)) section.section.resources a,
html[data-time-theme="night"] body:has(.section.resources):not(:has(#resources)) section.section.resources a span,
html[data-time-theme="dusk"] body:has(.section.resources):not(:has(#resources)) section.section.resources a,
html[data-time-theme="dusk"] body:has(.section.resources):not(:has(#resources)) section.section.resources a span {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.section.resources):not(:has(#resources)) section.section.resources a {
  border-bottom-color: rgba(138, 180, 248, 0.4) !important;
}

html[data-time-theme="dusk"] body:has(.section.resources):not(:has(#resources)) section.section.resources a {
  border-bottom-color: rgba(196, 181, 253, 0.4) !important;
}

/* —— 手册 manual.html / manual-minip.html / manual-android.html（body 含 .manual-hero）—— */
html[data-time-theme="night"] body:has(.manual-hero) .container,
html[data-time-theme="dusk"] body:has(.manual-hero) .container {
  background: transparent !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero h1,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero h1 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero h2,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero h2 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero .intro,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero .intro {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero a,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme="night"] body:has(.manual-hero) .manual-toc,
html[data-time-theme="dusk"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc {
  background: rgba(6, 10, 18, 0.78) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="dusk"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc {
  background: rgba(16, 20, 32, 0.72) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-toc p,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc p {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-toc li,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc li {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-toc a,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-toc a:hover,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-toc a:hover {
  color: color-mix(in srgb, var(--pv-accent) 88%, #ffffff) !important;
}

/* 手册内联 #333 段落与 <strong> 关键词：夜暮统一到前景色（cover .manual-hero .intro） */
html[data-time-theme="night"] body:has(.manual-hero) .manual-hero .intro[style*="color"],
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero .intro[style*="color"] {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-hero .intro strong,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-hero .intro strong {
  color: color-mix(in srgb, var(--pv-text) 78%, var(--pv-accent) 22%) !important;
  font-weight: 650 !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section h2,
html[data-time-theme="night"] body:has(.manual-hero) .manual-section h3,
html[data-time-theme="night"] body:has(.manual-hero) .manual-section h4,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section h2,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section h3,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section h4 {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section p,
html[data-time-theme="night"] body:has(.manual-hero) .manual-section li,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section p,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section li {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section strong,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section strong {
  color: color-mix(in srgb, var(--pv-text) 78%, var(--pv-accent) 22%) !important;
  font-weight: 650 !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section a,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section th,
html[data-time-theme="night"] body:has(.manual-hero) .manual-section td,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section th,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section td {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section th,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section th {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section td,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section td {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.manual-hero) .manual-section code,
html[data-time-theme="dusk"] body:has(.manual-hero) .manual-section code {
  color: #c5d6f5 !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* 资源页 + 手册页：页脚与语言菜单（与价格页一致） */
html[data-time-theme="night"] body:has(.section.resources) .footer,
html[data-time-theme="night"] body:has(.manual-hero) .footer,
html[data-time-theme="dusk"] body:has(.section.resources) .footer,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .copyright,
html[data-time-theme="night"] body:has(.manual-hero) .copyright,
html[data-time-theme="dusk"] body:has(.section.resources) .copyright,
html[data-time-theme="dusk"] body:has(.manual-hero) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-links a,
html[data-time-theme="night"] body:has(.manual-hero) .footer-links a,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-links a,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-lang-trigger,
html[data-time-theme="night"] body:has(.manual-hero) .footer-lang-trigger,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-lang-trigger,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-lang-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-lang-menu,
html[data-time-theme="night"] body:has(.manual-hero) .footer-lang-menu,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-lang-menu,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-lang-menu {
  background: rgba(22, 28, 42, 0.98) !important;
  border-color: rgba(138, 180, 248, 0.3) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-lang-menu button,
html[data-time-theme="night"] body:has(.manual-hero) .footer-lang-menu button,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-lang-menu button,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-lang-menu button:hover,
html[data-time-theme="night"] body:has(.manual-hero) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.section.resources) .footer-lang-menu button.active,
html[data-time-theme="night"] body:has(.manual-hero) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:has(.section.resources) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:has(.manual-hero) .footer-lang-menu button.active {
  background: var(--pv-accent) !important;
  color: #0a0e18 !important;
}

/* —— 首页 index.html 底部（唯一含 #download.download-strip）：更多资源白底过亮、下载条/协议行黑字 —— */
html[data-time-theme="night"] body:has(#download) #resources,
html[data-time-theme="dusk"] body:has(#download) #resources {
  background: rgba(255, 255, 255, 0.09) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(#download) #resources .section-headline-sm,
html[data-time-theme="dusk"] body:has(#download) #resources .section-headline-sm {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(#download) #resources .resource-card,
html[data-time-theme="dusk"] body:has(#download) #resources .resource-card {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

html[data-time-theme="night"] body:has(#download) #resources .resource-card:hover,
html[data-time-theme="dusk"] body:has(#download) #resources .resource-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}

html[data-time-theme="night"] body:has(#download) #resources .resource-card:hover {
  border-color: rgba(138, 180, 248, 0.45) !important;
}

html[data-time-theme="dusk"] body:has(#download) #resources .resource-card:hover {
  border-color: rgba(196, 181, 253, 0.5) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip,
html[data-time-theme="dusk"] body:has(#download) .download-strip {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-label,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-label {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-links a,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-links a:hover,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-links a:hover {
  border-bottom-color: var(--pv-accent) !important;
  opacity: 0.92 !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-meta,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-meta {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-legal,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-legal {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-legal a,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-legal a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(#download) .download-strip .strip-legal a:hover,
html[data-time-theme="dusk"] body:has(#download) .download-strip .strip-legal a:hover {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(#download) .footer,
html[data-time-theme="dusk"] body:has(#download) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:has(#download) .copyright,
html[data-time-theme="dusk"] body:has(#download) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-links a,
html[data-time-theme="dusk"] body:has(#download) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-trigger,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-trigger:hover,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-menu,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-menu {
  background: rgba(22, 28, 42, 0.98) !important;
  border-color: rgba(138, 180, 248, 0.3) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-menu button,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(#download) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:has(#download) .footer-lang-menu button.active {
  background: var(--pv-accent) !important;
  color: #0a0e18 !important;
}

/* —— 产品页 product.html（body 含 .product-body）：内联 color:#000 链接、正文 #333、页脚 —— */
html[data-time-theme="night"] body:has(.product-body) .container,
html[data-time-theme="dusk"] body:has(.product-body) .container {
  background: transparent !important;
}

html[data-time-theme="night"] body:has(.product-body) .section,
html[data-time-theme="dusk"] body:has(.product-body) .section {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.product-body) .product-eyebrow,
html[data-time-theme="dusk"] body:has(.product-body) .product-eyebrow {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.product-body) .product-body,
html[data-time-theme="night"] body:has(.product-body) .product-body li,
html[data-time-theme="dusk"] body:has(.product-body) .product-body,
html[data-time-theme="dusk"] body:has(.product-body) .product-body li {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.product-body) .product-body strong,
html[data-time-theme="dusk"] body:has(.product-body) .product-body strong {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.product-body) .themes-intro,
html[data-time-theme="dusk"] body:has(.product-body) .themes-intro {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.product-body) .theme-name,
html[data-time-theme="dusk"] body:has(.product-body) .theme-name {
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.product-body) .theme-name sub,
html[data-time-theme="dusk"] body:has(.product-body) .theme-name sub {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.product-body) .theme-item,
html[data-time-theme="dusk"] body:has(.product-body) .theme-item {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.product-body) .container a[style*="color:#000"],
html[data-time-theme="night"] body:has(.product-body) .container a[style*="color: #000"],
html[data-time-theme="dusk"] body:has(.product-body) .container a[style*="color:#000"],
html[data-time-theme="dusk"] body:has(.product-body) .container a[style*="color: #000"] {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.product-body) .container [style*="color:#666"],
html[data-time-theme="night"] body:has(.product-body) .container [style*="color: #666"],
html[data-time-theme="dusk"] body:has(.product-body) .container [style*="color:#666"],
html[data-time-theme="dusk"] body:has(.product-body) .container [style*="color: #666"] {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer,
html[data-time-theme="dusk"] body:has(.product-body) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme="night"] body:has(.product-body) .copyright,
html[data-time-theme="dusk"] body:has(.product-body) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-links a,
html[data-time-theme="dusk"] body:has(.product-body) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-trigger,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--pv-text) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-trigger:hover,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-menu,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-menu {
  background: rgba(22, 28, 42, 0.98) !important;
  border-color: rgba(138, 180, 248, 0.3) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-menu button,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-menu button:hover,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme="night"] body:has(.product-body) .footer-lang-menu button.active,
html[data-time-theme="dusk"] body:has(.product-body) .footer-lang-menu button.active {
  background: var(--pv-accent) !important;
  color: #0a0e18 !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-time-theme] body,
  html[data-time-theme] body .nav,
  html[data-time-theme] body .top-nav {
    transition: none;
  }
}
