/* =====================================================================
 * 其一 · 墨夜 v3 —— 深色主题统一执行层
 * ---------------------------------------------------------------------
 * 版式语言：近黑星空底 × 宋体大字 × 青玉主行动 × 鎏金价值点缀
 * 架构原则：
 *   1) 默认即深色；[data-theme="light"] 是唯一浅色出口；
 *   2) 全站悬空变量 var(--color-*) 在此统一架桥，杜绝回退值锁死浅色；
 *   3) 装饰性覆写一律挂在 html:not([data-theme="light"]) 守卫下，
 *      浅色主题零污染。
 * ===================================================================== */

/* ---- [1] 核心令牌：默认墨夜 ---- */
:root {
  /* 底三阶：近黑星空 */
  --bg: #0a0d12;
  --surface: #10141c;
  --surface-soft: #151a24;

  /* 墨：文字层级 */
  --ink: #ece7da;
  --muted: #9aa39f;
  --text-primary: var(--ink);
  --text-secondary: var(--muted);
  --text-tertiary: rgba(154, 163, 159, 0.72);
  --text-disabled: rgba(154, 163, 159, 0.42);

  /* 线：分隔三阶 + 半透明结构线 */
  --line: #202633;
  --line-strong: #333c4d;
  --line-strong-hover: #55627a;
  --hairline: rgba(255, 255, 255, 0.07);

  /* 主行动：青玉（对照度按 WCAG AA 校准） */
  --accent: #37cdb6;
  --accent-strong: #74e6d4;
  --accent-soft: rgba(55, 205, 182, 0.10);
  --accent-medium: rgba(55, 205, 182, 0.20);
  --on-accent: #05201a;
  --shadow-accent: rgba(55, 205, 182, 0.20);
  --shadow-accent-hover: rgba(55, 205, 182, 0.34);

  /* 价值点缀：鎏金；警示：朱砂 */
  --gold: #d3ac57;
  --gold-ink: #e7cd90;
  --gold-glow: #f3df9f;
  --gold-soft: rgba(211, 172, 87, 0.11);
  --gold-line: rgba(211, 172, 87, 0.34);
  --cinnabar: #e26b5d;
  --cinnabar-soft: rgba(226, 107, 93, 0.13);

  /* 语义色 */
  --success: #4cc08d;
  --warning: #d3ac57;
  --danger: #e26b5d;
  --ok-ink: #83d6ad;

  /* 语义弱底 / 弱线 / 徽记（工具页卡片体系专用） */
  --info-bg: var(--gold-soft);
  --ok-bg: rgba(76, 192, 141, 0.12);
  --warn-bg: rgba(211, 172, 87, 0.09);
  --warn-line: rgba(211, 172, 87, 0.40);
  --danger-line: rgba(226, 107, 93, 0.42);
  --danger-ink: #f0a094;
  --warn-chip-bg: rgba(211, 172, 87, 0.12);
  --warn-chip-ink: #ecd39b;

  /* 徽标与盘面 */
  --badge-gold-bg: rgba(211, 172, 87, 0.15);
  --badge-ji-bg: rgba(55, 205, 182, 0.13);
  --badge-xiong-bg: rgba(226, 107, 93, 0.14);
  --badge-user-bg: rgba(96, 134, 176, 0.17);
  --badge-user-ink: #a9c5de;
  --yongshen-bg: rgba(211, 172, 87, 0.07);
  --palace-center-bg: rgba(255, 255, 255, 0.045);
  --marker-bg: rgba(255, 255, 255, 0.05);

  /* 阴影体系：夜里更深 */
  --ink-wash: rgba(0, 0, 0, 0.40);
  --shadow: rgba(0, 0, 0, 0.46);
  --shadow-color-md: rgba(0, 0, 0, 0.56);
  --shadow-color-lg: rgba(0, 0, 0, 0.72);
  --shadow-inset: inset 0 1px 0 var(--hairline);
}

/* ---- [2] 浅色显式出口 ---- */
[data-theme="light"] {
  --bg: #efeee7;
  --surface: #fffefb;
  --surface-soft: #f7f5ee;
  --ink: #18232a;
  --muted: #5c6a68;
  --text-tertiary: rgba(92, 106, 104, 0.78);
  --text-disabled: rgba(92, 106, 104, 0.5);
  --line: #d6d2c4;
  --line-strong: #aeb8b0;
  --line-strong-hover: #7d9186;
  --hairline: rgba(255, 255, 255, 0.65);
  --accent: #0e6f66;
  --accent-strong: #0a554f;
  --accent-soft: rgba(14, 111, 102, 0.08);
  --accent-medium: rgba(14, 111, 102, 0.18);
  --on-accent: #ffffff;
  --shadow-accent: rgba(10, 85, 79, 0.28);
  --shadow-accent-hover: rgba(10, 85, 79, 0.42);
  --gold: #b8862f;
  --gold-ink: #8a6219;
  --gold-glow: #e8c878;
  --gold-soft: rgba(184, 134, 47, 0.10);
  --gold-line: rgba(184, 134, 47, 0.40);
  --cinnabar: #a93a2e;
  --cinnabar-soft: rgba(169, 58, 46, 0.08);
  --success: #2e7d5b;
  --warning: #b8862f;
  --danger: #a93a2e;
  --ok-ink: #2e7d5b;
  --info-bg: #f0e9dc;
  --ok-bg: #e2f1ec;
  --warn-bg: #f7efdb;
  --warn-line: #e0cfa0;
  --danger-line: #dca79f;
  --danger-ink: #9c3b3b;
  --warn-chip-bg: #faf4e3;
  --warn-chip-ink: #7a5b1d;
  --badge-gold-bg: #f6ead0;
  --badge-ji-bg: #e2f1ec;
  --badge-xiong-bg: #fbe7e3;
  --badge-user-bg: #e7edf2;
  --yongshen-bg: #fffaf0;
  --palace-center-bg: #f3f1e8;
  --marker-bg: #eceee9;
  --ink-wash: rgba(24, 35, 42, 0.06);
  --shadow: rgba(24, 35, 42, 0.08);
  --shadow-color-md: rgba(24, 35, 42, 0.12);
  --shadow-color-lg: rgba(10, 16, 20, 0.20);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

/* ---- [3] 悬空变量兼容桥（关键修复） ----
 * 工具页样式里大量 var(--color-xxx, 浅色硬编码) 从未定义，
 * 此前全靠回退值锁死浅色。这里一次性架到真实令牌上。 */
:root {
  --color-background-primary: var(--surface);
  --color-background-secondary: var(--surface-soft);
  --color-background-info: var(--info-bg);
  --color-background-success: var(--ok-bg);
  --color-background-warning: var(--warn-bg);
  --color-border-strong: var(--line-strong);
  --color-border-secondary: #2c3442;
  --color-border-tertiary: var(--line);
  --color-border-warning: var(--warn-line);
  --color-text-primary: var(--ink);
  --color-text-secondary: var(--muted);
  --color-text-tertiary: var(--text-tertiary);
  --color-text-dim: var(--muted);
  --color-danger: var(--danger);
  --color-warning: var(--gold-ink);
  /* 页面内「金色强调」的真实来源此前被误接到青绿主色，本行纠正回鎏金 */
  --color-accent: var(--gold);
  --color-accent-strong: var(--gold-ink);
  --color-surface-raised: var(--surface-soft);
}
[data-theme="light"] {
  --color-border-secondary: #d8d3c3;
  --color-border-warning: #e0cfa0;
  --color-warning: #8a5a2b;
  --color-accent: #8a5a2b;
  --color-accent-strong: #8a6219;
  --color-surface-raised: #fbf9f3;
}

/* ---- [4] 全局画布 ---- */
html:not([data-theme="light"]) { background-color: var(--bg) !important; }
html:not([data-theme="light"]) body { background-color: var(--bg) !important; }
html:not([data-theme="light"]) body { background-color: var(--bg); }
body.bg-themed { background-color: var(--bg); }

/* 星尘噪点：程序化双斑纹，零图片依赖 */
html:not([data-theme="light"]) body.bg-themed::before {
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.030) 1px, transparent 1px),
    radial-gradient(rgba(55, 205, 182, 0.022) 1px, transparent 1px);
  background-size: 26px 26px, 64px 64px;
  background-position: 0 0, 17px 23px;
}
/* 主视觉照片彻底退役：暗部渐隐改为纯程序星空，明暗两态互不干扰 */
html:not([data-theme="light"]) body.bg-themed::after {
  background: linear-gradient(180deg,
    rgba(10, 13, 18, 0) 0%,
    rgba(10, 13, 18, 0.22) 48%,
    rgba(10, 13, 18, 0.60) 80%,
    rgba(6, 8, 12, 0.92) 100%) !important;
}

::selection { background: var(--accent-medium); color: var(--ink); }

/* 大字排版：宋体呼吸感来自字距与字号，不靠发光 */
.tool-head h1, .bz-tool-head h1, .zw-tool-head h1, .tcm-tool-head h1 {
  letter-spacing: 0.10em;
  font-size: clamp(30px, 4.4vw, 44px);
  line-height: 1.2;
}

/* ---- [5] 全屏骨架：贴底页脚（此前版本的首屏垂直居中试验移除） ---- */
html:not([data-theme="light"]) body.bg-themed {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
html:not([data-theme="light"]) body.bg-themed > main { flex: 1 0 auto; }
html:not([data-theme="light"]) body.bg-themed > footer { flex-shrink: 0; }
.page-wrap, .container, .content-wrapper { background: transparent; }
html:not([data-theme="light"]) .panel,
html:not([data-theme="light"]) .table-wrap,
html:not([data-theme="light"]) .ai-test-result { background: transparent; }

/* ---- [6] 导航 / 移动端菜单 / 页脚 ---- */
html:not([data-theme="light"]) .site-header {
  background: rgba(17, 22, 31, 0.60) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  backdrop-filter: blur(18px) saturate(1.05);
}
.site-header .brand h1, .site-header h1 { color: var(--ink); }
.site-header p { color: var(--muted); }
.tab { color: var(--text-secondary); }
.tab:hover { color: var(--ink); background: var(--accent-soft); }
.tab.is-active { color: var(--accent-strong); }

html:not([data-theme="light"]) .mobile-menu-panel {
  background: rgba(12, 15, 21, 0.96) !important;
  border-left: 1px solid var(--gold-line);
}
.mobile-menu-item { color: var(--text-secondary); }
.mobile-menu-item.is-active { color: var(--accent-strong); }

html:not([data-theme="light"]) footer {
  background: linear-gradient(180deg, var(--bg), #05070b) !important;
  border-top: 1px solid var(--gold-line);
}
html:not([data-theme="light"]) footer,
html:not([data-theme="light"]) footer * { color: rgba(214, 219, 215, 0.82); }
html:not([data-theme="light"]) footer strong,
html:not([data-theme="light"]) .footer-brand strong { color: var(--gold-ink) !important; }
html:not([data-theme="light"]) footer a:hover { color: var(--accent-strong); }
.footer-seal { color: var(--cinnabar); }

/* ---- [7] 按钮体系：一次定调 ----
 * 青玉实底 = 主行动；中性浮起 = 次行动；鎏金仅作描边与徽记。 */
html:not([data-theme="light"]) .btn.secondary {
  background: linear-gradient(180deg, var(--surface), var(--surface-soft)) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line-strong);
}

html:not([data-theme="light"]) .btn.primary,
html:not([data-theme="light"]) .bz-submit,
html:not([data-theme="light"]) .zw-submit {
  background: linear-gradient(180deg, #43ddc6, #1fae99);
  color: var(--on-accent);
  border: 1px solid rgba(116, 230, 212, 0.45);
  box-shadow:
    0 10px 30px var(--shadow-accent),
    inset 0 1px 0 rgba(255, 255, 255, 0.30);
}
html:not([data-theme="light"]) .btn.primary:hover:not(:disabled),
html:not([data-theme="light"]) .btn.primary:focus-visible,
html:not([data-theme="light"]) .bz-submit:hover:not(:disabled),
html:not([data-theme="light"]) .zw-submit:hover:not(:disabled) {
  background: linear-gradient(180deg, #52e4ce, #25baa4);
  box-shadow:
    0 14px 40px var(--shadow-accent-hover),
    inset 0 1px 0 rgba(255, 255, 255, 0.34);
}
.btn.primary:disabled, .bz-submit:disabled, .zw-submit:disabled {
  opacity: 0.55; cursor: default;
}

/* 付费锚点按钮：鎏金低饱和，纵向金属光（弃 135° 斜向土豪渐变） */
html:not([data-theme="light"]) .bz-pay-btn,
html:not([data-theme="light"]) .zw-pay-btn {
  background: linear-gradient(180deg, var(--gold), #b78f3e);
  color: #171207;
  border: 1px solid rgba(211, 172, 87, 0.5);
  box-shadow:
    0 8px 24px rgba(211, 172, 87, 0.16),
    inset 0 1px 0 rgba(255, 240, 200, 0.4);
}
html:not([data-theme="light"]) .bz-pay-btn.hint,
html:not([data-theme="light"]) .zw-pay-btn.hint {
  background: linear-gradient(180deg, #55c697, #2e9c72);
  color: #04211a;
  border-color: rgba(131, 214, 173, 0.4);
}

html:not([data-theme="light"]) .bz-hehun .hh-btn.primary {
  background: linear-gradient(180deg, #43ddc6, #1fae99);
  color: var(--on-accent);
  box-shadow: 0 6px 18px rgba(55, 205, 182, 0.22);
}
html:not([data-theme="light"]) .bz-hehun .hh-btn.secondary {
  background: transparent;
  color: var(--gold-ink);
  border: 1px solid var(--gold-line);
}
html:not([data-theme="light"]) .bz-hehun .hh-btn.secondary:hover {
  background: var(--gold-soft);
}

/* ---- [8] 表单控件夜态 ---- */
html:not([data-theme="light"]) .bz-form input,
html:not([data-theme="light"]) .bz-form select,
html:not([data-theme="light"]) .zw-form input,
html:not([data-theme="light"]) .zw-form select,
html:not([data-theme="light"]) .bz-hehun input,
html:not([data-theme="light"]) .bz-hehun select {
  background: var(--surface-soft);
  border-color: var(--line-strong);
  color: var(--ink);
}
html:not([data-theme="light"]) .bz-question,
html:not([data-theme="light"]) .zw-question {
  background: var(--surface-soft);
  border-color: var(--line-strong);
}
html:not([data-theme="light"]) .bz-question:focus,
html:not([data-theme="light"]) .zw-question:focus {
  border-color: var(--gold-line);
  box-shadow: 0 0 0 3px rgba(211, 172, 87, 0.14);
}
input::placeholder, textarea::placeholder { color: var(--text-disabled); }

/* ---- [9] 工具页组件夜化：免费卡 / 付费卡 / 提示 / 徽记 ---- */
html:not([data-theme="light"]) .bz-free,
html:not([data-theme="light"]) .zw-free {
  border-left-color: var(--gold);
  background: linear-gradient(180deg, rgba(211, 172, 87, 0.10), rgba(211, 172, 87, 0.02));
}
html:not([data-theme="light"]) .bz-free h3,
html:not([data-theme="light"]) .zw-free h3 { color: var(--gold-ink); }
html:not([data-theme="light"]) .bz-free h3::after,
html:not([data-theme="light"]) .zw-free h3::after {
  background: linear-gradient(90deg, var(--gold-line), transparent);
}
html:not([data-theme="light"]) .bz-free p,
html:not([data-theme="light"]) .zw-free p { color: var(--ink); }
html:not([data-theme="light"]) .bz-free .bz-full,
html:not([data-theme="light"]) .zw-free .zw-full { color: var(--gold-ink); }
html:not([data-theme="light"]) .bz-free .bz-jump,
html:not([data-theme="light"]) .zw-free .zw-jump {
  background: transparent;
  border-color: var(--gold-line);
  color: var(--gold-ink);
}
html:not([data-theme="light"]) .bz-free .bz-jump:hover,
html:not([data-theme="light"]) .zw-free .zw-jump:hover {
  background: var(--gold-soft);
  border-color: var(--gold);
}

html:not([data-theme="light"]) .bz-pay,
html:not([data-theme="light"]) .zw-pay,
html:not([data-theme="light"]) .bz-hehun {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0));
  box-shadow: var(--shadow-inset);
}
html:not([data-theme="light"]) .bz-card,
html:not([data-theme="light"]) .zw-card,
html:not([data-theme="light"]) .tcm-card,
html:not([data-theme="light"]) .bz-pillar,
html:not([data-theme="light"]) .tcm-chip,
html:not([data-theme="light"]) .bz-hehun .hh-col,
html:not([data-theme="light"]) .zw-center {
  box-shadow: var(--shadow-inset);
}

html:not([data-theme="light"]) .bz-dy-item.guankou,
html:not([data-theme="light"]) .zw-dy-item .lvl.guankou {
  border-color: var(--danger-line);
  background: var(--cinnabar-soft);
  color: var(--danger-ink);
}
html:not([data-theme="light"]) .bz-dy-item.zhuti,
html:not([data-theme="light"]) .zw-dy-item .lvl.zhuti {
  border-color: var(--gold-line);
  background: var(--warn-chip-bg);
  color: var(--warn-chip-ink);
}
html:not([data-theme="light"]) .bz-dy-item.ji,
html:not([data-theme="light"]) .zw-dy-item .lvl {
  background: var(--ok-bg);
  color: var(--ok-ink);
}
html:not([data-theme="light"]) .bz-saved,
html:not([data-theme="light"]) .zw-saved { color: var(--ok-ink); }
html:not([data-theme="light"]) .bz-save:hover,
html:not([data-theme="light"]) .zw-save:hover {
  border-color: var(--gold-line);
  color: var(--gold-ink);
}

html:not([data-theme="light"]) .bz-yq b,
html:not([data-theme="light"]) #bz-deep-result .bz-sec,
html:not([data-theme="light"]) #zw-deep-result .zw-sec,
html:not([data-theme="light"]) .bz-hehun .hh-col h4,
html:not([data-theme="light"]) .bz-hehun h3 .hh-badge,
html:not([data-theme="light"]) .bz-hh-item b,
html:not([data-theme="light"]) .tcm-yun-detail h4,
html:not([data-theme="light"]) .tcm-step b {
  color: var(--gold-ink);
}
html:not([data-theme="light"]) .tizhi-box {
  border-left-color: var(--gold);
  background: var(--warn-bg);
}

/* 紫微盘面 */
html:not([data-theme="light"]) .zw-palace { box-shadow: none; }
html:not([data-theme="light"]) .zw-palace.ming {
  background: linear-gradient(180deg, rgba(211, 172, 87, 0.14), rgba(211, 172, 87, 0.04));
}
html:not([data-theme="light"]) .zw-palace.cur { box-shadow: inset 0 0 0 2px var(--gold); }
html:not([data-theme="light"]) .zw-palace .zw-p-body {
  color: var(--danger-ink);
  border-color: var(--danger-line);
  background: var(--cinnabar-soft);
}
html:not([data-theme="light"]) .zw-dy-item.cur {
  border-color: var(--gold-line);
  background: var(--gold-soft);
}
html:not([data-theme="light"]) .tcm-hour.now {
  border-color: var(--gold-line);
  background: var(--warn-bg);
}

/* ---- [10] 首页模块卡：从死灰模板脸到有空气感的夜卡 ---- */
html:not([data-theme="light"]) .module {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0) 46%),
    var(--surface);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.42),
    var(--shadow-inset);
}
html:not([data-theme="light"]) .module .module-mesh {
  opacity: 0.5;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.030) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.030) 1px, transparent 1px);
}
html:not([data-theme="light"]) .module .module-no { color: rgba(211, 172, 87, 0.10); }
html:not([data-theme="light"]) .module .module-preview i,
html:not([data-theme="light"]) .module .module-preview b {
  border-color: var(--gold-line);
  color: var(--gold-ink);
}
html:not([data-theme="light"]) .module .module-preview b {
  border-color: var(--cinnabar);
  background: var(--cinnabar-soft);
  color: var(--cinnabar);
}
html:not([data-theme="light"]) .module .module-icon {
  border-color: var(--gold-line);
  background: var(--gold-soft);
  color: var(--gold-ink);
}
html:not([data-theme="light"]) .module .module-preview-yao .yao-line { background: var(--gold-ink); }
html:not([data-theme="light"]) .module .module-preview-yao .yao-line.yl-yin::before,
html:not([data-theme="light"]) .module .module-preview-yao .yao-line.yl-yin::after { background: var(--gold-ink); }
html:not([data-theme="light"]) .module .module-preview-yao .yl-moving,
html:not([data-theme="light"]) .module .module-preview-yao .yl-yin.yl-moving::before,
html:not([data-theme="light"]) .module .module-preview-yao .yl-yin.yl-moving::after { background: var(--cinnabar); }
html:not([data-theme="light"]) .module .module-go {
  border-color: var(--accent-medium);
  background: var(--accent-soft);
  color: var(--accent-strong);
}
html:not([data-theme="light"]) .module .module-tags::before { background: var(--gold-line); }
html:not([data-theme="light"]) .module:hover {
  border-color: var(--accent-medium);
  box-shadow: 0 26px 54px rgba(0, 0, 0, 0.55), var(--shadow-inset);
}
html:not([data-theme="light"]) .module:hover .module-go {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

/* ---- [11] 首页 Hero：文案 + 行动对 ---- */
html:not([data-theme="light"]) .home-hero .eyebrow {
  color: var(--gold-ink);
  letter-spacing: 0.34em;
}

/* 主 CTA：青玉实底；次 CTA：鎏金描边幽灵（一实一虚，克制的双色叙事） */
html:not([data-theme="light"]) .home-hero .btn.primary {
  background: linear-gradient(180deg, #43ddc6, #1fae99);
  border: 1px solid rgba(116, 230, 212, 0.5);
  color: var(--on-accent);
  box-shadow:
    0 12px 34px var(--shadow-accent),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
}
html:not([data-theme="light"]) .home-hero .btn.primary::after { content: none; }
html:not([data-theme="light"]) .home-hero .btn.primary:hover {
  background: linear-gradient(180deg, #52e4ce, #25baa4);
  transform: translateY(-2px);
  box-shadow: 0 16px 42px var(--shadow-accent-hover), inset 0 1px 0 rgba(255, 255, 255, 0.36);
}
html:not([data-theme="light"]) .home-hero .btn.secondary {
  background: rgba(211, 172, 87, 0.07);
  border: 1px solid var(--gold-line);
  color: var(--gold-glow);
  box-shadow: none;
}
html:not([data-theme="light"]) .home-hero .btn.secondary:hover {
  background: rgba(211, 172, 87, 0.14);
  color: var(--gold-glow);
  transform: translateY(-2px);
  box-shadow: none;
}
html:not([data-theme="light"]) .home-hero .btn:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 2px;
  box-shadow: none;
}
html:not([data-theme="light"]) .header-cta {
  background: linear-gradient(180deg, #b8433a, #93312a) !important;
  border: 1px solid rgba(169, 58, 46, 0.9) !important;
  color: #f7f1e2 !important;
  box-shadow: 0 6px 18px rgba(169, 58, 46, 0.36) !important;
}
html:not([data-theme="light"]) .header-cta:hover {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #c24d43, #a23830) !important;
  box-shadow: 0 8px 24px rgba(169, 58, 46, 0.46) !important;
}
html:not([data-theme="light"]) .hero-today a {
  border-color: var(--gold-line);
  background: var(--gold-soft);
  color: var(--gold-glow);
}
html:not([data-theme="light"]) .hero-today a:hover {
  background: rgba(211, 172, 87, 0.18);
  border-color: var(--gold);
}
[data-theme="light"] .hero-copy .eyebrow {
  color: #8a6219;
  letter-spacing: 0.34em;
}
[data-theme="light"] .hero-copy .eyebrow::before {
  background-color: #b8862f;
}

/* ---- [15] 导航焦点收敛：激活项统一墨黑胶囊（与八字页一致）；
        竖排装饰字提亮防移动端隐身 ---- */
html:not([data-theme="light"]) .tab.is-active {
  background: #2c332e !important;
  border: 1px solid rgba(242, 240, 230, 0.16);
  box-shadow: none !important;
  color: #f2f0e6 !important;
  font-weight: 700;
}

/* ---- [16] 浅色主题导航自洽：弃「深玻璃叠米纸」的混浊观感，
        改为纸色实底 + 墨字，激活项青瓷胶囊（与八字页一致），对比度达标；
        登录/主题钮原白字白底为暗色 header 设计，浅底下不可见，同步改墨字描边 ---- */
[data-theme="light"] .site-header {
  background: rgba(239, 238, 231, 0.92) !important;
  border-bottom: 1px solid var(--line) !important;
  backdrop-filter: blur(14px);
  color: #18232a;
}
[data-theme="light"] .brand h1 { color: #18232a; }
[data-theme="light"] .site-header p,
[data-theme="light"] .brand p { color: #5c6a68; }
[data-theme="light"] .tab {
  color: #41504e;
}
[data-theme="light"] .tab:hover {
  background: rgba(14, 111, 102, 0.08);
  color: #18232a;
}
[data-theme="light"] .tab.is-active {
  background: #47716d !important;
  border-color: transparent;
  color: #f2f0e6 !important;
  font-weight: 700;
}
[data-theme="light"] .auth-button {
  border-color: rgba(24, 35, 42, 0.32);
  background: rgba(255, 255, 255, 0.5);
  color: #243b37;
}
[data-theme="light"] .auth-button:hover {
  border-color: rgba(24, 35, 42, 0.5);
  background: rgba(24, 35, 42, 0.07);
}
[data-theme="light"] .theme-toggle {
  border-color: rgba(24, 35, 42, 0.32);
  color: #41504e;
}

/* ---- [17] 浅色主题 CTA 统一：同名动作只留一种颜色（青玉实底）；
        日签链接文字加深，浅底下不再发虚 ---- */
[data-theme="light"] .home-hero .btn.primary {
  background: linear-gradient(180deg, #158a7f, #0c6359);
  border: 1px solid rgba(10, 85, 79, 0.6);
  color: #fff;
  box-shadow: 0 8px 24px rgba(10, 85, 79, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
[data-theme="light"] .home-hero .btn.primary::after { content: none; }
[data-theme="light"] .home-hero .btn.primary:hover {
  background: linear-gradient(180deg, #c24d43, #a23830);
}
[data-theme="light"] .header-cta {
  background: linear-gradient(180deg, #b8433a, #93312a) !important;
  border: 1px solid rgba(169, 58, 46, 0.9) !important;
  color: #f7f1e2 !important;
  box-shadow: 0 6px 18px rgba(169, 58, 46, 0.32) !important;
}
[data-theme="light"] .hero-today a {
  border-color: rgba(138, 98, 25, 0.45);
  background: rgba(184, 134, 47, 0.08);
  color: #8a6219;
}
[data-theme="light"] .hero-today a:hover {
  border-color: rgba(138, 98, 25, 0.7);
  color: #6d4e13;
}

@media (prefers-reduced-motion: reduce) {
}

/* ============================================================
   v22 · 问事向导深色适配（移动端审计发现）
   styles.css 的 .ask-guide 是浅色纸面底（rgba(255,254,251,.82)），
   深色工具页（排盘/六爻）上形成浅色块 + 内部浅金字，几乎不可读。
   深色分支换成星空卡底 + 既有鎏金/墨色令牌；浅色分支不动。 */
html:not([data-theme="light"]) .ask-guide {
  border-color: rgba(211, 172, 87, 0.28);
  background: rgba(21, 26, 36, 0.92);
}
html:not([data-theme="light"]) .ask-guide-head .text-button {
  color: var(--muted);
}
html:not([data-theme="light"]) .ask-scene {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
}
html:not([data-theme="light"]) .ask-scene:hover {
  border-color: rgba(55, 205, 182, 0.45);
  color: var(--accent-strong);
}
html:not([data-theme="light"]) .ask-guide-fields label {
  color: var(--muted);
}
html:not([data-theme="light"]) .ask-guide-fields input {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.05);
  color: var(--ink);
}
html:not([data-theme="light"]) .ask-guide-fields input:focus {
  border-color: rgba(55, 205, 182, 0.55);
}
