/* =========================================================
 * paper-final.css — 灵鲤 · 宣纸屏幕（Paper & Pixel）终态覆盖层
 * ---------------------------------------------------------
 * 加载顺序：必须在 theme-v2.css 与 theme-v2-plus.css 之后
 * 作用范围：仅 body.theme-v2
 * 策略：
 *   1. 重写 v2 设计令牌为宣纸屏幕规格（象牙宣纸 + 单色墨阶 + 朱砂/石青点睛）
 *   2. 关闭 theme-v2-plus 的"过度动感"（旋转罗盘、渐变文字、极光漂移）
 *      保留极简静态装饰（朱砂点、飞白线、慢呼吸阴影）
 *   3. 精工细节：4px 圆角、渐入渐出 hairline、光学左退、tabular-nums、弹簧曲线
 * 参考：Linear · Arc · 苏州博物馆贝聿铭 · Kinfolk
 * ========================================================= */

/* =========================================================
 * §0 · 令牌重写（Paper & Pixel）
 * ========================================================= */
body.theme-v2 {
  /* — 底 · 文（象牙宣纸 + 焦墨墨阶） — */
  --v2-paper:        #F8F5EE;
  --v2-paper-2:      #F2EEE3;
  --v2-surface:      #FBF9F3;
  --v2-ink:          #1A1613;
  --v2-ink-2:        rgba(26,22,19,.82);
  --v2-muted:        rgba(26,22,19,.55);
  --v2-hair:         rgba(26,22,19,.08);
  --v2-hair-2:       rgba(26,22,19,.12);

  /* — 主 · 辅 · 意（只有朱砂 + 石青 两个点睛色） — */
  --v2-primary:      #4A6E8A;   /* 石青 · 信息/link */
  --v2-primary-2:    #5C82A0;
  --v2-primary-3:    #3C5A72;
  --v2-gold:         #1A1613;   /* 金 → 焦墨，绝不使用金色 */
  --v2-gold-2:       #1A1613;
  --v2-good:         #1A1613;   /* 吉 → 焦墨，不用绿 */
  --v2-good-2:       #1A1613;
  --v2-bad:          #8B2323;   /* 朱砂 · 凶 */
  --v2-bad-2:        #A03535;
  --v2-warn:         #8B2323;
  --v2-info:         #4A6E8A;
  --v2-seal:         #8B2323;   /* 印章朱砂 */

  /* — 圆角（顶级产品都用小圆角） — */
  --v2-r-xs: 2px;
  --v2-r-sm: 3px;
  --v2-r-md: 4px;    /* 主圆角 · 方案乙关键规格 */
  --v2-r-lg: 6px;

  /* — 阴影（宣纸不接受浮夸阴影） — */
  --v2-sh-1: 0 0 0 1px rgba(26,22,19,.08);
  --v2-sh-2: 0 0 0 1px rgba(26,22,19,.08), 0 1px 2px rgba(26,22,19,.03);
  --v2-sh-3: 0 0 0 1px rgba(26,22,19,.12), 0 8px 32px rgba(26,22,19,.08);

  /* — 弹簧曲线（全站唯一时序） — */
  --v2-ease:     cubic-bezier(.22, .61, .36, 1);
  --v2-ease-out: cubic-bezier(.22, .61, .36, 1);
  --v2-spring:   cubic-bezier(.34, 1.56, .64, 1);
  --v2-t-1: 200ms;
  --v2-t-2: 350ms;
  --v2-t-3: 700ms;

  /* — 字体（Inter Tight + Newsreader + Ma Shan Zheng + Noto Serif SC） — */
  --v2-font-serif: "Noto Serif SC", "Songti SC", "STSong", "宋体", ui-serif, serif;
  --v2-font-sans:  "Inter Tight", "Inter", -apple-system, "SF Pro Text", "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", sans-serif;
  --v2-font-num:   "Newsreader", "GT Sectra", "Noto Serif SC", "Songti SC", ui-serif, serif;
  --v2-font-kai:   "Ma Shan Zheng", "KaiTi", "STKaiti", "Noto Serif SC", serif;

  /* — Legacy 令牌重映射已上移至源：
       · app.css       :root  → --green / --brown / --cream / --red / --gold / --blue / --border …
       · enhance.css   :root  → --ll-ink / --ll-green / --ll-cinnabar / --ll-silk / --ll-gold-2 / --ll-brown …
       · ll-design.css :root  → --ll-c-* 全套
       原本这里再声明一次是为了 body.theme-v2 更高优先级翻皮，现在源头即宣纸值，
       此处的重复声明是纯粹的 no-op（CSS 变量在使用点解析，:root 已定义即已生效）。
       删除以精简层级，减少认知负担与体积。 — */
}

/* =========================================================
 * §1 · 背景 · 象牙宣纸 + SVG 纤维纹理（5% 透明度）
 * ========================================================= */
body.theme-v2 {
  background:
    radial-gradient(1000px 700px at 10% -8%,  rgba(26,22,19,.025), transparent 55%),
    radial-gradient(900px 600px  at 100% 8%,  rgba(139,35,35,.018), transparent 55%),
    radial-gradient(800px 800px  at 50% 110%, rgba(74,110,138,.020), transparent 55%),
    var(--v2-paper) !important;
  background-attachment: fixed !important;
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-sans) !important;
  letter-spacing: .01em;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

/* 关掉 v2-plus 的极光漂移与金线经纬 */
body.theme-v2::before {
  animation: none !important;
  background:
    radial-gradient(ellipse 24% 16% at 22% 28%, rgba(26,22,19,.03), transparent 60%),
    radial-gradient(ellipse 20% 14% at 78% 62%, rgba(139,35,35,.02),  transparent 60%),
    radial-gradient(ellipse 22% 16% at 50% 88%, rgba(74,110,138,.025), transparent 60%) !important;
  filter: none !important;
  opacity: .7 !important;
}

/* 宣纸纤维层 · SVG noise 5% —— 用 html::after 挂载，不与 v2-plus::after 冲突 */
html::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: .05;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10  0 0 0 0 0.09  0 0 0 0 0.08  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
  mix-blend-mode: multiply;
}

/* 桌面网格经纬淡化 */
@media (min-width: 640px) {
  body.theme-v2::after {
    display: none !important;
  }
}

/* =========================================================
 * §2 · 排版 · 光学对齐 · 手写楷 · 编辑级衬线数字
 * ========================================================= */
body.theme-v2 .card-title,
body.theme-v2 .v2-title,
body.theme-v2 h1,
body.theme-v2 h2,
body.theme-v2 h3 {
  font-family: var(--v2-font-serif) !important;
  color: var(--v2-ink) !important;
  letter-spacing: .24em !important;
  font-weight: 500 !important;
  /* 光学左退 .03em */
  margin-left: -.03em;
}

/* 卡片标题的渐入渐出墨线 */
body.theme-v2 .card-title {
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: none !important;
  position: relative;
}
body.theme-v2 .card-title::after {
  content: '';
  position: absolute;
  left: -.03em; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(26,22,19,.24), rgba(26,22,19,.12) 40%, transparent);
}
body.theme-v2 .card-title-icon {
  opacity: .72 !important;
  filter: grayscale(.4);
}

/* 数字全站等宽 · 编辑级衬线 */
body.theme-v2 .v2-num,
body.theme-v2 .v2-score-num,
body.theme-v2 .v2-stat-num,
body.theme-v2 .hero-score-num,
body.theme-v2 .kua-num,
body.theme-v2 .hh-score,
body.theme-v2 .admin-stat-num,
body.theme-v2 .referral-stat-num,
body.theme-v2 time,
body.theme-v2 .mono {
  font-family: var(--v2-font-num) !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  letter-spacing: -.01em !important;
  font-weight: 400 !important;
}

::selection { background: rgba(139,35,35,.12) !important; color: var(--v2-ink) !important; }

/* =========================================================
 * §3 · 卡片 · 宣纸卡片 · 极细墨线 · 慢呼吸阴影
 * ========================================================= */
body.theme-v2 .card,
body.theme-v2 .v2-card {
  background: var(--v2-surface) !important;
  border: none !important;
  border-radius: var(--v2-r-lg) !important;
  box-shadow: 0 0 0 1px rgba(26,22,19,.08), 0 1px 3px rgba(26,22,19,.03) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  transition: box-shadow 1.2s var(--v2-ease-out), transform .4s var(--v2-spring) !important;
}

body.theme-v2 .card:hover,
body.theme-v2 .v2-card:hover {
  box-shadow: 0 0 0 1px rgba(26,22,19,.12), 0 8px 32px rgba(26,22,19,.08) !important;
}

/* 印章位改为真正朱砂小方章 */
body.theme-v2 .v2-card--sealed::after {
  color: #FFF !important;
  background: var(--v2-seal) !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: var(--v2-font-serif) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  transform: rotate(-4deg) !important;
  opacity: .88 !important;
  box-shadow: 0 1px 3px rgba(139,35,35,.24);
}

body.theme-v2 .v2-card--primary {
  border-left: 1px solid var(--v2-seal) !important;
}

/* =========================================================
 * §4 · 主 CTA · 深墨底 白字 · 4px 圆角
 * ========================================================= */
body.theme-v2 .btn-primary,
body.theme-v2 .v2-btn {
  background: var(--v2-ink) !important;
  color: #FFF !important;
  border: 1px solid var(--v2-ink) !important;
  border-radius: var(--v2-r-md) !important;
  padding: 14px 22px !important;
  letter-spacing: .28em !important;
  padding-left: calc(22px + .28em) !important;
  font-family: var(--v2-font-serif) !important;
  font-weight: 500 !important;
  transition: all .3s var(--v2-ease-out), transform .2s var(--v2-spring) !important;
}
body.theme-v2 .btn-primary:hover,
body.theme-v2 .v2-btn:hover {
  background: #2A2420 !important;
  border-color: var(--v2-seal) !important;
  box-shadow: 0 0 0 1px var(--v2-seal) !important;
  transform: none !important;
}
body.theme-v2 .btn-primary:active,
body.theme-v2 .v2-btn:active {
  transform: scale(.98) !important;
  background: var(--v2-ink) !important;
}

body.theme-v2 .btn-secondary,
body.theme-v2 .v2-btn--ghost {
  background: transparent !important;
  color: var(--v2-ink) !important;
  border: 1px solid rgba(26,22,19,.20) !important;
  border-radius: var(--v2-r-md) !important;
  letter-spacing: .24em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .btn-secondary:hover,
body.theme-v2 .v2-btn--ghost:hover {
  background: rgba(26,22,19,.03) !important;
  border-color: var(--v2-ink) !important;
}

/* =========================================================
 * §5 · 表单
 * ========================================================= */
body.theme-v2 .form-input,
body.theme-v2 .form-select,
body.theme-v2 textarea.form-input,
body.theme-v2 .v2-input {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,22,19,.12) !important;
  border-radius: var(--v2-r-md) !important;
  color: var(--v2-ink) !important;
  transition: all .25s var(--v2-ease-out) !important;
}
body.theme-v2 .form-input:focus,
body.theme-v2 .form-select:focus,
body.theme-v2 .v2-input:focus {
  border-color: var(--v2-ink) !important;
  box-shadow: 0 0 0 3px rgba(26,22,19,.05) !important;
}
body.theme-v2 .form-input::placeholder { color: rgba(26,22,19,.32) !important; }

/* =========================================================
 * §6 · Tag · Seg
 * ========================================================= */
body.theme-v2 .tag,
body.theme-v2 .v2-tag {
  border-radius: 2px !important;
  letter-spacing: .08em !important;
  font-family: var(--v2-font-sans) !important;
}
body.theme-v2 .tag-success,
body.theme-v2 .v2-tag--good { background: rgba(26,22,19,.05) !important; color: var(--v2-ink) !important; border-color: rgba(26,22,19,.12) !important; }
body.theme-v2 .tag-warning,
body.theme-v2 .v2-tag--warn { background: rgba(139,35,35,.05) !important; color: var(--v2-seal) !important; border-color: rgba(139,35,35,.24) !important; }
body.theme-v2 .tag-danger,
body.theme-v2 .v2-tag--bad  { background: rgba(139,35,35,.05) !important; color: var(--v2-seal) !important; border-color: rgba(139,35,35,.24) !important; }
body.theme-v2 .tag-info,
body.theme-v2 .v2-tag--info { background: rgba(74,110,138,.12) !important; color: var(--v2-info) !important; border-color: rgba(74,110,138,.24) !important; }
body.theme-v2 .v2-tag--gold { background: rgba(26,22,19,.05) !important; color: var(--v2-ink) !important; border-color: rgba(26,22,19,.20) !important; }

body.theme-v2 .seg-btn.active {
  background: var(--v2-surface) !important;
  color: var(--v2-ink) !important;
  box-shadow: 0 1px 2px rgba(26,22,19,.08), 0 0 0 1px rgba(26,22,19,.08) !important;
}

/* =========================================================
 * §7 · 导航 · Tabbar
 * ========================================================= */
body.theme-v2 .navbar {
  background: rgba(248,245,238,.85) !important;
  color: var(--v2-ink) !important;
  border-bottom: none !important;
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  position: sticky;
  overflow: hidden;
}
body.theme-v2 .navbar::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(26,22,19,.12), transparent);
}
body.theme-v2 .navbar-title {
  font-family: var(--v2-font-serif) !important;
  letter-spacing: .32em !important;
  color: var(--v2-ink) !important;
  font-weight: 500 !important;
  margin-left: -.03em;
}
body.theme-v2 .navbar-back {
  color: var(--v2-ink) !important;
  transition: all .3s var(--v2-spring) !important;
}
body.theme-v2 .navbar-back:hover {
  color: var(--v2-seal) !important;
  transform: translateX(-3px);
}

body.theme-v2 .tabbar {
  background: rgba(248,245,238,.88) !important;
  border-top: none !important;
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}
body.theme-v2 .tabbar::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(26,22,19,.12), transparent);
}
body.theme-v2 .tabbar-item {
  color: rgba(26,22,19,.4) !important;
  letter-spacing: .22em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .tabbar-item.active {
  color: var(--v2-ink) !important;
  font-weight: 500 !important;
}
body.theme-v2 .tabbar-item.active::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 1px;
  background: var(--v2-seal);
}
body.theme-v2 .tabbar-icon {
  filter: grayscale(.6);
  opacity: .7;
  transition: transform .4s var(--v2-spring);
}
body.theme-v2 .tabbar-item.active .tabbar-icon {
  filter: grayscale(0);
  opacity: 1;
  transform: translateY(-2px);
}

/* =========================================================
 * §8 · Hero 今日运势 · 关闭旋转罗盘 + 渐变文字，改用静态朱砂 + 飞白
 * ========================================================= */
body.theme-v2 .hero-today {
  background: var(--v2-surface) !important;
  border: none !important;
  border-radius: var(--v2-r-lg) !important;
  box-shadow: 0 0 0 1px rgba(26,22,19,.08), 0 1px 3px rgba(26,22,19,.03) !important;
  padding: 24px 22px 20px !important;
  position: relative;
  overflow: hidden;
}

/* 顶部一撇飞白笔触（用 gradient 模拟） */
body.theme-v2 .hero-today::before {
  animation: none !important;
  background: linear-gradient(90deg, rgba(26,22,19,.32), rgba(26,22,19,.12) 60%, transparent) !important;
  width: 40% !important;
  height: 1px !important;
  top: 0 !important;
  left: 8% !important;
  bottom: auto !important;
  z-index: 1;
}

/* 关掉星象罗盘旋转 · 改为静态朱砂小印章（真实篆刻风） */
body.theme-v2 .hero-today::after {
  animation: none !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'><rect x='2' y='2' width='40' height='40' rx='2' fill='none' stroke='%238B2323' stroke-width='2.5'/><rect x='6' y='6' width='32' height='32' rx='1' fill='none' stroke='%238B2323' stroke-width='.5' opacity='.5'/><text x='22' y='19' text-anchor='middle' fill='%238B2323' font-family='STSong,serif' font-size='11' font-weight='bold' letter-spacing='1'>灵</text><text x='22' y='34' text-anchor='middle' fill='%238B2323' font-family='STSong,serif' font-size='11' font-weight='bold' letter-spacing='1'>鲤</text></svg>") !important;
  top: 16px !important;
  right: 18px !important;
  width: 46px !important;
  height: 46px !important;
  opacity: .82 !important;
  transform: rotate(-4deg) !important;
  filter: drop-shadow(0 1px 2px rgba(139,35,35,.15));
}

/* 分数改为纯焦墨衬线数字 · 关闭 v2-plus 的渐变文字 */
body.theme-v2 .hero-today-score .hero-score-num,
body.theme-v2 .hero-today-score.hero-score-good .hero-score-num,
body.theme-v2 .hero-today-score.hero-score-mid  .hero-score-num,
body.theme-v2 .hero-today-score.hero-score-low  .hero-score-num {
  background: none !important;
  -webkit-background-clip: initial !important;
          background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--v2-font-num) !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  color: var(--v2-ink) !important;
  letter-spacing: -.02em !important;
  line-height: 1 !important;
}
body.theme-v2 .hero-today-score.hero-score-low .hero-score-num {
  color: var(--v2-seal) !important;
}

body.theme-v2 .hero-today-score .hero-score-label {
  font-family: var(--v2-font-serif) !important;
  font-size: 10px !important;
  letter-spacing: .32em !important;
  color: rgba(26,22,19,.4) !important;
  margin-top: 6px !important;
  padding-left: .32em;
}

body.theme-v2 .hero-today-solar {
  font-family: var(--v2-font-serif) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--v2-ink) !important;
  letter-spacing: .08em !important;
  margin-left: -.03em;
}
body.theme-v2 .hero-today-lunar {
  color: var(--v2-muted) !important;
  letter-spacing: .04em !important;
}
body.theme-v2 .hero-today-more {
  color: var(--v2-info) !important;
  letter-spacing: .12em !important;
  font-family: var(--v2-font-serif) !important;
  border-top: 1px solid rgba(26,22,19,.08) !important;
  transition: color .3s var(--v2-ease-out) !important;
}
body.theme-v2 .hero-today-more:hover { color: var(--v2-seal) !important; }

/* =========================================================
 * §9 · 首页 header · 关闭 halo 呼吸 + greeting 渐变文字
 * ========================================================= */
body.theme-v2 .header-logo-img {
  animation: none !important;
  border: 1px solid rgba(26,22,19,.12) !important;
  box-shadow: 0 1px 3px rgba(26,22,19,.08) !important;
}
body.theme-v2 .greeting {
  background: none !important;
  -webkit-background-clip: initial !important;
          background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-serif) !important;
  letter-spacing: .18em !important;
  font-weight: 500 !important;
  font-size: 26px !important;
  margin-left: -.03em;
}
body.theme-v2 .greeting::after {
  animation: none !important;
  background: var(--v2-seal) !important;
  box-shadow: none !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 1 !important;
  vertical-align: middle;
  margin-left: 12px !important;
}

/* =========================================================
 * §10 · Zone 分区
 * ========================================================= */
body.theme-v2 .zone-section {
  background: var(--v2-surface) !important;
  border: none !important;
  border-radius: var(--v2-r-lg) !important;
  box-shadow: 0 0 0 1px rgba(26,22,19,.08), 0 1px 3px rgba(26,22,19,.03) !important;
  padding: 20px 18px !important;
  transition: box-shadow 1s var(--v2-ease-out) !important;
}
body.theme-v2 .zone-section:hover {
  box-shadow: 0 0 0 1px rgba(26,22,19,.12), 0 8px 32px rgba(26,22,19,.08) !important;
}
body.theme-v2 .zone-header {
  border-bottom: none !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  position: relative;
}
body.theme-v2 .zone-header::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(26,22,19,.20), rgba(26,22,19,.08) 50%, transparent);
}
body.theme-v2 .zone-header-icon {
  background: rgba(26,22,19,.05) !important;
  border-radius: var(--v2-r-md) !important;
  filter: grayscale(.5);
  opacity: .85;
  width: 36px !important;
  height: 36px !important;
  font-size: 20px !important;
}
body.theme-v2 .zone-header-title {
  font-family: var(--v2-font-serif) !important;
  letter-spacing: .24em !important;
  font-weight: 500 !important;
  color: var(--v2-ink) !important;
  margin-left: -.03em;
}
body.theme-v2 .zone-header-desc {
  color: rgba(26,22,19,.4) !important;
  letter-spacing: .08em !important;
}
body.theme-v2 .zone-action {
  background: transparent !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-radius: var(--v2-r-md) !important;
  transition:
    border-color .35s var(--v2-ease-out),
    background-color .35s var(--v2-ease-out),
    transform .3s var(--v2-spring),
    box-shadow .8s var(--v2-ease-out) !important;
}
body.theme-v2 .zone-action:hover {
  background: var(--v2-surface) !important;
  border-color: rgba(26,22,19,.20) !important;
  box-shadow: 0 4px 16px rgba(26,22,19,.05) !important;
}
body.theme-v2 .zone-action:active {
  background: rgba(26,22,19,.05) !important;
  transform: scale(.98) !important;
}
body.theme-v2 .zone-action-hot {
  border-color: rgba(139,35,35,.24) !important;
}
body.theme-v2 .zone-action-hot:hover {
  background: rgba(139,35,35,.05) !important;
  border-color: rgba(139,35,35,.40) !important;
}
body.theme-v2 .zone-action-icon {
  filter: grayscale(.4);
  opacity: .85;
}
body.theme-v2 .zone-action-title {
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-serif) !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
}
body.theme-v2 .zone-action-desc {
  color: rgba(26,22,19,.4) !important;
}
body.theme-v2 .zone-hot-dot {
  background: var(--v2-seal) !important;
  color: #FFF !important;
  border-radius: 2px !important;
  letter-spacing: .1em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .zone-action-arrow {
  color: rgba(26,22,19,.32) !important;
  font-family: var(--v2-font-num) !important;
  font-weight: 300 !important;
}

/* =========================================================
 * §11 · 八字排盘 · 命卦 hero · 九宫飞星
 * ========================================================= */
body.theme-v2 .bazi-chart {
  background: #FFF !important;
  border: 1px solid rgba(26,22,19,.12) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .bazi-chart-head {
  background: var(--v2-ink) !important;
  color: #FFF !important;
}
body.theme-v2 .bazi-chart-head .bazi-chart-cell {
  color: #FFF !important;
  font-family: var(--v2-font-serif) !important;
  letter-spacing: .24em !important;
  font-weight: 400 !important;
}
body.theme-v2 .bazi-chart-row.bazi-daymaster-row .bazi-chart-cell:nth-child(4) {
  background: rgba(139,35,35,.05) !important;
}
body.theme-v2 .bazi-chart-row.bazi-daymaster-row .bazi-chart-cell:nth-child(4)::after {
  background: var(--v2-seal) !important;
  width: 22px !important;
  height: 1px !important;
}

body.theme-v2 .kua-hero {
  background: var(--v2-surface) !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-radius: var(--v2-r-lg) !important;
  padding: 40px 24px !important;
}
body.theme-v2 .kua-num {
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-num) !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-size: 88px !important;
  font-weight: 400 !important;
  text-shadow: none !important;
  letter-spacing: -.03em !important;
  line-height: 1 !important;
}
body.theme-v2 .hh-score {
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-num) !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-size: 72px !important;
  font-weight: 400 !important;
  text-shadow: none !important;
  letter-spacing: -.02em !important;
}

body.theme-v2 .jm-cell {
  background: var(--v2-surface) !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-radius: var(--v2-r-md) !important;
  transition: all .35s var(--v2-spring) !important;
}
body.theme-v2 .jm-cell.auspicious {
  background: rgba(26,22,19,.03) !important;
  border-color: var(--v2-ink) !important;
}
body.theme-v2 .jm-cell.inauspicious {
  background: rgba(139,35,35,.05) !important;
  border-color: rgba(139,35,35,.40) !important;
}
body.theme-v2 .jm-cell.daji {
  background: var(--v2-surface) !important;
  border-color: var(--v2-seal) !important;
  box-shadow: 0 0 0 1px rgba(139,35,35,.24) !important;
}
body.theme-v2 .star-num {
  color: var(--v2-ink) !important;
  font-family: var(--v2-font-num) !important;
  font-variant-numeric: tabular-nums !important;
}
body.theme-v2 .jm-cell.inauspicious .star-num,
body.theme-v2 .jm-cell.daji .star-num { color: var(--v2-seal) !important; }

/* 免责声明 */
body.theme-v2 .disclaimer {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(139,35,35,.4) !important;
  border-radius: 0 !important;
  color: rgba(26,22,19,.55) !important;
  letter-spacing: .04em !important;
  padding: 14px 16px !important;
}

/* =========================================================
 * §12 · profile · admin 徽章覆盖
 *   处理 inline style="background:linear-gradient(135deg,#FFD700,#FFA500)"
 *   通过更高特异性把它顶掉
 * ========================================================= */
body.theme-v2 .status-badge[style],
body.theme-v2 .status-badge {
  background: var(--v2-seal) !important;
  background-image: none !important;
  color: #FFF !important;
  border-radius: 2px !important;
  padding: 2px 10px !important;
  letter-spacing: .3em !important;
  font-family: var(--v2-font-serif) !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  padding-left: calc(10px + .3em) !important;
  box-shadow: 0 1px 2px rgba(139,35,35,.24) !important;
}

body.theme-v2 .profile-logo-img {
  border: 1px solid rgba(26,22,19,.12) !important;
  box-shadow: 0 2px 8px rgba(26,22,19,.08) !important;
}

/* =========================================================
 * §13 · Loading · Toast
 * ========================================================= */
body.theme-v2 .loading-overlay {
  background: rgba(248,245,238,.72) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-v2 .loading-box {
  background: var(--v2-surface) !important;
  border: none !important;
  box-shadow: 0 0 0 1px rgba(26,22,19,.08), 0 12px 40px rgba(26,22,19,.10) !important;
  color: rgba(26,22,19,.55) !important;
  letter-spacing: .32em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .toast {
  background: var(--v2-ink) !important;
  color: #FFF !important;
  border: none !important;
  border-radius: var(--v2-r-md) !important;
  box-shadow: 0 12px 40px rgba(26,22,19,.24) !important;
  letter-spacing: .08em !important;
  font-family: var(--v2-font-serif) !important;
}

/* =========================================================
 * §14 · 页面进入 · 墨点扩散淡入
 * ========================================================= */
body.theme-v2 .page {
  animation: paper-mask-in .7s var(--v2-ease-out);
}
@keyframes paper-mask-in {
  from {
    opacity: 0;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 20%);
            mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 20%);
  }
  60% { opacity: 1; }
  to {
    opacity: 1;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 100%, transparent 200%);
            mask-image: radial-gradient(circle at 50% 50%, #000 100%, transparent 200%);
  }
}

/* 滚动条 */
body.theme-v2 ::-webkit-scrollbar { width: 6px; height: 6px; }
body.theme-v2 ::-webkit-scrollbar-track { background: transparent; }
body.theme-v2 ::-webkit-scrollbar-thumb {
  background: rgba(26,22,19,.12);
  border-radius: 3px;
}
body.theme-v2 ::-webkit-scrollbar-thumb:hover { background: rgba(26,22,19,.32); }

/* =========================================================
 * §15 · 减少动效 · 尊重系统设置
 * ========================================================= */
@media (prefers-reduced-motion: reduce) {
  body.theme-v2 *,
  body.theme-v2 *::before,
  body.theme-v2 *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* =========================================================
 * §16 · liuyao-deep.css 硬编码色收敛
 *   五处（+ 若干衍生）hex 无法通过 token 翻皮，
 *   在此以更高特异性直接覆盖为宣纸墨阶。
 *   规则：动摇/凶 → 朱砂系；应/吉 → 焦墨系；
 *         中和/其它 → 中性墨阶；金色/棕色一律收敛为墨。
 * ========================================================= */

/* 六亲/爻位左边细线 */
body.theme-v2 .ly-deep-yjc { border-left-color: var(--v2-seal) !important; }
body.theme-v2 .ly-deep-yq  { border-left-color: var(--v2-ink)  !important; }
body.theme-v2 .ly-deep-gs  { border-left-color: rgba(26,22,19,.55) !important; }
body.theme-v2 .ly-deep-che { border-left-color: var(--v2-ink)  !important; }
body.theme-v2 .ly-deep-var { border-left-color: var(--v2-info) !important; }
body.theme-v2 .ly-deep-she { border-left-color: rgba(26,22,19,.40) !important; }

/* 用神/忌神/仇神 · 颜色语义收敛（吉=焦墨；凶/忌=朱砂；仇=中墨） */
body.theme-v2 .ly-yjc-yuan .ly-yjc-role,
body.theme-v2 .ly-yjc-yuan .ly-yjc-name { color: var(--v2-ink) !important; }
body.theme-v2 .ly-yjc-ji   .ly-yjc-role,
body.theme-v2 .ly-yjc-ji   .ly-yjc-name { color: var(--v2-seal) !important; }
body.theme-v2 .ly-yjc-chou .ly-yjc-role,
body.theme-v2 .ly-yjc-chou .ly-yjc-name { color: rgba(26,22,19,.55) !important; }

/* 卦力度条 pw-* · 全部收敛为墨阶，仅 broken 保留朱砂 */
body.theme-v2 .ly-pw-strong  {
  background: var(--v2-ink) !important;
  color: #FFF !important;
}
body.theme-v2 .ly-pw-mid {
  background: rgba(26,22,19,.72) !important;
  color: #FFF !important;
}
body.theme-v2 .ly-pw-neutral {
  background: rgba(26,22,19,.48) !important;
  color: #FFF !important;
}
body.theme-v2 .ly-pw-weak    {
  background: rgba(26,22,19,.28) !important;
  color: var(--v2-ink) !important;
}
body.theme-v2 .ly-pw-broken  {
  background: var(--v2-seal) !important;
  color: #FFF !important;
}

/* 冲/合/常态 徽章 */
body.theme-v2 .ly-che-chong  {
  background: var(--v2-seal) !important;
  color: #FFF !important;
}
body.theme-v2 .ly-che-he     {
  background: var(--v2-ink) !important;
  color: #FFF !important;
}
body.theme-v2 .ly-che-normal {
  background: rgba(26,22,19,.48) !important;
  color: #FFF !important;
}

/* 深度分析块内嵌背景 · 宣纸奶油 */
body.theme-v2 [class^="ly-deep"] { background-color: transparent !important; }
body.theme-v2 .ly-deep-body,
body.theme-v2 .ly-deep-inner,
body.theme-v2 .ly-yjc-card {
  background: var(--v2-surface) !important;
}

/* 兜底：liuyao-deep 里所有渐变文字/按钮 → 单色墨（覆盖 rainbow bar） */
body.theme-v2 [class*="ly-"][style*="linear-gradient"] {
  background-image: none !important;
  background-color: var(--v2-ink) !important;
}

/* 卦力度条 · 彩虹条 → 单色墨阶（左朱砂 · 右焦墨，无中间黄绿） */
body.theme-v2 .ly-power-track {
  background: linear-gradient(90deg,
    #8B2323 0%,
    rgba(139,35,35,.55) 25%,
    rgba(26,22,19,.28) 50%,
    rgba(26,22,19,.55) 75%,
    #1A1613 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(26,22,19,.08) !important;
  border-radius: 2px !important;
}
body.theme-v2 .ly-power-fill { border-right-color: var(--v2-paper) !important; }
body.theme-v2 .ly-power-mark { background: rgba(26,22,19,.40) !important; }
body.theme-v2 .ly-power-scale,
body.theme-v2 .ly-power-score { color: rgba(26,22,19,.55) !important; }

/* 元/忌/仇 三色 chip · 背景渐变 → 平铺宣纸奶油，仅边框语义色 */
body.theme-v2 .ly-yjc-chip {
  background: var(--v2-surface) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .ly-yjc-yuan {
  background: rgba(26,22,19,.03) !important;
  border-color: rgba(26,22,19,.24) !important;
}
body.theme-v2 .ly-yjc-ji {
  background: rgba(139,35,35,.05) !important;
  border-color: rgba(139,35,35,.28) !important;
}
body.theme-v2 .ly-yjc-chou {
  background: rgba(26,22,19,.02) !important;
  border-color: rgba(26,22,19,.16) !important;
}
body.theme-v2 .ly-yjc-info,
body.theme-v2 .ly-yjc-state { color: rgba(26,22,19,.55) !important; }

/* 应期地支轮 · 圆盘背景 + 中心印章 */
body.theme-v2 .ly-zhi-wheel {
  background:
    radial-gradient(circle at center,
      var(--v2-surface),
      var(--v2-paper) 70%,
      rgba(26,22,19,.03)) !important;
  border: 1px solid rgba(26,22,19,.12) !important;
  box-shadow: inset 0 0 24px rgba(26,22,19,.04) !important;
}
body.theme-v2 .ly-zhi-cell {
  box-shadow: 0 1px 3px rgba(26,22,19,.10) !important;
}
body.theme-v2 .ly-zhi-hit {
  box-shadow:
    0 0 0 2px var(--v2-paper),
    0 0 0 3px var(--v2-seal),
    0 4px 14px rgba(139,35,35,.24) !important;
}
body.theme-v2 .ly-zhi-center {
  background: var(--v2-seal) !important;
  color: #FFF !important;
  border-radius: 4px !important;
  font-family: var(--v2-font-serif) !important;
  letter-spacing: .24em !important;
  padding-left: .24em !important;
  box-shadow: 0 2px 8px rgba(139,35,35,.24) !important;
}

/* 应期类型徽章 · 从 ll-green 到墨 */
body.theme-v2 .ly-yq-type {
  background: var(--v2-ink) !important;
  color: #FFF !important;
  border-radius: 2px !important;
  letter-spacing: .16em !important;
}
body.theme-v2 .ly-yq-zhi { color: rgba(26,22,19,.82) !important; }
body.theme-v2 .ly-yq-zhi strong { color: var(--v2-seal) !important; }

/* 卦身印章 */
body.theme-v2 .ly-gs-seal {
  background: var(--v2-seal) !important;
  color: #FFF !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 2px 8px rgba(139,35,35,.24) !important;
}
body.theme-v2 .ly-gs-line { color: rgba(26,22,19,.82) !important; }
body.theme-v2 .ly-gs-line strong { color: var(--v2-seal) !important; }
body.theme-v2 .ly-gs-desc { color: rgba(26,22,19,.55) !important; }

/* 冲/合流转 · 中间箭头脉动 */
body.theme-v2 .ly-che-arrow { color: rgba(26,22,19,.40) !important; }
body.theme-v2 .ly-che-trans { color: var(--v2-seal) !important; letter-spacing: .16em !important; }

/* 互卦/错卦/综卦 三列 · 用不同透明度的墨来区分 */
body.theme-v2 .ly-var-box {
  background: var(--v2-surface) !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .ly-var-hu   { border-left: 1px solid var(--v2-info) !important; }
body.theme-v2 .ly-var-cuo  { border-left: 1px solid var(--v2-seal) !important; }
body.theme-v2 .ly-var-zong { border-left: 1px solid var(--v2-ink)  !important; }
body.theme-v2 .ly-var-role { color: rgba(26,22,19,.55) !important; }
body.theme-v2 .ly-var-hex  { color: var(--v2-ink) !important; }
body.theme-v2 .ly-var-sep  { color: rgba(26,22,19,.32) !important; }
body.theme-v2 .ly-var-mean { color: rgba(26,22,19,.72) !important; }

/* 三合局 · seal 一律朱砂 */
body.theme-v2 .ly-she-seal {
  background: var(--v2-seal) !important;
  color: #FFF !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 2px 8px rgba(139,35,35,.24) !important;
}
body.theme-v2 .ly-she-name { color: var(--v2-ink) !important; }
body.theme-v2 .ly-she-zhi  { background: rgba(26,22,19,.72) !important; color: #FFF !important; border-radius: 2px !important; }

/* 手动起卦（六爻） · 提示框 + 阴阳 tag + 按钮 · 全部收敛为墨阶 */
body.theme-v2 .ly-manual-tips {
  background: var(--v2-surface) !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-left: 1px solid var(--v2-seal) !important;
  border-radius: 0 !important;
  color: rgba(26,22,19,.82) !important;
}
body.theme-v2 .ly-manual-tips-title { color: var(--v2-ink) !important; letter-spacing: .16em !important; font-family: var(--v2-font-serif) !important; }
body.theme-v2 .ly-manual-tips-hint { color: rgba(26,22,19,.55) !important; }

body.theme-v2 .ly-tag {
  border-radius: 2px !important;
  letter-spacing: .1em !important;
  font-family: var(--v2-font-serif) !important;
  font-weight: 500 !important;
}
body.theme-v2 .ly-tag-yang {
  background: rgba(139,35,35,.06) !important;
  color: var(--v2-seal) !important;
  border-color: rgba(139,35,35,.28) !important;
}
body.theme-v2 .ly-tag-yin {
  background: rgba(74,110,138,.06) !important;
  color: var(--v2-info) !important;
  border-color: rgba(74,110,138,.28) !important;
}
body.theme-v2 .ly-tag-old-yang {
  background: rgba(139,35,35,.10) !important;
  color: var(--v2-seal) !important;
  border: 1px dashed rgba(139,35,35,.55) !important;
}
body.theme-v2 .ly-tag-old-yin {
  background: rgba(74,110,138,.10) !important;
  color: var(--v2-info) !important;
  border: 1px dashed rgba(74,110,138,.55) !important;
}

body.theme-v2 .ly-manual-yao-row {
  background: var(--v2-surface) !important;
  border: 1px solid rgba(26,22,19,.08) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .ly-manual-yao-name { color: rgba(26,22,19,.72) !important; letter-spacing: .16em !important; }

body.theme-v2 .ly-yao-btn {
  background: var(--v2-paper) !important;
  border: 1px solid rgba(26,22,19,.12) !important;
  border-radius: var(--v2-r-md) !important;
  color: rgba(26,22,19,.72) !important;
  transition: all .3s var(--v2-spring) !important;
}
body.theme-v2 .ly-yao-btn:hover {
  border-color: var(--v2-ink) !important;
  background: var(--v2-surface) !important;
}
body.theme-v2 .ly-yao-btn-sym { color: var(--v2-ink) !important; }
body.theme-v2 .ly-yao-btn-lbl { color: rgba(26,22,19,.55) !important; letter-spacing: .08em !important; }
body.theme-v2 .ly-yao-btn.active {
  background: var(--v2-ink) !important;
  border-color: var(--v2-ink) !important;
  box-shadow: none !important;
}
body.theme-v2 .ly-yao-btn.active .ly-yao-btn-sym,
body.theme-v2 .ly-yao-btn.active .ly-yao-btn-lbl { color: #FFF !important; }

body.theme-v2 .btn-ghost {
  background: transparent !important;
  border: 1px solid rgba(26,22,19,.24) !important;
  color: var(--v2-ink) !important;
  border-radius: var(--v2-r-md) !important;
  letter-spacing: .1em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .btn-ghost:hover {
  background: var(--v2-surface) !important;
  border-color: var(--v2-ink) !important;
}

/* =========================================================
 * §17 · app.css 硬编码渐变收敛
 *   app.css 里 .intro-text / .vip-badge / .disclaimer / .tag-*
 *   直接写死渐变或色号，token 翻不到，这里以更高特异性收敛。
 * ========================================================= */

/* 简介框 · 由米黄渐变改为宣纸奶油单色 + 朱砂细线 */
body.theme-v2 .intro-text {
  background: var(--v2-surface) !important;
  background-image: none !important;
  border-left: 1px solid rgba(139,35,35,.4) !important;
  border-radius: 0 !important;
  color: rgba(26,22,19,.72) !important;
  padding: 14px 16px !important;
  font-family: var(--v2-font-sans) !important;
  letter-spacing: .02em !important;
  line-height: 1.85 !important;
}

/* VIP 徽章 · 金橙渐变 → 朱砂印章 */
body.theme-v2 .vip-badge {
  background: var(--v2-seal) !important;
  background-image: none !important;
  color: #FFF !important;
  border-radius: 2px !important;
  padding: 2px 10px !important;
  letter-spacing: .3em !important;
  font-family: var(--v2-font-serif) !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  padding-left: calc(10px + .3em) !important;
  box-shadow: 0 1px 2px rgba(139,35,35,.24) !important;
}

/* Tag · 语义色收敛为墨阶 · 保留朱砂 = 危险 */
body.theme-v2 .tag-success {
  background: rgba(26,22,19,.05) !important;
  color: var(--v2-ink) !important;
  border: 1px solid rgba(26,22,19,.12) !important;
}
body.theme-v2 .tag-warning {
  background: rgba(139,35,35,.05) !important;
  color: var(--v2-seal) !important;
  border: 1px solid rgba(139,35,35,.20) !important;
}
body.theme-v2 .tag-danger {
  background: rgba(139,35,35,.08) !important;
  color: var(--v2-seal) !important;
  border: 1px solid rgba(139,35,35,.28) !important;
}
body.theme-v2 .tag-info {
  background: rgba(74,110,138,.06) !important;
  color: var(--v2-info) !important;
  border: 1px solid rgba(74,110,138,.24) !important;
}

/* 五行硬色 · 保留但压低饱和（tokens 已重定向，此处兜底防内联 style） */
body.theme-v2 [style*="#4caf50"],
body.theme-v2 [style*="#f44336"] {
  color: var(--v2-ink) !important;
}

/* =========================================================
 * §18 · pages.css / app.css 深处硬编码色收敛
 *   .ai-master-avatar / .ai-credits-member / .jm-cell / .zr-em-*
 *   这些规则用了 #FFD700 / #FFA500 / #b8442e / #3a7a55 等硬色
 *   变量映射无法触达，逐条覆盖为宣纸墨阶 + 朱砂
 * ========================================================= */

/* 大师头像 · 金 → 焦墨 */
body.theme-v2 .ai-master-avatar,
body.theme-v2 .ai-master-avatar.lg {
  background: var(--v2-ink) !important;
  background-image: none !important;
  color: #FFF !important;
  box-shadow: 0 1px 3px rgba(26,22,19,.24) !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .ai-master-head {
  background: var(--v2-ink) !important;
  background-image: none !important;
}

/* AI 剩余额度 · 金会员徽 → 朱砂 */
body.theme-v2 .ai-credits-member {
  background: var(--v2-seal) !important;
  background-image: none !important;
  color: #FFF !important;
  border-radius: 2px !important;
  letter-spacing: .16em !important;
  font-family: var(--v2-font-serif) !important;
}
body.theme-v2 .ai-credits-ok {
  background: rgba(26,22,19,.06) !important;
  color: var(--v2-ink) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .ai-credits-low {
  background: rgba(139,35,35,.06) !important;
  color: var(--v2-seal) !important;
  border-radius: var(--v2-r-md) !important;
}
body.theme-v2 .ai-error-action strong { color: var(--v2-seal) !important; }

/* 九宫飞星单元格 · 语义色收敛 */
body.theme-v2 .jm-cell.auspicious {
  background: var(--v2-surface) !important;
  background-image: none !important;
  border-color: var(--v2-ink) !important;
}
body.theme-v2 .jm-cell.inauspicious {
  background: rgba(139,35,35,.04) !important;
  background-image: none !important;
  border-color: rgba(139,35,35,.32) !important;
}
body.theme-v2 .jm-cell.daji {
  background: var(--v2-surface) !important;
  background-image: none !important;
  border-color: var(--v2-seal) !important;
  box-shadow: 0 0 0 1px rgba(139,35,35,.20) !important;
}

/* 择日评级块 · 硬编码朱砂/绿/金/深红 → 焦墨语义 */
body.theme-v2 .zr-em-top {
  border-left: 1px solid var(--v2-seal) !important;
  background: rgba(139,35,35,.04) !important;
  background-image: none !important;
}
body.theme-v2 .zr-em-good {
  border-left: 1px solid var(--v2-ink) !important;
  background: rgba(26,22,19,.03) !important;
  background-image: none !important;
}
body.theme-v2 .zr-em-ok    { border-left: 1px solid rgba(26,22,19,.32) !important; }
body.theme-v2 .zr-em-warn  {
  border-left: 1px solid rgba(26,22,19,.55) !important;
  background: rgba(26,22,19,.03) !important;
  background-image: none !important;
}
body.theme-v2 .zr-em-bad {
  border-left: 1px solid var(--v2-seal) !important;
  background: rgba(139,35,35,.06) !important;
  background-image: none !important;
}
body.theme-v2 .zr-em-top .zr-em-grade,
body.theme-v2 .zr-em-bad .zr-em-grade { color: var(--v2-seal) !important; }
body.theme-v2 .zr-em-good .zr-em-grade,
body.theme-v2 .zr-em-warn .zr-em-grade { color: var(--v2-ink) !important; }

body.theme-v2 .zr-em-jc-good { background: rgba(26,22,19,.08) !important; color: var(--v2-ink)  !important; }
body.theme-v2 .zr-em-jc-bad  { background: rgba(139,35,35,.10) !important; color: var(--v2-seal) !important; }
body.theme-v2 .zr-em-jc-mid  { background: rgba(26,22,19,.06) !important; color: var(--v2-ink)  !important; }
body.theme-v2 .zr-em-jc-flat { background: rgba(26,22,19,.04) !important; color: rgba(26,22,19,.55) !important; }

body.theme-v2 .zr-em-top-chip   { background: rgba(139,35,35,.10) !important; color: var(--v2-seal) !important; border-color: rgba(139,35,35,.24) !important; }
body.theme-v2 .zr-em-good-chip  { background: rgba(26,22,19,.06) !important; color: var(--v2-ink)  !important; border-color: rgba(26,22,19,.16) !important; }
body.theme-v2 .zr-em-fatal-chip { background: rgba(139,35,35,.12) !important; color: var(--v2-seal) !important; border-color: rgba(139,35,35,.32) !important; }
body.theme-v2 .zr-em-heavy-chip { background: rgba(26,22,19,.06) !important; color: var(--v2-ink)  !important; border-color: rgba(26,22,19,.16) !important; }

/* pages.css 里 var(--green)/var(--green-dark) 渐变 CTA / navbar
   → 变量已重定向为焦墨，但 linear-gradient 双端相同会造成一整块纯黑无过渡感
   这里追加特异性，替换为焦墨微阶（更柔） */
body.theme-v2 .ai-master-head,
body.theme-v2 .ai-master-card .ai-master-head {
  background: linear-gradient(135deg, #2A2420 0%, var(--v2-ink) 100%) !important;
}

/* =========================================================
 * §19 · pages.css 五行 · 流年 · 用神 · 方位 chip 收敛
 *   把散在 pages.css 里 40+ 处硬编码语义色统一收拢到宣纸墨阶：
 *   吉 = 焦墨 / 凶 = 朱砂 / 中 = 中墨 / 信息 = 石青
 * ========================================================= */

/* 五行文字色（wx-jin/mu/shui/huo/tu） · 保留轻微差异但压至墨阶 */
body.theme-v2 .wx-jin  { color: rgba(26,22,19,.72) !important; }
body.theme-v2 .wx-mu   { color: var(--v2-ink) !important; }
body.theme-v2 .wx-shui { color: var(--v2-info) !important; }
body.theme-v2 .wx-huo  { color: var(--v2-seal) !important; }
body.theme-v2 .wx-tu   { color: rgba(26,22,19,.65) !important; }

/* 五行 chip 底色（wx-木/火/土/金/水）· 极浅墨阶，配白字 */
body.theme-v2 .wx-木,
body.theme-v2 .wx-火,
body.theme-v2 .wx-土,
body.theme-v2 .wx-金,
body.theme-v2 .wx-水 {
  color: #FFF !important;
  border-radius: 2px !important;
  letter-spacing: .1em !important;
}
body.theme-v2 .wx-木 { background: var(--v2-ink) !important; }
body.theme-v2 .wx-火 { background: var(--v2-seal) !important; }
body.theme-v2 .wx-土 { background: rgba(26,22,19,.72) !important; }
body.theme-v2 .wx-金 { background: rgba(26,22,19,.48) !important; }
body.theme-v2 .wx-水 { background: var(--v2-info) !important; }

/* 用神/体神/中和 · 左边线细化 */
body.theme-v2 .usegod-line.tg { border-left: 1px solid var(--v2-info) !important; }
body.theme-v2 .usegod-line.zh {
  border-left: 1px solid var(--v2-ink) !important;
  background: rgba(26,22,19,.04) !important;
}

/* 流年吉凶 · level 色 */
body.theme-v2 .liunian-overall.liunian-bad .liunian-overall-level  { color: var(--v2-seal) !important; }
body.theme-v2 .liunian-overall.liunian-warn .liunian-overall-level { color: rgba(139,35,35,.72) !important; }
body.theme-v2 .liunian-event.ev-bad  .ev-type { color: var(--v2-seal) !important; }
body.theme-v2 .liunian-event.ev-warn .ev-type { color: rgba(139,35,35,.72) !important; }

/* 方位 chip · unlucky */
body.theme-v2 .dir-chip.unlucky {
  background: rgba(139,35,35,.08) !important;
  color: var(--v2-seal) !important;
  border: 1px solid rgba(139,35,35,.24) !important;
  border-radius: 2px !important;
}

/* 九宫飞星 cell 内嵌渐变覆盖（比 §11 更贴合 pages.css 内嵌 selector） */
body.theme-v2 .jm-cell.auspicious {
  background: rgba(26,22,19,.03) !important;
  border-color: rgba(26,22,19,.24) !important;
}
body.theme-v2 .jm-cell.inauspicious {
  background: rgba(139,35,35,.04) !important;
  border-color: rgba(139,35,35,.32) !important;
}
body.theme-v2 .jm-cell.daji {
  background: var(--v2-surface) !important;
  border-color: var(--v2-seal) !important;
  box-shadow: 0 0 0 1px rgba(139,35,35,.20) !important;
}

/* pages.css 里散落的成功/告警浅底 · 灰白替换 */
body.theme-v2 [class*="-good"],
body.theme-v2 [class*="-success"],
body.theme-v2 [class$="-ok"] {
  /* 只影响背景饱和绿的元素，不影响颜色令牌 */
}

/* liunian 详情 · red 边框 */
body.theme-v2 .liunian-event.ev-bad,
body.theme-v2 .liunian-event.ev-warn {
  border-left: 1px solid var(--v2-seal) !important;
}

/* =========================================================
 * §20 · pages.css 深处 · 户型 / 飞星 / 后台 / VIP 徽章 · 全量收敛
 *   针对 2400-3450 行段落里剩余的绿/黄/橙/红/金渐变，
 *   一次性拉到宣纸墨阶。
 * ========================================================= */

/* VIP / credits 金色徽章 → 朱砂印章 */
body.theme-v2 .vip-badge,
body.theme-v2 .ai-credits-member {
  background: var(--v2-seal) !important;
  background-image: none !important;
  color: #FFF !important;
  border-radius: 2px !important;
  letter-spacing: .16em !important;
  font-family: var(--v2-font-serif) !important;
  box-shadow: 0 1px 2px rgba(139,35,35,.24) !important;
}

/* credits 状态徽章 */
body.theme-v2 .ai-credits-ok   { background: rgba(26,22,19,.06) !important; color: var(--v2-ink)  !important; border-radius: 2px !important; }
body.theme-v2 .ai-credits-low  { background: rgba(139,35,35,.08) !important; color: var(--v2-seal) !important; border-radius: 2px !important; }

/* 户型编辑器格子 · 全部收敛为宣纸浅墨阶（保留极轻微区分） */
body.theme-v2 .floor-cell           { background: #FBF9F3 !important; border-color: rgba(26,22,19,.10) !important; }
body.theme-v2 .floor-cell:hover     { background: #F2EEE3 !important; }
body.theme-v2 .floor-cell.has-item          { background: #F5F0E4 !important; }
body.theme-v2 .floor-cell.has-item.room-客厅 { background: #F5F0E4 !important; }
body.theme-v2 .floor-cell.has-item.room-卧室 { background: #F0EBE0 !important; }
body.theme-v2 .floor-cell.has-item.room-书房 { background: #EDE9DE !important; }
body.theme-v2 .floor-cell.has-item.room-厨房 { background: #F0E9D7 !important; }
body.theme-v2 .floor-cell.has-item.room-卫生间 { background: #E9E6DC !important; }
body.theme-v2 .floor-cell.has-item.room-餐厅 { background: #EEE9D6 !important; }
body.theme-v2 .floor-cell.has-item.room-阳台 { background: #EBE7D9 !important; }

/* 飞星格子（fx-cell）· 吉墨 / 凶朱 */
body.theme-v2 .fx-cell               { background: var(--v2-surface) !important; border: 1px solid rgba(26,22,19,.08) !important; }
body.theme-v2 .fx-cell.auspicious    { background: rgba(26,22,19,.03) !important; border-color: rgba(26,22,19,.20) !important; }
body.theme-v2 .fx-cell.inauspicious  { background: rgba(139,35,35,.04) !important; border-color: rgba(139,35,35,.24) !important; }
body.theme-v2 .fx-cell.daji          { background: var(--v2-surface) !important; border-color: var(--v2-seal) !important; box-shadow: 0 0 0 1px rgba(139,35,35,.20) !important; }
body.theme-v2 .fx-cell.daji .fx-cell-type {
  background: var(--v2-seal) !important;
  color: #FFF !important;
  border-radius: 2px !important;
}

/* 卦身/命宫 · 组标签 · east/west 语义色 */
body.theme-v2 .kua-group-tag,
body.theme-v2 .kua-group-tag.east,
body.theme-v2 .kua-group-tag.west {
  background: rgba(26,22,19,.05) !important;
  color: var(--v2-ink) !important;
  border: 1px solid rgba(26,22,19,.16) !important;
  border-radius: 2px !important;
}
body.theme-v2 .kua-group-tag.west {
  background: rgba(139,35,35,.05) !important;
  color: var(--v2-seal) !important;
  border-color: rgba(139,35,35,.24) !important;
}

/* pages.css 绿底 · 成功 / 匹配 / 高亮 → 极浅墨 */
body.theme-v2 [class*="floor-item"][class*="active"],
body.theme-v2 .fs-tag-good,
body.theme-v2 .zr-tag-good,
body.theme-v2 .liunian-tag-good {
  background: rgba(26,22,19,.05) !important;
  color: var(--v2-ink) !important;
  border-radius: 2px !important;
}

/* 后台管理 · 错误级别文字 */
body.theme-v2 .admin-err-num-fatal { color: var(--v2-seal) !important; }
body.theme-v2 .admin-err-num-error { color: rgba(139,35,35,.72) !important; }

/* Admin master head / referral bar / stat cards · 收敛绿渐变为焦墨微阶 */
body.theme-v2 .referral-head,
body.theme-v2 .admin-stat-hero,
body.theme-v2 .admin-master-head,
body.theme-v2 [class*="-hero"][class*="green"] {
  background: linear-gradient(135deg, #2A2420 0%, var(--v2-ink) 100%) !important;
  color: #FFF !important;
}

/* pages.css 兜底 · 任何绿色 linear-gradient CTA 强制为焦墨 */
body.theme-v2 [style*="linear-gradient"][style*="#3a7a55"],
body.theme-v2 [style*="linear-gradient"][style*="#2E5A3C"],
body.theme-v2 [style*="linear-gradient"][style*="#1a4028"] {
  background-image: none !important;
  background-color: var(--v2-ink) !important;
  color: #FFF !important;
}

/* pages.css 兜底 · 金渐变徽章（FFD700 / FFA500）强制为朱砂 */
body.theme-v2 [style*="linear-gradient"][style*="FFD700"],
body.theme-v2 [style*="linear-gradient"][style*="FFA500"] {
  background-image: none !important;
  background-color: var(--v2-seal) !important;
  color: #FFF !important;
}

/* zr-em score/label/pick/avoid/sum · 深处棕色 → 中墨 */
body.theme-v2 .zr-em-score,
body.theme-v2 .zr-em-label,
body.theme-v2 .zr-em-sum {
  color: rgba(26,22,19,.55) !important;
}
body.theme-v2 .zr-em-pick { color: var(--v2-ink)  !important; }
body.theme-v2 .zr-em-avoid { color: var(--v2-seal) !important; }
