/**
 * 时段主色：官网 + OOSYS 共用。依赖 html[data-time-theme]（由 photov-time-theme.js 写入）。
 * Mac PotTimePeriod 对齐 9 段；data-time-theme-luma: dark | dim | light。
 * 墙钟时区：html[data-time-theme-wall] / localStorage / Intl / UTC。
 * 诊断：data-time-theme-period (0–8)、data-time-theme-hour、data-time-theme-clock 等。
 * 规范：srv/photov/docs/oosys_time_theme_spec.md
 */

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


/* —— 凌晨 0–5 —— */
html[data-time-theme="late-night"] {
  color-scheme: dark;
  --pv-accent: #7aa2f7;
  --pv-accent-soft: rgba(122, 162, 247, 0.22);
  --pv-page-bg: radial-gradient(1100px 640px at 10% 0%, rgba(80, 120, 220, 0.2), transparent 55%),
    linear-gradient(168deg, #080c14 0%, #0e1420 45%, #121820 100%);
  --pv-text: #e6ebf5;
  --pv-muted: rgba(230, 235, 245, 0.7);
  --pv-nav-bg: rgba(8, 12, 20, 0.94);
  --pv-nav-border: rgba(122, 162, 247, 0.32);
  --pv-card-surface: rgba(255, 255, 255, 0.05);
  --pv-container-border: rgba(122, 162, 247, 0.26);
  --pv-input-bg: rgba(255, 255, 255, 0.06);
  --pv-input-border: rgba(138, 180, 248, 0.35);
  --pv-table-head: rgba(255, 255, 255, 0.08);
  --pv-table-border: rgba(255, 255, 255, 0.12);
  --pv-row-hover: rgba(255, 255, 255, 0.05);
  --pv-subnav-bg: rgba(14, 18, 30, 0.55);
  --pv-subnav-link: rgba(232, 237, 247, 0.85);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: rgba(46, 125, 50, 0.25);
  --pv-warn-bg: rgba(245, 127, 23, 0.25);
  --pv-error-bg: rgba(198, 40, 40, 0.25);
  --pv-code-bg: #263238;
}

/* —— 黎明 5–7 —— */
html[data-time-theme="dawn"] {
  color-scheme: dark;
  --pv-accent: #ffb86c;
  --pv-accent-soft: rgba(255, 184, 108, 0.22);
  --pv-page-bg: radial-gradient(900px 520px at 12% 0%, rgba(255, 160, 90, 0.22), transparent 52%),
    linear-gradient(175deg, #1a1820 0%, #221e28 40%, #2a2430 100%);
  --pv-text: #f0ebe3;
  --pv-muted: rgba(240, 235, 227, 0.72);
  --pv-nav-bg: rgba(20, 18, 26, 0.92);
  --pv-nav-border: rgba(255, 184, 108, 0.28);
  --pv-card-surface: rgba(255, 255, 255, 0.07);
  --pv-container-border: rgba(255, 184, 108, 0.22);
  --pv-input-bg: rgba(255, 255, 255, 0.08);
  --pv-input-border: rgba(196, 181, 253, 0.32);
  --pv-table-head: rgba(255, 255, 255, 0.07);
  --pv-table-border: rgba(255, 255, 255, 0.11);
  --pv-row-hover: rgba(255, 255, 255, 0.05);
  --pv-subnav-bg: rgba(22, 26, 40, 0.5);
  --pv-subnav-link: rgba(232, 234, 243, 0.88);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: rgba(46, 125, 50, 0.22);
  --pv-warn-bg: rgba(245, 127, 23, 0.22);
  --pv-error-bg: rgba(198, 40, 40, 0.22);
  --pv-code-bg: #2a3142;
}

/* 黎明 + 系统浅色外观（Mac 天亮后系统切 Light，OOSYS 同步亮色 token） */
html[data-time-theme="dawn"][data-time-theme-luma="light"] {
  color-scheme: light;
  --pv-accent: #d97706;
  --pv-accent-soft: rgba(217, 119, 6, 0.18);
  --pv-page-bg: radial-gradient(980px 560px at 12% -6%, rgba(255, 200, 120, 0.55), transparent 52%),
    linear-gradient(182deg, #fff8ef 0%, #fff1df 38%, #faf6f0 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(217, 119, 6, 0.32);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(217, 119, 6, 0.22);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 早晨 7–9 —— */
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 580px at 14% -8%, rgba(255, 210, 130, 0.5), transparent 50%),
    linear-gradient(180deg, #fff9f0 0%, #fff3e4 40%, #faf6f0 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);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 上午 9–12 —— */
html[data-time-theme="late-morning"] {
  color-scheme: light;
  --pv-accent: #1565c0;
  --pv-accent-soft: rgba(21, 101, 192, 0.14);
  --pv-page-bg: radial-gradient(1000px 600px at 15% -10%, rgba(255, 230, 180, 0.35), transparent 52%),
    linear-gradient(180deg, #fafafa 0%, #f5f7fa 50%, #f8f9fb 100%);
  --pv-text: #1a1a1a;
  --pv-muted: rgba(26, 26, 26, 0.58);
  --pv-nav-bg: rgba(255, 255, 255, 0.94);
  --pv-nav-border: rgba(21, 101, 192, 0.22);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(21, 101, 192, 0.18);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 午后 12–14 —— */
html[data-time-theme="noon"] {
  color-scheme: light;
  --pv-accent: #0288d1;
  --pv-accent-soft: rgba(2, 136, 209, 0.14);
  --pv-page-bg: radial-gradient(1100px 640px at 10% 0%, rgba(130, 210, 255, 0.4), transparent 55%),
    linear-gradient(185deg, #f0f9ff 0%, #e8f4fc 45%, #f5fafd 100%);
  --pv-text: #0f1720;
  --pv-muted: rgba(15, 23, 32, 0.55);
  --pv-nav-bg: rgba(255, 255, 255, 0.95);
  --pv-nav-border: rgba(2, 136, 209, 0.28);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(2, 136, 209, 0.2);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 下午 14–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);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 傍晚 17–19 —— */
html[data-time-theme="dusk"] {
  color-scheme: light;
  --pv-accent: #e65100;
  --pv-accent-soft: rgba(230, 81, 0, 0.18);
  --pv-page-bg: radial-gradient(1000px 620px at 8% 0%, rgba(255, 180, 100, 0.32), transparent 50%),
    radial-gradient(800px 480px at 92% 8%, rgba(255, 140, 80, 0.15), transparent 48%),
    linear-gradient(168deg, #fff8f0 0%, #fff0e6 38%, #faf6f2 100%);
  --pv-text: #1a1410;
  --pv-muted: rgba(26, 20, 16, 0.62);
  --pv-nav-bg: rgba(255, 250, 245, 0.93);
  --pv-nav-border: rgba(230, 81, 0, 0.28);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(230, 81, 0, 0.2);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 黄昏 19–21 —— */
html[data-time-theme="twilight"] {
  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);
  --pv-input-bg: rgba(255, 255, 255, 0.08);
  --pv-input-border: rgba(196, 181, 253, 0.32);
  --pv-table-head: rgba(255, 255, 255, 0.07);
  --pv-table-border: rgba(255, 255, 255, 0.11);
  --pv-row-hover: rgba(255, 255, 255, 0.05);
  --pv-subnav-bg: rgba(22, 26, 40, 0.5);
  --pv-subnav-link: rgba(232, 234, 243, 0.88);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: rgba(46, 125, 50, 0.22);
  --pv-warn-bg: rgba(245, 127, 23, 0.22);
  --pv-error-bg: rgba(198, 40, 40, 0.22);
  --pv-code-bg: #2a3142;
}

/* 黄昏 + 系统仍浅色（傍晚 Mac 尚未切 Dark 时保持可读亮色） */
html[data-time-theme="twilight"][data-time-theme-luma="light"] {
  color-scheme: light;
  --pv-accent: #7c3aed;
  --pv-accent-soft: rgba(124, 58, 237, 0.16);
  --pv-page-bg: radial-gradient(920px 540px at 8% 0%, rgba(255, 170, 130, 0.28), transparent 50%),
    radial-gradient(760px 460px at 92% 10%, rgba(167, 139, 250, 0.18), transparent 48%),
    linear-gradient(175deg, #fff6f0 0%, #f7f0ff 42%, #f5f7fb 100%);
  --pv-text: #1a1625;
  --pv-muted: rgba(26, 22, 37, 0.62);
  --pv-nav-bg: rgba(255, 252, 248, 0.94);
  --pv-nav-border: rgba(124, 58, 237, 0.26);
  --pv-card-surface: #ffffff;
  --pv-container-border: rgba(124, 58, 237, 0.2);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 夜晚 21–24 —— */
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);
  --pv-input-bg: rgba(255, 255, 255, 0.06);
  --pv-input-border: rgba(138, 180, 248, 0.35);
  --pv-table-head: rgba(255, 255, 255, 0.08);
  --pv-table-border: rgba(255, 255, 255, 0.12);
  --pv-row-hover: rgba(255, 255, 255, 0.05);
  --pv-subnav-bg: rgba(14, 18, 30, 0.55);
  --pv-subnav-link: rgba(232, 237, 247, 0.85);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: rgba(46, 125, 50, 0.25);
  --pv-warn-bg: rgba(245, 127, 23, 0.25);
  --pv-error-bg: rgba(198, 40, 40, 0.25);
  --pv-code-bg: #263238;
}

/* 未跑脚本前：默认昼 */
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);
  --pv-input-bg: #ffffff;
  --pv-input-border: rgba(0, 0, 0, 0.15);
  --pv-table-head: rgba(0, 0, 0, 0.04);
  --pv-table-border: rgba(0, 0, 0, 0.1);
  --pv-row-hover: rgba(0, 0, 0, 0.03);
  --pv-subnav-bg: rgba(255, 255, 255, 0.55);
  --pv-subnav-link: var(--pv-text);
  --pv-subnav-current: var(--pv-accent);
  --pv-success-bg: #e8f5e9;
  --pv-warn-bg: #fff8e1;
  --pv-error-bg: #ffebee;
  --pv-code-bg: #263238;
}

/* —— 全站 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-luma="dark"] body .nav .nav-download,
html[data-time-theme-luma="dim"] body .nav .nav-download {
  background: var(--pv-accent) !important;
  color: #0f141f !important;
}
html[data-time-theme-luma="light"] 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-luma="light"] body:has(.top-nav) .oosys-chrome {
  background: var(--pv-nav-bg);
}
html[data-time-theme-luma="dim"] body:has(.top-nav) .oosys-chrome,
html[data-time-theme-luma="dark"] body:has(.top-nav) .oosys-chrome {
  background: var(--pv-nav-bg);
  box-shadow: 0 4px 22px rgba(0, 0, 0, 0.38);
}

html[data-time-theme-luma="dark"] body:has(.top-nav) .container,
html[data-time-theme-luma="dim"] 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-luma="light"] body:has(.top-nav) .container {
  background: var(--pv-card-surface) !important;
  color: var(--pv-text);
  box-shadow: 0 2px 16px rgba(15, 23, 32, 0.08);
  border-color: var(--pv-container-border);
}

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

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

html[data-time-theme-luma="dark"] body .nav-secondary,
html[data-time-theme-luma="dim"] body .nav-secondary {
  background: var(--pv-subnav-bg) !important;
  border-bottom-color: var(--pv-nav-border) !important;
}

html[data-time-theme-luma="light"] body .nav-secondary {
  background: var(--pv-subnav-bg) !important;
}

/* —— OOSYS body 背景（9 段 · 每段独立渐变或 token 底）—— */
html[data-time-theme="late-night"] body:has(.top-nav) {
  background: var(--pv-page-bg) !important;
}

html[data-time-theme="dawn"] body:has(.top-nav) {
  background: var(--pv-page-bg) !important;
}
html[data-time-theme="dawn"][data-time-theme-luma="light"] body:has(.top-nav) {
  background: linear-gradient(185deg, #fff4e0 0%, #ffe8c8 28%, #faf4ee 72%, #f7f2ea 100%) !important;
}

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="late-morning"] body:has(.top-nav) {
  background: linear-gradient(188deg, #f8f9fb 0%, #f0f4f8 32%, #eef2f6 68%, #f5f7fa 100%) !important;
}

html[data-time-theme="noon"] body:has(.top-nav) {
  background: linear-gradient(185deg, #e3f4ff 0%, #dbeafe 30%, #e8f4fc 65%, #f0f9ff 100%) !important;
}

html[data-time-theme="afternoon"] body:has(.top-nav) {
  background: linear-gradient(188deg, #e8f4fc 0%, #eef6fc 38%, #f4f9ff 72%, #f7fbff 100%) !important;
}

html[data-time-theme="dusk"] body:has(.top-nav) {
  background: linear-gradient(182deg, #ffe8f0 0%, #fff0e0 35%, #faf5f2 75%, #f8f6fc 100%) !important;
}

html[data-time-theme="twilight"] body:has(.top-nav) {
  background: var(--pv-page-bg) !important;
}
html[data-time-theme="twilight"][data-time-theme-luma="light"] body:has(.top-nav) {
  background: linear-gradient(175deg, #fff6f0 0%, #f7f0ff 42%, #f5f7fb 100%) !important;
}

html[data-time-theme="night"] body:has(.top-nav) {
  background: var(--pv-page-bg) !important;
}

/* —— OOSYS 夜 / 入暮：正文与表格内大量内联 #333/#555 等，用 !important 提亮（不碰顶栏彩色 pill 的 a）—— */
html[data-time-theme-luma="dark"] 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-luma="dim"] 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-luma="dark"] body:has(.top-nav) .container :where(.hint, .bm-hint, .sub, .oosys-stub-hint, .loading),
html[data-time-theme-luma="dim"] body:has(.top-nav) .container :where(.hint, .bm-hint, .sub, .oosys-stub-hint, .loading) {
  color: var(--pv-muted) !important;
}

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

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

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

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

/* 顶栏在 .oosys-chrome，不在 .container 内 — 夜间字色见 oosys-theme-components.css */

html[data-time-theme-luma="dark"] body:has(.top-nav) .container input,
html[data-time-theme-luma="dark"] body:has(.top-nav) .container textarea,
html[data-time-theme-luma="dark"] body:has(.top-nav) .container select,
html[data-time-theme-luma="dim"] body:has(.top-nav) .container input,
html[data-time-theme-luma="dim"] body:has(.top-nav) .container textarea,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.top-nav) .container th,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.top-nav) .container td,
html[data-time-theme-luma="dim"] body:has(.top-nav) .container td {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:has(.top-nav) .container .sub-tabs a,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.top-nav) .container .sub-tabs a.active,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.top-nav) .nav-secondary a,
html[data-time-theme-luma="dim"] body:has(.top-nav) .nav-secondary a {
  color: var(--pv-subnav-link) !important;
  background: var(--pv-input-bg) !important;
  border-color: var(--pv-input-border) !important;
}

html[data-time-theme-luma="dark"] body:has(.top-nav) .nav-secondary a[class*="current"],
html[data-time-theme-luma="dark"] body:has(.top-nav) .nav-secondary a.current,
html[data-time-theme-luma="dim"] body:has(.top-nav) .nav-secondary a[class*="current"],
html[data-time-theme-luma="dim"] body:has(.top-nav) .nav-secondary a.current {
  background: var(--pv-accent-soft) !important;
  color: var(--pv-accent) !important;
  border-color: var(--pv-accent) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* —— 官网价格页 pricing.html：夜间/入暮中层 `.container` 深色带，压住内联浅色底，正文与表统一 token —— */
html[data-time-theme-luma="dark"] 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-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .container [style*="color:#555"],
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .container [style*="color: #555"],
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .container [style*="color:#555"],
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .container [style*="color: #555"],
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .container [style*="color:#666"],
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .container [style*="color: #666"],
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .container [style*="color:#666"],
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .container [style*="color: #666"] {
  color: var(--pv-muted) !important;
}

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

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

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .pricing-card,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card:hover,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-card:hover {
  border-color: rgba(138, 180, 248, 0.45) !important;
}

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .pricing-card.selected,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"],
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-header,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-header {
  color: #f0d78c !important;
}

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .pricing-card-desc,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card[data-tier="voucher"] .voucher-code-inline,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-header,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-card[data-tier="free"] .pricing-card-header {
  color: var(--pv-text) !important;
}

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

html[data-time-theme-luma="dark"] 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-luma="dark"] 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-luma="dim"] 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-luma="dim"] 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-luma="dark"] 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-luma="dark"] 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-luma="dim"] 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-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-card-benefits li,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-card-benefits li {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block li,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block strong,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-selected-intro .intro-block strong {
  color: var(--pv-text) !important;
}

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .compare-table th,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .compare-table td,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .compare-table tbody tr.sub-item td:first-child,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .compare-table tbody tr.sub-item td:first-child {
  color: var(--pv-text) !important;
}

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

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .compare-table tr.section-header td,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .compare-table thead th:hover,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .compare-table thead th[data-tier]:hover,
html[data-time-theme-luma="dim"] 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-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .pricing-voucher,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .pricing-voucher {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .voucher-code,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .footer,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

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

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

html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .footer-lang-trigger,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .footer-lang-menu,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .footer-lang-menu button,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

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

/* 价格表：选中方案列（原 rgba 金底在夜模式下偏「没进夜」） */
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table thead th:nth-child(2),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table td:nth-child(2):not([colspan]),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table thead th:nth-child(3),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table td:nth-child(3):not([colspan]),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table thead th:nth-child(4),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table td:nth-child(4):not([colspan]),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table thead th:nth-child(5),
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table td:nth-child(5):not([colspan]),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table thead th:nth-child(2),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="voucher"] .compare-table td:nth-child(2):not([colspan]),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table thead th:nth-child(3),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="free"] .compare-table td:nth-child(3):not([colspan]),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table thead th:nth-child(4),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="personal"] .compare-table td:nth-child(4):not([colspan]),
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month)[data-selected-tier="master"] .compare-table thead th:nth-child(5),
html[data-time-theme-luma="dim"] 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-luma="dark"] body:is(.period-year, .period-month) .compare-table td:nth-child(2):not([colspan]):hover,
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .compare-table td:nth-child(3):not([colspan]):hover,
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .compare-table td:nth-child(4):not([colspan]):hover,
html[data-time-theme-luma="dark"] body:is(.period-year, .period-month) .compare-table td:nth-child(5):not([colspan]):hover,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .compare-table td:nth-child(2):not([colspan]):hover,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .compare-table td:nth-child(3):not([colspan]):hover,
html[data-time-theme-luma="dim"] body:is(.period-year, .period-month) .compare-table td:nth-child(4):not([colspan]):hover,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.download-hero) .download-block {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] 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-luma="dark"] 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-luma="dark"] body:has(.download-hero) .footer,
html[data-time-theme-luma="dim"] body:has(.download-hero) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

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

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

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

html[data-time-theme-luma="dark"] body:has(.download-hero) .footer-lang-trigger,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.download-hero) .footer-lang-trigger:hover,
html[data-time-theme-luma="dim"] body:has(.download-hero) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme-luma="dark"] body:has(.download-hero) .footer-lang-menu,
html[data-time-theme-luma="dim"] 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-luma="dim"] body:has(.download-hero) .footer-lang-menu {
  border-color: rgba(196, 181, 253, 0.32) !important;
}

html[data-time-theme-luma="dark"] body:has(.download-hero) .footer-lang-menu button,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.download-hero) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:has(.download-hero) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

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

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

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

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

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

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

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

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

html[data-time-theme-luma="dark"] 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-luma="dim"] 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-luma="dark"] body:has(.manual-hero) .container,
html[data-time-theme-luma="dim"] body:has(.manual-hero) .container {
  background: transparent !important;
}

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

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

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

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

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

html[data-time-theme-luma="dark"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .manual-toc,
html[data-time-theme-luma="dim"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme-luma="dim"] 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-luma="dim"] body:has(.manual-hero) nav.manual-toc,
html[data-time-theme-luma="dim"] body:has(.manual-hero) .manual-toc {
  background: rgba(16, 20, 32, 0.72) !important;
}

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

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

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

html[data-time-theme-luma="dark"] body:has(.manual-hero) .manual-toc a:hover,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.manual-hero) .manual-hero .intro[style*="color"],
html[data-time-theme-luma="dim"] body:has(.manual-hero) .manual-hero .intro[style*="color"] {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:has(.manual-hero) .manual-hero .intro strong,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.manual-hero) .manual-section,
html[data-time-theme-luma="dim"] body:has(.manual-hero) .manual-section {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

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

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

html[data-time-theme-luma="dark"] body:has(.manual-hero) .manual-section strong,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.manual-hero) .manual-section a,
html[data-time-theme-luma="dim"] body:has(.manual-hero) .manual-section a {
  color: var(--pv-accent) !important;
}

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

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

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

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

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

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

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

html[data-time-theme-luma="dark"] body:has(.section.resources) .footer-lang-trigger,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .footer-lang-trigger,
html[data-time-theme-luma="dim"] body:has(.section.resources) .footer-lang-trigger,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.section.resources) .footer-lang-menu,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .footer-lang-menu,
html[data-time-theme-luma="dim"] body:has(.section.resources) .footer-lang-menu,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.section.resources) .footer-lang-menu button,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .footer-lang-menu button,
html[data-time-theme-luma="dim"] body:has(.section.resources) .footer-lang-menu button,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.section.resources) .footer-lang-menu button:hover,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:has(.section.resources) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:has(.manual-hero) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:has(.section.resources) .footer-lang-menu button.active,
html[data-time-theme-luma="dark"] body:has(.manual-hero) .footer-lang-menu button.active,
html[data-time-theme-luma="dim"] body:has(.section.resources) .footer-lang-menu button.active,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) #resources,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) #resources .section-headline-sm,
html[data-time-theme-luma="dim"] body:has(#download) #resources .section-headline-sm {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:has(#download) #resources .resource-card,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) #resources .resource-card:hover,
html[data-time-theme-luma="dim"] body:has(#download) #resources .resource-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

html[data-time-theme-luma="dark"] body:has(#download) .footer-lang-trigger,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) .footer-lang-trigger:hover,
html[data-time-theme-luma="dim"] body:has(#download) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme-luma="dark"] body:has(#download) .footer-lang-menu,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) .footer-lang-menu button,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(#download) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:has(#download) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:has(#download) .footer-lang-menu button.active,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.product-body) .container,
html[data-time-theme-luma="dim"] body:has(.product-body) .container {
  background: transparent !important;
}

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

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

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

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

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

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

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

html[data-time-theme-luma="dark"] body:has(.product-body) .theme-item,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.product-body) .container a[style*="color:#000"],
html[data-time-theme-luma="dark"] body:has(.product-body) .container a[style*="color: #000"],
html[data-time-theme-luma="dim"] body:has(.product-body) .container a[style*="color:#000"],
html[data-time-theme-luma="dim"] body:has(.product-body) .container a[style*="color: #000"] {
  color: var(--pv-accent) !important;
}

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

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

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

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

html[data-time-theme-luma="dark"] body:has(.product-body) .footer-lang-trigger,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.product-body) .footer-lang-trigger:hover,
html[data-time-theme-luma="dim"] body:has(.product-body) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme-luma="dark"] body:has(.product-body) .footer-lang-menu,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.product-body) .footer-lang-menu button,
html[data-time-theme-luma="dim"] 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-luma="dark"] body:has(.product-body) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:has(.product-body) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

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

/* —— PHOTOV 官网 body 背景（9 段 · 无 .top-nav 的静态页，与 OOSYS 同策略）—— */
html[data-time-theme="late-night"] body:not(:has(.top-nav)) {
  background: var(--pv-page-bg) !important;
}

html[data-time-theme="dawn"] body:not(:has(.top-nav)) {
  background: var(--pv-page-bg) !important;
}
html[data-time-theme="dawn"][data-time-theme-luma="light"] body:not(:has(.top-nav)) {
  background: linear-gradient(185deg, #fff4e0 0%, #ffe8c8 28%, #faf4ee 72%, #f7f2ea 100%) !important;
}

html[data-time-theme="morning"] body:not(:has(.top-nav)) {
  background: linear-gradient(185deg, #fff4e0 0%, #ffe8c8 28%, #faf4ee 72%, #f7f2ea 100%) !important;
}

html[data-time-theme="late-morning"] body:not(:has(.top-nav)) {
  background: linear-gradient(188deg, #f8f9fb 0%, #f0f4f8 32%, #eef2f6 68%, #f5f7fa 100%) !important;
}

html[data-time-theme="noon"] body:not(:has(.top-nav)) {
  background: linear-gradient(185deg, #e3f4ff 0%, #dbeafe 30%, #e8f4fc 65%, #f0f9ff 100%) !important;
}

html[data-time-theme="afternoon"] body:not(:has(.top-nav)) {
  background: linear-gradient(188deg, #e8f4fc 0%, #eef6fc 38%, #f4f9ff 72%, #f7fbff 100%) !important;
}

html[data-time-theme="dusk"] body:not(:has(.top-nav)) {
  background: linear-gradient(182deg, #ffe8f0 0%, #fff0e0 35%, #faf5f2 75%, #f8f6fc 100%) !important;
}

html[data-time-theme="twilight"] body:not(:has(.top-nav)) {
  background: var(--pv-page-bg) !important;
}
html[data-time-theme="twilight"][data-time-theme-luma="light"] body:not(:has(.top-nav)) {
  background: linear-gradient(175deg, #fff6f0 0%, #f7f0ff 42%, #f5f7fb 100%) !important;
}

html[data-time-theme="night"] body:not(:has(.top-nav)) {
  background: var(--pv-page-bg) !important;
}

/* —— 官网通用：夜/入暮容器与区块边线 —— */
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .container,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .container {
  background: transparent !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .doc-sep,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .doc-sep {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

/* —— 法律/隐私/条款页：内联 #333/#666 正文 —— */
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section-title,
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section h3,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section-title,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section h3 {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section p,
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section li,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section p,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section li {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .legal-date,
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section .legal-en,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .legal-date,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section .legal-en {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .section a,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .section a {
  color: var(--pv-accent) !important;
}

/* —— 首页 index.html：Hero / 内测条 / 产品卡 —— */
html[data-time-theme-luma="dark"] body:has(#hero) #hero,
html[data-time-theme-luma="dim"] body:has(#hero) #hero {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .hero-effect,
html[data-time-theme-luma="dim"] body:has(#hero) .hero-effect {
  background: radial-gradient(
    ellipse 220px 100px at 50% 50%,
    rgba(255, 255, 255, 0.08) 0%,
    transparent 65%
  ) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .logo,
html[data-time-theme-luma="dark"] body:has(#hero) .hero-headline,
html[data-time-theme-luma="dim"] body:has(#hero) .logo,
html[data-time-theme-luma="dim"] body:has(#hero) .hero-headline {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .hero-sub,
html[data-time-theme-luma="dim"] body:has(#hero) .hero-sub {
  color: var(--pv-muted) !important;
  opacity: 1 !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .hero-value,
html[data-time-theme-luma="dim"] body:has(#hero) .hero-value {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .download-cta,
html[data-time-theme-luma="dim"] body:has(#hero) .download-cta {
  background: var(--pv-accent) !important;
  color: #0f141f !important;
  border-color: var(--pv-accent) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .download-cta:hover,
html[data-time-theme-luma="dim"] body:has(#hero) .download-cta:hover {
  background: transparent !important;
  color: var(--pv-accent) !important;
  border-color: var(--pv-accent) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .beta-strip,
html[data-time-theme-luma="dim"] body:has(#hero) .beta-strip {
  background: rgba(255, 255, 255, 0.06) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .beta-strip .beta-title,
html[data-time-theme-luma="dim"] body:has(#hero) .beta-strip .beta-title {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .beta-strip .beta-invite,
html[data-time-theme-luma="dark"] body:has(#hero) .beta-strip .beta-spots,
html[data-time-theme-luma="dim"] body:has(#hero) .beta-strip .beta-invite,
html[data-time-theme-luma="dim"] body:has(#hero) .beta-strip .beta-spots {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) #product .section-headline,
html[data-time-theme-luma="dim"] body:has(#hero) #product .section-headline {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .product-card,
html[data-time-theme-luma="dim"] body:has(#hero) .product-card {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .product-card h3,
html[data-time-theme-luma="dim"] body:has(#hero) .product-card h3 {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .product-card .lead,
html[data-time-theme-luma="dim"] body:has(#hero) .product-card .lead {
  color: var(--pv-text) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .product-card p:not(.lead),
html[data-time-theme-luma="dim"] body:has(#hero) .product-card p:not(.lead) {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:has(#hero) .product-card .card-themes,
html[data-time-theme-luma="dim"] body:has(#hero) .product-card .card-themes {
  color: var(--pv-muted) !important;
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

/* —— 官网页脚（法律/隐私/条款等；首页/资源/手册已有更细规则，此处为兜底）—— */
html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .footer {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .copyright,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .copyright {
  color: var(--pv-muted) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer-links a,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .footer-links a {
  color: var(--pv-accent) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer-lang-trigger,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .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-luma="dark"] body:not(:has(.top-nav)) .footer-lang-trigger:hover,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .footer-lang-trigger:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

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

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer-lang-menu button,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .footer-lang-menu button {
  color: var(--pv-text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer-lang-menu button:hover,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .footer-lang-menu button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

html[data-time-theme-luma="dark"] body:not(:has(.top-nav)) .footer-lang-menu button.active,
html[data-time-theme-luma="dim"] body:not(:has(.top-nav)) .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;
  }
}
