/* ─── 32. Workspace Scene ─── */
.workspace-scene-panel {
  display: none;
}

.workspace-scene-panel.active {
  display: block;
}

.workspace-scene-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.8fr);
  gap: 20px;
  align-items: center;
}

.workspace-scene-copy {
  display: grid;
  gap: 10px;
}

.workspace-scene-copy h2 {
  margin: 0;
  max-width: 14ch;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.14;
}

.workspace-scene-copy p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.82;
}

.workspace-scene-figure {
  display: grid;
}

.workspace-scene-figure .system-figure-slot {
  min-height: 220px;
}

/* ── 雅+白双层文案 ─────────────────────────────────────────────────────────
   .copy-plain-under：白话层，置于 seal 大字下方
   规则：小字 / 淡色 / 不抢宋韵主文的视觉权重
───────────────────────────────────────────────────────────────────────── */
.copy-plain-under {
  display: block;
  margin-top: 4px;
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--text-soft);
  letter-spacing: 0.01em;
}

/* ═══════════════════════════════════════════════════════════════
   Plan 3 §2 · 文言人格卡 persona cards
   — 宋韵皮：深色底、淡金字、小稀有度徽标
   ═══════════════════════════════════════════════════════════════ */

.bazi-persona-section {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.bazi-persona-head-band {
  display: grid;
  gap: 4px;
}

.bazi-persona-head-band .eyebrow {
  letter-spacing: 0.24em;
  color: var(--gold);
}

.bazi-persona-head-band h5 {
  margin: 0;
  font-size: 1.18rem;
  letter-spacing: -0.01em;
}

.bazi-persona-head-band .card-body {
  margin: 0;
  color: var(--text-soft);
}

.bazi-persona-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.bazi-persona-card {
  display: grid;
  gap: 10px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(212, 168, 83, 0.18);
  background:
    linear-gradient(180deg, rgba(212, 168, 83, 0.06), transparent 48%),
    rgba(9, 12, 20, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition: border-color 180ms ease, transform 180ms ease;
}

.bazi-persona-card:hover {
  border-color: rgba(212, 168, 83, 0.34);
  transform: translateY(-1px);
}

.bazi-persona-card.expanded {
  border-color: rgba(212, 168, 83, 0.5);
  background:
    linear-gradient(180deg, rgba(212, 168, 83, 0.1), transparent 58%),
    rgba(9, 12, 20, 0.96);
}

.bazi-persona-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.bazi-persona-yahao {
  margin: 0;
  color: var(--gold);
  font-size: 1.32rem;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.bazi-persona-rarity {
  flex: none;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--text-soft);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.bazi-persona-rarity.rarity-rare {
  color: #f0d78a;
  background: rgba(212, 168, 83, 0.12);
  border-color: rgba(212, 168, 83, 0.36);
}

.bazi-persona-rarity.rarity-uncommon {
  color: #cdb87a;
  background: rgba(212, 168, 83, 0.06);
  border-color: rgba(212, 168, 83, 0.18);
}

.bazi-persona-plain {
  margin: 0;
  color: var(--text);
  font-size: 0.98rem;
  line-height: 1.7;
}

.bazi-persona-toggle {
  justify-self: start;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  color: var(--text-soft);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease;
}

.bazi-persona-toggle:hover {
  color: var(--gold);
  border-color: rgba(212, 168, 83, 0.32);
}

.bazi-persona-gloss {
  margin: 0;
  padding-top: 8px;
  border-top: 1px dashed rgba(212, 168, 83, 0.2);
  color: var(--text-soft);
  font-size: 0.88rem;
  line-height: 1.85;
}

/* ═══════════════════════════════════════════════════════════════════
   P5.8：宋韵牌背 — 卦镜 / 折枝梅，承仕女执镜的视觉主线。
   原 CSS 拼装的西式深蓝 + 金月装饰一律覆盖。
   作用范围：
     1) .fan-card-back / .ritual-card-back / .ritual-flight-card / .reveal-back（实际抽牌时的牌背）
     2) .flow-spread-diagram span（择阵页两个牌阵示意小卡）
   ═══════════════════════════════════════════════════════════════════ */

.fan-card-back,
.ritual-card-back,
.ritual-flight-card,
.reveal-back,
.flow-card-face--back {
  background-color: #0d0a08;
  background-image: url("/web/assets/tarot/Cardback.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid rgba(180, 154, 108, 0.22);
  box-shadow:
    inset 0 0 0 1px rgba(180, 154, 108, 0.08),
    0 12px 24px rgba(0, 0, 0, 0.32);
}

/* P5.19：.flow-card-face--back 之前被 line 7621 覆盖成 position:relative，
   导致只是个零高度容器，背景图塌缩成一条线。强制吃满 trigger 的 5/8 框。 */
.flow-card-face--back {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  border-radius: 26px;
}

/* 隐藏旧 unicode 装饰（保留以防未来要回滚） */
.flow-card-face--back .card-back-glow,
.flow-card-face--back .card-back-frame,
.flow-card-face--back .card-back-orbit,
.flow-card-face--back .card-back-star,
.flow-card-face--back .card-back-mark {
  display: none;
}

/* 旧的 CSS 装饰层全部隐藏：金光、内框、双圆轨、星点、中央符 */
.fan-card-back .card-back-glow,
.fan-card-back .card-back-frame,
.fan-card-back .card-back-orbit,
.fan-card-back .card-back-star,
.fan-card-back .card-back-mark,
.ritual-card-back .card-back-glow,
.ritual-card-back .card-back-frame,
.ritual-card-back .card-back-orbit,
.ritual-card-back .card-back-star,
.ritual-card-back .card-back-mark,
.ritual-flight-card .card-back-glow,
.ritual-flight-card .card-back-frame,
.ritual-flight-card .card-back-orbit,
.ritual-flight-card .card-back-star,
.ritual-flight-card .card-back-mark,
.reveal-back .card-back-glow,
.reveal-back .card-back-frame,
.reveal-back .card-back-orbit,
.reveal-back .card-back-star,
.reveal-back .card-back-mark {
  display: none;
}

/* 择阵页的牌阵示意小卡（不走 ritualCardBackMarkup） */
.flow-spread-diagram span {
  background-color: #0d0a08;
  background-image: url("/web/assets/tarot/Cardback.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid rgba(180, 154, 108, 0.22);
  box-shadow:
    inset 0 0 0 1px rgba(180, 154, 108, 0.08),
    0 12px 22px rgba(0, 0, 0, 0.32);
}

/* 去掉小卡上的内描边和中央 ☾ 月牙 */
.flow-spread-diagram span::before,
.flow-spread-diagram span::after {
  content: none;
}

/* ═══════════════════════════════════════════════════════════════════
   P5.9：瘦金体（站酷小薇）应用到大标题位置。
   只覆盖 .flow-heading--serif 与几处大型显示标题；
   body / 描述 / 卡片小字仍走 --serif，保证可读性。
   ═══════════════════════════════════════════════════════════════════ */

/* P5.16：塔罗各页 H1 单行，瘦金体本来就细瘦，原 5.5vw 字号撑得过宽。
   缩字号 + nowrap，长句也能一行收下；窄屏由 overflow-wrap 兜底自适应 */
.flow-tarot-intent .flow-heading--serif,
.flow-tarot-spread .flow-heading--serif,
.flow-tarot-question .flow-heading--serif {
  font-size: clamp(1.9rem, 3.6vw, 2.8rem);
  white-space: nowrap;
  overflow-wrap: normal;
  max-width: 100%;
}

.flow-heading--serif,
.flow-tarot-intent .flow-intent-card strong,
.flow-tarot-spread .flow-spread-card h3,
.flow-tarot-eyebrow,
.flow-tarot-aside span {
  font-family: var(--display);
  /* 瘦金体笔画细，适当加点字间距让它撑开 */
  letter-spacing: 0.06em;
  font-weight: 400;
}

/* eyebrow 用瘦金时更细，加点 weight 找回"金石"感 */
.flow-tarot-eyebrow,
.flow-tarot-aside span {
  font-weight: 500;
  letter-spacing: 0.32em;
}

/* ═══════════════════════════════════════════════════════════════════
   P5.10：选中态强化——立意/择阵/启牌动作按钮，背光 + 金箔描边可见。
   原有 .active 只加了 0.12 alpha 渐变，几乎无视觉差。现在补：
     · 加粗金色边
     · 外发光 halo
     · inset 金线
     · 略微 lift
     · 右上角金点指示
   ═══════════════════════════════════════════════════════════════════ */

.flow-intent-chip.active,
.flow-spread-card.active {
  position: relative;
  border-color: rgba(212, 168, 83, 0.78) !important;
  background:
    radial-gradient(circle at top right, rgba(212, 168, 83, 0.28), transparent 42%),
    radial-gradient(circle at bottom left, rgba(212, 168, 83, 0.12), transparent 38%),
    rgba(28, 22, 16, 0.96) !important;
  box-shadow:
    0 0 0 1px rgba(212, 168, 83, 0.42),
    0 0 36px rgba(212, 168, 83, 0.28),
    inset 0 0 0 1px rgba(212, 168, 83, 0.18),
    0 18px 44px rgba(0, 0, 0, 0.36) !important;
  transform: translateY(-2px);
}

/* 右上角加一个金色小圆点作为"已选"标识 */
.flow-intent-chip.active::after,
.flow-spread-card.active::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--gold);
  box-shadow:
    0 0 12px rgba(212, 168, 83, 0.7),
    0 0 0 3px rgba(212, 168, 83, 0.18);
}

/* ═══════════════════════════════════════════════════════════════════
   Plan 5 / L6：签诗仪式 7 阶段样式
   - .flow-lot-systems：① 入庙·择签本（5 张系统卡 grid）
   - .flow-lot-question：② 焚香·禀告（左 hero + 右 textarea）
   - .flow-lot-permit / -confirm：③⑤ 占位简版
   - .flow-lot-shake：④ 摇签筒（SVG 占位 + 触发）
   - .flow-lot-reveal / .lot-reveal-*：⑥ 签文展示 5 段
   - .lot-saintly-*：圣意 12 门 grid + 智能折叠
   ═══════════════════════════════════════════════════════════════════ */

/* veil 用暖墨褐底，与签诗"庙"的氛围合。
   P5.22：直接把底色落在 flow-page 上，这样滚动也不会露出 body 背景。 */
.flow-veil--lot {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(180, 130, 70, 0.16), transparent 48%),
    radial-gradient(circle at 50% 80%, rgba(40, 28, 20, 0.6), transparent 60%);
  pointer-events: none;
}

/* lot 各页整页暖墨底，滚动不漏 body 蓝底 */
.flow-page[data-flow-page^="lot-"] {
  background: linear-gradient(180deg, #0d0a06 0%, #0a0805 100%);
}

.flow-lot-eyebrow {
  font-family: var(--display);
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  margin-bottom: 14px;
}

/* ─── ① lot-systems ─── */
/* P5.22：整组上下间距压紧，让五边形占位有余地 */
.flow-lot-systems {
  display: grid;
  gap: 16px;
  align-content: start;
}

.flow-lot-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 20px;
  align-items: end;
}

/* lot-systems 页 H1 收紧：默认是大画 hero，这里只是引导词，不需要那么大 */
.flow-lot-systems .flow-heading--serif {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.flow-lot-systems .flow-body {
  font-size: 0.95rem;
}

/* P5.21：5 张签本卡按正五边形顶点摆，中央 SVG 五角星暗线呼吸
   P5.22：压扁到 4:3
   P5.28：卡改竖排后改回 1:1，正五边形对称，竖卡有足够垂直空间 */
.flow-lot-pentagon-stage {
  position: relative;
  width: min(560px, 100%);
  aspect-ratio: 1 / 1;
  margin: 8px auto;
}

.flow-lot-pentagram {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

/* P5.23：底层 5 条常亮暗金线，提供"五角星永远在那"的稳定感 */
.flow-lot-pentagram .pentagram-base line {
  fill: none;
  stroke: rgba(212, 168, 83, 0.18);
  stroke-width: 1.2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

/* P5.26：废掉 3 层流光头，改成"五条边随机忽明忽暗"。
   平时几乎隐藏在背景里（alpha 0.02-0.08），偶尔淡淡亮起（peak 0.3）再退去。
   每条边周期/时序都不同 → 不会齐明齐暗，看起来像随机闪烁。
   底层 base 几乎不动，实际闪烁落在隐藏的 halo/mid/core 层上——
   这 3 层现在合并成同一视觉规则，只保留 halo 层做"暗中忽明"效果。 */

/* base 层：常亮暗金，几乎融入背景 */
.flow-lot-pentagram .pentagram-base line {
  stroke: rgba(212, 168, 83, 0.08);
  stroke-width: 1.0;
}

/* halo 层用来做随机闪烁（mid / core 保留空壳但隐藏不显示） */
.flow-lot-pentagram .pentagram-flow-mid,
.flow-lot-pentagram .pentagram-flow-core {
  display: none;
}

.flow-lot-pentagram .pentagram-flow-halo line {
  fill: none;
  stroke: rgba(255, 226, 150, 0);
  stroke-width: 1.4;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 3px rgba(255, 215, 130, 0.5));
}

/* 5 条边各自独立 duration + delay，看起来随机 */
.flow-lot-pentagram .pentagram-flow-halo line:nth-child(1) {
  animation: pentagram-twinkle 5.3s ease-in-out -0.7s infinite;
}
.flow-lot-pentagram .pentagram-flow-halo line:nth-child(2) {
  animation: pentagram-twinkle 7.1s ease-in-out -3.4s infinite;
}
.flow-lot-pentagram .pentagram-flow-halo line:nth-child(3) {
  animation: pentagram-twinkle 6.4s ease-in-out -1.9s infinite;
}
.flow-lot-pentagram .pentagram-flow-halo line:nth-child(4) {
  animation: pentagram-twinkle 8.2s ease-in-out -5.2s infinite;
}
.flow-lot-pentagram .pentagram-flow-halo line:nth-child(5) {
  animation: pentagram-twinkle 4.7s ease-in-out -2.1s infinite;
}

@keyframes pentagram-twinkle {
  /* 大部分时间几近黑，偶尔柔和淡亮 peak alpha 0.35 */
  0%, 88%, 100% { stroke: rgba(255, 226, 150, 0); }
  40%           { stroke: rgba(255, 226, 150, 0.08); }
  55%           { stroke: rgba(255, 226, 150, 0.3); }
  62%           { stroke: rgba(255, 226, 150, 0.35); }
  70%           { stroke: rgba(255, 226, 150, 0.15); }
  82%           { stroke: rgba(255, 226, 150, 0); }
}

.flow-lot-systems-grid {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* 5 张卡按正五边形顶点定位（顺序：① 顶 / ② 右上 / ③ 右下 / ④ 左下 / ⑤ 左上）
   坐标来自正五边形：center (50,50) radius 40，顶点角 90°/162°/234°/306°/18°
   P5.28：卡变竖排 portrait（窄高），尺寸 ~90×240，vertex 居中不动 */
.flow-lot-pentagon-stage .flow-lot-system-card {
  position: absolute;
  width: min(110px, 18%);
  height: min(260px, 44%);
  transform: translate(-50%, -50%) !important;
}

/* P5.28：卡片竖排（writing-mode: vertical-rl），两列文字 top→bottom、列序 right→left。
   DOM 顺序：tradition 在前（渲染在右列）、name 在后（渲染在左列）…
   但视觉要「道教 | 关帝灵签」(tradition 小字在左、name 大字在右) → 让 tradition 在右列
   用 flex row-reverse 达成：flex 内 children 从右排到左，同时每个 child 写 vertical-rl */
.flow-lot-pentagon-stage .flow-lot-system-card {
  display: flex;
  flex-direction: row-reverse;       /* name 贴右，tradition 在左 */
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 12px;
  min-height: 0;
}

.flow-lot-pentagon-stage .flow-lot-system-card .flow-lot-system-tradition {
  writing-mode: vertical-rl;
  text-orientation: upright;         /* 字符正立，不侧身 */
  font-size: 0.78rem;
  letter-spacing: 0.08em;             /* P5.29：字距收紧 */
  color: var(--gold);
  font-weight: 600;
  opacity: 0.85;
  white-space: nowrap;
}

.flow-lot-pentagon-stage .flow-lot-system-card .flow-lot-system-name {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: var(--display);
  font-size: 1.7rem;                  /* 瘦金体大字竖排 */
  font-weight: 500;
  letter-spacing: 0.04em;             /* P5.29：字距从 0.18em 收到 0.04em */
  color: var(--text);
  white-space: nowrap;
}

/* P5.27：三栏 grid —— 左图片 / 中五角星（居中，主角）/ 右简介。
   两侧栏比 stage 窄；stage 居中不变位。 */
.flow-lot-pentagon-wrap {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(0, 2.2fr) minmax(220px, 1fr);
  gap: 24px;
  align-items: center;
  width: 100%;
}

.flow-lot-side {
  align-self: center;
}

.flow-lot-side[hidden] {
  display: none;
}

/* 左侧图片栏：P5.28 改竖版 portrait 匹配竖卡主题，纵向拉长 */
.flow-lot-side--image .flow-lot-detail-image {
  width: 100%;
  max-width: 240px;
  aspect-ratio: 3 / 4;
  margin-left: auto;
  border-radius: 16px;
  border: 1px dashed rgba(180, 154, 108, 0.26);
  background: rgba(8, 6, 4, 0.6);
}

/* 只引用已经随发布包交付的签本画作。尚未上线的签本沿用上方虚线占位，
   避免浏览器为不存在的 PNG/JPG 发出一串 404。 */
.flow-lot-detail-image[data-lot-system-image="guandi"] {
  background-image: url("/web/assets/lot/guandi.webp");
  background-size: cover;
  background-position: center;
}

/* 右侧简介栏：P5.28 拉长与图片同高，字号略放大更舒展 */
.flow-lot-side--blurb {
  display: grid;
  gap: 14px;
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(180, 154, 108, 0.16);
  background:
    radial-gradient(circle at top right, rgba(180, 130, 70, 0.06), transparent 52%),
    rgba(18, 14, 10, 0.85);
  width: 100%;
  max-width: 280px;
  min-height: 280px;      /* 与 240×320 图片槽视觉齐平 */
  margin-right: auto;
  align-content: start;
}

.flow-lot-detail-blurb {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.95;
  font-size: 1.02rem;      /* 字号放大 */
}

.flow-lot-detail-meta {
  margin: auto 0 0;        /* 推到底 */
  padding-top: 12px;
  border-top: 1px solid rgba(180, 154, 108, 0.12);
  color: var(--text-muted);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
}

/* 中等屏（≤ 1280px）：两侧栏收窄，pentagon 不缩 */
@media (max-width: 1280px) {
  .flow-lot-pentagon-wrap {
    grid-template-columns: minmax(160px, 0.8fr) minmax(0, 2.4fr) minmax(200px, 0.9fr);
    gap: 16px;
  }
  .flow-lot-side--image .flow-lot-detail-image { max-width: 200px; aspect-ratio: 3 / 4; }
  .flow-lot-side--blurb { max-width: 260px; padding: 22px 20px; min-height: 250px; }
  .flow-lot-detail-blurb { font-size: 0.96rem; }
}

/* 窄屏（≤ 960px）：单列堆叠，image/blurb 移到 pentagon 上下 */
@media (max-width: 960px) {
  .flow-lot-pentagon-wrap {
    grid-template-columns: 1fr;
  }
  .flow-lot-side--image,
  .flow-lot-side--blurb {
    max-width: 100%;
    margin: 0 auto;
  }
  .flow-lot-side--image .flow-lot-detail-image {
    margin: 0 auto;
    max-width: 220px;
  }
}

.flow-lot-pentagon-stage .flow-lot-system-card:nth-child(1) {  /* 顶：观音 */
  top: 10%;
  left: 50%;
}
.flow-lot-pentagon-stage .flow-lot-system-card:nth-child(2) {  /* 右上：关帝 */
  top: 37.6%;
  left: 88%;
}
.flow-lot-pentagon-stage .flow-lot-system-card:nth-child(3) {  /* 右下：黄大仙 */
  top: 82.4%;
  left: 73.5%;
}
.flow-lot-pentagon-stage .flow-lot-system-card:nth-child(4) {  /* 左下：妈祖 */
  top: 82.4%;
  left: 26.5%;
}
.flow-lot-pentagon-stage .flow-lot-system-card:nth-child(5) {  /* 左上：吕祖 */
  top: 37.6%;
  left: 12%;
}

/* 窄屏：放弃五角星，回退竖排 grid */
@media (max-width: 720px) {
  .flow-lot-pentagon-stage {
    aspect-ratio: auto;
    height: auto;
  }
  .flow-lot-pentagram { display: none; }
  .flow-lot-systems-grid {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .flow-lot-pentagon-stage .flow-lot-system-card {
    position: static;
    width: 100%;
    transform: none;
  }
}

.flow-lot-system-card {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 22px 22px 18px;
  text-align: left;
  border-radius: 22px;
  border: 1px solid rgba(180, 154, 108, 0.18);
  background:
    radial-gradient(circle at top right, rgba(180, 130, 70, 0.08), transparent 38%),
    rgba(24, 18, 12, 0.92);
  color: var(--text);
  transition: transform 220ms var(--ease-out), border-color 220ms ease, box-shadow 220ms ease;
  cursor: pointer;
}

/* P5.23 / P5.24：hover 不跑——保留 translate(-50%,-50%) 居中，只加金光晕。
   全局 button hover 在第 317 行加了 translateY(-1px) 还会盖掉，必须 !important */
.flow-lot-pentagon-stage .flow-lot-system-card:hover:not(.is-disabled),
.flow-lot-pentagon-stage .flow-lot-system-card.active {
  transform: translate(-50%, -50%) !important;
  border-color: rgba(212, 168, 83, 0.55);
  box-shadow:
    0 0 0 1px rgba(212, 168, 83, 0.32),
    0 0 28px rgba(212, 168, 83, 0.32);
}

/* 旧的非 pentagon 场景仍保留原 hover */
.flow-lot-system-card:not(.flow-lot-pentagon-stage *):hover:not(.is-disabled) {
  transform: translateY(-2px);
  border-color: rgba(212, 168, 83, 0.42);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
}

.flow-lot-system-card.active {
  border-color: rgba(212, 168, 83, 0.78) !important;
  background:
    radial-gradient(circle at top right, rgba(212, 168, 83, 0.22), transparent 42%),
    rgba(28, 22, 16, 0.96) !important;
  box-shadow:
    0 0 0 1px rgba(212, 168, 83, 0.42),
    0 0 28px rgba(212, 168, 83, 0.22),
    inset 0 0 0 1px rgba(212, 168, 83, 0.18);
}

/* pentagon 场景下 active 也保留居中 */
.flow-lot-pentagon-stage .flow-lot-system-card.active {
  transform: translate(-50%, -50%);
}

.flow-lot-system-card.active::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(212, 168, 83, 0.7);
}

.flow-lot-system-card.is-disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.flow-lot-system-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.flow-lot-system-head strong {
  font-family: var(--display);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.flow-lot-system-tradition {
  color: var(--gold);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  opacity: 0.7;
}

.flow-lot-system-blurb {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.75;
  font-size: 0.95rem;
}

.flow-lot-system-meta {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  letter-spacing: 0.05em;
}

/* ─── ② lot-question ─── */
.flow-lot-question {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.2fr);
  gap: 24px;
  align-items: start;
}

.flow-lot-side {
  display: grid;
  gap: 22px;
  align-content: start;
}

.flow-lot-selections {
  display: grid;
  gap: 12px;
}

.flow-lot-sheet {
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(180, 154, 108, 0.18);
  background:
    radial-gradient(circle at top right, rgba(180, 130, 70, 0.06), transparent 38%),
    rgba(20, 16, 10, 0.92);
}

/* ─── ③⑤ permit / confirm 占位 ─── */
.flow-lot-permit,
.flow-lot-confirm {
  display: grid;
  gap: 18px;
  align-content: center;
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}

.flow-lot-stub {
  margin: 12px auto 0;
  text-align: left;
}

/* ─── ④ lot-shake ─── */
.flow-lot-shake {
  display: grid;
  gap: 18px;
  align-content: center;
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}

.flow-lot-cylinder {
  width: 120px;
  height: 200px;
  margin: 0 auto;
  color: rgba(212, 168, 83, 0.7);
  filter: drop-shadow(0 0 22px rgba(212, 168, 83, 0.18));
  animation: ritual-breathe 4.6s ease-in-out infinite;
}

.flow-lot-cylinder svg {
  width: 100%;
  height: 100%;
}

/* ─── ⑥ lot-reveal · 5 段 ─── */
.flow-lot-reveal {
  display: grid;
  gap: 24px;
  align-content: start;
  max-width: 880px;
  margin: 0 auto;
}

.lot-reveal-head {
  text-align: center;
  display: grid;
  gap: 8px;
}

.lot-reveal-head .flow-heading--serif {
  font-size: clamp(2rem, 4.4vw, 3.2rem);
  white-space: nowrap;
}

.lot-reveal-figure {
  margin: 0;
  font-family: var(--display);
  color: var(--gold);
  font-size: 1.1rem;
  letter-spacing: 0.32em;
  font-weight: 500;
}

/* 签诗 4 句中央居中，仿裱框 */
.lot-reveal-poem-frame {
  padding: 36px 24px;
  border: 1px solid rgba(180, 154, 108, 0.22);
  border-radius: 14px;
  background:
    radial-gradient(circle at center, rgba(180, 130, 70, 0.06), transparent 60%),
    rgba(18, 14, 8, 0.92);
  box-shadow: inset 0 0 0 1px rgba(212, 168, 83, 0.06);
}

.lot-reveal-poem {
  display: grid;
  gap: 14px;
  text-align: center;
}

.lot-reveal-poem-line {
  display: block;
  font-family: var(--display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
  color: rgba(235, 232, 225, 0.94);
}

/* 解曰 + 圣意 + 所问 */
.lot-reveal-section {
  padding: 22px 24px;
  border: 1px solid rgba(180, 154, 108, 0.14);
  border-radius: 22px;
  background: rgba(16, 12, 8, 0.85);
}

.lot-reveal-oracle-text,
.lot-reveal-question-text {
  margin: 8px 0 0;
  color: var(--text-soft);
  line-height: 1.85;
  font-size: 1rem;
}

.lot-reveal-question-text {
  font-family: var(--display);
  color: var(--gold);
  font-size: 1.15rem;
  letter-spacing: 0.06em;
}

/* 圣意 12 门 grid */
.lot-reveal-saintly-grid {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.lot-saintly-featured {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.lot-saintly-rest {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.lot-saintly-item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(180, 154, 108, 0.12);
  background: rgba(22, 18, 12, 0.78);
}

.lot-saintly-featured .lot-saintly-item {
  border-color: rgba(212, 168, 83, 0.32);
  background:
    radial-gradient(circle at top right, rgba(212, 168, 83, 0.1), transparent 42%),
    rgba(26, 20, 14, 0.92);
}

.lot-saintly-key {
  font-family: var(--display);
  color: var(--gold);
  font-size: 0.92rem;
  letter-spacing: 0.18em;
  font-weight: 500;
}

.lot-saintly-value {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.lot-saintly-item.is-empty .lot-saintly-value {
  opacity: 0.32;
  font-style: italic;
}

/* 清刊本详解与来源链 */
.lot-reveal-classics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.lot-classic-item {
  border: 1px solid rgba(180, 154, 108, 0.14);
  border-radius: 14px;
  background: rgba(22, 18, 12, 0.72);
  overflow: hidden;
}

.lot-classic-item summary {
  padding: 12px 14px;
  color: var(--gold);
  font-family: var(--display);
  letter-spacing: 0.12em;
  cursor: pointer;
  user-select: none;
}

.lot-classic-item p {
  margin: 0;
  padding: 0 14px 14px;
  color: var(--text-soft);
  font-size: 0.94rem;
  line-height: 1.85;
  white-space: pre-line;
}

.lot-reveal-source-text {
  margin: 8px 0 0;
  color: rgba(202, 190, 168, 0.72);
  font-size: 0.86rem;
  line-height: 1.7;
}

@media (max-width: 620px) {
  .lot-reveal-classics {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   P5.34：圣杯 4 阶段流（jiaobei-question / jiaobei-cast / jiaobei-result）
   暖墨底 + 金描边，月牙杯用 CSS 画（半圆 + 翻转动画）
   ═══════════════════════════════════════════════════════════════════ */

.flow-page[data-flow-page^="jiaobei-"] {
  background: linear-gradient(180deg, #0d0a06 0%, #0a0805 100%);
}

.flow-jiaobei-question,
.flow-jiaobei-cast,
.flow-jiaobei-result {
  display: grid;
  gap: 18px;
  align-content: center;
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}

.flow-jiaobei-field {
  display: grid;
  gap: 8px;
  margin-top: 4px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(180, 154, 108, 0.18);
  background: rgba(18, 14, 10, 0.85);
  text-align: left;
}

/* ─── 祭案（P5.39）：三层切换 ── idle 静态占位 / casting 大 gif / settled 静态结果 ─── */
/* 关键：gif 用 display 切换而非 opacity——避免 idle 状态下 gif 一直在后台翻滚 */
.jiaobei-altar {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 360px;
  margin: 0 auto 8px;
}

/* idle：两枚静态杯淡显占位（不会动） */
.jiaobei-idle {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  gap: 44px;
  opacity: 0.32;
  pointer-events: none;
}
.jiaobei-idle .jiaobei-cup {
  background-image: url("/web/assets/jiaobei/cup-flat.webp");
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.45)) grayscale(0.2);
}
.jiaobei-idle .jiaobei-cup:last-child {
  background-image: url("/web/assets/jiaobei/cup-convex.webp");
}

/* 翻滚大 gif 容器（仅 casting 时存在 background-image，避免后台循环） */
.jiaobei-falling {
  display: none;
  width: min(520px, 90%);
  aspect-ratio: 1 / 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.55));
  pointer-events: none;
}

/* 落定后两枚静态杯 */
.jiaobei-settled-pair {
  position: absolute;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  gap: 44px;
  pointer-events: none;
}

.jiaobei-cup {
  width: 220px;
  height: 340px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.55));
}

/* idle：只显示静态占位 */
.jiaobei-altar[data-state="idle"] .jiaobei-idle {
  display: flex;
}

/* casting：只显示翻滚大 gif（gif 由 JS 注入 src 触发新一轮播放） */
.jiaobei-altar[data-state="casting"] .jiaobei-falling {
  display: block;
}

/* settled：只显示两枚静态结果杯 */
.jiaobei-altar[data-state="settled"] .jiaobei-settled-pair {
  display: flex;
}

.jiaobei-settled-pair .jiaobei-cup[data-side="flat"] {
  background-image: url("/web/assets/jiaobei/cup-flat.webp");
}
.jiaobei-settled-pair .jiaobei-cup[data-side="round"] {
  background-image: url("/web/assets/jiaobei/cup-convex.webp");
}

/* ─── 结果展示 ─── */
.jiaobei-result-head .flow-heading--serif {
  font-size: clamp(2rem, 4.4vw, 3rem);
}

.jiaobei-result-body {
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(180, 154, 108, 0.18);
  background:
    radial-gradient(circle at top right, rgba(180, 130, 70, 0.06), transparent 50%),
    rgba(18, 14, 10, 0.85);
  display: grid;
  gap: 12px;
}

.jiaobei-result-body .flow-body {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.92;
}

.jiaobei-result-question {
  display: grid;
  gap: 6px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(180, 154, 108, 0.12);
  background: rgba(14, 10, 6, 0.7);
}

.jiaobei-result-question p {
  margin: 0;
  font-family: var(--display);
  color: var(--gold);
  font-size: 1.08rem;
  letter-spacing: 0.06em;
}

/* ═══════════════════════════════════════════════════════════════════════ */
/* P7.0 · 殿后藏经阁入口（命盘玉简 + 星盘浑天）                              */
/* 临时样式（暗金 + 极渊黑），P7.1 七件套完成后回改用 .folio-banxin /         */
/* .jade-slip / .gold-wire 等正式组件                                         */
/* ═══════════════════════════════════════════════════════════════════════ */
.destiny-atlas-portal {
  margin: 56px auto 0;
  padding: 40px clamp(20px, 4vw, 48px) 48px;
  max-width: 980px;
  background: #0A0A0C;
  border: 0.5px solid rgba(184, 155, 94, 0.32);
  border-radius: 6px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.destiny-atlas-portal::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 18% 12%, rgba(184, 155, 94, 0.06), transparent 55%),
    radial-gradient(ellipse at 82% 88%, rgba(155, 41, 41, 0.04), transparent 60%);
  pointer-events: none;
  z-index: -1;
}
.atlas-portal-head {
  text-align: center;
  margin-bottom: 36px;
  color: #E6D9B4;
}
.atlas-portal-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.42em;
  color: rgba(184, 155, 94, 0.78);
  margin: 0 0 10px;
  font-weight: 500;
}
.atlas-portal-title {
  font-family: "Slender Gold", "Noto Serif SC", serif;
  font-size: 1.7rem;
  letter-spacing: 0.18em;
  color: #E6D9B4;
  margin: 0 0 12px;
  font-weight: 500;
}
.atlas-portal-meta {
  font-size: 0.85rem;
  color: rgba(230, 217, 180, 0.55);
  letter-spacing: 0.04em;
  margin: 0;
  font-family: "Noto Serif SC", serif;
}
.atlas-portal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.atlas-portal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  padding: 32px 24px 28px;
  background: linear-gradient(180deg, rgba(184, 155, 94, 0.04), rgba(184, 155, 94, 0.01));
  border: 0.5px solid rgba(184, 155, 94, 0.42);
  border-radius: 4px;
  color: #B89B5E;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 0.4s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  isolation: isolate;
  overflow: hidden;
}
.atlas-portal-card:hover,
.atlas-portal-card:focus-visible {
  border-color: rgba(184, 155, 94, 0.85);
  transform: translateY(-2px);
  outline: none;
}
.atlas-portal-card:focus-visible {
  box-shadow: 0 0 0 1px rgba(184, 155, 94, 0.45);
}
.atlas-portal-glow {
  position: absolute;
  inset: -1px;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(184, 155, 94, 0.08), transparent 60%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: -1;
}
.atlas-portal-card:hover .atlas-portal-glow,
.atlas-portal-card:focus-visible .atlas-portal-glow {
  opacity: 1;
}
.atlas-portal-figure {
  width: 132px;
  height: 132px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B89B5E;
  position: relative;
}
.atlas-portal-figure-bazi .bazi-mini-pillars {
  width: 124px;
  height: auto;
  filter: drop-shadow(0 0 6px rgba(184, 155, 94, 0.18));
}
.atlas-portal-figure-bazi text {
  /* 微光流转（瘦金体大字） */
  animation: bazi-pillar-shimmer 7s ease-in-out infinite;
}
.atlas-portal-figure-bazi text:nth-of-type(2) { animation-delay: 0.3s; }
.atlas-portal-figure-bazi text:nth-of-type(3) { animation-delay: 0.6s; }
.atlas-portal-figure-bazi text:nth-of-type(4) { animation-delay: 0.9s; }
.atlas-portal-figure-bazi text:nth-of-type(5) { animation-delay: 1.2s; }
.atlas-portal-figure-bazi text:nth-of-type(6) { animation-delay: 1.5s; }
.atlas-portal-figure-bazi text:nth-of-type(7) { animation-delay: 1.8s; }
.atlas-portal-figure-bazi text:nth-of-type(8) { animation-delay: 2.1s; }
@keyframes bazi-pillar-shimmer {
  0%, 100% { fill-opacity: 0.78; }
  50%      { fill-opacity: 1.0; }
}
.atlas-portal-figure-star .star-mini-armillary {
  width: 132px;
  height: 132px;
  filter: drop-shadow(0 0 8px rgba(184, 155, 94, 0.22));
}
.atlas-portal-figure-star .star-mini-rotor {
  transform-origin: 60px 60px;
  animation: star-armillary-spin 22s linear infinite;
}
@keyframes star-armillary-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.atlas-portal-copy {
  text-align: center;
}
.atlas-portal-card-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.4em;
  color: rgba(184, 155, 94, 0.68);
  margin: 0 0 8px;
}
.atlas-portal-card-title {
  font-family: "Slender Gold", "Noto Serif SC", serif;
  font-size: 1.26rem;
  letter-spacing: 0.14em;
  color: #E6D9B4;
  margin: 0 0 10px;
  font-weight: 500;
}
.atlas-portal-card-meta {
  font-size: 0.82rem;
  color: rgba(230, 217, 180, 0.5);
  font-family: "Noto Serif SC", serif;
  letter-spacing: 0.03em;
  margin: 0;
  line-height: 1.55;
}
.atlas-portal-cta {
  font-family: "Slender Gold", "Noto Serif SC", serif;
  font-size: 0.92rem;
  letter-spacing: 0.18em;
  color: #B89B5E;
  padding-top: 14px;
  border-top: 0.5px solid rgba(184, 155, 94, 0.22);
  width: 100%;
  text-align: center;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.atlas-portal-card:hover .atlas-portal-cta,
.atlas-portal-card:focus-visible .atlas-portal-cta {
  color: #E6D9B4;
  border-top-color: rgba(184, 155, 94, 0.5);
}
@media (max-width: 720px) {
  .atlas-portal-grid { grid-template-columns: 1fr; gap: 18px; }
  .destiny-atlas-portal { padding: 32px 18px 36px; margin-top: 40px; }
  .atlas-portal-figure { width: 108px; height: 108px; }
  .atlas-portal-figure-star .star-mini-armillary { width: 108px; height: 108px; }
  .atlas-portal-figure-bazi .bazi-mini-pillars { width: 104px; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-portal-figure-bazi text { animation: none; }
  .atlas-portal-figure-star .star-mini-rotor { animation: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
 * P7.4 · 七件套回灌 destiny 5 物件（task #100）
 * 2026-05-22 · 把已封版的「宋韵七件套 v1.6.1」吃进命途总览所有物件，
 *              消除 v1.4 → v1.6.2 的 doc-implementation gap。
 *
 * 策略：
 *   - 不删旧规则，靠 `.p7-scope` 提升的特异性 + 后置顺序覆盖（rollback = 删本段）
 *   - 用 §B 暗金游丝 token 替 border:1px solid （三红线之一）
 *   - 用 --p7-font-display 瘦金体替 var(--serif) 的大字（hero / xiang-name / 雅号）
 *   - 砍 .zhu-panti-seal 容器形态朱砂（违反 §C 零容忍；已有 .p7-cinnabar-host SVG 接管）
 *   - 用 --p7-r-jade / --p7-r-folio 替自由 border-radius
 *   - eyebrow 升级 --p7-ls-篆 letter-spacing
 *
 * 覆盖范围：
 *   ①断层主判帖  ②命盘反差  ③所宜所忌  ④何以断我
 *   ⑤风骨片      ⑥四相长卷  ⑦以此身可问
 *   + destiny-today-hero（今日）+ atlas-portal（殿后藏经阁入口）
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── A. 容器：节奏 + 字号 token 化（P7.4.9: gap 28→52, margin 24→40 留白参与构图） ─── */
.destiny-self-tablet.p7-scope {
  gap: 52px;
  margin: 40px 0;
}
.destiny-self-tablet.p7-scope .destiny-self-tablet-body {
  gap: 52px;
}
.destiny-self-tablet.p7-scope .eyebrow {
  letter-spacing: var(--p7-ls-篆);
  font-size: var(--p7-fs-chip);
  color: var(--p7-gold);
  font-family: var(--p7-font-display);
  text-transform: none;
}

/* ── B. 砍掉容器形态朱砂印（§C 零容忍）──────────────────────────────────
 * .zhu-panti-seal 的 double border + cinnabar-bg 模拟，正是 §C 想干掉的
 * "SaaS 红 badge" 形态。改成只留 .p7-cinnabar-host SVG filter 一种合法形态。
 * --------------------------------------------------------------------- */
.destiny-self-tablet.p7-scope .zhu-panti {
  grid-template-columns: 1fr;
  /* P7.4.10 · 卡几乎消失：去 rim、去 drop-shadow、去 background-gradient
   * 让 motif 和判语自由浮在 abyss 上（残山剩水的真正版本）。 */
  padding: 56px 64px 52px;
  min-height: 360px;
  border: none;
  border-radius: 0;             /* 砍圆角，让"卡"概念也消失 */
  background: none;
  box-shadow: none;
}
.destiny-self-tablet.p7-scope .zhu-panti-seal {
  display: none;   /* §C 零容忍：double-border 朱砂块退役；改由 SVG host 承接 */
}

/* ── C. 主判帖文字：瘦金体 + p7 字号阶 ──────────────────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti-text {
  gap: 12px;
}
.destiny-self-tablet.p7-scope .zhu-panti-xiang {
  gap: 18px;
}
.destiny-self-tablet.p7-scope .zhu-panti-xiang .xiang-order {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-batch);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-bone);
}
.destiny-self-tablet.p7-scope .zhu-panti-xiang .xiang-name {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-hero);
  letter-spacing: var(--p7-ls-标);
  font-weight: 400;
  color: var(--p7-gold-bright);
  text-shadow: 0 0 18px var(--p7-gold-wire-glow);
}
.destiny-self-tablet.p7-scope .zhu-panti-yahao-line {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
}
.destiny-self-tablet.p7-scope .zhu-panti-yahao-line em {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
}
.destiny-self-tablet.p7-scope .zhu-panti-bazi,
.destiny-self-tablet.p7-scope .zhu-panti-late-zi {
  /* P7.4.10 · 公历降级为小注（古书脚批）·  比 meta 更轻 · alpha 更淡 */
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  letter-spacing: 0.20em;
  color: rgba(212, 196, 158, 0.45);   /* p7-bone × 0.55 */
  margin-top: 4px;
}
.destiny-self-tablet.p7-scope .zhu-panti-verdict {
  /* P7.4.10 · 去框：让古文 free-flow 在留白中，不再装"句子的盒子" */
  margin: 32px 0 4px;
  padding: 0;
  border-left: none;
  background: none;
  gap: 12px;
}
.destiny-self-tablet.p7-scope .verdict-guyun {
  /* P7.4.10 · 古文加重 + 行距放宽，让它成为页面真正的视觉锚 */
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);          /* 升一级（h → title） */
  line-height: 2.0;                       /* 古书行距 */
  letter-spacing: 0.22em;                 /* 更疏更含蓄 */
  color: var(--p7-gold-bright);
  max-width: 22em;                        /* 古文限宽：让长句自然断 */
}
.destiny-self-tablet.p7-scope .verdict-renhua {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.7;
  color: var(--p7-bone);
  font-style: normal;
}

/* ── D. ② 命盘反差：朱砂只点 share-line 左侧文字，容器走暗金 ─────────── */
.destiny-self-tablet.p7-scope .ming-pan-fancha {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background:
    radial-gradient(ellipse 60% 40% at 8% 10%, var(--p7-ink-cloud), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 32px var(--p7-gold-wire-glow);
}
.destiny-self-tablet.p7-scope .fancha-tag {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: 0.42em;
  font-weight: 400;
  color: var(--p7-gold-bright);
  text-shadow: 0 0 16px var(--p7-gold-wire-glow);
}
.destiny-self-tablet.p7-scope .fancha-guyun {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}
.destiny-self-tablet.p7-scope .fancha-share-line {
  margin-top: 6px;
  padding: 12px 16px;
  border-left: 1px solid var(--p7-cinnabar);
  background: var(--p7-ink-cloud);
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-gold-bright);
  font-style: normal;
}

/* ── E. ③ 所宜 / 所忌：jade 卡 + 左侧极细色温线 ──────────────────────── */
.destiny-self-tablet.p7-scope .ci-shen-suoyi-suoji {
  gap: 16px;
}
.destiny-self-tablet.p7-scope .suoyi-block,
.destiny-self-tablet.p7-scope .suoji-block {
  padding: 20px 24px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 10px;
}
.destiny-self-tablet.p7-scope .suoyi-block {
  border-left: 1.5px solid var(--p7-gold);     /* 宜：暗金（中性温） */
}
.destiny-self-tablet.p7-scope .suoji-block {
  border-left: 1.5px solid var(--p7-cinnabar); /* 忌：朱砂（警示温） */
}
.destiny-self-tablet.p7-scope .suoyi-headline,
.destiny-self-tablet.p7-scope .suoji-headline {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-self-tablet.p7-scope .suoyi-explanation,
.destiny-self-tablet.p7-scope .suoji-explanation {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
  font-style: normal;
}

/* ── F. ④ 何以断我（折叠）：暗金游丝虚线 ─────────────────────────────── */
.destiny-self-tablet.p7-scope .he-yi-duan-wo {
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 18px var(--p7-gold-wire-glow);
}
.destiny-self-tablet.p7-scope .he-yi-duan-wo summary {
  padding: 18px 24px;
}
.destiny-self-tablet.p7-scope .he-yi-duan-wo summary::after {
  color: var(--p7-cinnabar);
  font-size: 0.84rem;
}
.destiny-self-tablet.p7-scope .he-yi-duan-wo-hint {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  font-style: normal;
  letter-spacing: var(--p7-ls-注);
}
.destiny-self-tablet.p7-scope .evidence-chain {
  padding: 0 24px 16px;
}
.destiny-self-tablet.p7-scope .evidence-chain li {
  border-bottom: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) bottom / 100% 0.5px no-repeat;
  padding-bottom: 14px;
}
.destiny-self-tablet.p7-scope .evidence-chain li:last-child { background: none; }
.destiny-self-tablet.p7-scope .evidence-chain h5 {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-self-tablet.p7-scope .evidence-chain p {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  line-height: 1.75;
  color: var(--p7-bone);
}
.destiny-self-tablet.p7-scope .evidence-disclaimer {
  margin: 0 24px 18px;
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding-top: 12px;
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  font-style: normal;
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}

/* ── G. ⑤ 风骨片：玉简框 + 雷达回灌暗金 ──────────────────────────────── */
.destiny-self-tablet.p7-scope .feng-gu-pian {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 16px;
}
/* 雷达 SVG：换 stroke / fill 到 p7 暗金 token */
.destiny-self-tablet.p7-scope .feng-gu-pian-radar polygon:first-of-type {
  fill: var(--p7-gold-wire-glow);
  stroke: var(--p7-gold-wire-bright);
}
.destiny-self-tablet.p7-scope .feng-gu-pian-radar polygon.feng-gu-pian-radar-shape {
  fill: rgba(184, 155, 94, 0.20);
  stroke: var(--p7-gold);
}
.destiny-self-tablet.p7-scope .feng-gu-pian-radar text {
  fill: var(--p7-gold);
}
.destiny-self-tablet.p7-scope .feng-gu-pian-headline {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-self-tablet.p7-scope .feng-gu-pian-guyun,
.destiny-self-tablet.p7-scope .feng-gu-pian-gloss {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}

/* ── H. ⑥ 四相长卷：玉简 stack ──────────────────────────────────────── */
.destiny-self-tablet.p7-scope .si-xiang-juan-signs {
  display: grid;
  gap: 14px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}
.destiny-self-tablet.p7-scope .si-xiang-juan-sign {
  padding: 18px 22px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 18px var(--p7-gold-wire-glow);
}
.destiny-self-tablet.p7-scope .si-xiang-juan-sign .sign-use {
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding-top: 10px;
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  color: var(--p7-bone);
}
.destiny-self-tablet.p7-scope .si-xiang-juan-sign .sign-use-label {
  font-family: var(--p7-font-display);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
}

/* ── I. ⑦ 以此身可问：玉简 chip + cinnabar hover ─────────────────────── */
.destiny-self-tablet.p7-scope .yi-ci-shen-ke-wen {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 14px;
}
.destiny-self-tablet.p7-scope .prompt-leadin {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  font-style: normal;
  letter-spacing: var(--p7-ls-注);
}
.destiny-self-tablet.p7-scope .prompt-chip button {
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  background: transparent;
  color: var(--p7-gold-bright);
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-注);
  box-shadow: inset 0 0 12px var(--p7-gold-wire-glow);
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade),
              color var(--p7-dur-quick) var(--p7-ease-jade),
              box-shadow var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-self-tablet.p7-scope .prompt-chip button::before,
.destiny-self-tablet.p7-scope .prompt-chip button::after {
  color: var(--p7-gold);
}
.destiny-self-tablet.p7-scope .prompt-chip button:hover {
  border-color: var(--p7-cinnabar);
  color: var(--p7-gold-bright);
  background: transparent;
  box-shadow: inset 0 0 18px rgba(199, 61, 61, 0.08);
}

/* ── J. destiny-today-hero「今日」: 折页轻容器 + 瘦金体 oracle ──────── */
.destiny-today-hero.p7-scope {
  padding: 22px 26px;
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 60% 40% at 90% 10%, var(--p7-mist), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 32px var(--p7-gold-wire-glow);
  display: grid;
  gap: 8px;
}
.destiny-today-hero.p7-scope .destiny-today-hero-anchor {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
  margin: 0;
}
.destiny-today-hero.p7-scope .destiny-today-hero-phenomena {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-hero.p7-scope .destiny-today-hero-oracle {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
  text-shadow: 0 0 14px var(--p7-gold-wire-glow);
  margin: 4px 0 0;
  line-height: 1.6;
}

/* ── J.2 destiny-today-jian 今日笺：折页 + 双段所宜/所忌 ─────────────── */
.destiny-today-jian.p7-scope {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 60% 40% at 92% 92%, var(--p7-ink-cloud), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 28px var(--p7-gold-wire-glow);
  display: grid;
  gap: 18px;
}
.destiny-today-jian.p7-scope .jian-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.destiny-today-jian.p7-scope .eyebrow,
.destiny-today-jian.p7-scope .jian-label {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-date {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-yi-ji {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.destiny-today-jian.p7-scope .jian-block {
  padding: 14px 18px;
  border-radius: var(--p7-r-jade);
  box-shadow: inset 0 0 0 0.5px var(--p7-gold-wire-base);
  display: grid;
  gap: 6px;
}
.destiny-today-jian.p7-scope .jian-yi-block { border-left: 1.5px solid var(--p7-gold); }
.destiny-today-jian.p7-scope .jian-ji-block { border-left: 1.5px solid var(--p7-cinnabar); }
.destiny-today-jian.p7-scope .jian-yi,
.destiny-today-jian.p7-scope .jian-ji {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-action,
.destiny-today-jian.p7-scope .jian-verify,
.destiny-today-jian.p7-scope .jian-verified-today {
  display: grid;
  gap: 8px;
  padding-top: 14px;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
}
.destiny-today-jian.p7-scope .jian-action-text,
.destiny-today-jian.p7-scope .jian-verify-text {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-gold-bright);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-verify-btn {
  justify-self: start;
  padding: 8px 18px;
  background: transparent;
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  cursor: pointer;
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-today-jian.p7-scope .jian-verify-btn:hover {
  border-color: var(--p7-cinnabar);
}
.destiny-today-jian.p7-scope .jian-verified-row {
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.destiny-today-jian.p7-scope .verified-label {
  font-family: var(--p7-font-display);
  color: var(--p7-gold);
  letter-spacing: var(--p7-ls-标);
}
.destiny-today-jian.p7-scope .verified-note {
  font-family: var(--p7-font-serif);
  color: var(--p7-bone);
  font-size: var(--p7-fs-meta);
}
@media (max-width: 720px) {
  .destiny-today-jian.p7-scope .jian-yi-ji { grid-template-columns: 1fr; }
}

/* ── K. destiny-chronicle-recent 近三章：玉简容器 ───────────────────── */
.destiny-chronicle-recent.p7-scope {
  padding: 22px 24px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 20px var(--p7-gold-wire-glow);
}

/* ── L. 响应式：移动端节流 ──────────────────────────────────────────── */
@media (max-width: 720px) {
  .destiny-self-tablet.p7-scope .zhu-panti {
    padding: 24px 22px 22px;
  }
  .destiny-self-tablet.p7-scope .zhu-panti-xiang .xiang-name {
    font-size: 1.9rem;
  }
  .destiny-self-tablet.p7-scope .ming-pan-fancha,
  .destiny-self-tablet.p7-scope .feng-gu-pian,
  .destiny-self-tablet.p7-scope .yi-ci-shen-ke-wen {
    padding: 18px 20px;
  }
}
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4 · 七件套回灌
 * ════════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════════
 * P7.4.2 · 续 · 命途页底半张 P7 回灌（task #119）
 * 2026-05-22 · 第一轮覆盖 hero + 此身判帖 + today-jian + chronicle 容器；
 *              第二轮把页面下半张的 4 组也吃进 P7：
 *                M. destiny-atlas-portal     殿后藏经阁入口（命盘/星盘卡）
 *                N. destiny-chronicle-recent 章卡内部（chapter-card / entries）
 *                O. destiny-subject-entry    Subject 入口卡
 *                P. destiny-empty-state      未登录首页示例判帖
 *              此 patch 之后，命途页从 top 到 bottom 视觉完全 P7 化。
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── M. 殿后藏经阁入口（命盘/星盘双玉简卡） ─────────────────────────── */
.destiny-atlas-portal.p7-scope {
  margin: 56px auto 0;
  padding: 44px clamp(20px, 4vw, 48px) 48px;
  max-width: 980px;
  background:
    radial-gradient(ellipse 60% 35% at 18% 12%, var(--p7-mist), transparent 55%),
    radial-gradient(ellipse 60% 35% at 82% 88%, var(--p7-ink-cloud), transparent 60%),
    var(--p7-abyss-soft);
  border: none;
  border-radius: var(--p7-r-folio);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 48px var(--p7-gold-wire-glow),
    0 24px 56px rgba(0, 0, 0, 0.42);
}
.destiny-atlas-portal.p7-scope::before { display: none; }
.destiny-atlas-portal.p7-scope .atlas-portal-eyebrow {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
}
.destiny-atlas-portal.p7-scope .atlas-portal-title {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
  text-shadow: 0 0 18px var(--p7-gold-wire-glow);
}
.destiny-atlas-portal.p7-scope .atlas-portal-meta {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
}
.destiny-atlas-portal.p7-scope .atlas-portal-card {
  border: none;
  border-radius: var(--p7-r-jade);
  background:
    linear-gradient(180deg, var(--p7-mist), transparent 80%),
    transparent;
  color: var(--p7-gold);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 28px var(--p7-gold-wire-glow);
  transition: box-shadow var(--p7-dur-base) var(--p7-ease-jade),
              transform var(--p7-dur-base) var(--p7-ease-jade);
}
.destiny-atlas-portal.p7-scope .atlas-portal-card:hover,
.destiny-atlas-portal.p7-scope .atlas-portal-card:focus-visible {
  border-color: transparent;
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-bright),
    inset 0 0 40px var(--p7-gold-wire-glow),
    0 12px 32px rgba(0, 0, 0, 0.4);
  transform: translateY(-2px);
}
.destiny-atlas-portal.p7-scope .atlas-portal-figure { color: var(--p7-gold); }
.destiny-atlas-portal.p7-scope .atlas-portal-figure-bazi .bazi-mini-pillars {
  filter: drop-shadow(0 0 6px var(--p7-gold-wire-glow));
}
.destiny-atlas-portal.p7-scope .atlas-portal-figure-star .star-mini-armillary {
  filter: drop-shadow(0 0 8px var(--p7-gold-wire-glow));
}
.destiny-atlas-portal.p7-scope .atlas-portal-card-eyebrow {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
}
.destiny-atlas-portal.p7-scope .atlas-portal-card-title {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-atlas-portal.p7-scope .atlas-portal-card-meta {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
}
.destiny-atlas-portal.p7-scope .atlas-portal-cta {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  transition: color var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-atlas-portal.p7-scope .atlas-portal-card:hover .atlas-portal-cta,
.destiny-atlas-portal.p7-scope .atlas-portal-card:focus-visible .atlas-portal-cta {
  color: var(--p7-gold-bright);
}

/* ── N. 编年近三章 · 章卡内部 ─────────────────────────────────────── */
.destiny-chronicle-recent.p7-scope .recent-head .eyebrow {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
}
.destiny-chronicle-recent.p7-scope .see-full-chronicle {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  background: transparent;
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  padding: 6px 14px;
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-chronicle-recent.p7-scope .see-full-chronicle:hover {
  border-color: var(--p7-cinnabar);
}
.destiny-chronicle-recent.p7-scope .chronicle-chapter-card {
  border: none;
  border-radius: var(--p7-r-jade);
  background: transparent;
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 16px var(--p7-gold-wire-glow);
  padding: 18px 22px;
}
.destiny-chronicle-recent.p7-scope .chapter-name {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-chronicle-recent.p7-scope .chapter-date {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
  font-style: normal;
}
.destiny-chronicle-recent.p7-scope .chapter-entry {
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding: 10px 0 6px;
}
.destiny-chronicle-recent.p7-scope .chronicle-recent-empty {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
  font-style: normal;
  text-align: center;
  padding: 24px 0;
}

/* ── O. Subject 入口卡（页面尾部 navigator） ─────────────────────── */
.destiny-subject-entry.p7-scope {
  margin-top: 24px;
}
.destiny-subject-entry.p7-scope .destiny-subject-entry-card {
  border: none;
  border-radius: var(--p7-r-jade);
  background:
    radial-gradient(ellipse 50% 35% at 8% 10%, var(--p7-mist), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  padding: 22px 24px;
}
.destiny-subject-entry.p7-scope .destiny-subject-entry-copy h3 {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}

/* ── P. 未登录首页 · 示例判帖（首次访客转化漏斗） ─────────────────── */
.destiny-empty-state.p7-scope {
  padding: 56px 24px 40px;
  gap: 28px;
}
.destiny-empty-state.p7-scope .destiny-example-tablet {
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 60% 35% at 50% 0%, var(--p7-mist), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 32px var(--p7-gold-wire-glow),
    0 18px 48px rgba(0, 0, 0, 0.42);
  /* 半透明锁感保留（这是"示例"的关键语义）*/
  opacity: 0.82;
  filter: saturate(0.92);
  padding: 36px 40px 32px;
}
.destiny-empty-state.p7-scope .destiny-example-lock {
  color: var(--p7-cinnabar);
  opacity: 0.65;
}
.destiny-empty-state.p7-scope .destiny-example-head .eyebrow {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
}
.destiny-empty-state.p7-scope .destiny-example-yahao {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.destiny-empty-state.p7-scope .destiny-example-bazi {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-bone);
}
.destiny-empty-state.p7-scope .destiny-example-xiang {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
}
.destiny-empty-state.p7-scope .destiny-example-panyu {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  font-style: normal;
  line-height: 1.85;
  color: var(--p7-gold-bright);
  letter-spacing: var(--p7-ls-注);
}
.destiny-empty-state.p7-scope .destiny-example-incarnations {
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding-top: 16px;
}
.destiny-empty-state.p7-scope .destiny-example-incarnations small {
  font-family: var(--p7-font-display);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
  font-size: var(--p7-fs-chip);
}
.destiny-empty-state.p7-scope .destiny-example-incarnations strong {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  color: var(--p7-gold-bright);
  font-weight: 400;
  letter-spacing: var(--p7-ls-注);
}
.destiny-empty-state.p7-scope .destiny-example-incarnations em.void {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  font-style: normal;
}
.destiny-empty-state.p7-scope .destiny-empty-tagline {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-gold-bright);
  line-height: 1.85;
  max-width: 480px;
}
.destiny-empty-state.p7-scope .archetype-viral-bridge {
  margin-top: 8px;
  display: grid;
  gap: 10px;
  justify-items: center;
}
.destiny-empty-state.p7-scope .archetype-viral-bridge-or {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-bone);
  margin: 0;
}
.destiny-empty-state.p7-scope .archetype-open-test {
  background: transparent;
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  padding: 10px 22px;
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-empty-state.p7-scope .archetype-open-test:hover {
  border-color: var(--p7-cinnabar);
}
.destiny-empty-state.p7-scope .archetype-viral-bridge-hint {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
  font-style: normal;
}

/* ── 响应式补丁 ───────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .destiny-empty-state.p7-scope .destiny-example-tablet {
    padding: 24px 22px;
  }
  .destiny-empty-state.p7-scope .destiny-example-incarnations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4.2 · 续 · 命途页底半张回灌
 * ════════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════════
 * P7.4.3 · 全局 chrome 七件套化（导航 + 按钮 + top-bar）
 * 2026-05-22 · 之前所有 P7 改动都在 destiny 页内部，但 top-bar / nav-tab /
 *              primary-cta / ghost-button 这些"每页都看见"的 chrome 还是 SaaS
 *              圆角金渐变。这造成每打开一页第一眼就是 SaaS，再滚到内容才是 P7，
 *              视觉反差最强烈的就是页面顶端。
 *
 *              这一波把 chrome 也吃进 P7：
 *                Q. .top-bar         暗金游丝底线 + 极渊黑底
 *                R. .nav-tab         玉简胶囊 + 朱砂下划点睛
 *                S. .primary-cta     暗金游丝外框 + 瘦金体（替 gradient gold pill）
 *                T. .ghost-button    暗金游丝外框 dimmer
 *                U. .brand           瘦金体品牌字
 *
 *              所有 token 都从 :root / .p7-scope 取，rollback = 删本段。
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── Q. top-bar 顶栏 ──────────────────────────────────────────────── */
.top-bar {
  background: rgba(10, 10, 12, 0.82);   /* var(--p7-abyss) 加 alpha */
  border-bottom: none;
  /* 顶栏底线改 暗金游丝（中实两端虚） */
  background-image:
    linear-gradient(rgba(10,10,12,0.82), rgba(10,10,12,0.82)),
    linear-gradient(90deg,
      transparent 0%, rgba(184,155,94,0.25) 20%,
      rgba(184,155,94,0.25) 80%, transparent 100%);
  background-position: top, bottom;
  background-size: 100% 100%, 100% 0.5px;
  background-repeat: no-repeat, no-repeat;
}

/* ── U. brand 品牌字 ──────────────────────────────────────────────── */
.brand-mark {
  color: rgba(184, 155, 94, 0.95);   /* var(--p7-gold) */
  filter: drop-shadow(0 0 8px rgba(184,155,94,0.18));
}
.brand-copy strong {
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif;
  font-size: 0.96rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: none;
  color: rgba(230, 217, 180, 0.96);
}

/* ── R. nav-tab 顶导胶囊 + 朱砂下划 ──────────────────────────────── */
.nav-tab {
  padding: 10px 20px;
  border-radius: 2px;     /* var(--p7-r-jade) */
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif;
  font-weight: 400;
  font-size: 0.95rem;
  letter-spacing: 0.18em;
  color: rgba(184, 155, 94, 0.65);
  background: transparent;
  position: relative;
  transition: color 240ms cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-tab:hover {
  background: transparent;
  color: rgba(230, 217, 180, 0.96);
}
.nav-tab.active {
  color: rgba(230, 217, 180, 0.98);
  background: transparent;
}
/* active 下方一条 朱砂 短游丝（取代原 gold-dim 背景） */
.nav-tab.active::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: -3px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(199, 61, 61, 0.85) 50%,
    transparent 100%
  );
}

/* ── S. primary-cta 主按钮 (砍 gradient pill，改 暗金游丝外框) ──── */
.primary-cta {
  padding: 13px 30px;
  border-radius: 2px;
  background: transparent;
  border: 0.5px solid rgba(184, 155, 94, 0.45);   /* var(--p7-gold-wire-bright) */
  box-shadow:
    inset 0 0 18px rgba(184,155,94,0.05),
    0 0 0 0.5px transparent;
  color: rgba(230, 217, 180, 0.98);
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.22em;
  text-transform: none;
  transition:
    border-color 320ms cubic-bezier(0.4, 0, 0.2, 1),
    color 320ms cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 320ms cubic-bezier(0.4, 0, 0.2, 1),
    transform 260ms cubic-bezier(0.4, 0, 0.2, 1);
}
.primary-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(199, 41, 41, 0.85);   /* var(--p7-cinnabar) */
  color: rgba(230, 217, 180, 1);
  box-shadow:
    inset 0 0 22px rgba(199,61,61,0.06),
    0 6px 24px rgba(0, 0, 0, 0.32);
}
.primary-cta:active { transform: translateY(0) scale(0.985); }
.primary-cta:focus-visible {
  outline: none;
  box-shadow:
    inset 0 0 22px rgba(184,155,94,0.08),
    0 0 0 1px rgba(199, 61, 61, 0.5);
}

/* ── T. ghost-button 次按钮 (暗金游丝 dimmer + 瘦金) ─────────────── */
.ghost-button {
  padding: 12px 26px;
  border-radius: 2px;
  background: transparent;
  border: 0.5px solid rgba(184, 155, 94, 0.25);  /* var(--p7-gold-wire-base) */
  box-shadow: inset 0 0 14px rgba(184,155,94,0.04);
  color: rgba(230, 217, 180, 0.78);
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif;
  font-weight: 400;
  font-size: 0.92rem;
  letter-spacing: 0.18em;
  transition:
    border-color 240ms cubic-bezier(0.4, 0, 0.2, 1),
    color 240ms cubic-bezier(0.4, 0, 0.2, 1);
}
.ghost-button:hover {
  background: transparent;
  border-color: rgba(184, 155, 94, 0.55);
  color: rgba(230, 217, 180, 0.96);
  transform: translateY(-1px);
}
.ghost-button:focus-visible {
  outline: none;
  border-color: rgba(199, 61, 61, 0.6);
}

/* ── V. admin-link / 其他通用 link button ─────────────────────── */
.admin-link {
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  color: rgba(184, 155, 94, 0.5);
  border-radius: 2px;
  transition: color 240ms cubic-bezier(0.4, 0, 0.2, 1);
}
.admin-link:hover { color: rgba(230, 217, 180, 0.92); background: transparent; }

/* ── W. button[type="submit"] 通用 form 主按钮（视为 primary-cta 同款）── */
button[type="submit"] {
  border-color: rgba(184, 155, 94, 0.45) !important;
  background: transparent !important;
  color: rgba(230, 217, 180, 0.98) !important;
  font-family: "Slender Gold", "HuiZongShouJin", "Noto Serif SC", serif !important;
}
button[type="submit"]:hover {
  border-color: rgba(199, 41, 41, 0.85) !important;
  background: transparent !important;
}
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4.3 · 全局 chrome 七件套化
 * ════════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════════
 * P7.4.4 · 瘦金体降级 · 礼器字回归点睛位（task #122）
 * 2026-05-22 Steven 反馈："有的不需要瘦金体的地方不应该用瘦金体"。
 *
 * 我之前 P7.4 / P7.4.2 / P7.4.3 把瘦金体当成"P7 的字体"满铺，结果导航、按钮、
 * 小 label、数据显示全是瘦金，反而把真正该被读到的雅号/判语/印文压平。
 *
 * 正确的字体三层：
 *   ① 礼器字（瘦金体）：雅号 / 第N象 / 古文判语 / 印文 / oracle / panyu /
 *      人物 proper-noun—— 一页 3-5 次稀缺出现
 *   ② 正文字（宋体）：explanation / 章卡名 / metadata / 内容段—— 主体频率
 *   ③ 功能字（宋体 + letter-spacing）：nav-tab / primary-cta / ghost-button /
 *      所有 eyebrow / label / 按钮 / 数据显示—— 高频，需 instantly 可读
 *
 * 让按钮感觉"P7"不需要瘦金—— letter-spacing + 暗金游丝 outline + 朱砂 hover
 * 已经够。字体 ≠ 风格。
 *
 * rollback：删本段即恢复滥铺态。
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── 全局 chrome (P7.4.3 chrome 五件套) 回宋体 ──────────────────── */
.nav-tab,
.primary-cta,
.ghost-button,
.admin-link,
button[type="submit"],
.brand-copy strong {
  font-family: var(--p7-font-serif, "Noto Serif SC", "Songti SC", "STSong", serif) !important;
}
/* 但保留 letter-spacing + 字号 + 朱砂 hover —— 视觉"P7 感"靠这些撑 */

/* ── destiny 各 scope 内的 小 label / 按钮 / 数据 显示 回宋体 ─── */
.destiny-self-tablet.p7-scope .eyebrow,
.destiny-today-jian.p7-scope .eyebrow,
.destiny-today-jian.p7-scope .jian-label,
.destiny-today-jian.p7-scope .verified-label,
.destiny-today-jian.p7-scope .jian-verify-btn,
.destiny-today-hero.p7-scope .destiny-today-hero-anchor,
.destiny-self-tablet.p7-scope .feng-gu-pian-headline,
.destiny-self-tablet.p7-scope .si-xiang-juan-sign .sign-use-label,
.destiny-self-tablet.p7-scope .evidence-chain h5,
.destiny-self-tablet.p7-scope .zhu-panti-yahao-line,
.destiny-self-tablet.p7-scope .zhu-panti-bazi,
.destiny-self-tablet.p7-scope .zhu-panti-xiang .xiang-order,
.destiny-atlas-portal.p7-scope .atlas-portal-eyebrow,
.destiny-atlas-portal.p7-scope .atlas-portal-card-eyebrow,
.destiny-atlas-portal.p7-scope .atlas-portal-cta,
.destiny-chronicle-recent.p7-scope .recent-head .eyebrow,
.destiny-chronicle-recent.p7-scope .see-full-chronicle,
.destiny-chronicle-recent.p7-scope .chronicle-recent-empty,
.destiny-subject-entry.p7-scope .destiny-subject-entry-copy h3,
.destiny-empty-state.p7-scope .destiny-example-head .eyebrow,
.destiny-empty-state.p7-scope .destiny-example-incarnations small,
.destiny-empty-state.p7-scope .archetype-viral-bridge-or,
.destiny-empty-state.p7-scope .archetype-open-test {
  font-family: var(--p7-font-serif, "Noto Serif SC", "Songti SC", "STSong", serif);
}

/* ── 保留瘦金的"礼器位"白名单（仅注释，无 CSS 改动）─────────────
 * 这些保留瘦金体—— 一页加起来通常 < 8 次：
 *   .zhu-panti-xiang .xiang-name          第 N 象 大字
 *   .zhu-panti-yahao-line em              雅号（核心）
 *   .verdict-guyun                        古文判语
 *   .fancha-tag                           命盘反差 tag
 *   .suoyi-headline / .suoji-headline     此身所宜/所忌（actual content）
 *   .destiny-today-hero-oracle            今日 oracle 古文
 *   .jian-yi / .jian-ji / .jian-action-text / .jian-verify-text  今日笺 actual content
 *   .atlas-portal-title                   藏经阁 hero
 *   .atlas-portal-card-title              玉简卡 hero
 *   .chapter-name                         古籍章名
 *   .destiny-example-yahao / xiang / panyu  样本 ceremonial content
 *   .destiny-example-incarnations strong  人物 proper noun
 *   .destiny-empty-tagline                古文 tagline
 *   .prompt-chip button                   literary 问辞内容
 * ──────────────────────────────────────────────────────────── */
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4.4 · 瘦金体降级
 * ════════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════════
 * P7.4.5 · 漆色底纹 + 剔花 motif（task #123）
 * 2026-05-22 Steven 给参考：宋代磁州窑黑釉剔花瓶。
 *
 * 之前的 暗金游丝 太"SaaS minimum viable border"：
 *   - 底色是 OLED 发光纯黑 → 该是吸光漆器黑
 *   - 金线是几何边框 → 该是剔花图案（线即是内容）
 *
 * 这一波做两件事：
 *   A. 漆色底纹：所有主大卡片底层叠 SVG 噪点滤镜（用 data URI），让 abyss-soft
 *      不再是数字纯色 —— 有一层"棉绒漆器"的吸光质感。
 *   B. 剔花 motif：.zhu-panti[data-xiang=...]::before 按象切换 SVG 图案。
 *      首发 only 听雪客（寒梅一枝），后续 15 象等设计 / 你画的图。
 *
 * Architecture：
 *   - 纯 CSS attribute selector
 *   - 每象 1 SVG 文件 + 1 段 CSS 即可加新象
 *   - 无运行时分支，无 JS 解释 motif 逻辑
 *
 * rollback：删本段即恢复。
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── A. 漆色底纹：用 data URI 内嵌 SVG noise filter 当 background ─────
 * baseFrequency 0.85 = 极细噪粒；feColorMatrix alpha 0.06 = 极淡叠加。
 * 关键：用 background-image 多层堆叠，noise 永远在最上层（fade 不动 hue 但加
 * 触觉感）。卡片原本的 gradient + abyss-soft 仍然显主导。
 * --------------------------------------------------------------------- */
.destiny-self-tablet.p7-scope .zhu-panti,
.destiny-today-hero.p7-scope,
.destiny-today-jian.p7-scope,
.destiny-atlas-portal.p7-scope,
.destiny-empty-state.p7-scope .destiny-example-tablet {
  /* P7.4.8 v4 · 砍至 Song · "角隅法" 不对称构图
   * v1/v2/v3 的 4 朵对称角云 + 顶底游丝带 全是西方 chinoiserie symmetry，反 Song。
   * 真正的 Song 视觉语言（马远 / 夏圭 "残山剩水"）= 信息集中一角，其余三处大留白。
   * 删除：4 corner clouds、box-shadow rim outline、酒店包间金条。
   * 保留：极淡 lacquer noise（漆器质感）+ 单角 radial gradient（暗示天光从一隅落入）。
   * 卡片的"角隅"由象 motif 单独承担（已在右侧密 = 左侧大留白）。 */
  background-color: var(--p7-abyss-soft);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='lacquer-grain'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='7' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.07  0 0 0 0 0.06  0 0 0 0 0.05  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23lacquer-grain)'/></svg>"),
    radial-gradient(ellipse 60% 40% at 88% 6%, var(--p7-mist), transparent 65%);
  background-size:
    220px 220px,
    auto;
  background-position:
    0 0,
    0 0;
  background-repeat:
    repeat,
    no-repeat;
  background-blend-mode:
    overlay,
    normal;
}

/* box-shadow v4：砍掉 rim outline，只留极淡 atmospheric glow（呼吸感，无框感） */
.destiny-self-tablet.p7-scope .zhu-panti,
.destiny-today-hero.p7-scope,
.destiny-today-jian.p7-scope,
.destiny-atlas-portal.p7-scope {
  box-shadow: inset 0 0 64px var(--p7-gold-wire-glow);
  border: none;
}

/* ── B. 剔花 motif：象切象，::before 承载 ─────────────────────────
 * 主判帖右上角浮一个 SVG ornament。半透明，pointer-events:none，不挡内容。
 * 不同 [data-xiang] 切不同 SVG —— 加一象 = 加一段。
 * --------------------------------------------------------------------- */
.destiny-self-tablet.p7-scope .zhu-panti {
  position: relative;     /* P7.4 已设过 padding，::before 用 absolute */
  isolation: isolate;
  overflow: hidden;       /* motif 不溢出卡边 */
}
.destiny-self-tablet.p7-scope .zhu-panti::before {
  /* P7.4.9 · 角隅法：motif 退回右上一角，让左下大留白参与构图（马远夏圭风骨）
   * 56% 全铺 → 40% 宽 + 65% 高，固定 right-top 收角。
   * 关键：不是 motif 变小，是"留白" 变大。 */
  content: "";
  position: absolute;
  top: 8%;
  right: 0;
  width: 40%;
  height: 65%;
  min-width: 260px;
  min-height: 260px;
  background-size: contain;
  background-position: top right;
  background-repeat: no-repeat;
  opacity: 0;             /* 默认无 motif（未匹配象时不画） */
  pointer-events: none;
  z-index: 0;
  transition: opacity var(--p7-dur-slow, 0.85s) var(--p7-ease-jade, cubic-bezier(0.4,0,0.2,1));
}
.destiny-self-tablet.p7-scope .zhu-panti > * {
  position: relative;
  z-index: 1;             /* 内容浮于 motif 之上 */
}

/* ── B.1 · 听雪客 · 寒梅一枝 ──────────────────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_tingxue_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/tingxue-meihua.svg');
  opacity: 0.65;
}

/* ── B.2 · 焚舟客 · 焚舟残桅 + 焰痕（朱砂烈） ────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_fenzhou_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/fenzhou-canzhang.svg');
  opacity: 0.62;
}
/* ── B.3 · 江海客 · 海水江崖纹（宋官窑式） ─────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_jianghai_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/jianghai-haishui.svg');
  opacity: 0.58;
}
/* ── B.4 · 朝阳客 · 朝阳与扶桑枝 ──────────────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_zhaoyang_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/zhaoyang-fusang.svg');
  opacity: 0.60;
}
/* ── B.5 · 林下客 · 修竹三两竿（文同竹谱） ────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_linxia_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/linxia-xiuzhu.svg');
  opacity: 0.62;
}
/* ── B.6 · 折剑客 · 断剑插松石 ────────────────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_zhejian_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/zhejian-duanjian.svg');
  opacity: 0.60;
}
/* ── B.7 · 浣纱客 · 荷叶一茎 + 涟漪（爱莲说） ────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_huansha_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/huansha-hehua.svg');
  opacity: 0.58;
}
/* ── B.8 · 烛影客 · 烛火 + 飞蛾绕影 ──────────────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_zhuying_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/zhuying-zhuhuo.svg');
  opacity: 0.62;
}
/* ── B.9 · 厚土客 · 山岩 + 苍松一株（范宽风骨） ──────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_houtu_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/houtu-cangsong.svg');
  opacity: 0.58;
}
/* ── B.10 · 守拙客 · 古砚 + 笔架山（文房四宝） ───────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_shouzhuo_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/shouzhuo-guyan.svg');
  opacity: 0.62;
}
/* ── B.11 · 明镜客 · 悬月 + 古镜（玄镜照心） ─────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_mingjing_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/mingjing-xuanyue.svg');
  opacity: 0.62;
}
/* ── B.12 · 玉壶客 · 玉壶 + 冰心（一片冰心在玉壶） ──────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_yuhu_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/yuhu-bingxin.svg');
  opacity: 0.65;
}
/* ── B.13 · 镂金客 · 金器 + 錾花缠枝（宋金银器） ─────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_loujin_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/loujin-zanhua.svg');
  opacity: 0.62;
}
/* ── B.14 · 寒泉客 · 山泉 + 冰花（寒泉幽涧） ─────────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_hanquan_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/hanquan-bingjian.svg');
  opacity: 0.60;
}
/* ── B.15 · 春雷客 · 云中乍现一爪（蛰龙惊雷） ───────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_chunlei_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/chunlei-longzhao.svg');
  opacity: 0.65;
}
/* ── B.16 · 执中客 · 黑白棋盘 + 一子悬（妙手） ───────────────── */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang="xiang_zhizhong_ke"]::before {
  background-image: url('/web/assets/xiang-motifs/zhizhong-qipan.svg');
  opacity: 0.62;
}

/* ── 全局 motif 含蓄化（P7.4.9 · Song 减法） ───────────────────
 * Song 平淡天真 = 即使 motif 在场，也要"似有似无"。砍所有象的 opacity 上限。 */
.destiny-self-tablet.p7-scope .zhu-panti[data-xiang]::before {
  opacity: 0.42 !important;
}

/* ── P7.4.10 终极减法：zhu-panti 卡感清零 ────────────────────────
 * 必须放在 P7.4.8 v4 background 规则之后才能 override。
 * 让"卡"概念消失—— Song 不画边界，只有意义的区域。
 * 文字 + motif 直接浮在 abyss 上，由位置 + 留白自然定义内容范围。 */
.destiny-self-tablet.p7-scope .zhu-panti {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ── P7.4.13 · 5 sub-articles 也卡感清零（统一 Song-clean）─────
 * 之前各 article 是 P7.4 玉简 jade-slip card（rim outline + inset glow + 圆角）。
 * zhu-panti 已经"消失"后，它们若保留卡感，视觉断层最大。统一砍。
 * 留一条 ultra-subtle 左侧金线作"段落锚"——只指引视线，不画框。 */
.destiny-self-tablet.p7-scope .ming-pan-fancha,
.destiny-self-tablet.p7-scope .ci-shen-suoyi-suoji .suoyi-block,
.destiny-self-tablet.p7-scope .ci-shen-suoyi-suoji .suoji-block,
.destiny-self-tablet.p7-scope .feng-gu-pian,
.destiny-self-tablet.p7-scope .si-xiang-juan-sign,
.destiny-self-tablet.p7-scope .he-yi-duan-wo,
.destiny-self-tablet.p7-scope .yi-ci-shen-ke-wen {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* 宜 / 忌 这一对需要色温区分（古书"宜"暖、"忌"冷）——用 1px 左侧色线
 * 而非整个 background。这是唯一允许的 sub-article "anchor"，因为它承担语义。*/
.destiny-self-tablet.p7-scope .ci-shen-suoyi-suoji .suoyi-block {
  border-left: 1px solid rgba(184, 155, 94, 0.55) !important;    /* 暗金 · 宜 */
  padding-left: 18px !important;
}
.destiny-self-tablet.p7-scope .ci-shen-suoyi-suoji .suoji-block {
  border-left: 1px solid rgba(155, 41, 41, 0.55) !important;     /* 朱砂 · 忌 */
  padding-left: 18px !important;
}

/* 增加 article 之间的呼吸（之前 gap 已经 52px，再加 inner padding 让眉批字
 * 与上下空白足够远） */
.destiny-self-tablet.p7-scope > .destiny-self-tablet-body > article,
.destiny-self-tablet.p7-scope > .destiny-self-tablet-body > details {
  padding: 24px 0 !important;
}

/* ── P7.4.13 v2 · 全页统一 Song-clean ─────────────────────────
 * destiny-self-tablet 内已经清完，但同页的其他 4 个 peer 物件还顶着
 * P7.4 时代的 lacquer-noise + radial-gradient + rim-outline 卡。
 * 一并清——只剩"位置 + 字 + 极淡 motif"。
 *
 * atlas-portal 是 special case：内部 2 张 atlas-portal-card 是可点击 CTA，
 * 必须保留 hover 反馈，所以**卡内**不清，只清外层 section wrapper。 */
.destiny-today-hero.p7-scope,
.destiny-today-jian.p7-scope,
.destiny-atlas-portal.p7-scope,
.destiny-chronicle-recent.p7-scope,
.destiny-subject-entry.p7-scope .destiny-subject-entry-card,
.destiny-empty-state.p7-scope .destiny-example-tablet {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* today-jian 的"宜/忌 双卡"沿用 sub-articles 的色温左线规则 */
.destiny-today-jian.p7-scope .jian-yi-block {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-left: 1px solid rgba(184, 155, 94, 0.55) !important;
  border-radius: 0 !important;
  padding: 0 0 0 18px !important;
}
.destiny-today-jian.p7-scope .jian-ji-block {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-left: 1px solid rgba(155, 41, 41, 0.55) !important;
  border-radius: 0 !important;
  padding: 0 0 0 18px !important;
}

/* atlas-portal 的 2 张 portal-card：保留 hover 视觉提示，但用极淡金线 + 朱砂 hover
 * 替原 box-shadow rim outline */
.destiny-atlas-portal.p7-scope .atlas-portal-card {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-top: 0.5px solid rgba(184, 155, 94, 0.32) !important;
  border-bottom: 0.5px solid rgba(184, 155, 94, 0.32) !important;
  border-radius: 0 !important;
  transition: border-color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.destiny-atlas-portal.p7-scope .atlas-portal-card:hover,
.destiny-atlas-portal.p7-scope .atlas-portal-card:focus-visible {
  border-top-color: rgba(155, 41, 41, 0.62) !important;
  border-bottom-color: rgba(155, 41, 41, 0.62) !important;
  transform: none !important;
}

/* chronicle 章卡 */
.destiny-chronicle-recent.p7-scope .chronicle-chapter-card {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  border-left: 1px solid rgba(184, 155, 94, 0.32) !important;
  border-radius: 0 !important;
  padding-left: 18px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
 * P7.4.14 · 整页 Song 收口（5 件套）· 2026-05-22
 *
 *   ① 整页 max-width 1320 → 880px        宋卷感（窄长卷不是 SaaS dashboard）
 *   ② body 漂浮 ink-cloud 缓动            天光从一隅落入，60s 一周期
 *   ③ DESTINY HUB 标题降级                "DESTINY HUB" 砍，"命途总览" 不再 hero 大字
 *   ④ 公历 1988-03-14 · 09:00 隐藏        数据感太重，跟 Song 不合
 *   ⑤ 已 P7.4.7 删（"看此身全貌"按钮）
 * ══════════════════════════════════════════════════════════════════════════ */

/* ① 整页 max-width 收口 · 仅 destiny page，不动其他 page 排版 */
.destiny-hub-panel,
.destiny-hub-head,
.destiny-self-tablet.p7-scope,
.destiny-today-hero.p7-scope,
.destiny-today-jian.p7-scope,
.destiny-atlas-portal.p7-scope,
.destiny-chronicle-recent.p7-scope,
.destiny-subject-entry.p7-scope,
.destiny-empty-state.p7-scope {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

/* ② body 漂浮 ink-cloud 缓动（天光从一隅落入 60s 一周期）
 * 在 .abyss-bg 上叠加一层巨大的 radial gradient，沿 background-position 缓慢漂移 */
.abyss-bg::after {
  /* 注意：.abyss-bg::before/::after 已经被 P7 v1.0 用了画星点。
   * 不冲突——我用 new pseudo background-image 而非 transform 即可，叠加层。 */
  background-image:
    radial-gradient(ellipse 70% 50% at var(--ink-x, 22%) var(--ink-y, 18%),
      rgba(184, 155, 94, 0.045), transparent 70%),
    radial-gradient(ellipse 60% 40% at var(--ink-x2, 82%) var(--ink-y2, 78%),
      rgba(155, 41, 41, 0.024), transparent 65%);
  animation:
    p7-star-breath var(--p7-dur-breath) ease-in-out infinite reverse,
    p7-tianguang-drift 60s ease-in-out infinite;
  pointer-events: none;
}
@keyframes p7-tianguang-drift {
  0%, 100% {
    background-position: 0% 0%, 0% 0%;
  }
  50% {
    background-position: 14% -8%, -10% 6%;
  }
}

/* ③ DESTINY HUB / 命途总览 hero 降级 · P7.4.15 字号补足
 * 砍 "DESTINY HUB" eyebrow（拉丁 SaaS 感）。"命途总览" h2 仍降级为眉批，
 * 让 Su Shi 那行成为真正的视觉重心——瘦金体大字撑开整页 hero 位。 */
.destiny-hub-head .eyebrow {
  display: none;
}
.destiny-hub-head h2 {
  font-family: var(--p7-font-display, "Slender Gold", "HuiZongShouJin", serif);
  font-size: 1.6rem;              /* 瘦金体最小可读尺寸 */
  font-weight: 400;
  letter-spacing: 0.32em;
  color: rgba(184, 155, 94, 0.78);
  margin: 0 0 18px;
}
.destiny-hub-head .meta-line {
  font-family: var(--p7-font-display, "Slender Gold", "HuiZongShouJin", serif);
  font-size: 2.4rem;              /* 苏轼那行 = 整页 hero，瘦金满力 */
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
  color: rgba(230, 217, 180, 0.98);
  text-shadow: 0 0 22px rgba(184, 155, 94, 0.18);
}

/* ④ 公历 / 时辰隐藏 · 数据感太重
 * 如果未来需要"按时辰"等场景，可改为悬浮 tooltip 而非常驻显示 */
.destiny-self-tablet.p7-scope .zhu-panti-bazi,
.destiny-self-tablet.p7-scope .zhu-panti-late-zi {
  display: none !important;
}
/* ══════════════════════════════════════════════════════════════════════════
 * /P7.4.14 · 整页 Song 收口
 * ══════════════════════════════════════════════════════════════════════════ */

/* ── 响应式：移动端 motif 缩小、降透明（避免抢内容） ───────── */
@media (max-width: 720px) {
  .destiny-self-tablet.p7-scope .zhu-panti::before {
    width: 180px;
    height: 160px;
    opacity: 0.42;
  }
}
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4.5 · 漆色底纹 + 剔花 motif
 * ════════════════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════
 * 命途页 · 三屏重构（2026-06 · refactor，独立 scope，回滚=删本段）
 *   目标：此身(屏一) → 此刻(屏二) → 入口(屏三)，首屏只留主判帖。
 *   做法：利用 .destiny-hub-panel 既有 grid，对子节点设 order 重排；
 *         次要物件折叠进 .ci-shen-quanmao。不动 DOM、不改 JS 取值。
 * ══════════════════════════════════════════════════════════════════════ */
.destiny-hub-panel > .destiny-hub-head         { order: 0; }
.destiny-hub-panel > #destiny-hub-status       { order: 1; }
.destiny-hub-panel > #destiny-last-viewed      { order: 1; }
.destiny-hub-panel > #destiny-self-tablet      { order: 2; } /* 屏一 · 此身（主角） */
.destiny-hub-panel > #destiny-today-hero       { order: 3; } /* 屏二 · 此刻 */
.destiny-hub-panel > #destiny-today-jian       { order: 4; }
.destiny-hub-panel > #destiny-atlas-portal     { order: 5; } /* 屏三 · 入口 */
.destiny-hub-panel > #destiny-subject-entry    { order: 6; }
.destiny-hub-panel > #destiny-chronicle-recent { order: 7; }
.destiny-hub-panel > #destiny-empty-state      { order: 8; }
.destiny-hub-panel > #archetype-test-modal     { order: 9; }

/* 弱化今日块权重，让主判帖当主角 */
.destiny-hub-panel > #destiny-today-hero,
.destiny-hub-panel > #destiny-today-jian { opacity: .97; }

/* 此身全貌 · 折叠器（次要物件默认收起） */
.ci-shen-quanmao { margin-top: 20px; border-top: 1px solid rgba(212,168,83,0.16); padding-top: 12px; }
.ci-shen-quanmao > .ci-shen-quanmao-summary {
  cursor: pointer; list-style: none; user-select: none;
  font-size: 13px; letter-spacing: 0.26em; color: #b39a63;
  padding: 8px 0; display: flex; align-items: center; gap: 10px;
}
.ci-shen-quanmao > .ci-shen-quanmao-summary::-webkit-details-marker { display: none; }
.ci-shen-quanmao > .ci-shen-quanmao-summary::before {
  content: "\25B8"; color: #d4a853; transition: transform .2s ease; display: inline-block;
}
.ci-shen-quanmao[open] > .ci-shen-quanmao-summary::before { transform: rotate(90deg); }
.ci-shen-quanmao[open] > .ci-shen-quanmao-summary { margin-bottom: 14px; }
/* /命途页 · 三屏重构 */


/* ════════════════════════════════════════════════════════════════════
 * 命途页 Phase B（2026-06）：此身全貌迁入命主页·命盘 tab
 *   下方为 P7 polish 的 scope 复制（.destiny-self-tablet→.subject-archetype-detail），
 *   令迁移后的风骨/四相/反差/证据在命主页保持同款宋韵。回滚=删本段。
 * ════════════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════════════════════
 * P7.4 · 七件套回灌 destiny 5 物件（task #100）
 * 2026-05-22 · 把已封版的「宋韵七件套 v1.6.1」吃进命途总览所有物件，
 *              消除 v1.4 → v1.6.2 的 doc-implementation gap。
 *
 * 策略：
 *   - 不删旧规则，靠 `.p7-scope` 提升的特异性 + 后置顺序覆盖（rollback = 删本段）
 *   - 用 §B 暗金游丝 token 替 border:1px solid （三红线之一）
 *   - 用 --p7-font-display 瘦金体替 var(--serif) 的大字（hero / xiang-name / 雅号）
 *   - 砍 .zhu-panti-seal 容器形态朱砂（违反 §C 零容忍；已有 .p7-cinnabar-host SVG 接管）
 *   - 用 --p7-r-jade / --p7-r-folio 替自由 border-radius
 *   - eyebrow 升级 --p7-ls-篆 letter-spacing
 *
 * 覆盖范围：
 *   ①断层主判帖  ②命盘反差  ③所宜所忌  ④何以断我
 *   ⑤风骨片      ⑥四相长卷  ⑦以此身可问
 *   + destiny-today-hero（今日）+ atlas-portal（殿后藏经阁入口）
 * ════════════════════════════════════════════════════════════════════════════ */

/* ── A. 容器：节奏 + 字号 token 化 ────────────────────────────────────────── */
.subject-archetype-detail.p7-scope {
  gap: 28px;
  margin: 24px 0;
}
.subject-archetype-detail.p7-scope .destiny-self-tablet-body {
  gap: 28px;
}
.subject-archetype-detail.p7-scope .eyebrow {
  letter-spacing: var(--p7-ls-篆);
  font-size: var(--p7-fs-chip);
  color: var(--p7-gold);
  font-family: var(--p7-font-display);
  text-transform: none;
}

/* ── B. 砍掉容器形态朱砂印（§C 零容忍）──────────────────────────────────
 * .zhu-panti-seal 的 double border + cinnabar-bg 模拟，正是 §C 想干掉的
 * "SaaS 红 badge" 形态。改成只留 .p7-cinnabar-host SVG filter 一种合法形态。
 * --------------------------------------------------------------------- */
.subject-archetype-detail.p7-scope .zhu-panti {
  grid-template-columns: 1fr;
  padding: 36px 40px 32px;
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 70% 50% at 85% 8%, var(--p7-mist), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 48px var(--p7-gold-wire-glow),
    0 24px 64px rgba(0, 0, 0, 0.55);
}
.subject-archetype-detail.p7-scope .zhu-panti-seal {
  display: none;   /* §C 零容忍：double-border 朱砂块退役；改由 SVG host 承接 */
}

/* ── C. 主判帖文字：瘦金体 + p7 字号阶 ──────────────────────────────────── */
.subject-archetype-detail.p7-scope .zhu-panti-text {
  gap: 12px;
}
.subject-archetype-detail.p7-scope .zhu-panti-xiang {
  gap: 18px;
}
.subject-archetype-detail.p7-scope .zhu-panti-xiang .xiang-order {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-batch);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-bone);
}
.subject-archetype-detail.p7-scope .zhu-panti-xiang .xiang-name {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-hero);
  letter-spacing: var(--p7-ls-标);
  font-weight: 400;
  color: var(--p7-gold-bright);
  text-shadow: 0 0 18px var(--p7-gold-wire-glow);
}
.subject-archetype-detail.p7-scope .zhu-panti-yahao-line {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
}
.subject-archetype-detail.p7-scope .zhu-panti-yahao-line em {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
}
.subject-archetype-detail.p7-scope .zhu-panti-bazi,
.subject-archetype-detail.p7-scope .zhu-panti-late-zi {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
}
.subject-archetype-detail.p7-scope .zhu-panti-verdict {
  margin: 18px 0 4px;
  padding: 18px 24px;
  border-left: none;
  background:
    linear-gradient(180deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) left / 0.5px 100% no-repeat,
    var(--p7-mist);
  gap: 12px;
}
.subject-archetype-detail.p7-scope .verdict-guyun {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  line-height: 1.85;
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-gold-bright);
}
.subject-archetype-detail.p7-scope .verdict-renhua {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.7;
  color: var(--p7-bone);
  font-style: normal;
}

/* ── D. ② 命盘反差：朱砂只点 share-line 左侧文字，容器走暗金 ─────────── */
.subject-archetype-detail.p7-scope .ming-pan-fancha {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background:
    radial-gradient(ellipse 60% 40% at 8% 10%, var(--p7-ink-cloud), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 32px var(--p7-gold-wire-glow);
}
.subject-archetype-detail.p7-scope .fancha-tag {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: 0.42em;
  font-weight: 400;
  color: var(--p7-gold-bright);
  text-shadow: 0 0 16px var(--p7-gold-wire-glow);
}
.subject-archetype-detail.p7-scope .fancha-guyun {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}
.subject-archetype-detail.p7-scope .fancha-share-line {
  margin-top: 6px;
  padding: 12px 16px;
  border-left: 1px solid var(--p7-cinnabar);
  background: var(--p7-ink-cloud);
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-gold-bright);
  font-style: normal;
}

/* ── E. ③ 所宜 / 所忌：jade 卡 + 左侧极细色温线 ──────────────────────── */
.subject-archetype-detail.p7-scope .ci-shen-suoyi-suoji {
  gap: 16px;
}
.subject-archetype-detail.p7-scope .suoyi-block,
.subject-archetype-detail.p7-scope .suoji-block {
  padding: 20px 24px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 10px;
}
.subject-archetype-detail.p7-scope .suoyi-block {
  border-left: 1.5px solid var(--p7-gold);     /* 宜：暗金（中性温） */
}
.subject-archetype-detail.p7-scope .suoji-block {
  border-left: 1.5px solid var(--p7-cinnabar); /* 忌：朱砂（警示温） */
}
.subject-archetype-detail.p7-scope .suoyi-headline,
.subject-archetype-detail.p7-scope .suoji-headline {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.subject-archetype-detail.p7-scope .suoyi-explanation,
.subject-archetype-detail.p7-scope .suoji-explanation {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  letter-spacing: var(--p7-ls-注);
  color: var(--p7-bone);
  font-style: normal;
}

/* ── F. ④ 何以断我（折叠）：暗金游丝虚线 ─────────────────────────────── */
.subject-archetype-detail.p7-scope .he-yi-duan-wo {
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 18px var(--p7-gold-wire-glow);
}
.subject-archetype-detail.p7-scope .he-yi-duan-wo summary {
  padding: 18px 24px;
}
.subject-archetype-detail.p7-scope .he-yi-duan-wo summary::after {
  color: var(--p7-cinnabar);
  font-size: 0.84rem;
}
.subject-archetype-detail.p7-scope .he-yi-duan-wo-hint {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  font-style: normal;
  letter-spacing: var(--p7-ls-注);
}
.subject-archetype-detail.p7-scope .evidence-chain {
  padding: 0 24px 16px;
}
.subject-archetype-detail.p7-scope .evidence-chain li {
  border-bottom: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) bottom / 100% 0.5px no-repeat;
  padding-bottom: 14px;
}
.subject-archetype-detail.p7-scope .evidence-chain li:last-child { background: none; }
.subject-archetype-detail.p7-scope .evidence-chain h5 {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.subject-archetype-detail.p7-scope .evidence-chain p {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  line-height: 1.75;
  color: var(--p7-bone);
}
.subject-archetype-detail.p7-scope .evidence-disclaimer {
  margin: 0 24px 18px;
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding-top: 12px;
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  font-style: normal;
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}

/* ── G. ⑤ 风骨片：玉简框 + 雷达回灌暗金 ──────────────────────────────── */
.subject-archetype-detail.p7-scope .feng-gu-pian {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 16px;
}
/* 雷达 SVG：换 stroke / fill 到 p7 暗金 token */
.subject-archetype-detail.p7-scope .feng-gu-pian-radar polygon:first-of-type {
  fill: var(--p7-gold-wire-glow);
  stroke: var(--p7-gold-wire-bright);
}
.subject-archetype-detail.p7-scope .feng-gu-pian-radar polygon.feng-gu-pian-radar-shape {
  fill: rgba(184, 155, 94, 0.20);
  stroke: var(--p7-gold);
}
.subject-archetype-detail.p7-scope .feng-gu-pian-radar text {
  fill: var(--p7-gold);
}
.subject-archetype-detail.p7-scope .feng-gu-pian-headline {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
}
.subject-archetype-detail.p7-scope .feng-gu-pian-guyun,
.subject-archetype-detail.p7-scope .feng-gu-pian-gloss {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
}

/* ── H. ⑥ 四相长卷：玉简 stack ──────────────────────────────────────── */
.subject-archetype-detail.p7-scope .si-xiang-juan-signs {
  display: grid;
  gap: 14px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}
.subject-archetype-detail.p7-scope .si-xiang-juan-sign {
  padding: 18px 22px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 18px var(--p7-gold-wire-glow);
}
.subject-archetype-detail.p7-scope .si-xiang-juan-sign .sign-use {
  border-top: none;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
  padding-top: 10px;
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-chip);
  color: var(--p7-bone);
}
.subject-archetype-detail.p7-scope .si-xiang-juan-sign .sign-use-label {
  font-family: var(--p7-font-display);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
}

/* ── I. ⑦ 以此身可问：玉简 chip + cinnabar hover ─────────────────────── */
.subject-archetype-detail.p7-scope .yi-ci-shen-ke-wen {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 24px var(--p7-gold-wire-glow);
  gap: 14px;
}
.subject-archetype-detail.p7-scope .prompt-leadin {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  font-style: normal;
  letter-spacing: var(--p7-ls-注);
}
.subject-archetype-detail.p7-scope .prompt-chip button {
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  background: transparent;
  color: var(--p7-gold-bright);
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  letter-spacing: var(--p7-ls-注);
  box-shadow: inset 0 0 12px var(--p7-gold-wire-glow);
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade),
              color var(--p7-dur-quick) var(--p7-ease-jade),
              box-shadow var(--p7-dur-quick) var(--p7-ease-jade);
}
.subject-archetype-detail.p7-scope .prompt-chip button::before,
.subject-archetype-detail.p7-scope .prompt-chip button::after {
  color: var(--p7-gold);
}
.subject-archetype-detail.p7-scope .prompt-chip button:hover {
  border-color: var(--p7-cinnabar);
  color: var(--p7-gold-bright);
  background: transparent;
  box-shadow: inset 0 0 18px rgba(199, 61, 61, 0.08);
}

/* ── J. destiny-today-hero「今日」: 折页轻容器 + 瘦金体 oracle ──────── */
.destiny-today-hero.p7-scope {
  padding: 22px 26px;
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 60% 40% at 90% 10%, var(--p7-mist), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 32px var(--p7-gold-wire-glow);
  display: grid;
  gap: 8px;
}
.destiny-today-hero.p7-scope .destiny-today-hero-anchor {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold);
  margin: 0;
}
.destiny-today-hero.p7-scope .destiny-today-hero-phenomena {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-body);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-hero.p7-scope .destiny-today-hero-oracle {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-title);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
  text-shadow: 0 0 14px var(--p7-gold-wire-glow);
  margin: 4px 0 0;
  line-height: 1.6;
}

/* ── J.2 destiny-today-jian 今日笺：折页 + 双段所宜/所忌 ─────────────── */
.destiny-today-jian.p7-scope {
  padding: 24px 28px;
  border: none;
  border-radius: var(--p7-r-folio);
  background:
    radial-gradient(ellipse 60% 40% at 92% 92%, var(--p7-ink-cloud), transparent 60%),
    var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 28px var(--p7-gold-wire-glow);
  display: grid;
  gap: 18px;
}
.destiny-today-jian.p7-scope .jian-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.destiny-today-jian.p7-scope .eyebrow,
.destiny-today-jian.p7-scope .jian-label {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-chip);
  letter-spacing: var(--p7-ls-篆);
  color: var(--p7-gold);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-date {
  font-family: var(--p7-font-serif);
  font-size: var(--p7-fs-meta);
  color: var(--p7-bone);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-yi-ji {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.destiny-today-jian.p7-scope .jian-block {
  padding: 14px 18px;
  border-radius: var(--p7-r-jade);
  box-shadow: inset 0 0 0 0.5px var(--p7-gold-wire-base);
  display: grid;
  gap: 6px;
}
.destiny-today-jian.p7-scope .jian-yi-block { border-left: 1.5px solid var(--p7-gold); }
.destiny-today-jian.p7-scope .jian-ji-block { border-left: 1.5px solid var(--p7-cinnabar); }
.destiny-today-jian.p7-scope .jian-yi,
.destiny-today-jian.p7-scope .jian-ji {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-h);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  font-weight: 400;
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-action,
.destiny-today-jian.p7-scope .jian-verify,
.destiny-today-jian.p7-scope .jian-verified-today {
  display: grid;
  gap: 8px;
  padding-top: 14px;
  background:
    linear-gradient(90deg,
      transparent 0%, var(--p7-gold-wire-base) 20%,
      var(--p7-gold-wire-base) 80%, transparent 100%) top / 100% 0.5px no-repeat;
}
.destiny-today-jian.p7-scope .jian-action-text,
.destiny-today-jian.p7-scope .jian-verify-text {
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-body);
  line-height: 1.75;
  color: var(--p7-gold-bright);
  letter-spacing: var(--p7-ls-注);
  margin: 0;
}
.destiny-today-jian.p7-scope .jian-verify-btn {
  justify-self: start;
  padding: 8px 18px;
  background: transparent;
  border: 0.5px solid var(--p7-gold-wire-base);
  border-radius: var(--p7-r-jade);
  font-family: var(--p7-font-display);
  font-size: var(--p7-fs-meta);
  letter-spacing: var(--p7-ls-标);
  color: var(--p7-gold-bright);
  cursor: pointer;
  transition: border-color var(--p7-dur-quick) var(--p7-ease-jade);
}
.destiny-today-jian.p7-scope .jian-verify-btn:hover {
  border-color: var(--p7-cinnabar);
}
.destiny-today-jian.p7-scope .jian-verified-row {
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.destiny-today-jian.p7-scope .verified-label {
  font-family: var(--p7-font-display);
  color: var(--p7-gold);
  letter-spacing: var(--p7-ls-标);
}
.destiny-today-jian.p7-scope .verified-note {
  font-family: var(--p7-font-serif);
  color: var(--p7-bone);
  font-size: var(--p7-fs-meta);
}
@media (max-width: 720px) {
  .destiny-today-jian.p7-scope .jian-yi-ji { grid-template-columns: 1fr; }
}

/* ── K. destiny-chronicle-recent 近三章：玉简容器 ───────────────────── */
.destiny-chronicle-recent.p7-scope {
  padding: 22px 24px;
  border: none;
  border-radius: var(--p7-r-jade);
  background: var(--p7-abyss-soft);
  box-shadow:
    inset 0 0 0 0.5px var(--p7-gold-wire-base),
    inset 0 0 20px var(--p7-gold-wire-glow);
}

/* ── L. 响应式：移动端节流 ──────────────────────────────────────────── */
@media (max-width: 720px) {
  .subject-archetype-detail.p7-scope .zhu-panti {
    padding: 24px 22px 22px;
  }
  .subject-archetype-detail.p7-scope .zhu-panti-xiang .xiang-name {
    font-size: 1.9rem;
  }
  .subject-archetype-detail.p7-scope .ming-pan-fancha,
  .subject-archetype-detail.p7-scope .feng-gu-pian,
  .subject-archetype-detail.p7-scope .yi-ci-shen-ke-wen {
    padding: 18px 20px;
  }
}
/* ════════════════════════════════════════════════════════════════════════════
 * /P7.4 · 七件套回灌
 * ════════════════════════════════════════════════════════════════════════════ */
/* ── /P7 polish 复制 ── */

/* 命主页 · 此身全貌容器（Phase B） */
.subject-archetype-detail { margin-top: 22px; border-top: 1px solid rgba(212,168,83,0.18); padding-top: 18px; display: grid; gap: 20px; }
.subject-archetype-detail[hidden] { display: none; }
.subject-archetype-detail-head .eyebrow { letter-spacing: .34em; color: #b39a63; }
.subject-archetype-detail-head .meta-line { margin: 4px 0 0; }
/* 命途 self-tablet 仅留主判帖 + 入口按钮 */
.destiny-self-tablet .zhu-panti-more { margin-top: 16px; }
.destiny-self-tablet .zhu-panti-more .ghost-button { font-size: 13px; letter-spacing: .12em; }
/* ════ /命途页 Phase B ════ */


/* ════ 命途页 Phase C+D（2026-06）：编年迁卷宗页 + 获客层分态。回滚=删本段 ════ */
.story-chronicle { margin-top: 24px; border-top: 1px solid rgba(212,168,83,0.18); padding-top: 18px; }
.story-chronicle[hidden] { display: none; }
.story-chronicle-head .eyebrow { letter-spacing: .4em; color: #b39a63; }
.story-chronicle-head .meta-line { margin: 4px 0 14px; }
.story-chronicle .chronicle-recent-chapters { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
/* 命途页「继续上一卷」单条入口排版（屏三收尾） */
.destiny-chronicle-recent .recent-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
/* ════ /命途页 Phase C+D ════ */

/* ════════════════════════════════════════════════════════════════════════
 * P7.5 · 「问事」consultation-form 紧凑化（2026-06-23 v3 古籍艺术感）
 * 起因：bazi 「四柱已立」面板占屏 ~50vh，挤掉下方玉简
 * v3 改法：所有字段排成 1 行 · 字段间用 · 分隔 · 去掉 form 框感（透明 + 无边）
 *           只保留文字流 + select 极简化 + 「起盘」按钮居右
 * 回滚 = 删本段
 * ════════════════════════════════════════════════════════════════════════ */

/* === v3 · 一行流式排版 === */

/* 整个 form 容器缩 */
#consultation-form {
  padding: 14px 22px 16px !important;
  gap: 4px !important;
  background: transparent !important;
  border: 1px solid rgba(184, 155, 94, 0.20) !important;
  box-shadow: none !important;
}

/* 标题 + blurb 缩 */
#consultation-form .panel-header {
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
}
#consultation-form #consultation-system-title {
  font-size: 1.4rem !important;
  letter-spacing: 0.18em !important;
  margin: 2px 0 4px !important;
  line-height: 1.2 !important;
}
#consultation-form #consultation-system-label {
  font-size: 0.68rem !important;
  letter-spacing: 0.32em !important;
  margin: 0 !important;
}
#consultation-form #consultation-system-blurb {
  font-size: 0.82rem !important;
  margin: 2px 0 0 !important;
  line-height: 1.4 !important;
  opacity: 0.75;
}

/* meta-pill "当前 consultation 会自动绑定到..." */
#consultation-form #consultation-owner {
  padding: 4px 12px !important;
  font-size: 0.78rem !important;
  margin: 4px 0 6px !important;
  border-radius: 3px !important;
}

/* === 核心：所有 field-grid 合并成 1 行流 === */
/* display: contents 让 .field-grid 自身不参与 layout，子 label 直挂到 #system-fields 的 flex 上 */
#consultation-form #system-fields,
#consultation-form .dynamic-fields {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px 22px !important;
  margin: 6px 0 4px !important;
  padding: 8px 14px !important;
  background: linear-gradient(180deg, rgba(184,155,94,0.025), transparent 80%) !important;
  border-top: 1px solid rgba(184, 155, 94, 0.18) !important;
  border-bottom: 1px solid rgba(184, 155, 94, 0.18) !important;
  font-family: var(--p7-font-serif, "Noto Serif SC", serif) !important;
}
#consultation-form #system-fields .field-grid,
#consultation-form .dynamic-fields .field-grid {
  display: contents !important;
}

/* label 改为 inline flex（小标题 · 值）单行 */
#consultation-form #system-fields label,
#consultation-form .dynamic-fields label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 6px !important;
  font-size: 0.84rem !important;
  margin: 0 !important;
  padding: 2px 0 !important;
}

/* 小标题（"当前命主" / "出生时刻"）—— 极淡暗金小字 */
#consultation-form #system-fields label > span,
#consultation-form .dynamic-fields label > span {
  font-size: 0.66rem !important;
  letter-spacing: 0.24em !important;
  color: rgba(212, 168, 83, 0.50) !important;
  margin: 0 !important;
  font-family: var(--p7-font-display, "Slender Gold", serif) !important;
}

/* meta-pill —— 完全去掉 form 框感，纯文字 */
#consultation-form #system-fields .meta-pill,
#consultation-form .dynamic-fields .meta-pill {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.92rem !important;
  font-family: var(--p7-font-serif, "Noto Serif SC", serif) !important;
  color: #F0E3BD !important;
  letter-spacing: 0.06em !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  border-radius: 0 !important;
  display: inline !important;
}

/* select / input —— 极简化（保留可交互但视觉不像 form） */
#consultation-form #system-fields select,
#consultation-form #system-fields input,
#consultation-form .dynamic-fields select,
#consultation-form .dynamic-fields input {
  padding: 0 18px 0 4px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px dotted rgba(184, 155, 94, 0.45) !important;
  font-size: 0.92rem !important;
  color: #F0E3BD !important;
  letter-spacing: 0.06em !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
  background-image: linear-gradient(45deg, transparent 50%, rgba(212,168,83,0.6) 50%),
                    linear-gradient(135deg, rgba(212,168,83,0.6) 50%, transparent 50%) !important;
  background-position: calc(100% - 8px) 8px, calc(100% - 4px) 8px !important;
  background-size: 4px 4px, 4px 4px !important;
  background-repeat: no-repeat !important;
}
#consultation-form #system-fields select:hover,
#consultation-form #system-fields select:focus,
#consultation-form .dynamic-fields select:hover,
#consultation-form .dynamic-fields select:focus {
  border-bottom-color: #F0E3BD !important;
  outline: none !important;
}

/* form-actions 「起盘」按钮 + status */
#consultation-form #consultation-actions,
#consultation-form .form-actions {
  margin-top: 10px !important;
  gap: 12px !important;
  align-items: center !important;
}
#consultation-form #consultation-actions button,
#consultation-form .form-actions button[type="submit"] {
  padding: 6px 20px !important;
  font-size: 0.88rem !important;
}
#consultation-form #form-status,
#consultation-form .status-line {
  font-size: 0.74rem !important;
  margin: 0 !important;
  opacity: 0.72;
}

/* question textarea 不显示时（bazi/star）space 节省 */
#consultation-form #consultation-question-field {
  margin: 0 !important;
}

/* meta-pill 「当前 consultation」绑定提示行 —— 缩到一行小字 */
#consultation-form #consultation-owner {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.74rem !important;
  font-family: var(--p7-font-serif, "Noto Serif SC", serif) !important;
  color: rgba(212, 168, 83, 0.55) !important;
  margin: 2px 0 6px !important;
  letter-spacing: 0.10em !important;
}

@media (max-width: 720px) {
  #consultation-form {
    padding: 12px 14px 14px !important;
  }
  #consultation-form #system-fields,
  #consultation-form .dynamic-fields {
    gap: 6px 16px !important;
    padding: 8px 10px !important;
  }
  #consultation-form #system-fields label,
  #consultation-form .dynamic-fields label {
    font-size: 0.80rem !important;
  }
  #consultation-form #system-fields .meta-pill,
  #consultation-form .dynamic-fields .meta-pill,
  #consultation-form #system-fields select,
  #consultation-form .dynamic-fields select {
    font-size: 0.84rem !important;
  }
}
/* ════ /P7.5 v3 紧凑化（古籍艺术感 · 一行流） ════ */


/* ════════════════════════════════════════════════════════════════════════
 * P7.5 v4 · 命盘阅读页 古籍 typography 收束（2026-06-23）
 * 起因：人格雅号 / 定局 / 一句断语 / 各 tab 大段手写体把卡片撑爆
 * 策略：
 *   - 瘦金/手写体（var(--p7-font-display)）只用于「标题」(2-5 字短词)
 *   - 卡片 body / gloss / 段落 全部回归宋体衬线 (var(--serif))
 *   - 卡片高度统一 + 字号回收 + 不让 verdict 自己撑屏幕
 *   - 删除元说明文字（已在 app.js 处理；此处管视觉）
 *   - 删除英文 ruleset 残留
 * 回滚 = 删本段
 * ════════════════════════════════════════════════════════════════════════ */

/* === 字体收束：手写体只准在 4-5 字标题上 === */

/* 人格雅号卡：4 字雅号保留瘦金；plain 已删；gloss 改宋体小字 */
.bazi-persona-card .bazi-persona-gloss,
.bazi-persona-card .bazi-persona-plain {
  font-family: var(--serif) !important;
  font-size: 0.84rem !important;
  line-height: 1.75 !important;
  color: var(--text-soft) !important;
  letter-spacing: 0.02em !important;
}
.bazi-persona-card .bazi-persona-plain {
  /* 兜底：万一 plain 还在 DOM 也藏起来 */
  display: none !important;
}
.bazi-persona-card {
  min-height: 168px !important;
  max-height: 220px !important;
  padding: 18px 18px 16px !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-rows: auto 1fr !important;
  align-content: start !important;
}
.bazi-persona-yahao {
  font-family: var(--p7-font-display) !important;
  font-size: 1.32rem !important;
  letter-spacing: 0.18em !important;
}

/* 「定局」三连卡 - 判语 / 这一步 / 一句断语 */
.bazi-summary-card {
  min-height: 196px !important;
  max-height: 280px !important;
  padding: 18px 20px !important;
}
.bazi-summary-card h6,
.bazi-summary-card .bazi-judgment-verdict {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em !important;
  max-width: none !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}
.bazi-summary-card .bazi-judgment-verdict {
  /* 判语稍大一点点 */
  font-size: 1.12rem !important;
  line-height: 1.5 !important;
}
.bazi-summary-card p,
.bazi-summary-card .bazi-judgment-gloss,
.bazi-summary-card .bazi-judgment-action,
.bazi-summary-card .bazi-judgment-reasons p {
  font-family: var(--serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
}

/* 同排 3 卡等高 */
.bazi-summary-band,
.bazi-revisit-grid {
  align-items: stretch !important;
}
.bazi-summary-band > article,
.bazi-revisit-grid > article {
  display: flex !important;
  flex-direction: column !important;
}

/* 命局已立 panel（folio-tianhou）— 标题保留瘦金，body 改宋体 */
.folio-tianhou-title {
  /* 标题已经 v3 OK，此处保留瘦金 */
  font-family: var(--p7-font-display) !important;
}
.folio-banxin .p7-typo-body {
  font-family: var(--serif) !important;
  font-size: 0.96rem !important;
  line-height: 1.75 !important;
  letter-spacing: 0.02em !important;
}
.folio-banxin .p7-typo-secondary {
  font-family: var(--serif) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  color: var(--text-soft) !important;
  opacity: 0.78 !important;
}
.folio-banxin .zhuduan-line {
  font-family: var(--p7-font-display) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.32em !important;
  color: var(--gold) !important;
  opacity: 0.85 !important;
}
.folio-dijiao {
  font-family: var(--serif) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.10em !important;
  color: var(--text-soft) !important;
  opacity: 0.60 !important;
}
/* 删任何英文 ruleset 残留：footer 第二 span 若含 latin 则收紧透明 */
.folio-dijiao span:nth-child(2) {
  font-style: normal !important;
}

/* tab bar (定局/骨架/月令/岁运/凭据) — 这是章节标题 5 字 / 2 字，保留瘦金 */
.bazi-detail-anchor {
  font-family: var(--p7-font-display) !important;
  letter-spacing: 0.18em !important;
}

/* display-chapter h5（章节副标题，如「四柱者，四气位。」）— 改宋体不再手写 */
.display-chapter-copy h5 {
  font-family: var(--serif) !important;
  font-size: 1.32rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em !important;
  color: var(--text) !important;
}
.display-chapter-copy .card-body,
.display-chapter-copy .copy-gloss {
  font-family: var(--serif) !important;
  font-size: 0.86rem !important;
  line-height: 1.75 !important;
  color: var(--text-soft) !important;
  letter-spacing: 0.02em !important;
}

/* display-panel-card（结构页 4 小卡：格/用/节/警）— 也回收手写 */
.display-panel-card h6 {
  font-family: var(--serif) !important;
  font-size: 1.0rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
}
.display-panel-card .card-body {
  font-family: var(--serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
  color: var(--text-soft) !important;
}
.display-panel-card {
  min-height: 140px !important;
}

/* 大运轴 / 时间线 focus 卡 */
.bazi-timeline-focus-card h6 {
  font-family: var(--serif) !important;
  font-size: 1.0rem !important;
  letter-spacing: 0.04em !important;
}
.bazi-timeline-focus-card p {
  font-family: var(--serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
}

/* 读取参照 cells */
.bazi-reading-cue-value {
  font-family: var(--p7-font-display) !important;
}
.bazi-reading-cue-label {
  font-family: var(--serif) !important;
  font-size: 0.70rem !important;
  letter-spacing: 0.16em !important;
  color: var(--gold) !important;
  opacity: 0.65 !important;
}
.bazi-reading-cue-note {
  font-family: var(--serif) !important;
  font-size: 0.78rem !important;
  line-height: 1.65 !important;
  color: var(--text-soft) !important;
}

/* 十神分布 panel head */
.bazi-ten-god-head h6 {
  font-family: var(--serif) !important;
  font-size: 1.0rem !important;
}
.bazi-ten-god-head .card-body {
  font-family: var(--serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
}

/* 大运 ribbon head */
.bazi-decadal-ribbon-head h6 {
  font-family: var(--serif) !important;
  font-size: 1.0rem !important;
}
.bazi-decadal-ribbon-head .card-body {
  font-family: var(--serif) !important;
  font-size: 0.80rem !important;
}

/* 雅号小标题 + h5 描述 */
.bazi-persona-head-band h5 {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--text) !important;
  opacity: 0.85 !important;
}

/* eyebrow（"人 格 雅 号" / "今 日 一 句" 这类 4 字间隔小标）保留瘦金 */
.eyebrow {
  font-family: var(--p7-font-display) !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.32em !important;
  color: var(--gold) !important;
  opacity: 0.70 !important;
}

/* === 卡片节奏：网格统一 === */
.bazi-persona-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}
.bazi-revisit-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}
.bazi-summary-band:not(.bazi-revisit-grid) {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}
@media (max-width: 880px) {
  .bazi-revisit-grid,
  .bazi-summary-band:not(.bazi-revisit-grid) {
    grid-template-columns: 1fr !important;
  }
}

/* ════ /P7.5 v4 命盘阅读页古籍 typography ════ */


/* ════════════════════════════════════════════════════════════════════════
 * P7.5 v5 · 阅读页结构重构（2026-06-23）
 * Steven 反馈 4 项全中：sections 过多 / tab 过多 / 单卡内容多 / 视觉乱
 * 配合 app.js 已做的 4 项重构：
 *   - SummaryBand 3 卡 → 1 hero 卡
 *   - 删 VisitStrip (今日/本周/反复 3 卡)
 *   - 雅号卡限 4 张
 *   - 骨架 tab 删 bazi-insight-panel (格/用/节/警 4 卡)
 *   - 5 tab → 4 tab (月令并入时运)
 * 本段 CSS = 立 hero 视觉权重 + 4 tab 等分 + 收紧间距
 * ════════════════════════════════════════════════════════════════════════ */

/* 定局 tab · hero 卡：满宽 + 稳重边框 + 中央排版 */
.bazi-judgment-band--hero {
  display: block !important;
  margin-bottom: 24px !important;
}
.bazi-summary-card--hero {
  max-width: none !important;
  min-height: 240px !important;
  padding: 32px 40px !important;
  display: grid !important;
  gap: 14px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(212,168,83,0.06), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.025), transparent 30%),
    rgba(9, 12, 20, 0.96) !important;
  border: 1px solid rgba(212, 168, 83, 0.22) !important;
  border-radius: 28px !important;
}
.bazi-summary-card--hero .eyebrow {
  text-align: center !important;
  margin-bottom: 6px !important;
}
.bazi-summary-card--hero .bazi-judgment-label {
  justify-self: center !important;
  margin-bottom: 4px !important;
}
.bazi-summary-card--hero .bazi-judgment-verdict {
  text-align: center !important;
  font-size: 1.32rem !important;
  line-height: 1.6 !important;
  max-width: 36ch !important;
  margin: 0 auto !important;
  letter-spacing: 0.06em !important;
}
.bazi-summary-card--hero .bazi-judgment-gloss {
  text-align: center !important;
  font-size: 0.88rem !important;
  line-height: 1.75 !important;
  color: var(--text-soft) !important;
  margin: 6px auto 0 !important;
  max-width: 48ch !important;
  opacity: 0.85 !important;
}
.bazi-summary-card--hero .bazi-judgment-action {
  text-align: center !important;
  font-size: 0.92rem !important;
  line-height: 1.7 !important;
  margin: 12px auto 0 !important;
  max-width: 44ch !important;
  padding: 12px 18px !important;
  background: rgba(212,168,83,0.06) !important;
  border: 1px solid rgba(212,168,83,0.16) !important;
  border-radius: 14px !important;
  color: var(--text) !important;
}

/* tab bar 4 tab 等分 */
.bazi-detail-anchor-bar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
}
.bazi-detail-anchor {
  text-align: center !important;
}

/* 同 tab section 之间间距收紧 */
.display-chapter-body > * + * {
  margin-top: 18px !important;
}
.display-chapter-head {
  margin-bottom: 14px !important;
}

/* 移动端 hero 卡缩 */
@media (max-width: 720px) {
  .bazi-summary-card--hero {
    padding: 22px 18px !important;
    min-height: 200px !important;
  }
  .bazi-summary-card--hero .bazi-judgment-verdict {
    font-size: 1.18rem !important;
  }
  .bazi-detail-anchor-bar {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ════ /P7.5 v5 阅读页结构重构 ════ */


/* ════ 八字阅读减肥（2026-06）：结论先行 + 二次内容折叠（参考测测/Moonly 渐进式展开）。回滚=删本段 ════ */
.bazi-collapse { margin-top: 18px; border-top: 1px solid rgba(212,168,83,0.16); padding-top: 12px; }
.bazi-collapse > summary {
  cursor: pointer; list-style: none; user-select: none;
  font-size: 13px; letter-spacing: 0.22em; color: #b39a63;
  padding: 8px 0; display: flex; align-items: center; gap: 10px;
}
.bazi-collapse > summary::-webkit-details-marker { display: none; }
.bazi-collapse > summary::before { content: "\25B8"; color: #d4a853; transition: transform .2s ease; display: inline-block; }
.bazi-collapse[open] > summary::before { transform: rotate(90deg); }
.bazi-collapse[open] > summary { margin-bottom: 12px; }
/* ════ /八字阅读减肥 ════ */


/* ════ 星盘 detail：滚动锚点→tab 切换（2026-06，全量UI）。回滚=删本段 ════ */
#star-detail-structure[hidden], #star-detail-translation[hidden],
#star-detail-time[hidden], #star-detail-evidence[hidden], #star-detail-moon[hidden] { display: none !important; }

/* 共享折叠组件 .fos-collapse（统一各页二次内容折叠，宋韵一致） */
.fos-collapse { margin-top: 18px; border-top: 1px solid rgba(212,168,83,0.16); padding-top: 12px; }
.fos-collapse > summary {
  cursor: pointer; list-style: none; user-select: none;
  font-size: 13px; letter-spacing: 0.22em; color: #b39a63;
  padding: 8px 0; display: flex; align-items: center; gap: 10px;
}
.fos-collapse > summary::-webkit-details-marker { display: none; }
.fos-collapse > summary::before { content: "\25B8"; color: #d4a853; transition: transform .2s ease; display: inline-block; }
.fos-collapse[open] > summary::before { transform: rotate(90deg); }
.fos-collapse[open] > summary { margin-bottom: 12px; }
/* ════ /星盘 tab 切换 ════ */


/* ════ 命盘/问事台：结论先行——atlas 排到 compose 表单之上（CSS order，零JS，限定 .active，覆盖所有问事台）。回滚=删本段 ════ */
.workspace-panel.active[data-workspace-panel="divination"] { display: flex; flex-direction: column; }
.workspace-panel[data-workspace-panel="divination"] > #bazi-atlas-panel,
.workspace-panel[data-workspace-panel="divination"] > #star-atlas-panel { order: 1; }
.workspace-panel[data-workspace-panel="divination"] > #consultation-form { order: 2; }
.workspace-panel[data-workspace-panel="divination"] > #oracle-passport-panel { order: 3; }
/* ════ /命盘 结论先行 ════ */


/* ════ 视觉修复（按用户实屏反馈）：字号字色 + 朱砂印归位。回滚=删本段 ════ */
/* ② 八字命盘·日元判语：放大 + 提亮（原 1.1rem/--gold/.85 太小太暗） */
.folio-banxin .zhuduan-line { font-size: 1.5rem !important; color: var(--p7-gold-bright) !important; opacity: 1 !important; }
.abyss-bg .shilign-line, .folio-banxin .shilign-line { font-size: 1.04rem; color: rgba(236, 223, 192, 0.92); }
/* ③ 命途朱砂印：从底部分隔线归位到右上角并转 subtle（折叠后 self-tablet 变矮导致错位） */
#destiny-self-tablet .p7-cinnabar-host { top: 24px; right: 24px; bottom: auto; opacity: 0.55; }
/* ④ 今日笺：标签放大提亮、宜忌值放大 */
.jian-head .eyebrow { font-size: 0.86rem; color: rgba(214, 172, 88, 0.95); }
.jian-label { font-size: 0.82rem; color: rgba(214, 172, 88, 0.95); }
.jian-yi, .jian-ji { font-size: 1.34rem; color: rgba(236, 223, 195, 0.98); }
/* ════ /视觉修复 ════ */

/* 雅句句读片段：nowrap，使断行只发生在标点后 */
.ya-seg { white-space: nowrap; }


/* ════ 字体纪律（按用户：瘦金体只用关键位 + 去现代感 sans-serif）。回滚=删本段 ════
 * 关键位（保留瘦金，不动）：雅句 / 日元判语 .zhuduan-line / 四柱干支(内联) / 象名 .xiang-name
 *                           / 大判帖标题 / 朱砂印字 / 维度卡焦点字 .dim-btn-*
 * 其余小字/标签/术语 → 宋体（Noto Serif SC），去除现代 sans。
 * ════════════════════════════════════════════════════════════════════ */
/* 1) 去现代感：secondary 小字从 sans-serif 改回宋体 */
.p7-typo-secondary { font-family: var(--p7-font-serif) !important; }
/* 2) 瘦金只留关键位：所有 eyebrow 标签降为宋体（原 p7-scope 把它们做成瘦金了） */
.eyebrow { font-family: var(--p7-font-serif) !important; }
/* 3) 其它小标签/批注降为宋体 */
.jian-label, .p7-typo-batch, .display-chapter-copy h5, .star-section-head h5 { font-family: var(--p7-font-serif) !important; }
/* 4) 节气线：宋体次要小字（原瘦金 0.92→宋体 0.9，压低存在感） */
.abyss-bg .shilign-line, .folio-banxin .shilign-line { font-family: var(--p7-font-serif) !important; font-size: 0.9rem; opacity: 0.75; letter-spacing: 0.16em; }

/* 5) 正文整句降宋体（瘦金只留焦点短语，不用于长句正文） */
.jian-action-text, .jian-verify-text, .suoyi-explanation, .suoji-explanation, .prompt-leadin, .fancha-guyun, .feng-gu-pian-gloss { font-family: var(--p7-font-serif) !important; }
/* 6) 去现代感（基座）：body 默认字体 sans→宋体；剩余中文向 sans 元素转宋体 */
body { font-family: var(--serif); }
.home-entry-copy strong, .home-entry-copy p, .system-meta strong { font-family: var(--serif) !important; }
/* ════ /字体纪律 ════ */


/* ════ 修复：仪式 flow 态锁住底层滚动，避免滚进 parallax 空白区（既有 bug，非本轮改动）。回滚=删本段 ════ */
body:has(#ritual-flow[aria-hidden="false"]) { overflow: hidden; }
/* 仪式 flow 容器封顶到一屏，内部累积的 veil 不外溢 */
#ritual-flow { max-height: 100vh; overflow: hidden; }
/* ════ /仪式态锁滚动 ════ */

/* ═══════════════════════════════════════════════════════════════
   命途 · 探索式（重构 2026-07）· 自包含 scope，不与旧规则打架
   rollback = 删除本段 + 从 .refactor_backups 还原 index.html/app.js
   ═══════════════════════════════════════════════════════════════ */
.destiny-explore{
  --dx-abyss:#0A0A0C; --dx-soft:#141419; --dx-soft2:#1A1A20;
  --dx-gold:#B89B5E; --dx-goldb:#E6D9B4; --dx-gold-dim:rgba(184,155,94,.22); --dx-gold-hair:rgba(184,155,94,.12);
  --dx-cin:#9B2929; --dx-cinb:#C73D3D;
  --dx-ink:rgba(230,217,180,.94); --dx-bone:rgba(230,217,180,.56); --dx-bone-dim:rgba(230,217,180,.36);
  --dx-display:"HuiZongShouJin","ZCOOL XiaoWei","Noto Serif SC",serif;
  --dx-serif:"Noto Serif SC","Songti SC",serif;
  --dx-ease:cubic-bezier(.16,.84,.22,1);
  max-width:1180px; margin:0 auto; position:relative;
}
.destiny-explore .dx-wood{color:#7c9b6a;} .destiny-explore .dx-fire{color:#c06a52;}
.destiny-explore .dx-earth{color:#b8975e;} .destiny-explore .dx-metal{color:#cdc3a6;} .destiny-explore .dx-water{color:#6f93a8;}

.destiny-explore .dx-route{display:none;animation:dxFade .3s var(--dx-ease);}
.destiny-explore .dx-route.dx-on{display:block;}
@keyframes dxFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

.destiny-explore .dx-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--dx-gold-hair);padding-bottom:20px;}
.destiny-explore .dx-pagehead h2{font-family:var(--dx-display);font-weight:400;font-size:3rem;line-height:1;color:var(--dx-goldb);letter-spacing:.08em;}
.destiny-explore .dx-sub{font-family:var(--dx-serif);font-size:.92rem;color:var(--dx-bone);text-align:right;}
.destiny-explore .dx-dim{color:var(--dx-bone-dim);font-size:.82rem;}
.destiny-explore .dx-eyebrow{display:flex;align-items:center;gap:10px;margin:34px 0 16px;font-size:.68rem;letter-spacing:.24em;color:var(--dx-gold);font-weight:700;text-transform:uppercase;}
.destiny-explore .dx-eyebrow::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--dx-gold-hair),transparent);}

.destiny-explore .dx-self{position:relative;border-radius:18px;overflow:hidden;padding:34px 38px;margin-top:26px;border:1px solid rgba(184,155,94,.18);box-shadow:0 24px 60px rgba(0,0,0,.4);display:grid;grid-template-columns:104px 1fr auto;gap:32px;align-items:center;
  background:radial-gradient(80% 140% at 88% 0%,rgba(155,41,41,.14),transparent 55%),radial-gradient(70% 130% at 0% 100%,rgba(184,155,94,.09),transparent 60%),linear-gradient(120deg,#1B1620,#121016 70%);}
.destiny-explore .dx-seal-big{width:104px;height:104px;border:1.5px solid var(--dx-cin);border-radius:4px;display:grid;place-items:center;position:relative;background:rgba(155,41,41,.08);box-shadow:0 0 22px rgba(155,41,41,.16);}
.destiny-explore .dx-seal-big::after{content:"";position:absolute;inset:7px;border:1px solid rgba(199,61,61,.4);border-radius:3px;}
.destiny-explore .dx-seal-big b{font-family:var(--dx-display);font-size:3.3rem;color:var(--dx-cinb);}
.destiny-explore .dx-xiang{color:var(--dx-gold);letter-spacing:.3em;font-size:.78rem;font-family:var(--dx-serif);}
.destiny-explore .dx-yahao-label{color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.24em;margin-top:9px;}
.destiny-explore .dx-name{font-family:var(--dx-display);font-size:2.5rem;color:var(--dx-goldb);margin:7px 0 3px;letter-spacing:.06em;font-weight:400;}
.destiny-explore .dx-yahao-line{color:var(--dx-bone-dim);font-size:.8rem;font-family:var(--dx-serif);letter-spacing:.08em;}
.destiny-explore .dx-seal-line{font-family:var(--dx-serif);font-size:1.3rem;color:var(--dx-ink);margin-top:18px;line-height:1.55;}
.destiny-explore .dx-plain-line{font-family:var(--dx-serif);font-size:.95rem;color:var(--dx-bone);margin-top:9px;}
.destiny-explore .dx-self-side{display:flex;flex-direction:column;gap:10px;align-self:stretch;justify-content:center;border-left:1px solid var(--dx-gold-hair);padding-left:30px;}
.destiny-explore .dx-chip{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-gold);border:1px solid var(--dx-gold-hair);border-radius:999px;padding:9px 18px;background:rgba(184,155,94,.05);transition:border-color .3s,background .3s;cursor:pointer;white-space:nowrap;text-align:center;}
.destiny-explore .dx-chip:hover{border-color:var(--dx-gold-dim);background:rgba(184,155,94,.1);}
.destiny-explore .dx-q{color:var(--dx-cinb);margin-left:5px;}

.destiny-explore .dx-explore{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.destiny-explore .dx-ecard{position:relative;border-radius:18px;padding:28px;border:1px solid var(--dx-gold-hair);background:linear-gradient(160deg,var(--dx-soft),rgba(20,20,25,.5));cursor:pointer;transition:transform .3s var(--dx-ease),border-color .3s;overflow:hidden;min-height:280px;display:flex;flex-direction:column;text-align:left;width:100%;}
.destiny-explore .dx-ecard:hover{transform:translateY(-3px);border-color:var(--dx-gold-dim);}
.destiny-explore .dx-pe{font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.3em;color:var(--dx-gold);}
.destiny-explore .dx-h{font-family:var(--dx-display);font-size:1.9rem;color:var(--dx-goldb);letter-spacing:.05em;margin-top:4px;font-weight:400;}
.destiny-explore .dx-desc{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-bone-dim);margin-top:6px;}
.destiny-explore .dx-preview{margin-top:18px;flex:1;display:flex;align-items:center;justify-content:center;}
.destiny-explore .dx-cta{font-family:var(--dx-serif);font-size:.85rem;color:var(--dx-cinb);margin-top:16px;letter-spacing:.1em;}
.destiny-explore .dx-mini-bz{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;}
.destiny-explore .dx-mini-bz .dx-col{text-align:center;}
.destiny-explore .dx-mini-bz .dx-lab{font-family:var(--dx-serif);font-size:.6rem;color:var(--dx-bone-dim);letter-spacing:.1em;margin-bottom:8px;}
.destiny-explore .dx-mini-bz .dx-s{font-family:var(--dx-display);font-size:2.1rem;line-height:1;}
.destiny-explore .dx-mini-bz .dx-b{font-family:var(--dx-display);font-size:1.7rem;line-height:1.2;margin-top:4px;}
.destiny-explore .dx-mini-bz .dx-col.dx-day .dx-s{text-shadow:0 0 12px rgba(230,217,180,.32);}
.destiny-explore .dx-mini-bz .dx-col.dx-day .dx-lab{color:var(--dx-cinb);}
.destiny-explore .dx-mini-wheel{display:flex;align-items:center;gap:20px;}
.destiny-explore .dx-mini-anchors{display:flex;flex-direction:column;gap:8px;}
.destiny-explore .dx-mini-anchors span{font-family:var(--dx-serif);font-size:.78rem;color:var(--dx-bone);}
.destiny-explore .dx-mini-anchors b{color:var(--dx-goldb);}

.destiny-explore .dx-now-row{display:grid;grid-template-columns:2fr 1fr;gap:22px;}
.destiny-explore .dx-strip{display:flex;border:1px solid var(--dx-gold-hair);border-radius:16px;overflow:hidden;background:var(--dx-soft);}
.destiny-explore .dx-strip>div{flex:1;padding:20px 22px;border-right:1px solid var(--dx-gold-hair);}
.destiny-explore .dx-strip>div:last-child{border-right:none;}
.destiny-explore .dx-slab{color:var(--dx-gold);font-size:.64rem;letter-spacing:.26em;font-family:var(--dx-serif);}
.destiny-explore .dx-sval{font-family:var(--dx-serif);font-size:1.05rem;color:var(--dx-ink);margin-top:9px;}
.destiny-explore .dx-sval.dx-muted{color:var(--dx-bone-dim);}
.destiny-explore .dx-continue{border:1px solid var(--dx-gold-hair);border-radius:16px;padding:20px 24px;background:var(--dx-soft);cursor:pointer;transition:border-color .3s;display:flex;flex-direction:column;justify-content:center;text-align:left;}
.destiny-explore .dx-continue:hover{border-color:var(--dx-gold-dim);}
.destiny-explore .dx-ttl{font-family:var(--dx-serif);font-size:.95rem;color:var(--dx-ink);margin-top:8px;}
.destiny-explore .dx-go{color:var(--dx-cinb);font-size:.78rem;margin-top:8px;}
.destiny-explore .dx-note{font-family:var(--dx-serif);font-size:.78rem;color:var(--dx-bone-dim);text-align:center;margin-top:30px;opacity:.85;letter-spacing:.08em;}

.destiny-explore .dx-subnav{margin-bottom:6px;}
.destiny-explore .dx-back{font-family:var(--dx-serif);font-size:.86rem;color:var(--dx-gold);border:1px solid var(--dx-gold-hair);border-radius:999px;padding:8px 18px;cursor:pointer;transition:border-color .3s;background:none;}
.destiny-explore .dx-back:hover{border-color:var(--dx-gold-dim);}
.destiny-explore .dx-detail-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--dx-gold-hair);padding:18px 0;margin-bottom:24px;gap:16px;}
.destiny-explore .dx-detail-head h2{font-family:var(--dx-display);font-size:2.4rem;color:var(--dx-goldb);letter-spacing:.05em;font-weight:400;}
.destiny-explore .dx-detail-head small{font-family:var(--dx-serif);color:var(--dx-bone-dim);font-size:.8rem;letter-spacing:.16em;}
.destiny-explore .dx-sample-flag{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.66rem;letter-spacing:.1em;font-family:var(--dx-serif);color:var(--dx-cinb);border:1px solid rgba(199,61,61,.4);background:rgba(155,41,41,.07);white-space:nowrap;}
.destiny-explore .dx-split{display:grid;grid-template-columns:1.55fr 1fr;gap:28px;align-items:start;}

.destiny-explore .dx-bazi-table{border:1px solid var(--dx-gold-hair);border-radius:14px;overflow:hidden;}
.destiny-explore .dx-bz-row{display:grid;grid-template-columns:72px 1fr 1fr 1fr 1fr;border-bottom:1px solid var(--dx-gold-hair);}
.destiny-explore .dx-bz-row:last-child{border-bottom:none;}
.destiny-explore .dx-bz-row>div{padding:12px 8px;text-align:center;border-right:1px solid var(--dx-gold-hair);font-family:var(--dx-serif);}
.destiny-explore .dx-bz-row>div:last-child{border-right:none;}
.destiny-explore .dx-rh{color:var(--dx-gold);font-size:.7rem;letter-spacing:.08em;text-align:right;padding-right:12px;display:flex;align-items:center;justify-content:flex-end;}
.destiny-explore .dx-bz-row.dx-head>div{color:var(--dx-bone);font-size:.8rem;font-weight:600;background:rgba(184,155,94,.05);}
.destiny-explore .dx-bz-row.dx-head .dx-dayh{color:var(--dx-goldb);position:relative;}
.destiny-explore .dx-bz-row.dx-head .dx-dayh::after{content:"命主";position:absolute;left:50%;transform:translateX(-50%);bottom:-3px;font-size:.55rem;color:var(--dx-cinb);letter-spacing:.1em;}
.destiny-explore .dx-stem{font-family:var(--dx-display);font-size:2rem;line-height:1.1;}
.destiny-explore .dx-stem.dx-day{font-size:2.3rem;text-shadow:0 0 14px rgba(230,217,180,.32);}
.destiny-explore .dx-branch{font-family:var(--dx-display);font-size:1.75rem;line-height:1.1;margin-top:3px;}
.destiny-explore .dx-bz-sub{font-size:.68rem;color:var(--dx-bone);line-height:1.55;}
.destiny-explore .dx-tap{color:var(--dx-gold);border:none;background:none;border-bottom:1px dashed var(--dx-gold-dim);cursor:pointer;font-family:var(--dx-serif);font-size:.68rem;padding:0;}
.destiny-explore .dx-tap:hover{color:var(--dx-goldb);}
.destiny-explore .dx-wx-strip{display:flex;margin-top:14px;border:1px solid var(--dx-gold-hair);border-radius:12px;overflow:hidden;}
.destiny-explore .dx-wx-strip>div{flex:1;text-align:center;padding:13px 4px;border-right:1px solid var(--dx-gold-hair);font-family:var(--dx-serif);font-size:.92rem;}
.destiny-explore .dx-wx-strip>div:last-child{border-right:none;}
.destiny-explore .dx-wx-strip small{display:block;font-size:.62rem;color:var(--dx-bone-dim);margin-top:3px;}

.destiny-explore .dx-interp{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:24px;background:linear-gradient(165deg,var(--dx-soft2),var(--dx-soft));}
.destiny-explore .dx-interp.dx-sticky{position:sticky;top:96px;}
.destiny-explore .dx-i-seal{font-family:var(--dx-display);font-size:1.6rem;color:var(--dx-goldb);line-height:1.4;}
.destiny-explore .dx-i-plain{font-family:var(--dx-serif);font-size:.95rem;color:var(--dx-ink);margin-top:14px;line-height:1.8;}
.destiny-explore .dx-i-gloss{font-family:var(--dx-serif);font-size:.78rem;color:var(--dx-bone-dim);margin-top:14px;line-height:1.7;font-style:italic;border-top:1px dashed var(--dx-gold-hair);padding-top:12px;}
.destiny-explore .dx-tapline{margin-top:14px;font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-gold);cursor:pointer;background:none;border:none;padding:0;display:block;}
.destiny-explore .dx-tapline:hover{color:var(--dx-goldb);}

.destiny-explore .dx-wheel-box{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:24px;background:var(--dx-soft);display:flex;flex-direction:column;align-items:center;}
.destiny-explore .dx-anchors{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap;}
.destiny-explore .dx-anchor{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-ink);border:1px solid var(--dx-gold-hair);border-radius:999px;padding:8px 16px;background:rgba(184,155,94,.04);}
.destiny-explore .dx-anchor b{color:var(--dx-goldb);}
.destiny-explore .dx-bar{margin-bottom:16px;}
.destiny-explore .dx-bl{display:flex;justify-content:space-between;font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-bone);margin-bottom:7px;}
.destiny-explore .dx-bl b{color:var(--dx-goldb);}
.destiny-explore .dx-track{height:8px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden;}
.destiny-explore .dx-seg{height:100%;display:block;}

.destiny-explore .dx-scrim{position:fixed;inset:0;z-index:1200;background:rgba(5,5,7,.7);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .26s var(--dx-ease);display:grid;place-items:center;padding:24px;}
.destiny-explore .dx-scrim.dx-open{opacity:1;pointer-events:auto;}
.destiny-explore .dx-modal{width:min(540px,100%);background:linear-gradient(165deg,var(--dx-soft2),var(--dx-soft));border:1px solid var(--dx-gold-dim);border-radius:18px;padding:30px 34px 34px;transform:translateY(14px) scale(.98);transition:transform .28s var(--dx-ease);box-shadow:0 40px 90px rgba(0,0,0,.6);}
.destiny-explore .dx-scrim.dx-open .dx-modal{transform:none;}
.destiny-explore .dx-close{float:right;padding:0;color:var(--dx-bone-dim);font-size:1.3rem;cursor:pointer;line-height:1;background:none;border:none;}
.destiny-explore .dx-se{font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.26em;color:var(--dx-gold);}
.destiny-explore .dx-modal h3{font-family:var(--dx-display);font-size:2rem;color:var(--dx-goldb);margin:6px 0 2px;letter-spacing:.05em;font-weight:400;}
.destiny-explore .dx-s-seal{font-family:var(--dx-serif);font-size:1.05rem;color:var(--dx-ink);margin-top:16px;line-height:1.7;}
.destiny-explore .dx-s-plain{font-family:var(--dx-serif);font-size:.92rem;color:var(--dx-bone);margin-top:12px;line-height:1.85;}
.destiny-explore .dx-s-gloss{font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone-dim);margin-top:16px;line-height:1.85;border-top:1px dashed var(--dx-gold-hair);padding-top:14px;}
.destiny-explore .dx-s-gloss b{color:var(--dx-gold);}

@media (max-width:860px){
  .destiny-explore .dx-self{grid-template-columns:1fr;text-align:center;gap:20px;}
  .destiny-explore .dx-self-side{border-left:none;border-top:1px solid var(--dx-gold-hair);padding-left:0;padding-top:20px;flex-direction:row;flex-wrap:wrap;justify-content:center;}
  .destiny-explore .dx-explore{grid-template-columns:1fr;}
  .destiny-explore .dx-now-row{grid-template-columns:1fr;}
  .destiny-explore .dx-split{grid-template-columns:1fr;}
  .destiny-explore .dx-interp.dx-sticky{position:static;}
}

/* ── 命途 · 宋韵详解（详情页深读：雅句 + 白话 + 古籍出处 + 五行/四象可视）── */
.destiny-explore .dx-detail-more{margin-top:30px;}
.destiny-explore .dx-jie-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.destiny-explore .dx-jie{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:20px 22px;background:linear-gradient(165deg,var(--dx-soft2),var(--dx-soft));position:relative;overflow:hidden;}
.destiny-explore .dx-jie::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 100% 0%,rgba(184,155,94,.06),transparent 60%);pointer-events:none;}
.destiny-explore .dx-jie-k{font-family:var(--dx-serif);font-size:.64rem;letter-spacing:.24em;color:var(--dx-gold);}
.destiny-explore .dx-jie-seal{font-family:var(--dx-display);font-size:1.5rem;color:var(--dx-goldb);letter-spacing:.05em;margin-top:6px;line-height:1.35;}
.destiny-explore .dx-jie-token{font-family:var(--dx-display);font-size:1rem;color:var(--dx-cinb);margin-left:10px;}
.destiny-explore .dx-jie-plain{font-family:var(--dx-serif);font-size:.9rem;color:var(--dx-ink);margin-top:12px;line-height:1.85;}
.destiny-explore .dx-jie-src{font-family:var(--dx-serif);font-size:.7rem;color:var(--dx-bone-dim);margin-top:14px;border-top:1px dashed var(--dx-gold-hair);padding-top:10px;letter-spacing:.04em;}
.destiny-explore .dx-jie-src b{color:var(--dx-gold);font-weight:400;}
.destiny-explore .dx-jie.wide{grid-column:1/-1;}
.destiny-explore .dx-jie.accent{border-color:rgba(199,61,61,.28);background:linear-gradient(165deg,rgba(155,41,41,.08),var(--dx-soft));}

/* 五行 radar + 四象 attribute panel */
.destiny-explore .dx-attr{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center;border:1px solid var(--dx-gold-hair);border-radius:14px;padding:22px 24px;background:var(--dx-soft);margin-bottom:16px;}
.destiny-explore .dx-attr-legend{display:flex;flex-direction:column;gap:10px;}
.destiny-explore .dx-attr-row{display:flex;align-items:center;gap:10px;font-family:var(--dx-serif);font-size:.84rem;}
.destiny-explore .dx-attr-row .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.destiny-explore .dx-attr-row .nm{color:var(--dx-ink);min-width:2.2em;}
.destiny-explore .dx-attr-row .val{color:var(--dx-goldb);}
.destiny-explore .dx-attr-row .use{margin-left:6px;font-size:.66rem;color:var(--dx-cinb);border:1px solid rgba(199,61,61,.4);border-radius:999px;padding:1px 8px;}
.destiny-explore .dx-attr-note{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-bone);line-height:1.8;}
.destiny-explore .dx-attr-note b{color:var(--dx-goldb);font-weight:400;font-family:var(--dx-display);font-size:1.05rem;}
@media (max-width:860px){ .destiny-explore .dx-jie-grid{grid-template-columns:1fr;} .destiny-explore .dx-attr{grid-template-columns:1fr;} }

/* ── 八字每格可点：cellable + 点开的「应于此身」box（留白在表，详解在盒）── */
.destiny-explore .dx-cellable{cursor:pointer;transition:background .2s var(--dx-ease),box-shadow .2s var(--dx-ease);position:relative;}
.destiny-explore .dx-cellable:hover{background:rgba(184,155,94,.08);box-shadow:inset 0 0 0 1px var(--dx-gold-hair);}
.destiny-explore .dx-cellable::after{content:"›";position:absolute;top:3px;right:5px;font-size:.6rem;color:var(--dx-bone-dim);opacity:0;transition:opacity .2s;}
.destiny-explore .dx-cellable:hover::after{opacity:.7;}
/* 点开的盒子可以多字：加大行距、留出滚动 */
.destiny-explore .dx-modal{max-height:82vh;overflow-y:auto;}
.destiny-explore .dx-s-guan{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid rgba(199,61,61,.24);background:linear-gradient(160deg,rgba(155,41,41,.09),rgba(20,20,25,.4));}
.destiny-explore .dx-guan-k{font-family:var(--dx-serif);font-size:.64rem;letter-spacing:.3em;color:var(--dx-cinb);margin-bottom:7px;}
.destiny-explore .dx-s-guan p:last-child{font-family:var(--dx-serif);font-size:.9rem;color:var(--dx-ink);line-height:1.9;}
.destiny-explore .dx-s-plain b{color:var(--dx-goldb);font-weight:400;}

/* ── 转运总结卡 + 五行点击提示 ── */
.destiny-explore .dx-attr-tip{color:var(--dx-cinb);font-size:.72rem;border:1px solid rgba(199,61,61,.3);border-radius:999px;padding:2px 10px;white-space:nowrap;}
.destiny-explore .dx-lucky{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border:1px solid rgba(199,61,61,.22);border-radius:16px;padding:22px 24px;background:linear-gradient(160deg,rgba(155,41,41,.08),var(--dx-soft));}
.destiny-explore .dx-lucky-item{display:flex;flex-direction:column;gap:8px;text-align:center;}
.destiny-explore .dx-lucky-k{font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.2em;color:var(--dx-gold);}
.destiny-explore .dx-lucky-v{font-family:var(--dx-display);font-size:1.4rem;color:var(--dx-goldb);font-weight:400;line-height:1.3;}
.destiny-explore .dx-lucky-note{grid-column:1/-1;font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone);line-height:1.8;border-top:1px dashed var(--dx-gold-hair);padding-top:12px;margin-top:4px;}
.destiny-explore .dx-lucky-cav{color:var(--dx-bone-dim);font-size:.72rem;margin-left:6px;}
@media (max-width:860px){ .destiny-explore .dx-lucky{grid-template-columns:1fr 1fr;} }

/* ── 五行卡三栏：雷达 | 五行 | 转运（转运并入卡片右侧）── */
.destiny-explore .dx-attr-3{grid-template-columns:180px 1fr 1.15fr;}
.destiny-explore .dx-attr-radar{display:flex;justify-content:center;}
.destiny-explore .dx-attr-luck{border-left:1px solid var(--dx-gold-hair);padding-left:24px;display:flex;flex-direction:column;justify-content:center;}
.destiny-explore .dx-attr-luck-h{font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.22em;color:var(--dx-cinb);margin-bottom:14px;}
.destiny-explore .dx-luck-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;}
.destiny-explore .dx-luck-c{display:flex;flex-direction:column;gap:6px;}
.destiny-explore .dx-luck-c .dx-lucky-k{font-family:var(--dx-serif);font-size:.62rem;letter-spacing:.16em;color:var(--dx-gold);}
.destiny-explore .dx-luck-c b{font-family:var(--dx-display);font-size:1.25rem;color:var(--dx-goldb);font-weight:400;line-height:1.25;}
.destiny-explore .dx-attr-luck-cav{font-family:var(--dx-serif);font-size:.68rem;color:var(--dx-bone-dim);margin-top:14px;line-height:1.6;}
@media (max-width:860px){
  .destiny-explore .dx-attr-3{grid-template-columns:1fr;}
  .destiny-explore .dx-attr-luck{border-left:none;border-top:1px solid var(--dx-gold-hair);padding-left:0;padding-top:18px;margin-top:2px;}
}

/* ── 今日得用（喜用落到今日）── */
.destiny-explore .dx-today-yong{margin:2px 0 14px;padding:14px 20px;border-radius:14px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);}
.destiny-explore .dx-yong-seal{font-family:var(--dx-display);font-size:1.35rem;letter-spacing:.05em;white-space:nowrap;}
.destiny-explore .dx-yong-plain{font-family:var(--dx-serif);font-size:.88rem;color:var(--dx-bone);line-height:1.6;}
.destiny-explore .dx-yong-yong{border-color:rgba(199,61,61,.32);background:linear-gradient(160deg,rgba(155,41,41,.1),var(--dx-soft));}
.destiny-explore .dx-yong-yong .dx-yong-seal{color:var(--dx-cinb);}
.destiny-explore .dx-yong-ji .dx-yong-seal{color:var(--dx-bone);}
.destiny-explore .dx-yong-ping .dx-yong-seal{color:var(--dx-gold);}

/* ── 瘦金体只放大字：详解卡雅句放大；速览/出处回衬体（可读）── */
.destiny-explore .dx-jie-seal{font-size:2rem;line-height:1.45;}
.destiny-explore .dx-jie-token{font-size:1.2rem;}
.destiny-explore .dx-jie.dx-cellable:hover{transform:translateY(-2px);}
.destiny-explore .dx-jie-more{color:var(--dx-cinb);font-size:.7rem;letter-spacing:.06em;white-space:nowrap;}
/* 点开详释：古白话主文加大行距，雅句用瘦金放大，速览回衬体 */
.destiny-explore .dx-modal .dx-s-seal{font-family:var(--dx-display);font-size:1.55rem;color:var(--dx-goldb);letter-spacing:.05em;line-height:1.5;}
.destiny-explore .dx-modal .dx-s-plain{font-size:1.02rem;line-height:2.05;color:var(--dx-ink);}
.destiny-explore .dx-s-lite{font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone-dim);margin-top:14px;line-height:1.75;padding:11px 15px;border-left:2px solid var(--dx-gold-hair);background:rgba(255,255,255,.02);border-radius:0 8px 8px 0;}

/* ── 大运 / 流年 子页 ── */
.destiny-explore .dx-luck-entry{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-radius:16px;border:1px solid var(--dx-gold-hair);background:linear-gradient(120deg,var(--dx-soft2),var(--dx-soft));cursor:pointer;transition:border-color .3s var(--dx-ease),transform .3s var(--dx-ease);text-align:left;}
.destiny-explore .dx-luck-entry:hover{border-color:var(--dx-gold-dim);transform:translateY(-2px);}
.destiny-explore .dx-luck-entry-t b{font-family:var(--dx-display);font-size:1.5rem;color:var(--dx-goldb);font-weight:400;letter-spacing:.04em;}
.destiny-explore .dx-luck-entry-t small{display:block;font-family:var(--dx-serif);font-size:.74rem;color:var(--dx-bone-dim);margin-top:4px;}
.destiny-explore .dx-luck-entry-go{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-cinb);white-space:nowrap;}
.destiny-explore .dx-luck-empty{font-family:var(--dx-serif);font-size:.86rem;color:var(--dx-bone-dim);text-align:center;padding:40px 0;}
.destiny-explore .dx-luck-track{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;}
.destiny-explore .dx-luck-track::-webkit-scrollbar{height:5px;}
.destiny-explore .dx-luck-track::-webkit-scrollbar-thumb{background:var(--dx-gold-hair);border-radius:3px;}
.destiny-explore .dx-luck-step{flex:0 0 108px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 8px;border-radius:14px;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);cursor:pointer;transition:transform .25s var(--dx-ease),border-color .25s;}
.destiny-explore .dx-luck-step:hover{transform:translateY(-3px);border-color:var(--dx-gold-dim);}
.destiny-explore .dx-luck-step.cur{border-color:rgba(199,61,61,.5);background:linear-gradient(165deg,rgba(155,41,41,.12),var(--dx-soft));box-shadow:0 0 16px rgba(155,41,41,.14);}
.destiny-explore .dx-luck-age{font-family:var(--dx-serif);font-size:.66rem;color:var(--dx-bone-dim);letter-spacing:.04em;}
.destiny-explore .dx-luck-gz{font-family:var(--dx-display);font-size:1.7rem;line-height:1;letter-spacing:.02em;}
.destiny-explore .dx-luck-tg{font-family:var(--dx-serif);font-size:.74rem;color:var(--dx-gold);}
.destiny-explore .dx-luck-ph{font-family:var(--dx-serif);font-size:.66rem;color:var(--dx-bone-dim);}
.destiny-explore .dx-luck-step.cur .dx-luck-ph{color:var(--dx-cinb);}
.destiny-explore .dx-luck-years{display:flex;flex-direction:column;gap:8px;}
.destiny-explore .dx-luck-yr{display:grid;grid-template-columns:64px 1fr 1fr 48px;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);cursor:pointer;text-align:left;transition:border-color .25s;}
.destiny-explore .dx-luck-yr:hover{border-color:var(--dx-gold-dim);}
.destiny-explore .dx-luck-yr.cur{border-color:rgba(199,61,61,.5);background:linear-gradient(120deg,rgba(155,41,41,.1),var(--dx-soft));}
.destiny-explore .dx-luck-yr .yr{font-family:var(--dx-serif);font-size:.84rem;color:var(--dx-bone);}
.destiny-explore .dx-luck-yr .gz{font-family:var(--dx-display);font-size:1.25rem;}
.destiny-explore .dx-luck-yr .tg{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-gold);}
.destiny-explore .dx-luck-yr .ph{font-family:var(--dx-serif);font-size:.72rem;color:var(--dx-bone-dim);text-align:right;}

/* ── 此身立绘（当前命主之象）── */
.destiny-explore .dx-self{grid-template-columns:132px 1fr auto;}
.destiny-explore #dx-xiang-portrait{width:132px;height:auto;aspect-ratio:9/16;border-radius:8px;overflow:hidden;position:relative;padding:0;background:var(--dx-abyss);}
.destiny-explore #dx-xiang-portrait::after{content:"";position:absolute;inset:0;border:1.5px solid var(--dx-cin);border-radius:8px;box-shadow:0 0 18px rgba(155,41,41,.16);pointer-events:none;}
.destiny-explore .dx-xiang-img{width:100%;height:100%;object-fit:cover;display:block;}
/* ── 十六象图谱 · 女性立绘年轻化（20260724e） ── */
.destiny-explore .dx-xiang-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px;}
.destiny-explore .dx-xiang-cell{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);}
.destiny-explore .dx-xiang-cell img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.destiny-explore .dx-xiang-noart{aspect-ratio:3/4;display:grid;place-items:center;font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone-dim);background:repeating-linear-gradient(135deg,rgba(184,155,94,.04) 0 8px,transparent 8px 16px);}
.destiny-explore .dx-xiang-cell.cur{border-color:var(--dx-cin);box-shadow:0 0 20px rgba(155,41,41,.25);}
.destiny-explore .dx-xiang-cap{padding:9px 10px 11px;text-align:center;}
.destiny-explore .dx-xiang-no{display:block;font-family:var(--dx-serif);font-size:.6rem;letter-spacing:.14em;color:var(--dx-bone-dim);}
.destiny-explore .dx-xiang-cap b{font-family:var(--dx-display);font-size:1.15rem;color:var(--dx-goldb);font-weight:400;letter-spacing:.04em;}
.destiny-explore .dx-xiang-wx{display:block;font-family:var(--dx-serif);font-size:.66rem;margin-top:2px;}
.destiny-explore .dx-xiang-badge{position:absolute;top:8px;right:8px;font-family:var(--dx-serif);font-size:.62rem;color:var(--dx-goldb);background:var(--dx-cin);border-radius:999px;padding:2px 9px;letter-spacing:.1em;}
@media (max-width:860px){
  .destiny-explore .dx-xiang-grid{grid-template-columns:repeat(2,1fr);}
  .destiny-explore .dx-self{grid-template-columns:104px 1fr;}
  .destiny-explore #dx-xiang-portrait{width:104px;}
}

/* ── 八字深读 · 子页入口网格 ── */
.destiny-explore .dx-subpage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
.destiny-explore .dx-subcard{position:relative;text-align:left;padding:20px 22px;border-radius:14px;border:1px solid var(--dx-gold-hair);background:linear-gradient(120deg,var(--dx-soft2),var(--dx-soft));cursor:pointer;transition:transform .3s var(--dx-ease),border-color .3s;}
.destiny-explore .dx-subcard:hover{transform:translateY(-2px);border-color:var(--dx-gold-dim);}
.destiny-explore .dx-subcard b{font-family:var(--dx-display);font-size:1.35rem;color:var(--dx-goldb);font-weight:400;letter-spacing:.04em;}
.destiny-explore .dx-subcard small{display:block;font-family:var(--dx-serif);font-size:.72rem;color:var(--dx-bone-dim);margin-top:5px;}
.destiny-explore .dx-subcard-go{position:absolute;top:18px;right:20px;color:var(--dx-cinb);}
/* ── 十神占比 ── */
.destiny-explore .dx-ratio-bars{display:flex;flex-direction:column;gap:10px;}
.destiny-explore .dx-ratio-row{display:grid;grid-template-columns:56px 1fr 46px;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;text-align:left;transition:background .2s,border-color .2s;}
.destiny-explore .dx-ratio-row:hover{background:rgba(184,155,94,.05);border-color:var(--dx-gold-hair);}
.destiny-explore .dx-ratio-row.top{border-color:var(--dx-gold-dim);background:rgba(184,155,94,.06);}
.destiny-explore .dx-ratio-nm{font-family:var(--dx-display);font-size:1.1rem;color:var(--dx-goldb);}
.destiny-explore .dx-ratio-track{height:9px;border-radius:5px;background:rgba(255,255,255,.05);overflow:hidden;}
.destiny-explore .dx-ratio-track span{display:block;height:100%;border-radius:5px;}
.destiny-explore .dx-ratio-pct{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-bone);text-align:right;}
/* ── 神煞图谱 ── */
.destiny-explore .dx-ss-group{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:18px 20px;margin-bottom:14px;background:var(--dx-soft);}
.destiny-explore .dx-ss-gt{font-family:var(--dx-display);font-size:1.3rem;color:var(--dx-goldb);letter-spacing:.04em;}
.destiny-explore .dx-ss-seal{font-family:var(--dx-serif);font-size:.76rem;color:var(--dx-bone-dim);margin-top:4px;}
.destiny-explore .dx-ss-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.destiny-explore .dx-ss-chip{font-family:var(--dx-display);font-size:1.05rem;color:var(--dx-goldb);border:1px solid var(--dx-gold-hair);border-radius:999px;padding:7px 18px;background:rgba(184,155,94,.05);cursor:pointer;transition:border-color .25s,background .25s;}
.destiny-explore .dx-ss-chip:hover{border-color:var(--dx-cin);background:rgba(155,41,41,.08);}
/* ── 行业气象 / 情缘气象 ── */
.destiny-explore .dx-career-card{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:20px 22px;background:linear-gradient(160deg,var(--dx-soft2),var(--dx-soft));margin-bottom:6px;}
.destiny-explore .dx-career-fields{font-family:var(--dx-display);font-size:1.5rem;color:var(--dx-goldb);letter-spacing:.04em;line-height:1.5;}
.destiny-explore .dx-career-fields b{color:var(--dx-cinb);}
.destiny-explore .dx-career-note{font-family:var(--dx-serif);font-size:.88rem;color:var(--dx-ink);margin-top:10px;line-height:1.85;}
@media (max-width:860px){ .destiny-explore .dx-subpage-grid{grid-template-columns:1fr;} }

/* ── 十神占比 · 竖条图（十神横排）+ 总结 + 解读 ── */
.destiny-explore .dx-tg-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:8px 4px 0;margin-top:4px;}
.destiny-explore .dx-tg-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;cursor:pointer;padding:6px 2px;border-radius:10px;transition:background .2s;}
.destiny-explore .dx-tg-col:hover{background:rgba(184,155,94,.06);}
.destiny-explore .dx-tg-pct{font-family:var(--dx-serif);font-size:.72rem;color:var(--dx-bone);}
.destiny-explore .dx-tg-col.top .dx-tg-pct{color:var(--dx-goldb);}
.destiny-explore .dx-tg-track{width:22px;height:150px;border-radius:6px;background:rgba(255,255,255,.04);display:flex;align-items:flex-end;overflow:hidden;}
.destiny-explore .dx-tg-bar{width:100%;border-radius:6px;transition:height .5s var(--dx-ease);min-height:2px;}
.destiny-explore .dx-tg-nm{font-family:var(--dx-display);font-size:1.05rem;color:var(--dx-goldb);letter-spacing:.02em;}
.destiny-explore .dx-tg-col.top .dx-tg-nm{text-shadow:0 0 10px rgba(230,217,180,.3);}
.destiny-explore .dx-tg-summary{margin-top:22px;border:1px solid rgba(199,61,61,.22);border-radius:14px;padding:18px 22px;background:linear-gradient(160deg,rgba(155,41,41,.08),var(--dx-soft));}
.destiny-explore .dx-tg-sum-k{font-family:var(--dx-serif);font-size:.64rem;letter-spacing:.3em;color:var(--dx-cinb);margin-bottom:9px;}
.destiny-explore .dx-tg-summary p:last-child{font-family:var(--dx-serif);font-size:.95rem;color:var(--dx-ink);line-height:1.9;}
.destiny-explore .dx-tg-summary b{font-family:var(--dx-display);font-size:1.1rem;color:var(--dx-goldb);font-weight:400;}
.destiny-explore .dx-tg-read{display:flex;align-items:baseline;gap:14px;width:100%;text-align:left;padding:14px 18px;border-radius:12px;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);cursor:pointer;margin-bottom:10px;transition:border-color .25s;}
.destiny-explore .dx-tg-read:hover{border-color:var(--dx-gold-dim);}
.destiny-explore .dx-tg-read b{font-family:var(--dx-display);font-size:1.3rem;color:var(--dx-goldb);font-weight:400;flex:none;}
.destiny-explore .dx-tg-read span{flex:1;font-family:var(--dx-serif);font-size:.86rem;color:var(--dx-bone);line-height:1.7;}
.destiny-explore .dx-tg-read i{font-style:normal;font-family:var(--dx-serif);font-size:.72rem;color:var(--dx-cinb);flex:none;}
/* ── 神煞 · 逐煞详解 ── */
.destiny-explore .dx-ss-read{border:1px solid var(--dx-gold-hair);border-radius:14px;padding:18px 22px;margin-bottom:12px;background:linear-gradient(160deg,var(--dx-soft2),var(--dx-soft));}
.destiny-explore .dx-ss-read-h{font-family:var(--dx-display);font-size:1.4rem;color:var(--dx-goldb);letter-spacing:.04em;display:flex;align-items:baseline;gap:12px;}
.destiny-explore .dx-ss-read-h span{font-family:var(--dx-serif);font-size:.7rem;color:var(--dx-cinb);}
.destiny-explore .dx-ss-read-seal{font-family:var(--dx-serif);font-size:.82rem;color:var(--dx-gold);margin-top:6px;}
.destiny-explore .dx-ss-read-p{font-family:var(--dx-serif);font-size:.9rem;color:var(--dx-ink);line-height:1.9;margin-top:10px;}

/* ── AI 批注 · 点入按钮 ── */
.destiny-explore .dx-batch-btn{width:100%;margin-top:20px;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-radius:14px;border:1px solid rgba(199,61,61,.3);background:linear-gradient(120deg,rgba(155,41,41,.12),var(--dx-soft));cursor:pointer;transition:transform .3s var(--dx-ease),border-color .3s;}
.destiny-explore .dx-batch-btn:hover{transform:translateY(-2px);border-color:var(--dx-cin);}
.destiny-explore .dx-batch-k{font-family:var(--dx-display);font-size:1.4rem;color:var(--dx-goldb);letter-spacing:.04em;}
.destiny-explore .dx-batch-go{font-family:var(--dx-serif);font-size:.84rem;color:var(--dx-cinb);}
.destiny-explore .dx-batch-text{line-height:2.05;font-size:1rem;}
.destiny-explore .dx-batch-loading{color:var(--dx-bone-dim);}

/* ── 星盘子页 · 行星 / 宫位 / 相位 行 ── */
.destiny-explore .dx-star-row{display:grid;grid-template-columns:34px 96px 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 18px;border-radius:12px;border:1px solid var(--dx-gold-hair);background:var(--dx-soft);cursor:pointer;margin-bottom:9px;transition:border-color .25s,transform .25s;}
.destiny-explore .dx-star-row:hover{border-color:var(--dx-gold-dim);transform:translateY(-1px);}
.destiny-explore .dx-star-emoji{font-size:1.2rem;text-align:center;color:var(--dx-goldb);}
.destiny-explore .dx-star-nm{font-family:var(--dx-display);font-size:1.25rem;color:var(--dx-goldb);letter-spacing:.02em;}
.destiny-explore .dx-star-loc{font-family:var(--dx-serif);font-size:.84rem;color:var(--dx-bone);}
.destiny-explore .dx-star-row i{font-style:normal;font-family:var(--dx-serif);font-size:.72rem;color:var(--dx-cinb);}
@media (max-width:860px){ .destiny-explore .dx-star-row{grid-template-columns:28px 74px 1fr auto;gap:8px;} .destiny-explore .dx-star-loc{font-size:.76rem;} }

/* ── 弹窗移到 body 顶层：永远锁当前视口中央、长文可滚（修"弹窗跑页面中心"通病）── */
.dx-scrim{
  --dx-goldb:#E6D9B4;--dx-gold:#B89B5E;--dx-gold-hair:rgba(184,155,94,.12);--dx-gold-dim:rgba(184,155,94,.22);
  --dx-cin:#9B2929;--dx-cinb:#C73D3D;--dx-ink:rgba(230,217,180,.94);--dx-bone:rgba(230,217,180,.56);--dx-bone-dim:rgba(230,217,180,.36);
  --dx-soft:#141419;--dx-soft2:#1A1A20;
  --dx-display:"HuiZongShouJin","ZCOOL XiaoWei","Noto Serif SC",serif;--dx-serif:"Noto Serif SC","Songti SC",serif;--dx-ease:cubic-bezier(.16,.84,.22,1);
  position:fixed;inset:0;z-index:2147483000;background:rgba(5,5,7,.72);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .24s var(--dx-ease);display:grid;place-items:center;padding:24px;
}
.dx-scrim.dx-open{opacity:1;pointer-events:auto;}
.dx-scrim .dx-modal{width:min(560px,100%);max-height:86vh;overflow-y:auto;scrollbar-width:thin;background:linear-gradient(165deg,var(--dx-soft2),var(--dx-soft));border:1px solid var(--dx-gold-dim);border-radius:18px;padding:28px 32px 32px;transform:translateY(14px) scale(.98);transition:transform .26s var(--dx-ease);box-shadow:0 40px 90px rgba(0,0,0,.62);}
.dx-scrim.dx-open .dx-modal{transform:none;}
.dx-scrim .dx-close{float:right;padding:0;color:var(--dx-bone-dim);font-size:1.3rem;cursor:pointer;line-height:1;background:none;border:none;}
.dx-scrim .dx-se{font-family:var(--dx-serif);font-size:.66rem;letter-spacing:.26em;color:var(--dx-gold);}
.dx-scrim h3{font-family:var(--dx-display);font-size:2rem;color:var(--dx-goldb);margin:6px 0 2px;letter-spacing:.05em;font-weight:400;}
.dx-scrim .dx-s-seal{font-family:var(--dx-display);font-size:1.5rem;color:var(--dx-goldb);letter-spacing:.05em;line-height:1.5;margin-top:14px;}
.dx-scrim .dx-s-plain{font-family:var(--dx-serif);font-size:1rem;color:var(--dx-ink);margin-top:12px;line-height:2;}
.dx-scrim .dx-s-plain b{color:var(--dx-goldb);font-weight:400;}
.dx-scrim .dx-s-lite{font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone-dim);margin-top:14px;line-height:1.75;padding:11px 15px;border-left:2px solid var(--dx-gold-hair);background:rgba(255,255,255,.02);border-radius:0 8px 8px 0;}
.dx-scrim .dx-s-guan{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid rgba(199,61,61,.24);background:linear-gradient(160deg,rgba(155,41,41,.09),rgba(20,20,25,.4));}
.dx-scrim .dx-guan-k{font-family:var(--dx-serif);font-size:.64rem;letter-spacing:.3em;color:var(--dx-cinb);margin-bottom:7px;}
.dx-scrim .dx-s-guan p:last-child{font-family:var(--dx-serif);font-size:.9rem;color:var(--dx-ink);line-height:1.9;}
.dx-scrim .dx-s-gloss{font-family:var(--dx-serif);font-size:.8rem;color:var(--dx-bone-dim);margin-top:16px;line-height:1.85;border-top:1px dashed var(--dx-gold-hair);padding-top:14px;}
.dx-scrim .dx-s-gloss b{color:var(--dx-gold);}
.dx-scrim .dx-batch-text{line-height:2.05;font-size:1rem;}
.dx-scrim .dx-batch-loading{color:var(--dx-bone-dim);}

/* ── 星盘子页紧凑：两列网格、行更紧 ── */
.destiny-explore .dx-star-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.destiny-explore .dx-star-list .dx-star-row{margin-bottom:0;padding:11px 15px;grid-template-columns:26px 74px 1fr auto;gap:9px;}
.destiny-explore .dx-star-list .dx-star-nm{font-size:1.1rem;}
.destiny-explore .dx-star-list .dx-star-loc{font-size:.78rem;}
@media (max-width:860px){ .destiny-explore .dx-star-list{grid-template-columns:1fr;} }

/* ══════════ 紫微斗数 · 命途 hub ══════════ */
.destiny-explore .dx-mini-zw{display:flex;flex-direction:column;gap:3px;font-size:.72rem;color:var(--dx-gold,#B89B5E);align-items:center;justify-content:center;height:100%;}
.destiny-explore .dx-mini-zw span{opacity:.85;}
.destiny-explore .dx-zw-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,minmax(132px,auto));gap:5px;margin:6px 0 4px;}
.destiny-explore .dx-zw-cell{position:relative;border:1px solid rgba(184,155,94,.2);border-radius:8px;background:rgba(20,20,24,.5);padding:8px 8px 5px;display:flex;flex-direction:column;justify-content:space-between;min-height:132px;cursor:pointer;transition:border-color .15s,background .15s;}
.destiny-explore .dx-zw-cell:hover{border-color:rgba(184,155,94,.55);background:rgba(184,155,94,.05);}
.destiny-explore .dx-zw-cell.is-ming{border-color:rgba(184,155,94,.8);background:rgba(184,155,94,.09);}
.destiny-explore .dx-zw-cell.is-shen{box-shadow:inset 0 0 0 1px rgba(155,41,41,.45);}
.destiny-explore .dx-zw-cell.is-sanfang::after{content:"";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:rgba(184,155,94,.5);}
.destiny-explore .dx-zw-stars{display:flex;flex-wrap:wrap;gap:2px 7px;align-content:flex-start;align-items:baseline;}
.destiny-explore .dx-zw-star{line-height:1.2;cursor:pointer;white-space:nowrap;}
.destiny-explore .dx-zw-star.main{font-size:1rem;color:var(--dx-ivory,#E6D9B4);font-weight:600;}
.destiny-explore .dx-zw-star.aux{font-size:.74rem;color:rgba(184,155,94,.68);}
.destiny-explore .dx-zw-star:hover{color:#fff;}
.destiny-explore .dx-zw-auxwrap{display:inline-flex;flex-wrap:wrap;gap:1px 6px;width:100%;margin-top:1px;}
.destiny-explore .dx-zw-empty{color:rgba(230,217,180,.3);font-size:.9rem;}
.destiny-explore .dx-zw-br{font-style:normal;font-size:.58rem;margin-left:1px;vertical-align:super;}
.destiny-explore .dx-zw-br.bm{color:#e7c96b;} /* 庙旺 */
.destiny-explore .dx-zw-br.bg{color:#cdBB84;} /* 得利 */
.destiny-explore .dx-zw-br.bp{color:rgba(230,217,180,.5);} /* 平 */
.destiny-explore .dx-zw-br.bd{color:#b26b6b;} /* 不陷 */
.destiny-explore .dx-zw-hua{font-style:normal;font-size:.58rem;padding:0 2px;margin-left:1px;border-radius:3px;vertical-align:super;}
.destiny-explore .dx-zw-hua-禄{background:#2f5d3a;color:#c9f0d4;}
.destiny-explore .dx-zw-hua-权{background:#4a3d6b;color:#ddd0f5;}
.destiny-explore .dx-zw-hua-科{background:#2b4d63;color:#cfe6f5;}
.destiny-explore .dx-zw-hua-忌{background:#6b2a2a;color:#f5d0d0;}
.destiny-explore .dx-zw-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:5px;font-size:.7rem;gap:4px;}
.destiny-explore .dx-zw-meta{display:flex;flex-direction:column;gap:1px;color:rgba(184,155,94,.6);font-size:.62rem;}
.destiny-explore .dx-zw-cs{color:rgba(230,217,180,.4);}
.destiny-explore .dx-zw-gongwrap{display:flex;align-items:baseline;gap:4px;}
.destiny-explore .dx-zw-gong{color:var(--dx-gold,#B89B5E);font-weight:600;font-size:.8rem;}
.destiny-explore .dx-zw-gz{color:rgba(230,217,180,.5);font-size:.68rem;}
.destiny-explore .dx-zw-dec{color:rgba(184,155,94,.7);}
.destiny-explore .dx-zw-t{font-style:normal;font-size:.56rem;padding:0 3px;margin-left:2px;border-radius:3px;position:relative;top:-1px;}
.destiny-explore .dx-zw-t.ming{background:var(--dx-gold,#B89B5E);color:#0A0A0C;}
.destiny-explore .dx-zw-t.shen{background:var(--dx-cinnabar,#9B2929);color:#fff;}
.destiny-explore .dx-zw-center{border:1px solid rgba(184,155,94,.3);border-radius:10px;background:radial-gradient(circle at 50% 40%,rgba(184,155,94,.1),rgba(10,10,12,.6));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:10px;}
.destiny-explore .dx-zw-c-e{font-size:.66rem;letter-spacing:.15em;color:rgba(184,155,94,.7);}
.destiny-explore .dx-zw-c-ju{font-size:1.15rem;color:var(--dx-ivory,#E6D9B4);font-weight:600;}
.destiny-explore .dx-zw-c-ming b{color:var(--dx-gold,#B89B5E);}
.destiny-explore .dx-zw-c-ming,.destiny-explore .dx-zw-c-shen{font-size:.78rem;color:rgba(230,217,180,.8);}
.destiny-explore .dx-zw-c-sihua{font-size:.72rem;color:rgba(184,155,94,.8);cursor:pointer;border-top:1px solid rgba(184,155,94,.2);padding-top:5px;margin-top:2px;}
.destiny-explore .dx-zw-c-sihua:hover{color:#fff;}
.destiny-explore .dx-zw-hua-row{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 2px;}
.destiny-explore .dx-zw-hua-chip{border:1px solid rgba(184,155,94,.3);background:rgba(20,20,24,.5);border-radius:16px;padding:5px 12px;color:var(--dx-ivory,#E6D9B4);font-size:.82rem;cursor:pointer;}
.destiny-explore .dx-zw-hua-chip b{color:var(--dx-gold,#B89B5E);margin-right:2px;}
.destiny-explore .dx-zw-hua-chip:hover{border-color:rgba(184,155,94,.7);}
.destiny-explore .dx-zw-dec-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin:4px 0;}
.destiny-explore .dx-zw-dec-card{border:1px solid rgba(184,155,94,.22);border-radius:7px;background:rgba(20,20,24,.5);padding:7px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:rgba(230,217,180,.85);}
.destiny-explore .dx-zw-dec-card.on{border-color:var(--dx-cinnabar,#9B2929);background:rgba(155,41,41,.12);}
.destiny-explore .dx-zw-dec-card b{color:var(--dx-ivory,#E6D9B4);font-size:.88rem;}
.destiny-explore .dx-zw-dec-age{font-size:.72rem;color:var(--dx-gold,#B89B5E);}
.destiny-explore .dx-zw-dec-gz{font-size:.68rem;color:rgba(230,217,180,.5);}
/* 宫位详解页 */
.destiny-explore .dx-zwp-stars{display:flex;flex-wrap:wrap;gap:6px 12px;margin:4px 0 8px;}
.destiny-explore .dx-zwp-star{cursor:pointer;font-size:1.05rem;color:var(--dx-ivory,#E6D9B4);}
.destiny-explore .dx-zwp-star.aux{font-size:.85rem;color:rgba(184,155,94,.72);}
.destiny-explore .dx-zwp-star:hover{color:#fff;}
.destiny-explore .dx-zwp-trip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.destiny-explore .dx-zwp-tcard{border:1px solid rgba(184,155,94,.25);border-radius:8px;background:rgba(20,20,24,.5);padding:9px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;}
.destiny-explore .dx-zwp-tcard:hover{border-color:rgba(184,155,94,.6);}
.destiny-explore .dx-zwp-tk{font-size:.72rem;color:var(--dx-gold,#B89B5E);}
.destiny-explore .dx-zwp-tstars{font-size:.9rem;color:var(--dx-ivory,#E6D9B4);display:flex;flex-wrap:wrap;gap:2px 8px;}
.destiny-explore .dx-zwp-shen{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:2px 0 6px;}
.destiny-explore .dx-zwp-shen span{border:1px solid rgba(184,155,94,.2);border-radius:7px;padding:8px;text-align:center;font-size:.74rem;color:rgba(230,217,180,.7);}
.destiny-explore .dx-zwp-shen b{display:block;color:var(--dx-ivory,#E6D9B4);font-size:.95rem;margin-top:2px;}
@media (max-width:720px){
  .destiny-explore .dx-zw-grid{grid-template-rows:repeat(4,minmax(104px,auto));gap:3px;}
  .destiny-explore .dx-zw-star.main{font-size:.82rem;}
  .destiny-explore .dx-zw-star.aux{font-size:.62rem;}
  .destiny-explore .dx-zw-cell{min-height:104px;padding:5px;}
  .destiny-explore .dx-zwp-trip,.destiny-explore .dx-zwp-shen{grid-template-columns:repeat(2,1fr);}
}

/* ── GuWen 挂键：命途弹窗内的典籍原文入口 ── */
.destiny-explore .dx-canon-link,
.dx-scrim .dx-canon-link{display:inline-block;margin-top:12px;padding:8px 16px;border:1px solid rgba(184,155,94,.4);border-radius:20px;background:rgba(184,155,94,.08);color:var(--dx-gold,#B89B5E);font-size:.82rem;cursor:pointer;transition:all .18s;}
.destiny-explore .dx-canon-link:hover,
.dx-scrim .dx-canon-link:hover{border-color:rgba(184,155,94,.85);background:rgba(184,155,94,.16);color:var(--dx-ivory,#E6D9B4);}
.dx-scrim .dx-canon-inline,.destiny-explore .dx-canon-inline{cursor:pointer;border-bottom:1px dashed rgba(184,155,94,.55);color:var(--dx-gold,#B89B5E);}
.dx-scrim .dx-canon-inline:hover,.destiny-explore .dx-canon-inline:hover{color:var(--dx-ivory,#E6D9B4);}
/* 典籍抽屉需盖在命途弹窗(z 2147483000)之上，否则被弹窗遮住 */
.canon-drawer-overlay{z-index:2147483600 !important;}
.canon-drawer{z-index:2147483601 !important;}

/* ── 紫微运限层切换 ── */
.destiny-explore .dx-zw-layers{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 6px;}
.destiny-explore .dx-zw-ltab{border:1px solid rgba(184,155,94,.28);background:rgba(20,20,24,.5);border-radius:16px;padding:5px 14px;color:rgba(230,217,180,.8);font-size:.82rem;cursor:pointer;transition:all .15s;}
.destiny-explore .dx-zw-ltab:hover{border-color:rgba(184,155,94,.6);}
.destiny-explore .dx-zw-ltab.on{background:var(--dx-cinnabar,#9B2929);border-color:var(--dx-cinnabar,#9B2929);color:#fff;}
.destiny-explore .dx-zw-runhint{font-size:.76rem;color:rgba(184,155,94,.75);margin:2px 0 8px;line-height:1.5;}
.destiny-explore .dx-zw-t.run{background:var(--dx-cinnabar,#9B2929);color:#fff;opacity:.9;}
.destiny-explore .dx-zw-t.run.runming{background:#c23b3b;box-shadow:0 0 0 1px rgba(255,255,255,.3);}
.destiny-explore .dx-zw-hua.run{outline:1px solid rgba(255,255,255,.35);}

/* ══════════ 数往知来 · 占卜大数据 ══════════ */
.destiny-explore .dx-shuwang-btn .dx-batch-k{color:var(--dx-ivory,#E6D9B4);}
.destiny-explore .dx-sw-summary{border:1px solid rgba(184,155,94,.3);border-radius:12px;background:radial-gradient(circle at 30% 20%,rgba(184,155,94,.09),rgba(10,10,12,.5));padding:16px 18px;margin:4px 0 14px;}
.destiny-explore .dx-sw-sumhead{display:flex;align-items:baseline;gap:12px;}
.destiny-explore .dx-sw-count{font-size:2.2rem;color:var(--dx-gold,#B89B5E);font-weight:700;line-height:1;}
.destiny-explore .dx-sw-sumt{font-size:.86rem;color:rgba(230,217,180,.85);}
.destiny-explore .dx-sw-tone{font-size:.9rem;color:rgba(230,217,180,.7);margin-top:6px;}
.destiny-explore .dx-sw-poem{margin-top:12px;padding-top:12px;border-top:1px solid rgba(184,155,94,.2);text-align:center;}
.destiny-explore .dx-sw-poemline{font-size:1.12rem;color:var(--dx-ivory,#E6D9B4);letter-spacing:.06em;line-height:1.7;}
.destiny-explore .dx-sw-poemfrom{font-size:.76rem;color:rgba(184,155,94,.7);margin-top:4px;}
.destiny-explore .dx-sw-charts{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;}
.destiny-explore .dx-sw-svg{width:100%;height:auto;display:block;margin:2px 0 6px;}
.destiny-explore .dx-sw-bars{display:flex;flex-direction:column;gap:8px;margin:4px 0 6px;}
.destiny-explore .dx-sw-bar{display:flex;align-items:center;gap:10px;}
.destiny-explore .dx-sw-barlab{width:44px;font-size:.82rem;color:rgba(230,217,180,.85);}
.destiny-explore .dx-sw-bartrack{flex:1;height:10px;background:rgba(184,155,94,.12);border-radius:6px;overflow:hidden;}
.destiny-explore .dx-sw-barfill{display:block;height:100%;background:linear-gradient(90deg,rgba(184,155,94,.5),var(--dx-gold,#B89B5E));border-radius:6px;}
.destiny-explore .dx-sw-bar b{width:20px;text-align:right;color:var(--dx-gold,#B89B5E);font-size:.82rem;}
.destiny-explore .dx-sw-recent{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.destiny-explore .dx-sw-rcard{display:flex;align-items:center;gap:8px;border:1px solid rgba(184,155,94,.2);border-radius:8px;background:rgba(20,20,24,.5);padding:9px 11px;cursor:pointer;text-align:left;}
.destiny-explore .dx-sw-rcard:hover{border-color:rgba(184,155,94,.5);}
.destiny-explore .dx-sw-rsys{font-size:.72rem;color:var(--dx-gold,#B89B5E);white-space:nowrap;}
.destiny-explore .dx-sw-rq{flex:1;font-size:.8rem;color:rgba(230,217,180,.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.destiny-explore .dx-sw-rmark{font-size:.72rem;padding:1px 6px;border-radius:4px;}
.destiny-explore .dx-sw-rmark.m-顺{background:#2f5d3a;color:#c9f0d4;}
.destiny-explore .dx-sw-rmark.m-平{background:rgba(184,155,94,.25);color:var(--dx-ivory,#E6D9B4);}
.destiny-explore .dx-sw-rmark.m-阻{background:#6b2a2a;color:#f5d0d0;}
@media (max-width:720px){ .destiny-explore .dx-sw-charts,.destiny-explore .dx-sw-recent{grid-template-columns:1fr;} }

/* ══════════════════════════════════════════════════════════════
   周易 / 梅花 结果页 · 宋韵皮做透（暗金 #B89B5E · 朱砂 #9B2929 · 象牙 #E6D9B4）
   —— 覆盖全局较冷的 token，向命途页看齐；不改 JS 结构
   ══════════════════════════════════════════════════════════════ */
.reading-body .iching-header, .consultation-reading .iching-header,
.iching-header{border-bottom:1px solid rgba(184,155,94,.18);padding-bottom:14px;}
.iching-primary-name{font-family:var(--font-display),"Noto Serif SC",serif !important;font-size:1.9rem !important;letter-spacing:.06em;color:#E6D9B4 !important;font-weight:400 !important;}
.iching-primary-en{color:rgba(184,155,94,.55) !important;font-style:italic;}
.iching-moving-badge{background:rgba(155,41,41,.14) !important;border-color:rgba(155,41,41,.4) !important;color:#d99a9a !important;letter-spacing:.05em;}
.iching-moving-none{background:rgba(184,155,94,.08) !important;border-color:rgba(184,155,94,.2) !important;color:rgba(184,155,94,.6) !important;}
.iching-meihua-badge{background:rgba(184,155,94,.12) !important;border-color:rgba(184,155,94,.35) !important;color:#B89B5E !important;}

/* 大六爻柱：极渊黑底、象牙爻、动爻朱砂 */
.iching-hex-col{background:linear-gradient(180deg,rgba(20,20,24,.6),rgba(10,10,12,.5)) !important;border:1px solid rgba(184,155,94,.25) !important;border-radius:12px !important;padding:16px 14px !important;gap:9px !important;}
.iching-line{height:20px;}
.iching-bar{height:9px;border-radius:2px;background:#E6D9B4 !important;box-shadow:0 1px 2px rgba(0,0,0,.4);}
.iching-bar-pair{gap:7px;}
.iching-bar-moving{background:#9B2929 !important;box-shadow:0 0 8px rgba(155,41,41,.65) !important;}
.iching-line-moving .iching-line-no{color:#c23b3b !important;}
.iching-moving-dot{color:#c23b3b !important;}
.iching-line-no,.iching-line-type{color:rgba(184,155,94,.55) !important;}
.iching-trigrams{color:rgba(184,155,94,.7) !important;font-size:.82rem !important;letter-spacing:.1em;}
.iching-mini-bar{background:rgba(230,217,180,.7) !important;}

/* 文辞层：暗金标签 + 象牙正文 */
.iching-text-label{color:#B89B5E !important;letter-spacing:.14em !important;font-size:.7rem !important;}
.iching-text-body{color:rgba(230,217,180,.85) !important;font-size:.92rem !important;line-height:1.75 !important;}
/* 爻辞（动爻·断事之枢）朱砂框 */
.iching-yao-block{background:rgba(155,41,41,.08) !important;border:1px solid rgba(155,41,41,.22) !important;border-radius:10px !important;padding:11px 13px !important;}
.iching-yao-label{color:#c78a8a !important;letter-spacing:.05em;}
.iching-yao-text{color:rgba(230,217,180,.9) !important;line-height:1.7 !important;}
.iching-transformed-hint{background:rgba(184,155,94,.07) !important;border:1px solid rgba(184,155,94,.2) !important;border-radius:10px;padding:11px 13px;}
.iching-transformed-hint .iching-yao-label{color:#B89B5E !important;}

/* 互综错卦卡 */
.iching-related-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.iching-related-card{background:rgba(20,20,24,.5) !important;border:1px solid rgba(184,155,94,.2) !important;border-radius:10px !important;display:flex;align-items:center;gap:8px;padding:8px 12px;}
.iching-related-label{color:#B89B5E !important;font-size:.72rem;letter-spacing:.1em;}
.iching-related-name{color:#E6D9B4 !important;font-family:var(--font-display),serif !important;font-weight:400 !important;font-size:1.05rem;}
.iching-related-num{color:rgba(184,155,94,.5) !important;font-size:.72rem;}

/* 起卦工作区 · 宋韵 */
.divi-cast{display:flex;flex-direction:column;gap:12px;}
.divi-cast-hint{margin:0 0 2px;font-size:.86rem;color:rgba(184,155,94,.8);letter-spacing:.04em;line-height:1.6;padding:10px 14px;border-left:2px solid rgba(184,155,94,.4);background:rgba(184,155,94,.05);border-radius:0 8px 8px 0;}

/* ══════════ 周易/梅花 · 仪式流 ══════════ */
.flow-veil--iching{background:radial-gradient(circle at 50% 30%,rgba(184,155,94,.08),transparent 60%),#08080a;}
.flow-veil--meihua{background:radial-gradient(circle at 50% 30%,rgba(155,41,41,.07),transparent 60%),#08080a;}
.flow-yi-eyebrow,.flow-mh-eyebrow{color:#B89B5E;}
/* 太极 */
.taiji-stage{display:flex;justify-content:center;margin:8px 0 22px;}
.taiji{width:180px;height:180px;transform-origin:50% 50%;filter:drop-shadow(0 0 22px rgba(184,155,94,.25));transition:transform .6s;}
.taiji-stage[data-state="idle"] .taiji{animation:taiji-slow 14s linear infinite;}
.taiji-stage[data-state="casting"] .taiji{animation:taiji-spin 2.6s cubic-bezier(.4,0,.1,1) forwards;}
.taiji-stage[data-state="settled"] .taiji{animation:taiji-slow 14s linear infinite;}
@keyframes taiji-slow{to{transform:rotate(360deg);}}
@keyframes taiji-spin{0%{transform:rotate(0);}70%{transform:rotate(1400deg);}100%{transform:rotate(1440deg);}}
/* 梅花 */
.meihua-stage{position:relative;width:300px;height:210px;margin:8px auto 22px;}
.meihua-branch{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5));}
.meihua-branch .mh-windgroup{transform-origin:14px 156px;animation:mh-wind 4.5s ease-in-out infinite;}
.meihua-branch .mh-flowers use{transform-box:fill-box;transform-origin:center;animation:mh-bob 3.6s ease-in-out infinite;}
.meihua-branch .mh-flowers use:nth-child(2n){animation-duration:4.4s;animation-delay:-1.2s;}
.meihua-branch .mh-flowers use:nth-child(3n){animation-duration:5s;animation-delay:-2.1s;}
@keyframes mh-wind{0%,100%{transform:rotate(-2.2deg);}50%{transform:rotate(2.4deg);}}
@keyframes mh-bob{0%,100%{transform:rotate(-6deg) translateY(0);}50%{transform:rotate(6deg) translateY(-1px);}}
.meihua-stage[data-state="casting"] .mh-windgroup{animation:mh-wind-gust 1.1s ease-in-out infinite;}
@keyframes mh-wind-gust{0%,100%{transform:rotate(-4deg);}50%{transform:rotate(5deg);}}
.meihua-petals{position:absolute;inset:0;pointer-events:none;overflow:visible;}
.meihua-petal{position:absolute;top:8%;width:9px;height:9px;background:radial-gradient(circle at 50% 40%,#f4c9d4,#c8536e);border-radius:50% 50% 50% 0;transform:rotate(0);opacity:0;box-shadow:0 0 4px rgba(200,83,110,.4);}
.meihua-stage[data-state="casting"] .meihua-petal{animation-name:mh-fall;animation-timing-function:ease-in;animation-iteration-count:1;animation-fill-mode:forwards;}
@keyframes mh-fall{0%{opacity:0;transform:translateY(0) rotate(0);}12%{opacity:1;}100%{opacity:0;transform:translateY(130px) translateX(14px) rotate(220deg);}}
/* reveal */
.flow-yi-reveal,.flow-mh-reveal{max-width:640px;}
.yi-reveal-head{text-align:center;margin-bottom:6px;}
.yi-reveal-body{margin:6px 0 16px;}
.yi-verdict{border:1px solid rgba(184,155,94,.3);border-left:3px solid #B89B5E;border-radius:0 12px 12px 0;background:rgba(184,155,94,.05);padding:14px 18px;margin:8px 0;}
.yi-verdict-text{color:rgba(230,217,180,.9) !important;line-height:1.85 !important;font-size:.96rem !important;margin-top:6px;white-space:pre-wrap;}
.yi-reveal-question{margin-top:10px;opacity:.85;}
.flow-mh-reveal .yi-verdict{border-left-color:#9B2929;background:rgba(155,41,41,.05);}

/* 梅花 · 用何起卦 */
.mh-source-chips{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;}
.mh-src-chip{border:1px solid rgba(184,155,94,.3);background:rgba(20,20,24,.5);border-radius:20px;padding:8px 18px;color:rgba(230,217,180,.82);font-size:.9rem;cursor:pointer;transition:all .15s;font-family:inherit;}
.mh-src-chip:hover{border-color:rgba(184,155,94,.6);}
.mh-src-chip.on{background:rgba(155,41,41,.18);border-color:#9B2929;color:#f0d5d5;}
.flow-src-input{width:100%;background:rgba(10,10,12,.5);border:1px solid rgba(184,155,94,.3);border-radius:10px;padding:12px 14px;color:var(--dx-ivory,#E6D9B4);font-size:1rem;font-family:inherit;letter-spacing:.04em;}
.flow-src-input:focus{outline:none;border-color:rgba(184,155,94,.7);}

/* 梅花起卦 · 高清 GIF 位（用户放 assets/meihua/plum.gif 即自动启用；无则回退枝图） */
.meihua-gif{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));}

/* 梅花 · 静态水墨图（宣纸卷面 · multiply 让白底融入纸色，墨枝红花显出） */
.meihua-still-stage{width:200px;max-width:54vw;height:auto !important;margin:0 auto 30px;position:relative;overflow:visible;}
.meihua-scroll{background:radial-gradient(circle at 50% 42%,#f4eede,#e7ddc6 78%);border:1px solid rgba(184,155,94,.4);border-radius:14px;padding:12px;box-shadow:0 12px 44px rgba(0,0,0,.55),inset 0 0 46px rgba(120,90,40,.1);}
.meihua-still{display:block;width:100%;height:auto;mix-blend-mode:multiply;border-radius:8px;}
.meihua-scroll.no-img{min-height:200px;display:flex;align-items:center;justify-content:center;padding:24px;}
.meihua-scroll.no-img .meihua-still{display:none;}
.meihua-scroll.no-img::after{content:"梅影暂未载入";color:#7a6a4a;font-size:.82rem;text-align:center;line-height:1.6;}

/* 修·仪式流滚动时底部露出 navy 底色（veil 随内容滚走 → 补一层固定极渊黑底） */
.ritual-flow{background:#0A0A0C !important;}
.flow-page{background:#0A0A0C;}


/* 首页：删除近期留档；定场一屏但可下滚（页底须见备案与协议脚注） */
#recent{display:none !important;}
body.landing-home{overflow-x:hidden;}
body.landing-home .hero{min-height:100vh;overflow:hidden;}
.hero-scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:38px;height:38px;padding:0;
  display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(184,155,94,0.28);
  border-radius:50%;color:rgba(184,155,94,0.75);cursor:pointer;font-size:1rem;line-height:1;z-index:5;
  animation:heroCueFloat 2.6s ease-in-out infinite;transition:border-color .2s,color .2s;}
.hero-scroll-cue:hover{border-color:rgba(184,155,94,0.7);color:#E6D9B4;}
body:not(.landing-home) .hero-scroll-cue{display:none;}
@keyframes heroCueFloat{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}


/* 首页顶栏（FortuneOS 品牌 + 功能栏）常显，不受锁屏影响 */
body.landing-home .top-bar{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important;z-index:100 !important;display:block !important;}

/* 立绘点击放大 */
.destiny-explore #dx-xiang-portrait{cursor:zoom-in;}
.dx-scrim .dx-xiang-zoom{display:flex;flex-direction:column;align-items:center;gap:10px;}
.dx-scrim .dx-xiang-zoom img{max-width:min(78vw,440px);max-height:74vh;width:auto;border-radius:12px;border:1px solid rgba(184,155,94,.35);box-shadow:0 18px 60px rgba(0,0,0,.6);}
.dx-scrim .dx-xiang-zoom-cap{font-family:var(--font-display),serif;color:var(--dx-ivory,#E6D9B4);font-size:1.05rem;letter-spacing:.08em;}

/* 此身四化身（星宿/武将/方外/文苑） */
.destiny-explore .dx-personas-wrap{margin:8px 0 4px;}
.destiny-explore .dx-personas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.destiny-explore .dx-persona-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid rgba(184,155,94,.24);border-radius:9px;background:rgba(20,20,24,.5);padding:11px 12px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;}
.destiny-explore .dx-persona-card:hover{border-color:rgba(184,155,94,.6);background:rgba(184,155,94,.06);}
.destiny-explore .dx-persona-cat{font-size:.7rem;letter-spacing:.16em;color:var(--dx-gold,#B89B5E);}
.destiny-explore .dx-persona-name{font-family:var(--font-display),serif;font-weight:400;font-size:1.18rem;color:var(--dx-ivory,#E6D9B4);line-height:1.2;}
.destiny-explore .dx-persona-role{font-size:.72rem;color:rgba(230,217,180,.6);}
.destiny-explore .dx-persona-go{font-size:.66rem;color:rgba(184,155,94,.55);margin-top:2px;}
.dx-scrim .dx-s-guan-inline{margin-top:10px;font-size:.86rem;color:rgba(184,155,94,.8);line-height:1.7;border-top:1px solid rgba(184,155,94,.18);padding-top:8px;}
@media (max-width:720px){.destiny-explore .dx-personas{grid-template-columns:repeat(2,1fr);}}

/* ══════════ 数往知来 · 宋韵版 ══════════ */
.destiny-explore .dx-sw-head{display:flex;align-items:center;gap:18px;border:1px solid rgba(184,155,94,.28);border-radius:12px;background:radial-gradient(circle at 22% 30%,rgba(184,155,94,.08),rgba(10,10,12,.4));padding:18px 20px;margin:4px 0 16px;}
.destiny-explore .dx-sw-seal{flex:0 0 auto;width:62px;height:62px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display),serif;font-size:2rem;color:#f4dcdc;background:#9B2929;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-3deg);}
.destiny-explore .dx-sw-seal-顺{background:#3f6b46;}
.destiny-explore .dx-sw-seal-阻{background:#8a2b2b;}
.destiny-explore .dx-sw-seal-平{background:#7a6636;}
.destiny-explore .dx-sw-hcount{font-family:var(--font-display),serif;font-size:1.4rem;color:var(--dx-ivory,#E6D9B4);letter-spacing:.06em;}
.destiny-explore .dx-sw-head .dx-sw-poemline{font-size:1rem;color:rgba(230,217,180,.9);letter-spacing:.05em;margin-top:6px;line-height:1.6;}
.destiny-explore .dx-sw-head .dx-sw-poemfrom{font-size:.72rem;color:rgba(184,155,94,.65);margin-top:2px;}
.destiny-explore .dx-sw-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 14px;}
.destiny-explore .dx-sw-ecard{border:1px solid rgba(184,155,94,.24);border-radius:11px;background:rgba(20,20,24,.5);padding:16px 15px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:150px;transition:border-color .15s,background .15s;}
.destiny-explore .dx-sw-ecard:hover{border-color:rgba(184,155,94,.6);background:rgba(184,155,94,.05);}
.destiny-explore .dx-sw-ek{font-size:.72rem;letter-spacing:.28em;color:var(--dx-gold,#B89B5E);}
.destiny-explore .dx-sw-eh{font-family:var(--font-display),serif;font-weight:400;font-size:1.5rem;color:var(--dx-ivory,#E6D9B4);line-height:1.3;margin-top:2px;}
.destiny-explore .dx-sw-eh-sm{font-size:.98rem;line-height:1.7;}
.destiny-explore .dx-sw-ed{font-size:.78rem;color:rgba(230,217,180,.62);margin-top:auto;}
.destiny-explore .dx-sw-ego{font-size:.72rem;color:rgba(184,155,94,.6);}
.destiny-explore .dx-sw-scroll-list{display:flex;flex-direction:column;gap:1px;border-top:1px solid rgba(184,155,94,.14);}
.destiny-explore .dx-sw-slrow{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid rgba(184,155,94,.1);}
.destiny-explore .dx-sw-slsys{flex:0 0 auto;font-size:.8rem;color:var(--dx-gold,#B89B5E);width:88px;}
.destiny-explore .dx-sw-slq{flex:1;font-size:.86rem;color:rgba(230,217,180,.82);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.destiny-explore .dx-sw-slmk{flex:0 0 auto;font-family:var(--font-display),serif;font-size:1rem;width:22px;text-align:center;}
.destiny-explore .dx-sw-slmk.m-顺{color:#8FbF9a;}
.destiny-explore .dx-sw-slmk.m-平{color:rgba(184,155,94,.8);}
.destiny-explore .dx-sw-slmk.m-阻{color:#c88;}
/* 详情 · 水墨浓淡条 */
.destiny-explore .dx-sw-ink{display:flex;flex-direction:column;gap:12px;margin:6px 0;}
.destiny-explore .dx-sw-inkrow{display:flex;align-items:center;gap:12px;}
.destiny-explore .dx-sw-inklab{flex:0 0 auto;width:110px;font-size:.86rem;color:rgba(230,217,180,.85);}
.destiny-explore .dx-sw-inktrack{flex:1;height:14px;background:rgba(184,155,94,.06);border-radius:2px;overflow:hidden;}
.destiny-explore .dx-sw-inkfill{display:block;height:100%;background:linear-gradient(90deg,rgba(230,217,180,.9),rgba(184,155,94,.9));border-radius:2px;}
.destiny-explore .dx-sw-inkn{flex:0 0 auto;font-family:var(--font-display),serif;color:var(--dx-gold,#B89B5E);width:24px;text-align:right;}
/* 详情 · 一笔起伏 */
.destiny-explore .dx-sw-strokewrap{position:relative;margin:14px 0;padding:0 24px;}
.destiny-explore .dx-sw-stroke{width:100%;height:auto;display:block;}
.destiny-explore .dx-sw-axmk{position:absolute;left:2px;font-size:.72rem;color:rgba(184,155,94,.6);font-family:var(--font-display),serif;}
.destiny-explore .dx-sw-axmk.top{top:0;}
.destiny-explore .dx-sw-axmk.bot{bottom:0;}
/* 详情 · 算筹 */
.destiny-explore .dx-sw-tally{display:flex;flex-direction:column;gap:14px;margin:8px 0;}
.destiny-explore .dx-sw-tallyrow{display:flex;align-items:center;gap:14px;}
.destiny-explore .dx-sw-tallylab{flex:0 0 auto;width:56px;font-size:.95rem;color:rgba(230,217,180,.9);}
.destiny-explore .dx-sw-suan{flex:1;color:var(--dx-gold,#B89B5E);letter-spacing:2px;font-size:1.1rem;overflow:hidden;}
.destiny-explore .dx-sw-tallyn{flex:0 0 auto;font-family:var(--font-display),serif;color:var(--dx-ivory,#E6D9B4);font-size:1.1rem;width:28px;text-align:right;}
@media (max-width:720px){.destiny-explore .dx-sw-cards{grid-template-columns:1fr;}}

/* ═══════════════════════ P8 · 登录页 / 导航账号 / 星空闪烁 ═══════════════════════ */
.hidden{display:none !important;}

/* —— 星空闪烁（登录页 + 可复用） —— */
.fo-star{position:absolute;border-radius:50%;background:rgba(230,217,180,0.92);
  box-shadow:0 0 4px 1px rgba(230,217,180,0.45);opacity:0.25;animation:foTwinkle 3s ease-in-out infinite;}
@keyframes foTwinkle{0%,100%{opacity:0.12;transform:scale(0.75);}50%{opacity:0.95;transform:scale(1.15);}}
@media (prefers-reduced-motion: reduce){.fo-star{animation:none;}}

/* —— 登录页 overlay —— */
.login-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;
  overflow-y:auto;padding:34px 16px;
  background:radial-gradient(120% 120% at 50% 30%, #0b0b0f 0%, #060608 60%, #000 100%);}
.login-overlay.hidden{display:none !important;}
.login-stars{position:fixed;inset:0;overflow:hidden;pointer-events:none;}
.login-close{position:fixed;top:22px;right:26px;width:38px;height:38px;padding:0;border-radius:50%;
  border:1px solid rgba(184,155,94,0.28);background:rgba(20,20,26,0.6);color:rgba(230,217,180,0.7);
  font-size:1.3rem;line-height:1;cursor:pointer;z-index:2;transition:all .2s;}
.login-close:hover{border-color:rgba(184,155,94,0.6);color:#E6D9B4;}
.login-inner{position:relative;z-index:1;margin:auto;display:flex;flex-direction:column;align-items:center;gap:18px;width:min(100%,410px);min-width:0;}
.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;}
.login-moon{font-size:2rem;color:var(--dx-gold,#B89B5E);text-shadow:0 0 22px rgba(184,155,94,0.5);}
.login-brand .eyebrow{letter-spacing:.42em;color:rgba(184,155,94,0.72);font-size:.72rem;}
.login-card{width:100%;padding:30px 30px 26px;border-radius:16px;
  background:linear-gradient(180deg, rgba(22,22,28,0.82), rgba(12,12,16,0.9));
  border:1px solid rgba(184,155,94,0.22);box-shadow:0 24px 70px rgba(0,0,0,0.6), inset 0 1px 0 rgba(230,217,180,0.05);
  backdrop-filter:blur(10px);}
.login-seg-row{display:flex;gap:6px;margin-bottom:22px;border-bottom:1px solid rgba(184,155,94,0.16);}
.login-seg{flex:1;background:none;border:none;color:rgba(230,217,180,0.5);font-size:1rem;letter-spacing:.2em;
  padding:8px 0 12px;cursor:pointer;position:relative;font-family:var(--font-display),serif;transition:color .2s;}
.login-seg.active{color:#E6D9B4;}
.login-seg.active::after{content:"";position:absolute;left:20%;right:20%;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,var(--dx-gold,#B89B5E),transparent);}
.login-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.login-field span{font-size:.74rem;letter-spacing:.16em;color:rgba(184,155,94,0.66);}
.login-field input{background:rgba(8,8,11,0.7);border:1px solid rgba(184,155,94,0.22);border-radius:9px;
  padding:11px 13px;color:#E6D9B4;font-size:.95rem;transition:border-color .2s, box-shadow .2s;}
.login-field input:focus{outline:none;border-color:rgba(184,155,94,0.6);box-shadow:0 0 0 3px rgba(184,155,94,0.1);}
.login-submit{width:100%;margin-top:6px;letter-spacing:.24em;}
.login-status{min-height:18px;margin:12px 2px 0;font-size:.8rem;color:rgba(200,120,110,0.9);text-align:center;letter-spacing:.05em;}
.login-alt{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:14px;}
.login-alt-rule{width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,155,94,0.24),transparent);}
.login-guest{font-size:.86rem;letter-spacing:.14em;opacity:.82;}
.login-foot{color:rgba(184,155,94,0.4);font-size:.72rem;letter-spacing:.32em;}
body.login-open{overflow:hidden;}

/* —— 顶栏账号区 —— */
.account-nav{display:flex;align-items:center;margin-left:8px;}
.nav-login-btn{background:none;border:1px solid rgba(184,155,94,0.34);border-radius:999px;
  color:rgba(230,217,180,0.86);padding:6px 18px;font-size:.86rem;letter-spacing:.16em;cursor:pointer;transition:all .2s;}
.nav-login-btn:hover{border-color:rgba(184,155,94,0.7);color:#E6D9B4;background:rgba(184,155,94,0.08);}
.nav-user{position:relative;display:block;}
.nav-user-trigger{display:flex;align-items:center;gap:9px;padding:4px 6px;border:0;border-radius:999px;
  background:none;color:inherit;font:inherit;cursor:pointer;outline:none;}
.nav-user-trigger:focus-visible{box-shadow:0 0 0 2px rgba(184,155,94,0.42);}
.nav-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(145deg,#2a2418,#171410);border:1px solid rgba(184,155,94,0.5);
  color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;font-size:.95rem;}
.nav-user-name{color:rgba(230,217,180,0.9);font-size:.9rem;letter-spacing:.08em;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-user-card{position:absolute;top:calc(100% + 10px);right:0;width:230px;padding:16px;border-radius:13px;
  background:linear-gradient(180deg, rgba(24,24,30,0.97), rgba(12,12,16,0.98));border:1px solid rgba(184,155,94,0.26);
  box-shadow:0 20px 50px rgba(0,0,0,0.55);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s;z-index:1300;}
.nav-user.is-open .nav-user-card{opacity:1;visibility:visible;transform:translateY(0);}
.nav-user-card-top{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid rgba(184,155,94,0.16);}
.nav-user-card-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(145deg,#2f2818,#171410);border:1px solid rgba(184,155,94,0.55);
  color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;font-size:1.35rem;flex:0 0 auto;}
.nav-user-card-id{display:flex;flex-direction:column;gap:3px;min-width:0;}
.nav-user-card-id strong{color:#E6D9B4;font-size:1rem;font-weight:500;}
.nav-user-card-id small{color:rgba(184,155,94,0.7);font-size:.72rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-user-logout{width:100%;background:none;border:1px solid rgba(184,155,94,0.3);border-radius:8px;
  color:rgba(230,217,180,0.8);padding:8px 0;font-size:.82rem;letter-spacing:.16em;cursor:pointer;transition:all .2s;}
.nav-user-logout:hover{border-color:rgba(200,120,110,0.6);color:#e8c0b8;background:rgba(200,120,110,0.08);}

/* ═══════════════════════ P8 · 订单 / 后台 ═══════════════════════ */
.order-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 22px;}
.order-plan-card{position:relative;padding:20px 18px;border-radius:13px;background:linear-gradient(180deg,rgba(24,24,30,0.7),rgba(14,14,18,0.8));
  border:1px solid rgba(184,155,94,0.2);transition:border-color .2s, transform .2s;}
.order-plan-card:hover{border-color:rgba(184,155,94,0.5);transform:translateY(-2px);}
.order-plan-seal{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#2a2418,#171410);border:1px solid rgba(184,155,94,0.45);color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;}
.order-plan-card h3{margin:0 0 6px;color:#E6D9B4;font-size:1.02rem;font-weight:500;}
.order-plan-card p{margin:0 0 14px;color:rgba(230,217,180,0.55);font-size:.8rem;line-height:1.5;}
.order-plan-price{color:var(--dx-gold,#B89B5E);font-size:1.1rem;letter-spacing:.05em;}
.order-empty{padding:26px;text-align:center;color:rgba(230,217,180,0.5);font-size:.9rem;border:1px dashed rgba(184,155,94,0.22);border-radius:12px;}
.order-empty.hidden{display:none;}
.order-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:11px;margin-bottom:9px;
  background:rgba(20,20,26,0.5);border:1px solid rgba(184,155,94,0.16);}
.order-row-main{display:flex;flex-direction:column;gap:4px;}
.order-row-main strong{color:#E6D9B4;font-weight:500;}
.order-row-meta{color:rgba(230,217,180,0.5);font-size:.76rem;}
.order-row-side{display:flex;align-items:center;gap:14px;}
.order-amount{color:var(--dx-gold,#B89B5E);font-size:1rem;}
.order-status{font-size:.74rem;padding:3px 10px;border-radius:999px;letter-spacing:.06em;}
.order-status-paid{background:rgba(120,160,110,0.14);color:#a8c89a;border:1px solid rgba(120,160,110,0.3);}
.order-status-pending{background:rgba(184,155,94,0.12);color:var(--dx-gold,#B89B5E);border:1px solid rgba(184,155,94,0.3);}
.order-dev{margin-top:18px;}
.order-dev summary{color:rgba(230,217,180,0.4);font-size:.76rem;cursor:pointer;letter-spacing:.08em;}
@media (max-width:720px){.order-plans{grid-template-columns:1fr;}}

/* —— 后台 —— */
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 22px;}
.admin-metric{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border-radius:13px;
  background:linear-gradient(180deg,rgba(24,24,30,0.7),rgba(14,14,18,0.8));border:1px solid rgba(184,155,94,0.2);}
.admin-metric-n{font-size:1.8rem;color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;}
.admin-metric-k{font-size:.76rem;letter-spacing:.14em;color:rgba(230,217,180,0.55);}
.admin-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(184,155,94,0.16);}
.admin-table{width:100%;border-collapse:collapse;font-size:.86rem;}
.admin-table th{text-align:left;padding:12px 14px;color:rgba(184,155,94,0.72);font-weight:500;letter-spacing:.08em;
  border-bottom:1px solid rgba(184,155,94,0.2);background:rgba(20,20,26,0.5);}
.admin-table td{padding:11px 14px;color:rgba(230,217,180,0.8);border-bottom:1px solid rgba(184,155,94,0.08);}
.admin-role{font-size:.72rem;padding:2px 9px;border-radius:999px;}
.admin-role-admin{background:rgba(184,155,94,0.16);color:var(--dx-gold,#B89B5E);border:1px solid rgba(184,155,94,0.4);}
.admin-role-user{background:rgba(120,120,130,0.12);color:rgba(230,217,180,0.6);}
@media (max-width:720px){.admin-metrics{grid-template-columns:repeat(2,1fr);}}

/* ═══════════════════════ P8 · 历史中台 ═══════════════════════ */
.history-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 20px;}
.history-systems{display:flex;flex-direction:column;gap:10px;}
.history-sys-row{display:flex;align-items:center;gap:12px;}
.history-sys-name{flex:0 0 52px;color:rgba(230,217,180,0.8);font-size:.86rem;}
.history-sys-bar{flex:1;height:8px;border-radius:999px;background:rgba(184,155,94,0.1);overflow:hidden;}
.history-sys-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(184,155,94,0.5),var(--dx-gold,#B89B5E));}
.history-sys-n{flex:0 0 auto;color:var(--dx-gold,#B89B5E);font-size:.82rem;min-width:20px;text-align:right;}
@media (max-width:720px){.history-metrics{grid-template-columns:1fr;}}

/* —— 后台 · 用户行 + 切换 + 改密 —— */
.admin-section-head{margin:6px 0 14px;}
.admin-section-head h3{margin:0 0 4px;color:#E6D9B4;font-weight:500;font-size:1.05rem;}
.admin-users{display:flex;flex-direction:column;gap:9px;}
.admin-user-row{display:flex;align-items:center;gap:13px;padding:12px 15px;border-radius:12px;
  background:rgba(20,20,26,0.5);border:1px solid rgba(184,155,94,0.16);}
.admin-user-avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#2a2418,#171410);border:1px solid rgba(184,155,94,0.45);color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;}
.admin-user-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.admin-user-id strong{color:#E6D9B4;font-weight:500;font-size:.94rem;}
.admin-user-id small{color:rgba(230,217,180,0.45);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-user-enter{flex:0 0 auto;background:none;border:1px solid rgba(184,155,94,0.4);border-radius:8px;color:var(--dx-gold,#B89B5E);
  padding:6px 16px;font-size:.82rem;letter-spacing:.1em;cursor:pointer;transition:all .2s;}
.admin-user-enter:hover{background:rgba(184,155,94,0.12);border-color:rgba(184,155,94,0.7);}
.admin-user-cur{flex:0 0 auto;font-size:.74rem;color:rgba(230,217,180,0.45);padding:6px 12px;}
.nav-user-changepw{width:100%;margin-bottom:8px;background:none;border:1px solid rgba(184,155,94,0.24);border-radius:8px;
  color:rgba(230,217,180,0.7);padding:8px 0;font-size:.8rem;letter-spacing:.14em;cursor:pointer;transition:all .2s;}
.nav-user-changepw:hover{border-color:rgba(184,155,94,0.55);color:#E6D9B4;}

/* ═══════════════════════ P8 · 档案卡（本人 / 他人） ═══════════════════════ */
.arc-group-label{margin:16px 0 10px;color:rgba(184,155,94,0.72);font-size:.78rem;letter-spacing:.22em;}
.arc-group-label:first-child{margin-top:2px;}
.arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.arc-card{position:relative;padding:16px;border-radius:13px;cursor:pointer;
  background:linear-gradient(180deg,rgba(24,24,30,0.72),rgba(13,13,17,0.82));
  border:1px solid rgba(184,155,94,0.18);transition:border-color .2s, transform .2s;}
.arc-card:hover{border-color:rgba(184,155,94,0.42);transform:translateY(-2px);}
.arc-card.cur{border-color:rgba(184,155,94,0.6);box-shadow:0 0 0 1px rgba(184,155,94,0.25) inset;}
.arc-card.sel{border-color:rgba(184,155,94,0.4);}
.arc-card-top{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
.arc-card-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#2a2418,#171410);border:1px solid rgba(184,155,94,0.45);color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;font-size:1.1rem;}
.arc-card-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.arc-card-id strong{color:#E6D9B4;font-weight:500;font-size:.98rem;}
.arc-card-id small{color:rgba(230,217,180,0.5);font-size:.74rem;}
.arc-badge{flex:0 0 auto;font-size:.68rem;padding:3px 9px;border-radius:999px;background:rgba(184,155,94,0.16);
  color:var(--dx-gold,#B89B5E);border:1px solid rgba(184,155,94,0.38);letter-spacing:.04em;}
.arc-badge.subtle{background:rgba(120,120,130,0.12);color:rgba(230,217,180,0.55);border-color:rgba(184,155,94,0.14);}
.arc-card-birth{color:rgba(230,217,180,0.85);font-size:.9rem;margin-bottom:3px;}
.arc-card-loc{color:rgba(230,217,180,0.45);font-size:.78rem;margin-bottom:14px;}
.arc-card-actions{display:flex;gap:8px;}
.arc-enter{flex:1;background:rgba(184,155,94,0.1);border:1px solid rgba(184,155,94,0.4);border-radius:8px;
  color:var(--dx-gold,#B89B5E);padding:7px 0;font-size:.84rem;letter-spacing:.08em;cursor:pointer;transition:all .2s;}
.arc-enter:hover{background:rgba(184,155,94,0.2);border-color:rgba(184,155,94,0.7);}
.arc-edit{flex:0 0 auto;background:none;border:1px solid rgba(184,155,94,0.2);border-radius:8px;
  color:rgba(230,217,180,0.65);padding:7px 14px;font-size:.82rem;cursor:pointer;transition:all .2s;}
.arc-edit:hover{border-color:rgba(184,155,94,0.5);color:#E6D9B4;}

/* ═══════════════════════ P8 · 注册向导（宋韵一问一问） ═══════════════════════ */
.reg-wizard[hidden]{display:none;}
.reg-progress{display:flex;gap:8px;justify-content:center;margin-bottom:22px;}
.reg-progress i{width:22px;height:3px;border-radius:2px;background:rgba(184,155,94,0.18);transition:background .3s;}
.reg-progress i.on{background:var(--dx-gold,#B89B5E);}
.reg-step{display:flex;flex-direction:column;gap:12px;min-height:150px;}
.reg-step[hidden]{display:none;}
.reg-q-label{margin:0;color:rgba(184,155,94,0.7);font-size:.72rem;letter-spacing:.3em;text-align:center;}
.reg-q{margin:0 0 6px;color:#E6D9B4;font-weight:500;font-size:1.16rem;text-align:center;font-family:var(--font-display),serif;}
.reg-input{background:rgba(8,8,11,0.7);border:1px solid rgba(184,155,94,0.24);border-radius:9px;
  padding:12px 14px;color:#E6D9B4;font-size:.98rem;transition:border-color .2s, box-shadow .2s;text-align:center;}
.reg-input:focus{outline:none;border-color:rgba(184,155,94,0.62);box-shadow:0 0 0 3px rgba(184,155,94,0.1);}
.reg-check{display:flex;align-items:flex-start;gap:8px;justify-content:center;color:rgba(230,217,180,0.62);font-size:.82rem;line-height:1.65;cursor:pointer;}
.reg-check input{accent-color:var(--dx-gold,#B89B5E);}
.reg-check input{flex:0 0 auto;width:auto;inline-size:auto;min-width:0;margin-top:.26em;}
.reg-check span{min-width:0;overflow-wrap:anywhere;}
.reg-gender{display:flex;gap:10px;justify-content:center;}
.reg-gender button{flex:1;padding:16px 0;border-radius:11px;background:rgba(20,20,26,0.6);border:1px solid rgba(184,155,94,0.24);
  color:rgba(230,217,180,0.75);font-size:1rem;font-family:var(--font-display),serif;cursor:pointer;transition:all .2s;}
.reg-gender button:hover{border-color:rgba(184,155,94,0.5);}
.reg-gender button.on{border-color:var(--dx-gold,#B89B5E);color:#E6D9B4;background:rgba(184,155,94,0.14);box-shadow:0 0 0 1px rgba(184,155,94,0.3) inset;}
.reg-nav{display:flex;gap:10px;align-items:center;margin-top:18px;}
.reg-nav .ghost-button{flex:0 0 auto;}
.reg-nav .primary-cta{flex:1;letter-spacing:.2em;}
.reg-nav button{min-width:0;}

/* ═══════════════════════ P8 · 档案列表（测测式结构 · 宋韵黑金皮） ═══════════════════════ */
.pf-group{margin:18px 0 8px;color:rgba(184,155,94,0.6);font-size:.74rem;letter-spacing:.24em;}
.pf-group:first-child{margin-top:2px;}
.pf-row{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:13px;margin-bottom:8px;cursor:pointer;
  background:linear-gradient(180deg,rgba(24,24,30,0.55),rgba(14,14,18,0.7));border:1px solid rgba(184,155,94,0.14);
  transition:border-color .2s, transform .15s;outline:none;}
.pf-row:hover,.pf-row:focus-visible{border-color:rgba(184,155,94,0.42);transform:translateY(-1px);}
.pf-row.cur{border-color:rgba(184,155,94,0.6);box-shadow:0 0 0 1px rgba(184,155,94,0.22) inset;}
.pf-av{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  color:rgba(240,232,210,0.92);font-family:var(--font-display),serif;font-size:1.02rem;letter-spacing:1px;
  border:1px solid rgba(184,155,94,0.4);box-shadow:inset 0 1px 2px rgba(255,255,255,0.06);}
.pf-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.pf-name{display:flex;align-items:center;gap:9px;color:#E6D9B4;font-size:1.02rem;font-weight:500;}
.pf-cur{font-size:.66rem;padding:2px 8px;border-radius:999px;background:rgba(184,155,94,0.16);color:var(--dx-gold,#B89B5E);border:1px solid rgba(184,155,94,0.38);letter-spacing:.06em;}
.pf-sub{display:flex;align-items:center;gap:10px;color:rgba(230,217,180,0.5);font-size:.8rem;}
.pf-rel{padding:2px 9px;border-radius:6px;background:rgba(184,155,94,0.1);color:rgba(200,178,120,0.85);border:1px solid rgba(184,155,94,0.16);font-size:.74rem;}
.pf-g{font-size:.92rem;}
.pf-g-m{color:#7fa0b8;} .pf-g-f{color:#c090a0;} .pf-g-u{color:rgba(230,217,180,0.45);}
.pf-date{color:rgba(230,217,180,0.5);letter-spacing:.02em;}
.pf-edit{flex:0 0 auto;width:36px;height:36px;padding:0;border-radius:9px;background:none;border:1px solid rgba(184,155,94,0.2);
  color:rgba(230,217,180,0.6);font-size:1rem;cursor:pointer;transition:all .2s;}
.pf-edit:hover{border-color:rgba(184,155,94,0.55);color:var(--dx-gold,#B89B5E);background:rgba(184,155,94,0.08);}

/* —— 管理员“正在以他人身份查看”返回条 —— */
.admin-return-bar{position:fixed;top:0;left:0;right:0;z-index:1150;display:flex;align-items:center;justify-content:center;gap:16px;
  padding:9px 18px;background:linear-gradient(180deg,rgba(46,38,22,0.96),rgba(30,24,14,0.96));
  border-bottom:1px solid rgba(184,155,94,0.4);box-shadow:0 6px 20px rgba(0,0,0,0.4);backdrop-filter:blur(6px);}
.admin-return-bar.hidden{display:none !important;}
#admin-return-text{color:rgba(230,217,180,0.85);font-size:.86rem;letter-spacing:.06em;}
#admin-return-btn{background:rgba(184,155,94,0.16);border:1px solid rgba(184,155,94,0.5);border-radius:999px;
  color:var(--dx-gold,#B89B5E);padding:5px 16px;font-size:.82rem;letter-spacing:.1em;cursor:pointer;transition:all .2s;}
#admin-return-btn:hover{background:rgba(184,155,94,0.28);color:#E6D9B4;}

/* P8 · 账户面板：头像/生辰编辑 + 看我自己 */
.account-birth-jump{display:flex;flex-direction:column;gap:7px;}
.account-birth-jump #edit-self-birth{text-align:left;padding:11px 13px;}
#reset-subject-self.hidden{display:none !important;}
#account-avatar{text-align:center;letter-spacing:2px;}

/* ═══════════════════════ P8 · 档案馆收紧（简洁版头部） ═══════════════════════ */
.account-hero-panel{padding:22px 26px !important;}
.account-hero-compact{display:flex;flex-direction:column;gap:6px;max-width:520px;}
.account-hero-title-sm{margin:0;font-size:1.35rem !important;line-height:1.5;font-weight:500;color:#E6D9B4;}
.account-hero-compact .meta-line{margin:0;font-size:.84rem;color:rgba(230,217,180,0.5);}
.account-session-shell{gap:14px !important;}
.account-summary-slim{padding:12px 14px !important;}
.account-me-line{display:flex;align-items:center;gap:12px;}
.account-me-avatar{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#2a2418,#171410);border:1px solid rgba(184,155,94,0.5);
  color:var(--dx-gold,#B89B5E);font-family:var(--font-display),serif;font-size:1.25rem;}
.account-me-id{display:flex;flex-direction:column;gap:2px;min-width:0;}
.account-me-id strong{color:#E6D9B4;font-size:1.02rem;font-weight:500;}
.account-me-id small{color:rgba(184,155,94,0.66);font-size:.76rem;}
.account-advanced{margin-top:2px;}
.account-advanced summary{color:rgba(230,217,180,0.4);font-size:.76rem;letter-spacing:.08em;cursor:pointer;}
.account-advanced[open] summary{margin-bottom:10px;}
.account-action-groups{display:grid;gap:12px;margin-top:4px;}
.account-main-actions{margin-top:0;}
.account-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid rgba(184,155,94,0.14);}
.account-session-actions button{min-width:0;white-space:normal;line-height:1.35;}
.account-session-actions #signout-button{background:transparent;border-color:rgba(184,155,94,0.28);color:rgba(230,217,180,0.68);}
.account-session-actions #signout-button:hover{border-color:rgba(184,155,94,0.52);color:#E6D9B4;background:rgba(184,155,94,0.07);}

/* ═══════════════════════ P8 · 档案编辑器收紧 + 草稿卡 ═══════════════════════ */
.account-editor-title-sm{margin:0;font-size:1.1rem !important;font-weight:500;color:#E6D9B4;}
.account-editor-panel{padding:20px 22px !important;}
.account-directory-panel{padding:20px 22px !important;}
.account-editor-banner{padding:12px 16px !important;gap:10px !important;}
.account-editor-banner #profile-editor-hint{display:none;} /* 长提示语撤下，按钮自明 */
.account-editor-form .field-card{padding:10px 14px !important;gap:6px !important;}
.account-editor-form .field-card::before{width:26px !important;height:26px !important;font-size:.8rem !important;}
.account-editor-form .field-card span{font-size:.74rem !important;}
.account-editor-form .field-grid{gap:10px !important;margin-bottom:10px !important;}
.account-editor-form input,.account-editor-form select{padding:9px 12px !important;font-size:.92rem !important;}
/* 草稿卡（新建中） */
.pf-draft{border-style:dashed !important;border-color:rgba(184,155,94,0.5) !important;cursor:default;}
.pf-av-draft{background:none !important;border-style:dashed !important;color:rgba(184,155,94,0.8) !important;font-size:1.2rem !important;}

/* ═══════════════════════ P8 · 回响之页只在「历史」出现 + 去工程化重塑 ═══════════════════════ */
.workspace-grid{grid-template-columns:minmax(0,1fr);}
.workspace-grid .result-column{display:none;}
/* 历史页 · 上下分布：回响之页通栏排在列表下方，不再挤右侧窄栏 */
.workspace-grid.show-result-column{grid-template-columns:minmax(0,1fr);}
.workspace-grid.show-result-column .result-column{display:block;position:static;max-width:none;}
.workspace-grid.show-result-column .workspace-main{min-width:0;}
/* 近期问事双列，少滚动 */
[data-workspace-panel="history"] #consultation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
[data-workspace-panel="history"] #consultation-list .consultation-item{margin:0;}
@media (max-width:900px){[data-workspace-panel="history"] #consultation-list{grid-template-columns:1fr;}}
/* 历史中台指标条收紧 */
.history-hub-panel{padding:18px 22px !important;}
.history-metrics{margin:4px 0 14px;}
.history-metrics .admin-metric{padding:14px 10px;}
/* 编年折叠壳 */
.history-chronicle-fold>summary{cursor:pointer;color:rgba(184,155,94,0.72);letter-spacing:.2em;font-size:.8rem;padding:14px 4px;list-style:none;}
.history-chronicle-fold>summary::-webkit-details-marker{display:none;}
.history-chronicle-fold>summary::before{content:"▸ ";}
.history-chronicle-fold[open]>summary::before{content:"▾ ";}
/* 工程操作钮撤下：重跑(会破一次定稿)；记录 tab(run 清单) */
#replay-button{display:none !important;}
.result-tab[data-result-tab="runs"]{display:none !important;}
/* 摘句卡轻塑：留白多一点、meta 小一点 */
.result-summary{padding:18px 20px !important;}
.result-summary #summary-text{font-size:1.12rem;line-height:1.8;}
.result-summary #result-meta{color:rgba(184,155,94,0.66);font-size:.8rem;letter-spacing:.06em;}
/* 后台 · 删除用户钮（朱砂警示，克制） */
.admin-user-del{flex:0 0 auto;background:none;border:1px solid rgba(178,88,78,0.4);border-radius:8px;
  color:rgba(214,130,118,0.85);padding:6px 12px;font-size:.82rem;cursor:pointer;transition:all .2s;margin-left:6px;}
.admin-user-del:hover{background:rgba(178,88,78,0.14);border-color:rgba(178,88,78,0.7);color:#e0988c;}

/* ═══════════════════════ P8 · 占星终端（卜卦占星） ═══════════════════════ */
.xz-stage{display:flex;justify-content:center;margin-bottom:26px;}
.xz-orrery{width:min(46vw,240px);height:auto;}
.xz-ring{fill:none;stroke:rgba(184,155,94,0.28);stroke-width:0.7;}
.xz-ring-b{stroke-dasharray:3 4;}
.xz-ring-c{stroke:rgba(184,155,94,0.4);}
.xz-center{fill:var(--dx-gold,#B89B5E);filter:drop-shadow(0 0 6px rgba(184,155,94,0.6));}
.xz-body{fill:#E6D9B4;}
.xz-body-dim{fill:rgba(230,217,180,0.6);}
.xz-body-moon{fill:#c9d4e0;}
.xz-orbit{transform-origin:100px 100px;}
.xz-stage[data-state="idle"] .xz-orbit{animation:none;}
.xz-stage[data-state="casting"] .xz-orbit-a{animation:xzSpin 2.4s cubic-bezier(.4,0,.6,1) infinite;}
.xz-stage[data-state="casting"] .xz-orbit-b{animation:xzSpin 1.8s cubic-bezier(.4,0,.6,1) infinite reverse;}
.xz-stage[data-state="casting"] .xz-orbit-c{animation:xzSpin 1.2s cubic-bezier(.4,0,.6,1) infinite;}
.xz-stage[data-state="settled"] .xz-orbit{animation:none;}
@keyframes xzSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.xz-orbit{animation:none !important;}}
@media (pointer:coarse){.xz-orbit{animation:none !important;}}
/* 终端行 */
.xz-terminal{display:flex;flex-direction:column;gap:8px;max-width:640px;margin:0 auto 26px;}
.xz-row{display:flex;align-items:baseline;gap:16px;padding:10px 16px;border-radius:10px;
  background:rgba(20,20,26,0.55);border:1px solid rgba(184,155,94,0.16);}
.xz-k{flex:0 0 auto;min-width:64px;color:rgba(184,155,94,0.8);font-size:.82rem;letter-spacing:.3em;}
.xz-v{color:#E6D9B4;font-size:.98rem;}
.xz-v small{color:rgba(230,217,180,0.42);font-size:.74rem;margin-left:8px;}
.xz-sect{margin:10px 2px 2px;color:rgba(184,155,94,0.6);font-size:.76rem;letter-spacing:.18em;}
.xz-tag{display:inline-block;font-style:normal;font-size:.7rem;padding:2px 9px;border-radius:999px;margin-right:8px;vertical-align:1px;}
.xz-tag-in{background:rgba(120,160,110,0.14);color:#a8c89a;border:1px solid rgba(120,160,110,0.35);}
.xz-tag-out{background:rgba(120,120,130,0.12);color:rgba(230,217,180,0.55);border:1px solid rgba(184,155,94,0.16);}
.flow-xz-eyebrow{color:rgba(184,155,94,0.8);}

/* ═══════════════════════ 上架合规 · 免责/页脚/品牌 ═══════════════════════ */
.dx-ai-foot{margin:10px 0 0;color:rgba(230,217,180,0.34);font-size:.7rem;line-height:1.6;}
.brand-sub{display:block;color:rgba(184,155,94,0.5);font-size:.58rem;letter-spacing:.28em;margin-top:1px;}
.site-foot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 16px 40px;
  color:rgba(230,217,180,0.4);font-size:.76rem;border-top:1px solid rgba(184,155,94,0.1);margin-top:40px;}
.site-foot a{color:rgba(184,155,94,0.7);text-decoration:none;}
.site-foot-icp{color:rgba(230,217,180,0.25);font-size:.7rem;}
.danger-btn{border-color:rgba(178,88,78,0.5) !important;color:#d68276 !important;}

/* ═══════════════════════ 今日页 · 历法 + 每日一诗词 ═══════════════════════ */
.daily-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:26px;align-items:start;}
@media(max-width:900px){.daily-grid{grid-template-columns:1fr;}}
.dl-o-eyebrow{color:rgba(184,155,94,0.75);letter-spacing:.5em;font-size:.72rem;margin-bottom:14px;}
.dl-oracle{border:1px solid rgba(184,155,94,0.2);padding:26px 22px;background:rgba(184,155,94,0.03);text-align:center;}
.dl-o-anchor{color:rgba(230,217,180,0.45);font-size:.78rem;letter-spacing:.2em;margin-bottom:12px;}
.dl-o-seal{color:#E6D9B4;font-size:1.3rem;line-height:2;letter-spacing:.24em;margin:10px 0;}
.dl-o-plain{color:rgba(230,217,180,0.72);font-size:.9rem;margin-top:12px;}
.dl-o-gloss{color:rgba(230,217,180,0.42);font-size:.78rem;margin-top:8px;}
.dl-poem h3{color:#E6D9B4;font-size:1.24rem;letter-spacing:.14em;margin:2px 0 4px;}
.dl-p-meta{color:rgba(230,217,180,0.45);font-size:.8rem;margin-bottom:14px;}
.dl-p-paper{position:relative;border:1px solid rgba(184,155,94,0.22);padding:22px 18px;text-align:center;
  background:linear-gradient(180deg,rgba(184,155,94,0.05),rgba(184,155,94,0.02));margin-bottom:18px;}
.dl-p-paper::before{content:"";position:absolute;inset:5px;border:1px solid rgba(184,155,94,0.1);pointer-events:none;}
.dl-p-line{margin:6px 0;color:rgba(230,217,180,0.88);font-size:1rem;line-height:1.9;letter-spacing:.06em;}
.dl-p-break{height:12px;}
.dl-p-reading h4{color:rgba(184,155,94,0.8);font-size:.8rem;letter-spacing:.4em;margin:16px 0 6px;}
.dl-p-reading p{color:rgba(230,217,180,0.7);font-size:.88rem;line-height:1.95;margin:0;}
.dl-p-me{margin-top:20px;border-top:1px solid rgba(184,155,94,0.14);padding-top:16px;}
.dl-p-me-body{color:rgba(230,217,180,0.7);font-size:.88rem;line-height:1.95;margin-bottom:10px;}

/* ═══════════════════════ 国学 · 夜读/月令/古人此问/养心/检索 ═══════════════════════ */
.dl-extra{margin-top:26px;border:1px solid rgba(184,155,94,0.18);padding:22px;background:rgba(184,155,94,0.03);}
.dl-x-src{color:rgba(230,217,180,0.45);font-size:.8rem;margin:2px 0 10px;}
.dl-x-plain{color:rgba(230,217,180,0.75);font-size:.9rem;line-height:1.95;margin:8px 0;}
.dl-x-note{color:rgba(184,155,94,0.85);font-size:.84rem;letter-spacing:.1em;margin:10px 0 2px;}
.dl-x-orig{color:rgba(230,217,180,0.85);font-size:.92rem;line-height:2;text-indent:2em;}
.gx-echo{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(184,155,94,0.25);text-align:left;}
.gx-echo-lab{color:rgba(184,155,94,0.8);letter-spacing:.3em;font-size:.74rem;margin-bottom:8px;}
.gx-echo-src{color:rgba(230,217,180,0.45);font-size:.78rem;margin:0 0 8px;}
.gx-echo-plain{color:rgba(230,217,180,0.75);font-size:.88rem;line-height:1.9;margin:0 0 6px;}
.gx-echo-note{color:rgba(184,155,94,0.85);font-size:.82rem;letter-spacing:.08em;margin:8px 0;}
.gx-echo-orig summary{color:rgba(184,155,94,0.7);font-size:.78rem;letter-spacing:.16em;cursor:pointer;margin-top:6px;}
.gx-echo-orig p{color:rgba(230,217,180,0.7);font-size:.86rem;line-height:1.95;text-indent:2em;margin-top:8px;}
.dx-nourish-meta{color:rgba(230,217,180,0.6);font-size:.86rem;margin:6px 0 12px;}
.dx-nourish-item{border:1px solid rgba(184,155,94,0.16);margin:8px 0;padding:10px 14px;background:rgba(184,155,94,0.03);}
.dx-nourish-item summary{cursor:pointer;color:#E6D9B4;}
.dx-nourish-item summary small{color:rgba(230,217,180,0.45);margin-left:10px;font-size:.76rem;}
.dx-nourish-poem{margin-top:10px;text-align:center;}
.dx-nourish-poem p{color:rgba(230,217,180,0.82);font-size:.94rem;line-height:1.9;margin:5px 0;}
.dl-gx{margin-top:26px;border-top:1px solid rgba(184,155,94,0.14);padding-top:20px;}
.dl-gx-bar{display:flex;gap:10px;}
.dl-gx-bar input{flex:1;background:rgba(10,10,12,0.6);border:1px solid rgba(184,155,94,0.3);color:#E6D9B4;padding:9px 12px;font-family:inherit;}
.dl-gx-bar select{background:rgba(10,10,12,0.6);border:1px solid rgba(184,155,94,0.3);color:#E6D9B4;padding:9px 8px;font-family:inherit;}
.gx-hit-body p{text-align:left;text-indent:2em;}

/* ── 影语（今日页） ── */
.dl-jn{margin-top:26px;border-top:1px solid rgba(184,155,94,0.14);padding-top:20px;}
.dl-jn-bar{display:flex;gap:10px;margin-top:12px;}
.dl-jn-bar input{flex:1;background:rgba(10,10,12,0.6);border:1px solid rgba(184,155,94,0.3);color:#E6D9B4;padding:10px 12px;font-family:inherit;}
.dl-jn-bar button{background:rgba(178,88,78,0.75);border:none;color:#F2E9D0;padding:10px 22px;letter-spacing:.3em;cursor:pointer;font-family:inherit;}
.jn-knock{margin:12px 0;padding:13px 15px;border:1px solid rgba(178,88,78,0.35);background:rgba(178,88,78,0.06);}
.jn-knock-t{color:rgba(214,130,118,0.9);font-size:.76rem;letter-spacing:.3em;margin-bottom:6px;}
.jn-knock p{color:rgba(230,217,180,0.8);font-size:.86rem;line-height:1.8;margin:0;}
.jn-entry{margin:14px 0;border:1px solid rgba(184,155,94,0.16);background:rgba(184,155,94,0.02);padding:14px 15px;text-align:left;}
.jn-mine .jn-date{color:rgba(230,217,180,0.4);font-size:.72rem;}
.jn-st{font-style:normal;padding:0 5px;border:1px solid rgba(184,155,94,0.4);color:#CBB27A;font-size:.7rem;}
.st-resolved{border-color:rgba(126,166,126,0.5);color:#9dc39d;}
.st-released{border-color:rgba(230,217,180,0.25);color:rgba(230,217,180,0.45);}
.jn-mine p{color:#E6D9B4;font-size:.92rem;line-height:1.85;margin:6px 0 0;}
.jn-reply{margin-top:12px;padding:12px 14px;border-left:2px solid rgba(184,155,94,0.45);background:rgba(184,155,94,0.05);}
.jn-reply.done{border-left-color:rgba(126,166,126,0.5);}
.jn-reply-k{color:rgba(184,155,94,0.8);font-size:.72rem;letter-spacing:.28em;}
.jn-reply p{color:rgba(230,217,180,0.78);font-size:.88rem;line-height:1.95;margin:7px 0 0;}
.jn-acts{display:flex;gap:8px;margin-top:12px;}
.jn-acts button{flex:1;padding:8px 4px;background:none;border:1px solid rgba(184,155,94,0.3);color:rgba(230,217,180,0.75);font-size:.78rem;letter-spacing:.08em;cursor:pointer;font-family:inherit;}

/* ═══════════════════════ 今日页 v2 · 宋韵重排（覆盖初版） ═══════════════════════ */
.daily-panel,.wy-panel{max-width:1060px;margin:0 auto;}
.dl-head{text-align:center;padding:18px 0 30px;}
.dl-head-eyebrow{display:flex;align-items:center;justify-content:center;gap:18px;
  color:rgba(184,155,94,0.75);letter-spacing:.7em;font-size:.74rem;text-indent:.7em;}
.dl-head-eyebrow::before,.dl-head-eyebrow::after{content:"";width:64px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,155,94,0.5));}
.dl-head-eyebrow::after{background:linear-gradient(90deg,rgba(184,155,94,0.5),transparent);}
.dl-head h2{margin:14px 0 8px;color:#E6D9B4;font-size:2rem;font-weight:500;letter-spacing:.18em;}
.dl-head-meta{color:rgba(230,217,180,0.5);font-size:.86rem;letter-spacing:.12em;}
.daily-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:24px;align-items:start;}
@media(max-width:920px){.daily-grid{grid-template-columns:1fr;}}
.dl-col-l{display:flex;flex-direction:column;gap:24px;}

/* 统一卡：外框 + 内衬双线 + 四角点 */
.dl-card{position:relative;border:1px solid rgba(184,155,94,0.28);padding:30px 26px;
  background:linear-gradient(170deg,rgba(184,155,94,0.055),rgba(184,155,94,0.015) 55%,rgba(10,10,12,0));}
.dl-card::before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,155,94,0.12);pointer-events:none;}
.dl-card::after{content:"";position:absolute;width:5px;height:5px;left:-3px;top:-3px;background:#0A0A0C;
  border:1px solid rgba(184,155,94,0.55);transform:rotate(45deg);}
.dl-o-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;
  color:rgba(184,155,94,0.8);letter-spacing:.5em;font-size:.72rem;margin-bottom:16px;text-indent:.5em;}
.dl-o-eyebrow::before,.dl-o-eyebrow::after{content:"";width:30px;height:1px;background:rgba(184,155,94,0.3);}
.dl-oracle{text-align:center;}
.dl-lotus{display:flex;justify-content:center;margin-bottom:14px;}
.dl-lotus svg{width:46px;height:46px;fill:none;stroke:rgba(184,155,94,0.75);stroke-width:1.1;stroke-linejoin:round;}
.dl-lotus .vein{stroke:rgba(184,155,94,0.4);}
.dl-lotus .water{stroke:rgba(184,155,94,0.35);}
.dl-o-anchor{color:rgba(230,217,180,0.45);font-size:.78rem;letter-spacing:.24em;margin-bottom:14px;}
.dl-o-seal{color:#E6D9B4;font-size:1.5rem;line-height:2.1;letter-spacing:.3em;margin:12px 0;}
.dl-o-plain{color:rgba(230,217,180,0.72);font-size:.9rem;margin-top:14px;line-height:1.9;}
.dl-o-gloss{color:rgba(230,217,180,0.42);font-size:.78rem;margin-top:10px;}

.dl-poem h3{color:#E6D9B4;font-size:1.5rem;letter-spacing:.14em;margin:6px 0 6px;text-align:center;font-weight:500;}
.dl-p-meta{color:rgba(230,217,180,0.48);font-size:.8rem;margin-bottom:18px;text-align:center;letter-spacing:.08em;}
.dl-p-paper{position:relative;border:1px solid rgba(184,155,94,0.25);padding:30px 22px 34px;text-align:center;
  background:linear-gradient(180deg,rgba(184,155,94,0.06),rgba(184,155,94,0.02));margin-bottom:8px;}
.dl-p-paper::before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,155,94,0.12);pointer-events:none;}
.dl-p-line{margin:8px 0;color:rgba(230,217,180,0.9);font-size:1.06rem;line-height:2;letter-spacing:.08em;}
.dl-p-stamp{position:absolute;right:16px;bottom:12px;width:30px;height:30px;line-height:28px;
  border:1.5px solid rgba(178,88,78,0.8);color:rgba(214,110,96,0.95);font-size:1.05rem;text-align:center;
  transform:rotate(-4deg);background:rgba(178,88,78,0.06);}
.dl-p-reading{padding:6px 6px 0;}
.dl-p-reading h4{display:flex;align-items:center;gap:12px;color:rgba(184,155,94,0.85);font-size:.78rem;
  letter-spacing:.42em;margin:20px 0 8px;font-weight:500;text-indent:.42em;}
.dl-p-reading h4::before{content:"";width:16px;height:1px;background:rgba(184,155,94,0.4);}
.dl-p-reading p{color:rgba(230,217,180,0.72);font-size:.9rem;line-height:2;margin:0;text-indent:2em;}
.dl-p-me{margin-top:24px;border-top:1px solid rgba(184,155,94,0.16);padding-top:20px;text-align:center;}
.dl-p-me-body{color:rgba(230,217,180,0.72);font-size:.9rem;line-height:2;margin-bottom:12px;text-align:left;text-indent:2em;}

.dl-gx{margin-top:26px;border:1px solid rgba(184,155,94,0.2);padding:24px 26px;background:rgba(184,155,94,0.02);}
.dl-gx .dl-o-eyebrow{margin-bottom:14px;}
.dl-gx-bar input:focus{outline:none;border-color:rgba(184,155,94,0.6);}

/* 问影簿页 */
.wy-wrap{max-width:720px;margin:0 auto;}
.wy-state{color:rgba(230,217,180,0.5);font-size:.82rem;margin:10px 2px;min-height:1.2em;}
.wy-empty{text-align:center;color:rgba(230,217,180,0.45);padding:40px 0;letter-spacing:.1em;}
.wy-panel .dl-jn-bar input{padding:13px 16px;font-size:.95rem;}
.wy-panel .dl-jn-bar button{padding:13px 26px;}
.wy-panel .jn-entry{padding:20px 22px;position:relative;}
.wy-panel .jn-entry::before{content:"";position:absolute;inset:5px;border:1px solid rgba(184,155,94,0.08);pointer-events:none;}
.wy-panel .jn-mine p{font-size:.98rem;}
.wy-panel .jn-reply p{font-size:.92rem;}

/* ── 问影簿 · 页签/统计（桌面） ── */
.jn-tabs{display:flex;justify-content:center;gap:12px;margin:0 0 22px;}
.jn-tab{padding:8px 26px;background:none;border:1px solid rgba(184,155,94,0.25);
  color:rgba(230,217,180,0.6);font-size:.86rem;letter-spacing:.3em;cursor:pointer;font-family:inherit;text-indent:.3em;}
.jn-tab.sel{border-color:rgba(184,155,94,0.7);color:#E6D9B4;background:rgba(184,155,94,0.08);}
.jn-tab.sm{padding:5px 16px;font-size:.76rem;}
.jn-review-tabs{display:flex;justify-content:center;gap:8px;margin:0 0 14px;}
.wy-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:6px 0 26px;}
@media(max-width:720px){.wy-tiles{grid-template-columns:repeat(3,1fr);}}
.wy-tile{border:1px solid rgba(184,155,94,0.2);padding:14px 6px;text-align:center;background:rgba(184,155,94,0.03);}
.wy-tile b{display:block;color:#E6D9B4;font-size:1.4rem;font-weight:500;}
.wy-tile span{color:rgba(230,217,180,0.45);font-size:.74rem;letter-spacing:.2em;}
.jn-bar{display:flex;align-items:center;gap:12px;margin:10px 0;}
.jn-bar-k{width:46px;color:rgba(230,217,180,0.75);font-size:.84rem;letter-spacing:.1em;text-align:right;}
.jn-bar-track{flex:1;height:6px;background:rgba(184,155,94,0.1);}
.jn-bar-track i{display:block;height:100%;background:linear-gradient(90deg,rgba(184,155,94,0.7),rgba(184,155,94,0.3));}
.jn-bar-v{color:rgba(230,217,180,0.45);font-size:.74rem;white-space:nowrap;}
.jn-hide{margin-top:10px;background:none;border:none;color:rgba(230,217,180,0.4);cursor:pointer;
  font-size:.75rem;letter-spacing:.16em;text-decoration:underline dotted;padding:2px 0;font-family:inherit;}
#wy-stats .dl-o-eyebrow{margin:24px 0 12px;}

/* ── 旧事箴言（桌面） ── */
.jn-motto{border:1px solid rgba(184,155,94,0.28);padding:24px 22px;margin-bottom:22px;text-align:center;position:relative;
  background:linear-gradient(170deg,rgba(184,155,94,0.06),rgba(184,155,94,0.015));}
.jn-motto::before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,155,94,0.1);pointer-events:none;}
.jn-motto-line{color:#E6D9B4;font-size:1.15rem;line-height:1.9;letter-spacing:.16em;margin:2px 0 12px;}
.jn-motto-relief{color:rgba(230,217,180,0.72);font-size:.9rem;line-height:2;margin:0 0 12px;text-align:left;text-indent:2em;}
.jn-motto-books{color:rgba(184,155,94,0.85);font-size:.84rem;line-height:1.9;margin:0;text-align:left;}
.jn-motto-books small{color:rgba(230,217,180,0.35);font-size:.72rem;}

/* ═══════════════════════ 书卷阅读层（桌面） ═══════════════════════ */
.reader-layer{position:fixed;inset:0;z-index:80;display:flex;align-items:stretch;justify-content:center;
  box-sizing:border-box;height:100dvh;padding:24px 0;overflow:hidden;}
.rd-backdrop{position:absolute;inset:0;background:rgba(4,4,6,0.82);backdrop-filter:blur(3px);}
.rd-panel{position:relative;width:min(760px,94vw);height:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(180deg,#101014,#0B0B0E);border:1px solid rgba(184,155,94,0.35);}
.rd-panel::before{content:"";position:absolute;inset:7px;border:1px solid rgba(184,155,94,0.12);pointer-events:none;}
.rd-top{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;
  border-bottom:1px solid rgba(184,155,94,0.18);}
.rd-top span:first-child{color:#E6D9B4;letter-spacing:.3em;font-size:.95rem;}
.rd-top-acts button{background:none;border:1px solid rgba(184,155,94,0.35);color:rgba(230,217,180,0.75);
  width:32px;height:32px;padding:0;margin-left:8px;cursor:pointer;font-family:inherit;}
.rd-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:34px 46px;
  overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;}
.rd-head{text-align:center;margin-bottom:26px;}
.rd-head h1{color:#E6D9B4;font-size:1.7rem;letter-spacing:.22em;font-weight:500;margin:0 0 10px;}
.rd-meta{color:rgba(230,217,180,0.45);font-size:.8rem;letter-spacing:.12em;}
.rd-rule{width:64px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,rgba(184,155,94,0.6),transparent);}
.rd-text p{color:rgba(230,217,180,0.86);font-size:1.02rem;line-height:2.2;text-indent:2em;margin:0 0 16px;}
.rd-body[data-font="lg"] .rd-text p{font-size:1.15rem;}
.rd-body[data-font="xl"] .rd-text p{font-size:1.3rem;}
.rd-foot{color:rgba(230,217,180,0.3);font-size:.72rem;text-align:center;margin:28px 0 6px;}
.rd-bar{flex:0 0 auto;display:flex;gap:1px;background:rgba(184,155,94,0.18);border-top:1px solid rgba(184,155,94,0.2);}
.rd-bar button{flex:1;padding:13px 0;background:#0C0C0F;border:none;color:rgba(230,217,180,0.75);
  letter-spacing:.24em;cursor:pointer;font-family:inherit;font-size:.86rem;}
.rd-bar button:disabled{color:rgba(230,217,180,0.2);cursor:default;}
.rd-toc-pop{position:absolute;bottom:54px;left:50%;transform:translateX(-50%);width:min(420px,86%);
  max-height:46vh;overflow:auto;background:#0E0E12;border:1px solid rgba(184,155,94,0.4);padding:10px;z-index:3;}
.rd-toc-i{display:flex;justify-content:space-between;width:100%;padding:9px 14px;margin:4px 0;background:none;
  border:1px solid rgba(184,155,94,0.18);color:rgba(230,217,180,0.75);cursor:pointer;font-family:inherit;font-size:.86rem;}
.rd-toc-i.cur{border-color:rgba(184,155,94,0.7);color:#E6D9B4;background:rgba(184,155,94,0.08);}
.rd-toc-i small{color:rgba(230,217,180,0.35);}
body.reader-open{overflow:hidden;}

/* 检索结果卡（今日页） */
.gx-hit-card{display:flex;justify-content:space-between;gap:16px;align-items:center;
  border:1px solid rgba(184,155,94,0.18);background:rgba(184,155,94,0.03);padding:14px 18px;margin:10px 0;text-align:left;}
.gx-hit-main b{color:#E6D9B4;font-size:1rem;letter-spacing:.08em;}
.gx-hit-main small{color:rgba(230,217,180,0.45);margin-left:10px;font-size:.76rem;}
.gx-hit-main p{color:rgba(230,217,180,0.6);font-size:.84rem;line-height:1.8;margin:6px 0 0;}
.gx-hit-acts{display:flex;flex-direction:column;gap:8px;}
.gx-hit-acts button{white-space:nowrap;padding:7px 16px;background:none;border:1px solid rgba(184,155,94,0.35);
  color:rgba(184,155,94,0.9);cursor:pointer;font-family:inherit;font-size:.8rem;letter-spacing:.1em;}
.gx-hit-acts button:hover{background:rgba(184,155,94,0.1);}
.rd-center p{text-align:center;text-indent:0;}

/* ── 月影回信 · 笺纸版式 v2（桌面） ── */
.jn-reply{position:relative;margin-top:14px;padding:20px 20px 32px;border:1px solid rgba(184,155,94,0.25);border-left:2px solid rgba(184,155,94,0.5);
  background:linear-gradient(168deg,rgba(184,155,94,0.07),rgba(184,155,94,0.02) 60%,rgba(10,10,12,0));}
.jn-reply::before{content:"";position:absolute;inset:5px;border:1px solid rgba(184,155,94,0.1);pointer-events:none;}
.jn-reply.done{border-left-color:rgba(126,166,126,0.55);}
.jn-reply .jn-reply-k{display:inline-block;border-bottom:1px solid rgba(184,155,94,0.3);padding-bottom:4px;}
.jn-reply p{text-indent:2em;line-height:2.05;}
.jn-quote{color:#E8C97A;}
.jn-sign{position:absolute;right:14px;bottom:10px;width:24px;height:24px;
  border:1.2px solid rgba(178,88,78,0.75);color:rgba(214,110,96,0.9);font-size:.6rem;
  display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;letter-spacing:1px;
  transform:rotate(-3deg);background:rgba(178,88,78,0.06);}
.jn-evidence{position:relative;z-index:1;margin:16px 0 2px;border-top:1px solid rgba(184,155,94,0.18);padding-top:11px;}
.jn-evidence summary{width:max-content;max-width:100%;cursor:pointer;color:rgba(184,155,94,0.82);
  font-size:.73rem;letter-spacing:.16em;list-style-position:inside;}
.jn-evidence-list{display:grid;gap:9px;margin-top:10px;}
.jn-evidence-item{border-left:1px solid rgba(184,155,94,0.26);padding:7px 10px;background:rgba(184,155,94,0.035);}
.jn-evidence-item b{color:rgba(230,217,180,0.82);font-size:.79rem;font-weight:500;}
.jn-evidence-item small{display:inline;margin-left:8px;color:rgba(230,217,180,0.42);font-size:.7rem;}
.jn-reply .jn-evidence-item p{margin:5px 0 0;color:rgba(230,217,180,0.62);font-size:.78rem;line-height:1.75;text-indent:0;}

/* ── 不准？重新生成批文（桌面） ── */
.regen-btn{display:block;margin:18px auto 6px;padding:8px 24px;background:none;cursor:pointer;font-family:inherit;
  border:1px dashed rgba(184,155,94,0.4);color:rgba(184,155,94,0.85);font-size:.8rem;letter-spacing:.16em;}
.regen-btn:hover{background:rgba(184,155,94,0.08);}
.regen-btn.sm{margin:10px 0 0;padding:5px 14px;font-size:.74rem;display:inline-block;}
.reader-layer[hidden]{display:none!important;}

/* 全局保险：hidden 属性永远生效，防 display 规则顶掉（书卷层卡死一类 bug 的总根治） */
[hidden]{display:none!important;}

/* ── 典籍书目（今日页） ── */
.ct-book{display:block;width:100%;text-align:left;padding:12px 16px;margin:8px 0;cursor:pointer;font-family:inherit;
  border:1px solid rgba(184,155,94,0.18);background:rgba(184,155,94,0.03);}
.ct-book:hover{background:rgba(184,155,94,0.08);}
.ct-book b{color:#E6D9B4;font-size:.98rem;letter-spacing:.06em;font-weight:500;}
.ct-book small{display:block;color:rgba(230,217,180,0.45);font-size:.76rem;margin-top:4px;}
.rd-toc-q{width:100%;box-sizing:border-box;background:rgba(10,10,12,0.7);border:1px solid rgba(184,155,94,0.3);
  color:#E6D9B4;padding:8px 12px;font-family:inherit;margin-bottom:8px;}
#rd-toc-list{max-height:36vh;overflow:auto;}

/* ── 书目翻页（桌面） ── */
.ct-pager{display:flex;align-items:center;gap:14px;margin:14px 0;}
.ct-pager button{flex:1;padding:9px 0;background:none;border:1px solid rgba(184,155,94,0.3);cursor:pointer;font-family:inherit;
  color:rgba(230,217,180,0.75);font-size:.82rem;letter-spacing:.16em;}
.ct-pager button:hover:not(:disabled){background:rgba(184,155,94,0.08);}
.ct-pager button:disabled{color:rgba(230,217,180,0.2);border-color:rgba(184,155,94,0.12);cursor:default;}
.ct-pager span{color:rgba(230,217,180,0.45);font-size:.76rem;white-space:nowrap;}
.account-legal{margin-top:14px;color:rgba(230,217,180,0.4);font-size:.76rem;line-height:1.9;}
.account-legal a{color:rgba(184,155,94,0.75);text-decoration:none;}
.account-legal-note{display:block;color:rgba(230,217,180,0.3);font-size:.7rem;margin-top:4px;}
.reg-agree{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;margin-top:8px;color:rgba(230,217,180,0.6);font-size:.8rem;text-align:left;}
.reg-agree span{flex:1 1 auto;}
.reg-agree a{color:#CBB27A;text-decoration:none;}
.login-legal{margin-top:14px;text-align:center;color:rgba(230,217,180,0.4);font-size:.74rem;line-height:1.75;overflow-wrap:anywhere;}
.login-legal a{color:rgba(184,155,94,0.75);text-decoration:none;}

/* ── 头像下拉 · 个人设置菜单 ── */
.nav-user-card{min-width:220px;max-height:calc(100vh - 82px);overflow-y:auto;overscroll-behavior:contain;}
.nav-menu-sec{color:rgba(184,155,94,0.6);font-size:.66rem;letter-spacing:.4em;margin:12px 4px 6px;text-indent:.4em;}
.nav-menu-rule{height:1px;background:rgba(184,155,94,0.15);margin:10px 0 6px;}
.nav-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 6px;background:none;border:none;border-radius:7px;cursor:pointer;
  color:rgba(230,217,180,0.8);font-size:.86rem;font-family:inherit;text-align:left;}
.nav-menu-item:hover{background:rgba(184,155,94,0.08);}
.nav-menu-item i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;flex:none;
  border:1px solid rgba(184,155,94,0.35);color:rgba(184,155,94,0.85);font-size:.72rem;}
.nav-menu-item.danger{color:#d68276;}
.nav-menu-item.danger i{border-color:rgba(178,88,78,0.5);color:#d68276;}

/* ── 个人设置弹窗 ── */
.ps-modal{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;}
.ps-modal[hidden]{display:none!important;}
body.ps-open{overflow:hidden;}
.ps-back{position:absolute;inset:0;background:rgba(4,4,6,0.8);backdrop-filter:blur(3px);}
.ps-panel{position:relative;width:min(400px,92vw);background:linear-gradient(180deg,#101014,#0B0B0E);
  border:1px solid rgba(184,155,94,0.35);padding:30px 28px;}
.ps-panel::before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,155,94,0.12);pointer-events:none;}
.ps-x{position:absolute;top:12px;right:12px;width:30px;height:30px;background:none;cursor:pointer;
  padding:0;border:1px solid rgba(184,155,94,0.35);color:rgba(230,217,180,0.7);font-family:inherit;}
.ps-field{display:block;margin:14px 0;}
.ps-field span{display:block;color:rgba(230,217,180,0.5);font-size:.78rem;margin-bottom:6px;letter-spacing:.1em;}
.ps-field input{width:100%;box-sizing:border-box;background:rgba(10,10,12,0.7);border:1px solid rgba(184,155,94,0.3);
  color:#E6D9B4;padding:10px 12px;font-family:inherit;font-size:.95rem;}
.ps-field input:focus{outline:none;border-color:rgba(184,155,94,0.6);}
.ps-field input:disabled{opacity:.55;cursor:wait;}
.ps-st{color:rgba(230,217,180,0.55);font-size:.8rem;min-height:1.2em;margin:6px 0;}
.ps-panel .primary-cta{width:100%;margin-top:8px;}
.ps-danger-title{margin:0 0 10px;color:#e0b2aa;font-family:var(--font-display),serif;font-size:1.25rem;font-weight:500;}
.ps-danger-copy{margin:0 0 18px;color:rgba(230,217,180,0.58);font-size:.86rem;line-height:1.85;overflow-wrap:anywhere;}
.ps-danger-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin-top:12px;}
.ps-danger-actions button{width:100%;min-width:0;white-space:normal;line-height:1.35;}
.danger-btn{background:rgba(178,88,78,0.07);transition:border-color .2s,color .2s,background .2s,opacity .2s;}
.danger-btn:hover:not(:disabled){border-color:rgba(214,130,118,0.72)!important;color:#efb9b0!important;background:rgba(178,88,78,0.14);}
.danger-btn:disabled{opacity:.42;cursor:not-allowed;}

@media(max-width:560px){
  .login-overlay{align-items:flex-start;padding:64px 12px 24px;}
  .login-close{top:14px;right:14px;}
  .login-card{padding:24px 18px 20px;}
  .login-brand{gap:5px;}
  .login-foot{letter-spacing:.2em;text-align:center;}
  .reg-gender{gap:7px;}
  .reg-gender button{padding:14px 4px;font-size:.9rem;}
  .reg-nav{align-items:stretch;}
  .reg-nav .ghost-button{flex:1 1 42%;}
  .reg-nav .primary-cta{flex:1 1 58%;letter-spacing:.1em;}
  .account-main-actions,.account-session-actions{display:grid;grid-template-columns:1fr;}
  .account-main-actions button,.account-session-actions button{width:100%;}
  .ps-panel{max-height:calc(100vh - 28px);overflow-y:auto;padding:28px 20px;}
  .ps-danger-actions{grid-template-columns:1fr;}
}

/* ── 修复：全局 input/select width:100% 在 flex 工具条内的塌陷 ── */
.dl-gx-bar input,.dl-jn-bar input{width:auto;min-width:0;flex:1 1 auto;margin-top:0;border-radius:4px;}
.dl-gx-bar select{width:auto;flex:0 0 auto;margin-top:0;border-radius:4px;padding-right:34px;
  background-image:linear-gradient(45deg,transparent 50%,rgba(184,155,94,0.7) 50%),linear-gradient(135deg,rgba(184,155,94,0.7) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;}
.dl-jn-bar button{flex:0 0 auto;}

/* ═══════════════════════ 今日页 · 阴历月历 + 星历轮盘（移植手机端） ═══════════════════════ */
.dl-almrow{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0 26px;align-items:stretch;}
.dl-almrow .dl-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column;}
.dl-skycard{justify-content:flex-start;}
.dl-skycard #sk-reading{margin-top:auto;font-size:.86rem;line-height:2.05;color:rgba(230,217,180,0.68);
  letter-spacing:.02em;padding-top:12px;border-top:1px solid rgba(184,155,94,0.16);}
.dl-skycard #sk-reading:empty{border-top:none;padding-top:0;}
.lc-cell i,.lc-cell u{white-space:nowrap;}
@media(max-width:920px){.dl-almrow{grid-template-columns:1fr;}}
.lc-head{display:flex;align-items:center;gap:10px;margin:4px 0 6px;}
.lc-head-mid{flex:1;text-align:center;}
.lc-title{margin:0;font-family:var(--dx-display,var(--serif));font-size:1.55rem;color:#E6D9B4;font-weight:500;letter-spacing:.16em;}
.lc-sub{color:rgba(230,217,180,0.4);font-size:.72rem;margin-top:3px;}
.lc-nav{width:32px;height:32px;flex:0 0 32px;display:flex;align-items:center;justify-content:center;background:none;
  padding:0;border:1px solid rgba(184,155,94,0.26);border-radius:50%;color:rgba(230,217,180,0.5);cursor:pointer;font-family:inherit;
  font-size:.95rem;line-height:1;transition:border-color .18s,color .18s;}
.lc-nav:hover{border-color:rgba(184,155,94,0.6);color:#E6D9B4;}
.lc-week{display:grid;grid-template-columns:repeat(7,1fr);margin:16px 0 6px;padding-bottom:8px;border-bottom:1px solid rgba(184,155,94,0.16);}
.lc-week span{text-align:center;color:rgba(184,155,94,0.55);font-size:.68rem;letter-spacing:.32em;text-indent:.32em;}
.lc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.lc-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px 8px;cursor:pointer;font-family:inherit;
  background:none;border:none;border-radius:8px;transition:background .18s;}
.lc-cell:hover{background:rgba(184,155,94,0.06);}
.lc-cell.lc-empty{background:none;border:none;cursor:default;}
.lc-cell.today{background:rgba(184,155,94,0.09);box-shadow:0 0 0 1px rgba(184,155,94,0.55) inset;}
.lc-cell b{font-family:var(--serif);font-size:1.05rem;color:rgba(230,217,180,0.92);font-weight:500;line-height:1.1;}
.lc-cell.today b{color:#F0E3BE;}
.lc-cell i{font-style:normal;font-size:.66rem;line-height:1.25;letter-spacing:.04em;}
.lc-lunar{color:rgba(230,217,180,0.45);}
.lc-first{color:#B89B5E;}
.lc-term{color:#D66E60;font-weight:500;}
.lc-cell u{text-decoration:none;color:rgba(230,217,180,0.24);font-size:.58rem;letter-spacing:.1em;text-indent:.1em;}
.lc-detail{margin-top:12px;padding:12px 14px;border:1px solid rgba(184,155,94,0.2);background:rgba(184,155,94,0.04);
  display:flex;flex-direction:column;gap:4px;}
.lc-detail .lc-det-t{color:#E6D9B4;font-size:.9rem;}
.lc-detail span{color:rgba(230,217,180,0.6);font-size:.78rem;}
/* 星历轮盘 */
.sk-wrap{position:relative;width:min(100%,330px);margin:10px auto 4px;}
.sk-wrap::before{content:"";position:absolute;inset:6%;border-radius:50%;
  background:radial-gradient(circle,rgba(184,155,94,0.08),transparent 70%);pointer-events:none;}
.sk-wheel{display:block;width:100%;height:auto;aspect-ratio:1 / 1;max-width:100%;}
.sk-ring{fill:none;stroke:rgba(184,155,94,0.35);stroke-width:1;}
.sk-ring.dim{stroke:rgba(184,155,94,0.16);}
.sk-tick{stroke:rgba(184,155,94,0.25);stroke-width:0.8;}
.sk-mtick{stroke:rgba(184,155,94,0.18);stroke-width:0.7;}
.sk-wedge{fill:rgba(184,155,94,0.045);stroke:none;}
.sk-dust{fill:rgba(230,217,180,0.5);animation:foTwinkle 3.4s ease-in-out infinite;}
@keyframes foTwinkle{0%,100%{opacity:.25}50%{opacity:.85}}
.sk-sign{fill:rgba(184,155,94,0.75);font-size:13px;text-anchor:middle;}
.sk-pbg{fill:rgba(10,10,12,0.9);stroke:rgba(184,155,94,0.4);stroke-width:0.8;}
.sk-pt{font-size:11px;text-anchor:middle;fill:rgba(230,217,180,0.9);}
.sk-deg{fill:rgba(230,217,180,0.4);font-size:7.5px;text-anchor:middle;}
.sk-body.minor .sk-pbg{stroke:rgba(184,155,94,0.24);}
.sk-body.minor .sk-pt{fill:rgba(230,217,180,0.55);}
.sk-body.retro .sk-pt{filter:drop-shadow(0 0 3px rgba(199,61,61,0.8));}
.sk-center{fill:#B89B5E;}
.sk-asc{stroke:rgba(199,61,61,0.8);stroke-width:1.4;}
.sk-asc-t{fill:#D66E60;font-size:9px;text-anchor:middle;letter-spacing:1px;}
.sk-chord{stroke-dasharray:320;stroke-dashoffset:320;animation:foSkDraw 2.2s ease .4s forwards;}
@keyframes foSkDraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){.sk-dust,.sk-chord{animation:none !important;}}
.sk-moon{display:flex;align-items:center;gap:14px;padding:13px 18px;margin:14px 0 12px;
  border:1px solid rgba(184,155,94,0.2);background:rgba(184,155,94,0.04);}
.sk-moon-em{font-size:1.7rem;}
.sk-moon b{display:block;color:#E6D9B4;font-size:1rem;font-weight:500;}
.sk-moon span{color:rgba(230,217,180,0.5);font-size:.76rem;}
.sk-asc-chip{margin-left:auto;padding:4px 12px;border:1px solid rgba(199,61,61,0.4);color:#D66E60;font-size:.76rem;}

/* ── 紫微补完：格局牌 + 原典块 ── */
.dx-zw-pats{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 18px;}
.dx-zw-pat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;cursor:pointer;font-family:inherit;
  background:rgba(184,155,94,0.06);border:1px solid rgba(184,155,94,0.3);color:#E6D9B4;transition:background .2s;}
.dx-zw-pat:hover{background:rgba(184,155,94,0.12);}
.dx-zw-pat b{font-size:.95rem;letter-spacing:.1em;font-weight:500;}
.dx-zw-pat span{font-size:.66rem;color:rgba(184,155,94,0.85);letter-spacing:.14em;}
.dx-zw-pat.bad{border-color:rgba(199,61,61,0.45);}
.dx-zw-pat.bad span{color:#D66E60;}
.dx-canon-block{margin-top:14px;padding-top:12px;border-top:1px solid rgba(184,155,94,0.2);}
.dx-canon-e{color:rgba(184,155,94,0.85);font-size:.72rem;letter-spacing:.18em;margin:0 0 8px;}
.dx-canon-wait{color:rgba(230,217,180,0.4);}

/* ── 站底：非经营性声明 + 备案 ── */
.site-footer{max-width:1120px;margin:48px auto 28px;padding:20px 24px 0;border-top:1px solid rgba(184,155,94,0.14);text-align:center;}
.site-footer p{margin:6px 0;color:rgba(230,217,180,0.32);font-size:.72rem;letter-spacing:.06em;line-height:1.9;}
.site-footer a{color:rgba(184,155,94,0.55);text-decoration:none;}
.site-footer a:hover{color:#B89B5E;}

/* ── 今日页顶 · 今日一句（莲花/太极为饰，喜用定色） ── */
.dl-omen{display:flex;align-items:center;gap:26px;margin:6px 0 22px;padding:24px 30px;position:relative;
  border:1px solid rgba(184,155,94,0.28);background:
    radial-gradient(ellipse at 12% 50%, rgba(184,155,94,0.07), transparent 55%),
    radial-gradient(ellipse at 88% 50%, rgba(184,155,94,0.05), transparent 55%),
    rgba(12,12,16,0.5);}
.dl-omen::before,.dl-omen::after{content:"";position:absolute;top:8px;bottom:8px;width:1px;background:linear-gradient(rgba(184,155,94,0),rgba(184,155,94,0.35),rgba(184,155,94,0));}
.dl-omen::before{left:8px;}
.dl-omen::after{right:8px;}
.dl-omen-lotus{flex:0 0 56px;}
.dl-omen-lotus svg{width:56px;height:56px;fill:none;stroke:rgba(184,155,94,0.75);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.dl-omen[data-mood="yong"] .dl-omen-lotus svg{stroke:rgba(214,110,96,0.85);}
.dl-omen-main{flex:1 1 auto;min-width:0;}
.dl-omen-e{margin:0 0 8px;color:rgba(184,155,94,0.6);font-size:.7rem;letter-spacing:.34em;}
.dl-omen-seal{margin:0;font-family:var(--dx-display,var(--serif));font-size:1.7rem;font-weight:500;letter-spacing:.12em;color:#E6D9B4;line-height:1.3;}
.dl-omen[data-mood="yong"] .dl-omen-seal{color:#D66E60;}
.dl-omen[data-mood="ji"] .dl-omen-seal{color:#8FA8BF;}
.dl-omen-plain{margin:8px 0 0;color:rgba(230,217,180,0.6);font-size:.9rem;line-height:1.9;}
.dl-omen-cells{display:flex;gap:0;margin-top:16px;padding-top:14px;border-top:1px solid rgba(184,155,94,0.16);}
.dl-omen-cells > div{flex:1;padding:0 18px;border-left:1px solid rgba(184,155,94,0.14);}
.dl-omen-cells > div:first-child{padding-left:0;border-left:none;}
.dl-omen-cells i{display:block;font-style:normal;color:rgba(184,155,94,0.6);font-size:.68rem;letter-spacing:.3em;margin-bottom:5px;}
.dl-omen-cells b{color:#E6D9B4;font-size:1rem;font-weight:500;letter-spacing:.06em;}
.dl-omen-cells b.dlo-muted{color:rgba(230,217,180,0.42);}
.dl-omen-taiji{flex:0 0 44px;align-self:flex-start;margin-top:2px;}
.dl-omen-taiji svg{width:44px;height:44px;animation:dlTaiji 90s linear infinite;transform-origin:center;}
.dl-omen-taiji .tj-base{fill:rgba(10,10,13,0.92);stroke:none;}   /* 阴仪：暗底 */
.dl-omen-taiji .tj-fish{fill:rgba(184,155,94,0.5);stroke:none;}  /* 阳仪：金 */
.dl-omen-taiji .tj-dot-a{fill:rgba(10,10,13,0.92);stroke:none;}  /* 阳中一点阴 */
.dl-omen-taiji .tj-dot-b{fill:rgba(184,155,94,0.6);stroke:none;} /* 阴中一点阳 */
.dl-omen-taiji .tj-ring{fill:none;stroke:rgba(184,155,94,0.45);stroke-width:1;}
@keyframes dlTaiji{to{transform:rotate(360deg);}}
@media(max-width:920px){.dl-omen{flex-direction:column;text-align:center;gap:14px;}
  .dl-omen-cells{justify-content:center;}.dl-omen-taiji{display:none;}}

/* ══════════ 月影 · 月下投笺 ══════════ */
.wy-hero{position:relative;min-height:240px;margin:-6px 0 26px;border:1px solid rgba(184,155,94,0.3);overflow:hidden;
  background:
    radial-gradient(ellipse 60% 90% at 78% 10%, rgba(90,98,140,0.28), transparent 60%),
    radial-gradient(ellipse 70% 100% at 20% 100%, rgba(30,34,52,0.7), transparent 70%),
    linear-gradient(180deg, #0B0D16 0%, #101322 55%, #0B0C12 100%);}
.wy-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;}
.wy-hero-veil{position:absolute;inset:0;background:linear-gradient(90deg, rgba(8,9,14,0.82) 0%, rgba(8,9,14,0.35) 45%, rgba(8,9,14,0.12) 100%);}
.wy-hero-figure{position:absolute;right:4%;bottom:0;height:96%;object-fit:contain;filter:drop-shadow(0 6px 24px rgba(0,0,0,0.55));}
.wy-hero-moon{position:absolute;right:9%;top:14%;color:rgba(230,205,150,0.9);opacity:.95;}
.wy-hero.nofig .wy-hero-moon{right:12%;top:18%;}
.wy-hero-moon svg{width:72px;height:72px;filter:drop-shadow(0 0 26px rgba(230,205,150,0.35));}
.wy-hero:not(.nofig) .wy-hero-moon{display:none;}
.wy-hero-title{position:absolute;left:38px;top:50%;transform:translateY(-50%);display:flex;align-items:flex-start;gap:18px;}
.wy-hero-v{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--dx-display,var(--serif));
  font-size:2.3rem;letter-spacing:.28em;color:#EFE3C0;text-shadow:0 2px 18px rgba(0,0,0,0.6);}
.wy-hero-sub{writing-mode:vertical-rl;text-orientation:upright;margin-top:8px;color:rgba(230,217,180,0.55);
  font-size:.76rem;letter-spacing:.3em;}
.wy-hero-seal{position:absolute;left:34px;bottom:22px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:upright;color:#E8E2D4;font-size:.78rem;letter-spacing:.1em;line-height:1.1;
  background:rgba(158,53,45,0.88);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,0.4);font-family:var(--serif);}

/* 页签 → 朱砂书签（垂签） */
.wy-wrap .jn-tabs{display:flex;gap:14px;margin:0 0 20px;border-bottom:1px solid rgba(184,155,94,0.18);padding-bottom:0;}
.wy-wrap .jn-tab{position:relative;padding:10px 18px 14px;background:linear-gradient(180deg, rgba(184,155,94,0.05), rgba(184,155,94,0.02));
  border:1px solid rgba(184,155,94,0.22);border-bottom:none;border-radius:6px 6px 0 0;color:rgba(230,217,180,0.55);
  font-family:var(--serif);letter-spacing:.14em;transition:color .2s,background .2s;}
.wy-wrap .jn-tab.sel{color:#F0E3BE;background:linear-gradient(180deg, rgba(158,53,45,0.32), rgba(158,53,45,0.10));
  border-color:rgba(199,84,72,0.5);}
.wy-wrap .jn-tab.sel::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);
  width:26px;height:3px;background:#C75448;border-radius:2px;}

/* 投笺输入 · 宣纹笺 */
.dl-jn-bar{background:
    repeating-linear-gradient(90deg, rgba(184,155,94,0.05) 0 1px, transparent 1px 28px),
    rgba(16,15,19,0.7);border:1px solid rgba(184,155,94,0.3);padding:8px 8px 8px 18px;}
.dl-jn-bar input{background:none;border:none;}
#jn-send{background:rgba(158,53,45,0.85);border:none;color:#F0E3BE;letter-spacing:.2em;font-family:var(--serif);}
#jn-send:hover{background:rgba(178,63,53,0.95);}

/* ══════════ 典籍 · 藏书楼 ══════════ */
.cx-hero{position:relative;min-height:200px;margin:-6px 0 26px;border:1px solid rgba(184,155,94,0.3);overflow:hidden;
  background:linear-gradient(180deg, #0E0D12 0%, #14121A 60%, #0B0A0E 100%);}
.cx-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;}
.cx-hero-veil{position:absolute;inset:0;background:linear-gradient(90deg, rgba(8,9,14,0.85) 0%, rgba(8,9,14,0.4) 50%, rgba(8,9,14,0.18) 100%);}
.cx-hero-shelf{position:absolute;right:6%;bottom:0;top:18%;display:flex;align-items:flex-end;gap:7px;opacity:.6;}
.cx-hero-bg ~ .cx-hero-shelf{display:none;}   /* 有画稿时隐藏兜底书堆 */
.cx-hero-shelf i{display:block;width:17px;border-radius:2px 2px 0 0;border:1px solid rgba(184,155,94,0.25);border-bottom:none;
  background:linear-gradient(180deg, rgba(184,155,94,0.16), rgba(184,155,94,0.04));}
.cx-hero-shelf i:nth-child(3n){height:78%;background:linear-gradient(180deg, rgba(158,53,45,0.3), rgba(158,53,45,0.08));}
.cx-hero-shelf i:nth-child(3n+1){height:92%;}
.cx-hero-shelf i:nth-child(3n+2){height:64%;}
.cx-hero-shelf i:nth-child(5n){height:85%;background:linear-gradient(180deg, rgba(90,98,140,0.3), rgba(90,98,140,0.08));}
.cx-hero-title{position:absolute;left:42px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;max-width:70%;}
.cx-hero-v{font-family:var(--dx-display,var(--serif));font-size:2rem;letter-spacing:.42em;color:#EFE3C0;
  text-shadow:0 2px 18px rgba(0,0,0,0.75),0 0 2px rgba(0,0,0,0.9);line-height:1;}
.cx-hero-sub{color:rgba(230,217,180,0.6);font-size:.78rem;letter-spacing:.22em;line-height:1.9;
  text-shadow:0 1px 8px rgba(0,0,0,0.8);}
.cx-hero-seal{position:absolute;left:34px;bottom:20px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:upright;color:#E8E2D4;font-size:.74rem;letter-spacing:.08em;
  background:rgba(158,53,45,0.88);border-radius:4px;font-family:var(--serif);}
.canonx-panel .jn-tabs{display:flex;gap:14px;margin:0 0 20px;border-bottom:1px solid rgba(184,155,94,0.18);}

/* 书目 → 书脊墙 */
#ct-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;align-items:stretch;margin-top:6px;}
#ct-list > p{grid-column:1/-1;}
.ct-book.ct-spine{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;
  min-height:198px;padding:14px 6px 10px;margin:0;text-align:center;cursor:pointer;font-family:inherit;
  border:1px solid rgba(184,155,94,0.28);border-radius:3px 3px 2px 2px;position:relative;
  background:linear-gradient(90deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0) 18%, rgba(0,0,0,0.22) 100%),
             linear-gradient(180deg, rgba(34,30,38,0.95), rgba(22,20,26,0.95));
  transition:transform .18s,border-color .18s,box-shadow .18s;}
.ct-book.ct-spine:hover{transform:translateY(-5px);border-color:rgba(184,155,94,0.6);box-shadow:0 10px 22px rgba(0,0,0,0.45);background:linear-gradient(90deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0) 18%, rgba(0,0,0,0.22) 100%), linear-gradient(180deg, rgba(40,36,44,0.95), rgba(24,22,28,0.95));}
.ct-spine::before{content:"";position:absolute;top:8px;left:8px;right:8px;height:1px;background:rgba(184,155,94,0.3);}
.ct-spine::after{content:"";position:absolute;bottom:26px;left:8px;right:8px;height:1px;background:rgba(184,155,94,0.2);}
.ct-spine b{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--serif);font-weight:500;
  color:#E6D9B4;font-size:.95rem;letter-spacing:.12em;line-height:1.3;max-height:132px;overflow:hidden;}
.ct-spine small{display:block;color:rgba(230,217,180,0.4);font-size:.6rem;letter-spacing:.05em;line-height:1.5;}
.ct-spine .ct-tag{position:absolute;top:0;right:9px;width:16px;padding:6px 0 8px;border-radius:0 0 3px 3px;
  writing-mode:vertical-rl;text-orientation:upright;font-size:.58rem;letter-spacing:.06em;color:#EFE3C0;line-height:1;}
.ct-tag.c-shici{background:rgba(158,53,45,0.85);}
.ct-tag.c-jingdian{background:rgba(74,84,120,0.9);}
.ct-tag.c-shushu{background:rgba(120,90,40,0.9);}
.ct-tag.c-zhengshi{background:rgba(64,78,64,0.92);}
.ct-tag.c-yeshi{background:rgba(96,66,86,0.9);}
.ct-tag.c-xiaoshuo{background:rgba(140,84,52,0.9);}
.ct-tag.c-sanwen{background:rgba(70,96,100,0.9);}
.ct-tag.c-oracle{background:rgba(88,70,110,0.9);}

/* ══════════ 月影 v2 · 整页铺画 + 玻璃笺卡 ══════════ */
/* 月影 · 真全屏：画作 fixed 铺满视口（顶栏之下），面板卸壳透底 */
.wy-panel{position:relative;min-height:calc(100vh - 140px);padding:0;border:none;border-radius:0;background:none;}
.wy-panel > *:not(.scene-frame){position:relative;z-index:1;}
/* wy 场景经由 .scene-frame/.scene-sticky 承载 */
.wy-panel.noscene .wy-scene-veil{background:none;}
.wy-panel.noscene{background:
  radial-gradient(ellipse 60% 90% at 78% 8%, rgba(90,98,140,0.3), transparent 60%),
  radial-gradient(ellipse 70% 100% at 15% 100%, rgba(30,34,52,0.7), transparent 70%),
  linear-gradient(180deg, #0B0D16 0%, #101322 55%, #0B0C12 100%);}
.wy-scene{object-position:center 42%;}
.wy-scene-veil{position:absolute;inset:0;background:
  radial-gradient(ellipse 62% 68% at 50% 44%, rgba(8,8,12,0.18), rgba(8,8,12,0.55) 88%, rgba(8,8,12,0.7) 100%);}
.wy-glass{position:relative;z-index:1;max-width:880px;margin:7vh auto 48px;padding:40px 48px 30px;
  background:rgba(11,11,15,0.55);border:1px solid rgba(184,155,94,0.32);border-radius:18px;
  backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 24px 70px rgba(0,0,0,0.55), inset 0 1px 0 rgba(230,217,180,0.06);}
.wy-glass-head{text-align:center;margin-bottom:22px;}
.wy-glass-head h2{margin:10px 0 8px;font-family:var(--serif);font-size:1.75rem;font-weight:500;
  letter-spacing:.3em;text-indent:.3em;color:#F0E3BE;}
.wy-glass-meta{margin:0;color:rgba(230,217,180,0.5);font-size:.82rem;letter-spacing:.2em;}
.wy-glass-seal{position:absolute;top:22px;right:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:upright;color:#E8E2D4;font-size:.7rem;letter-spacing:.08em;
  background:rgba(158,53,45,0.85);border-radius:4px;font-family:var(--serif);box-shadow:0 2px 8px rgba(0,0,0,0.35);}
.wy-glass .jn-tabs{justify-content:center;}
@media(max-width:920px){.wy-glass{margin:20px 12px;padding:26px 18px 20px;}}

/* 月影页：顶栏通透，让画从栏后透出来 */
body.wy-open .top-bar{background:rgba(7,9,15,0.30);border-bottom-color:rgba(184,155,94,0.12);
  backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);}

/* 首页定场 · 画作铺底（中央留空归诗） */
/* 首页 hero 全出血：破开容器占满视口宽 */
body.landing-home .hero{width:100vw;margin-left:calc(50% - 50vw);}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
/* 画作在场时，隐去标题自带的月亮（与画中月重复） */
.hero:has(.hero-art) .hero-seal-svg{display:none;}
.hero-art-veil{position:absolute;inset:0;z-index:0;background:
  radial-gradient(ellipse 46% 62% at 50% 46%, rgba(6,7,10,0.5), rgba(6,7,10,0.12) 70%, rgba(6,7,10,0.0) 100%),
  linear-gradient(180deg, rgba(6,7,10,0.42) 0%, rgba(6,7,10,0) 22%, rgba(6,7,10,0) 72%, rgba(6,7,10,0.5) 100%);}
.hero-art ~ .hero-veil{opacity:.35;}   /* 有画时弱化原星空罩 */
.hero-content{position:relative;z-index:1;}
.hero-actions,.hero-status,.hero-scroll-cue{z-index:1;}
body.landing-home .top-bar{background:rgba(7,9,15,0.22) !important;border-bottom-color:rgba(184,155,94,0.12) !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;-webkit-backdrop-filter:blur(18px) saturate(1.15) !important;}

/* 定场词牌行：画上加影提对比；窄屏画面下移避月 */
.hero-eyebrow{position:relative;z-index:1;color:rgba(230,217,180,0.85);text-shadow:0 1px 10px rgba(0,0,0,0.9),0 0 24px rgba(0,0,0,0.7);}
@media(max-width:960px){.hero-art{object-position:center 72%;}}

/* ══════════ 今日 · 夜市长卷（全屏固定 + 滚动视差展卷） + 文字卡毛玻璃 ══════════ */
.daily-panel{position:relative;border:none;border-radius:0;background:none;}
.dl-scene{opacity:.94;object-position:50% 0%;}
.dl-scene-fade{position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 66% at 50% 42%, rgba(10,10,13,0.16), rgba(10,10,13,0.42) 92%);}
.daily-panel > *:not(.scene-frame){position:relative;z-index:1;}
body.dl-open .top-bar{background:rgba(7,9,15,0.22) !important;border-bottom-color:rgba(184,155,94,0.12) !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;-webkit-backdrop-filter:blur(18px) saturate(1.15) !important;}
/* 文字承载区 · 80% 毛玻璃 */
.daily-panel .dl-omen,
.daily-panel .dl-card,
.daily-panel .dl-almrow > .dl-card{
  background:rgba(11,11,15,0.80);
  backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);}
.daily-panel .dl-head{padding:10px 16px;background:rgba(11,11,15,0.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(184,155,94,0.18);}

/* 定场词牌行 · 提亮加影（上一版对比不够） */
.hero .hero-eyebrow{color:#EFE3C0 !important;text-shadow:0 1px 8px rgba(0,0,0,0.95),0 0 22px rgba(0,0,0,0.85),0 0 2px rgba(0,0,0,1);}

/* ══════════ 典籍 · 藏书楼全屏画 + 玻璃书阁 ══════════ */
.cx-scene{opacity:.94;object-position:center;}
.cx-scene-veil{position:absolute;inset:0;
  background:radial-gradient(ellipse 68% 64% at 50% 44%, rgba(10,10,13,0.22), rgba(10,10,13,0.5) 94%);}
.canonx-panel{position:relative;}
.canonx-panel > *:not(.scene-frame){position:relative;z-index:1;}
/* 有画时：面板卸壳、横幅转为透明题字（兜底书堆隐去） */
.canonx-panel:has(.cx-scene){border:none;border-radius:0;background:none;}
.canonx-panel:has(.cx-scene) .cx-hero{border:none;background:none;min-height:150px;}
.canonx-panel:has(.cx-scene) .cx-hero-bg,
.canonx-panel:has(.cx-scene) .cx-hero-shelf,
.canonx-panel:has(.cx-scene) .cx-hero-veil{display:none;}
/* 书阁内容 · 玻璃卡 */
.canonx-panel:has(.cx-scene) .wy-wrap{padding:26px 30px;background:rgba(11,11,15,0.78);
  border:1px solid rgba(184,155,94,0.3);border-radius:16px;
  backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);}
body.cx-open .top-bar{background:rgba(7,9,15,0.22) !important;border-bottom-color:rgba(184,155,94,0.12) !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;-webkit-backdrop-filter:blur(18px) saturate(1.15) !important;}


/* ══════════ 场景取景框（sticky 贴屏，免疫 fixed 劫持，永不露黑） ══════════ */
.scene-frame{position:absolute;top:clamp(-160px,-12vw,-100px);bottom:0;left:calc(50% - 50vw);width:100vw;
  z-index:0;pointer-events:none;}   /* 破容器满视口宽，并向上补足壳与台的留白 */
.scene-sticky{position:sticky;top:0;height:100vh;overflow:hidden;}
.scene-sticky > img{width:100%;height:100%;object-fit:cover;display:block;}

.canonx-panel:has(.cx-scene) .cx-hero-title{padding:14px 22px;background:rgba(8,8,11,0.5);
  border:1px solid rgba(184,155,94,0.22);border-radius:10px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}

/* ══════════ 命途 · 星河为幕（画自暗，薄纱即可，字不必重玻璃） ══════════ */
.workspace-panel[data-workspace-panel="destiny"]{position:relative;}
.workspace-panel[data-workspace-panel="destiny"] > *:not(.scene-frame){position:relative;z-index:1;}
.dx-scene{opacity:.96;object-position:50% 0%;}
.dx-scene-fade{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,10,13,0.30) 0%, rgba(10,10,13,0.06) 30%, rgba(10,10,13,0.10) 78%, rgba(10,10,13,0.38) 100%);}
body.dx-open .top-bar{background:rgba(7,9,15,0.22) !important;border-bottom-color:rgba(184,155,94,0.12) !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;-webkit-backdrop-filter:blur(18px) saturate(1.15) !important;}
/* 星幕在场时：整卷文字区衬一层近实毛玻璃——字与星分层，星河只在卷外与上下透出 */
.workspace-panel[data-workspace-panel="destiny"]:has(.dx-scene) .destiny-explore{
  background:rgba(10,10,13,0.88);
  border:1px solid rgba(184,155,94,0.16);border-radius:20px;
  padding:30px 36px 40px;
  backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);
  box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.workspace-panel[data-workspace-panel="destiny"]:has(.dx-scene) #destiny-subject-entry:not([hidden]){
  background:rgba(10,10,13,0.88);border:1px solid rgba(184,155,94,0.16);border-radius:16px;padding:18px;
  backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);
  position:relative;z-index:1;margin-bottom:14px;}
@media(max-width:760px){
  .workspace-panel[data-workspace-panel="destiny"]:has(.dx-scene) .destiny-explore{padding:20px 16px 28px;}}

/* 藏书印：挂在题匾右上角骑缝，不再压字 */
.cx-hero-title{position:absolute;}
.cx-hero-title .cx-hero-seal{position:absolute;top:-14px;right:-14px;left:auto;bottom:auto;}

/* ══════════ 开卷引导 · 功能手卷 ══════════ */
.nav-help{padding:6px 14px;background:none;border:1px solid rgba(184,155,94,0.3);border-radius:8px;
  color:rgba(230,217,180,0.7);font-family:var(--serif);font-size:.82rem;letter-spacing:.14em;cursor:pointer;
  transition:color .2s,border-color .2s;}
.nav-help:hover{color:#F0E3BE;border-color:rgba(184,155,94,0.6);}
#intro-layer{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;}
#intro-layer[hidden]{display:none;}
.intro-backdrop{position:absolute;inset:0;background:rgba(5,5,8,0.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.intro-panel{position:relative;width:min(560px, calc(100vw - 40px));max-height:86vh;overflow-y:auto;
  background:rgba(13,13,17,0.96);border:1px solid rgba(184,155,94,0.4);border-radius:16px;
  box-shadow:0 30px 90px rgba(0,0,0,0.6);padding:26px 30px 20px;}
.intro-close{position:absolute;top:14px;right:14px;width:32px;height:32px;background:none;border:1px solid rgba(184,155,94,0.3);
  padding:0;border-radius:50%;color:rgba(230,217,180,0.6);cursor:pointer;font-size:.85rem;}
.intro-close:hover{color:#F0E3BE;border-color:rgba(184,155,94,0.6);}
.intro-art{margin:-26px -30px 18px;height:170px;overflow:hidden;border-radius:15px 15px 0 0;position:relative;}
.intro-art img{width:100%;height:100%;object-fit:cover;}
.intro-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(13,13,17,0) 40%, rgba(13,13,17,0.9) 100%);}
.intro-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.intro-seal{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;
  background:rgba(158,53,45,0.88);border-radius:8px;color:#F0E3BE;font-family:var(--dx-display,var(--serif));
  font-size:1.4rem;box-shadow:0 2px 10px rgba(0,0,0,0.4);}
.intro-head h3{margin:0;font-family:var(--serif);font-size:1.3rem;font-weight:500;letter-spacing:.12em;color:#F0E3BE;}
.intro-line{margin:0 0 12px;color:rgba(230,217,180,0.72);font-size:.92rem;line-height:2;}
.intro-go{margin-top:4px;padding:9px 22px;background:rgba(158,53,45,0.85);border:none;border-radius:8px;
  color:#F0E3BE;font-family:var(--serif);letter-spacing:.14em;cursor:pointer;}
.intro-go:hover{background:rgba(178,63,53,0.95);}
.intro-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:14px;
  border-top:1px solid rgba(184,155,94,0.18);}
.intro-nav{padding:8px 16px;background:none;border:1px solid rgba(184,155,94,0.3);border-radius:8px;
  color:rgba(230,217,180,0.7);font-family:var(--serif);letter-spacing:.08em;cursor:pointer;}
.intro-nav:disabled{opacity:.35;cursor:default;}
.intro-dots{display:flex;gap:8px;}
.intro-dots i{width:7px;height:7px;border-radius:50%;background:rgba(184,155,94,0.28);}
.intro-dots i.on{background:#C75448;}

/* ══════════ 档案收敛 · 历史降噪 · 双人合盘（20260720n） ══════════ */
.account-hero-tools:empty{display:none;}
.account-settings-form[hidden]{display:none !important;}
.account-hero-panel{grid-template-columns:minmax(0,1fr) minmax(210px,260px) !important;gap:18px !important;padding:16px 20px !important;align-items:center;}
.account-hero-panel::after{display:none;}
.account-hero-compact{max-width:none;gap:3px;}
.account-hero-title-sm{max-width:none !important;white-space:nowrap;font-size:1.2rem !important;line-height:1.35 !important;}
.account-hero-compact .meta-line{font-size:.78rem;line-height:1.65;max-width:58ch;}
.account-hero-rail{gap:6px;}
.account-session-shell{padding:6px 9px !important;gap:0 !important;border-radius:14px;}
.account-summary-slim{padding:5px 7px !important;margin-bottom:0 !important;}
.account-me-avatar{width:34px;height:34px;flex-basis:34px;font-size:1rem;}
.account-me-id strong{font-size:.92rem;}
.account-me-id small{font-size:.68rem;}
.account-status-line:empty{display:none;}
.account-directory-panel .pf-row{cursor:pointer;}
.account-directory-panel .pf-row.sel{border-color:rgba(184,155,94,.62);background:rgba(184,155,94,.09);}
.account-directory-panel .pf-row:focus-visible{outline:2px solid rgba(210,181,116,.75);outline-offset:3px;}

.history-simple-head{display:flex;align-items:flex-end;justify-content:space-between;padding:18px 4px 6px;border-bottom:1px solid rgba(184,155,94,.16);}
.history-simple-head h2{margin:4px 0 5px;font-family:var(--font-display,var(--serif));font-size:1.55rem;font-weight:500;color:#E6D9B4;letter-spacing:.08em;}
.history-simple-head .meta-line{margin:0;}
.history-conversation-fold{margin-top:18px;border-top:1px solid rgba(184,155,94,.16);padding-top:12px;}
.history-conversation-fold>summary{cursor:pointer;color:rgba(184,155,94,.78);font-size:.8rem;letter-spacing:.13em;list-style:none;}
.history-conversation-fold>summary::-webkit-details-marker{display:none;}
.history-conversation-fold>summary::before{content:"＋ ";}
.history-conversation-fold[open]>summary::before{content:"－ ";}
.history-conversation-fold .message-list{margin-top:14px;}
.history-conversation-fold .message-head span{display:none;}
[data-workspace-panel="history"] #consultation-list>.empty-mini{grid-column:1/-1;min-height:150px;display:grid;place-items:center;text-align:center;padding:24px;border:1px dashed rgba(184,155,94,.2);border-radius:12px;color:rgba(230,217,180,.52);}

.destiny-explore .dx-hepan-entry{position:relative;width:100%;margin:9px 0 25px;padding:19px 24px;display:flex;align-items:center;gap:18px;text-align:left;overflow:hidden;
  border:1px solid rgba(199,61,61,.52);border-radius:15px;background:linear-gradient(120deg,rgba(113,25,29,.34),rgba(17,17,22,.88) 48%,rgba(184,155,94,.1));
  color:#E6D9B4;box-shadow:0 16px 34px rgba(0,0,0,.28);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;}
.destiny-explore .dx-hepan-entry::after{content:"";position:absolute;right:-52px;top:-78px;width:190px;height:190px;border:1px solid rgba(184,155,94,.19);border-radius:50%;box-shadow:0 0 0 20px rgba(184,155,94,.035),0 0 0 42px rgba(184,155,94,.025);pointer-events:none;}
.destiny-explore .dx-hepan-entry:hover{transform:translateY(-2px);border-color:rgba(211,82,68,.82);box-shadow:0 20px 44px rgba(0,0,0,.38);}
.destiny-explore .dx-hepan-entry:focus-visible{outline:2px solid #D3B46F;outline-offset:3px;}
.destiny-explore .dx-hepan-mark{position:relative;z-index:1;flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:8px;transform:rotate(-3deg);
  background:#96302d;color:#F2DFC0;font-family:var(--font-display,var(--serif));font-size:1.65rem;box-shadow:0 6px 16px rgba(0,0,0,.38);}
.destiny-explore .dx-hepan-copy{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:16px;row-gap:4px;min-width:0;}
.destiny-explore .dx-hepan-copy small{grid-column:1/-1;color:rgba(184,155,94,.78);font-size:.68rem;letter-spacing:.32em;}
.destiny-explore .dx-hepan-copy strong{font-family:var(--font-display,var(--serif));font-size:1.55rem;font-weight:500;letter-spacing:.16em;color:#F0E3BE;}
.destiny-explore .dx-hepan-copy em{font-style:normal;color:rgba(230,217,180,.64);font-size:.82rem;line-height:1.6;}

.hepan-sheet{position:relative;width:min(1120px,calc(100vw - 40px));max-height:calc(100dvh - 56px);min-height:0;overflow:hidden;box-sizing:border-box;padding:30px 34px 38px;display:flex;flex-direction:column;
  color:#E6D9B4;background:radial-gradient(circle at 85% 4%,rgba(134,35,35,.14),transparent 30%),linear-gradient(155deg,#131317,#09090c 68%);
  border:1px solid rgba(184,155,94,.38);border-radius:20px;box-shadow:0 36px 110px rgba(0,0,0,.68);scrollbar-color:rgba(184,155,94,.32) transparent;}
.hepan-sheet::before{content:"";position:absolute;inset:7px;border:1px solid rgba(184,155,94,.1);border-radius:14px;pointer-events:none;}
.hepan-sheet:focus{outline:none;}
.hepan-head{position:relative;z-index:2;flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:22px;border-bottom:1px solid rgba(184,155,94,.18);}
.hepan-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;}
.hepan-head h2{margin:4px 0 6px;font-family:var(--font-display,var(--serif));font-size:2.2rem;font-weight:400;letter-spacing:.18em;color:#F0E3BE;}
.hepan-head>div>p:last-child{max-width:670px;margin:0;color:rgba(230,217,180,.6);font-size:.86rem;line-height:1.85;}
.hepan-close{flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(184,155,94,.32);border-radius:50%;background:rgba(10,10,13,.65);color:rgba(230,217,180,.72);font-size:1.25rem;cursor:pointer;}
.hepan-close:hover{border-color:rgba(184,155,94,.7);color:#F0E3BE;}
.hepan-close:focus-visible{outline:2px solid #D3B46F;outline-offset:3px;}

.hepan-form{padding:25px 0 6px;}
.hepan-relation-fieldset{margin:0 0 20px;padding:0;border:0;}
.hepan-relation-fieldset legend{margin-bottom:10px;color:rgba(184,155,94,.72);font-size:.72rem;letter-spacing:.22em;}
.hepan-relation-options{display:flex;gap:9px;flex-wrap:wrap;}
.hepan-relation-options label{position:relative;cursor:pointer;}
.hepan-relation-options input{position:absolute;opacity:0;pointer-events:none;}
.hepan-relation-options span{display:block;padding:9px 17px;border:1px solid rgba(184,155,94,.26);border-radius:999px;background:rgba(184,155,94,.035);color:rgba(230,217,180,.72);font-size:.84rem;transition:border-color .18s,background .18s,color .18s;}
.hepan-relation-options input:checked+span{border-color:rgba(192,63,55,.82);background:rgba(139,37,35,.28);color:#F0E3BE;}
.hepan-relation-options input:focus-visible+span{outline:2px solid #D3B46F;outline-offset:3px;}
.hepan-picker-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:end;gap:12px;}
.hepan-picker{display:flex;flex-direction:column;gap:8px;color:rgba(184,155,94,.75);font-size:.75rem;letter-spacing:.16em;}
.hepan-picker select{width:100%;box-sizing:border-box;padding:13px 40px 13px 14px;border:1px solid rgba(184,155,94,.32);border-radius:9px;background:#0d0d11;color:#E6D9B4;font:inherit;font-size:.94rem;letter-spacing:.04em;}
.hepan-picker select:focus{outline:2px solid rgba(211,180,111,.7);outline-offset:2px;}
.hepan-pair-mark{align-self:center;margin-top:24px;text-align:center;color:rgba(184,155,94,.58);font-family:var(--font-display,var(--serif));font-size:1.25rem;}
.hepan-hint{margin:13px 0 0;color:rgba(230,217,180,.46);font-size:.76rem;line-height:1.75;}
.hepan-hint.is-warning{padding:9px 12px;border-left:2px solid #B75147;background:rgba(151,47,42,.1);color:#d9a29a;}
.hepan-actions{display:flex;justify-content:flex-end;margin-top:18px;}
.hepan-actions .primary-cta{min-width:180px;}
.hepan-status{min-height:1.4em;margin:10px 0 0;color:rgba(230,217,180,.65);font-size:.82rem;line-height:1.7;}
.hepan-status.is-error{color:#df9187;}
.hepan-form[aria-busy="true"],.hepan-result[aria-busy="true"]{opacity:.64;pointer-events:none;}
.hepan-empty{padding:48px 18px 36px;text-align:center;}
.hepan-empty-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border:1px solid rgba(184,155,94,.42);border-radius:50%;color:#D7B96E;font-family:var(--font-display,var(--serif));font-size:1.7rem;}
.hepan-empty h3{margin:0 0 8px;font-family:var(--font-display,var(--serif));font-size:1.4rem;font-weight:400;color:#F0E3BE;}
.hepan-empty p{margin:0 0 20px;color:rgba(230,217,180,.58);line-height:1.8;}

.hepan-result{margin-top:22px;padding:25px 2px 2px;border-top:1px solid rgba(184,155,94,.2);}
.hepan-result-head{text-align:center;margin-bottom:20px;}
.hepan-result-head h3{margin:5px 0 6px;font-family:var(--font-display,var(--serif));font-size:1.72rem;font-weight:400;letter-spacing:.08em;color:#F0E3BE;}
.hepan-result-note{margin:0;color:rgba(230,217,180,.52);font-size:.8rem;line-height:1.7;}
.hepan-result-note .hepan-warning{margin:10px auto 0;max-width:760px;text-align:left;}

.hepan-pillar-compare{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:20px;}
.hepan-pillar-person{min-width:0;padding:17px;border:1px solid rgba(184,155,94,.22);border-radius:15px;background:linear-gradient(145deg,rgba(184,155,94,.045),rgba(255,255,255,.012));box-shadow:0 14px 32px rgba(0,0,0,.17);}
.hepan-pillar-person-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid rgba(184,155,94,.13);}
.hepan-pillar-person-head>div{min-width:0;}
.hepan-pillar-person-head span{display:block;color:rgba(184,155,94,.62);font-size:.62rem;letter-spacing:.16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hepan-pillar-person-head h4{margin:4px 0 0;color:#F0E3BE;font-family:var(--font-display,var(--serif));font-size:1.2rem;font-weight:500;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hepan-pillar-person-head p{flex:0 0 auto;margin:0;text-align:right;}
.hepan-pillar-person-head p small{display:block;color:rgba(230,217,180,.4);font-size:.58rem;letter-spacing:.16em;}
.hepan-pillar-person-head p strong{display:block;margin-top:3px;color:rgba(230,217,180,.78);font-size:.72rem;font-weight:500;}
.hepan-pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.hepan-pillar{position:relative;min-width:0;min-height:145px;padding:9px 5px 8px;text-align:center;border:1px solid rgba(184,155,94,.12);border-radius:10px;background:rgba(4,4,7,.27);overflow:hidden;}
.hepan-pillar.is-day{border-color:rgba(169,61,54,.5);background:linear-gradient(180deg,rgba(139,37,35,.13),rgba(4,4,7,.24));}
.hepan-pillar>span{display:block;color:rgba(184,155,94,.55);font-size:.6rem;letter-spacing:.12em;}
.hepan-pillar-glyphs{display:grid;gap:0;margin:7px 0 3px;}
.hepan-pillar-glyphs b{font-family:var(--font-display,var(--serif));font-size:1.72rem;line-height:1.02;font-weight:400;color:#EADDB8;}
.hepan-pillar.is-day .hepan-pillar-glyphs b{color:#F2D9AE;}
.hepan-pillar>small{display:block;min-height:1.25em;color:#A9443D;font-size:.6rem;line-height:1.25;}
.hepan-pillar>em{display:block;margin-top:5px;color:rgba(230,217,180,.38);font-size:.55rem;line-height:1.35;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hepan-pillar.is-missing{display:grid;grid-template-rows:auto 1fr;opacity:.55;border-style:dashed;}
.hepan-pillar-missing{align-self:center;display:grid;gap:8px;}
.hepan-pillar-missing b{color:rgba(230,217,180,.28);font-family:var(--font-display,var(--serif));font-size:1.65rem;font-weight:400;}
.hepan-pillar-missing small{color:rgba(230,217,180,.45);font-size:.58rem;}
.hepan-pillar-metrics{display:grid;gap:0;margin-top:10px;padding-top:7px;border-top:1px solid rgba(184,155,94,.1);}
.hepan-pillar-metric{display:grid;grid-template-columns:35px repeat(4,minmax(0,1fr));align-items:center;min-height:22px;}
.hepan-pillar-metric>span{color:rgba(184,155,94,.48);font-size:.55rem;letter-spacing:.08em;}
.hepan-pillar-metric>b{min-width:0;padding:0 3px;text-align:center;color:rgba(230,217,180,.5);font-size:.55rem;font-weight:400;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hepan-pillar-metric+.hepan-pillar-metric{border-top:1px solid rgba(184,155,94,.055);}
.hepan-pillar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(184,155,94,.5);}
.hepan-pillar-link i{width:1px;height:34px;background:linear-gradient(transparent,rgba(184,155,94,.33),transparent);}
.hepan-pillar-link span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(184,155,94,.3);border-radius:50%;font-family:var(--font-display,var(--serif));font-size:.85rem;color:rgba(230,217,180,.68);}

.hepan-section{margin-top:17px;padding:20px 22px 22px;border:1px solid rgba(184,155,94,.18);border-radius:15px;background:rgba(8,8,11,.36);}
.hepan-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:17px;}
.hepan-section-head>span{flex:0 0 auto;margin-top:4px;color:#A93D36;font-size:.64rem;letter-spacing:.25em;}
.hepan-section-head h3{margin:0;font-family:var(--font-display,var(--serif));font-size:1.19rem;font-weight:400;color:#E6D9B4;}
.hepan-section-head p{margin:4px 0 0;color:rgba(230,217,180,.42);font-size:.68rem;line-height:1.65;}

.hepan-mirror-chart{max-width:850px;margin:0 auto;}
.hepan-mirror-head{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);align-items:end;gap:12px;margin-bottom:10px;padding:0 50px;}
.hepan-mirror-head strong{min-width:0;color:rgba(230,217,180,.77);font-size:.78rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hepan-mirror-head strong:first-child{text-align:right;}
.hepan-mirror-head span{text-align:center;color:rgba(184,155,94,.5);font-size:.58rem;letter-spacing:.1em;}
.hepan-mirror-rows{display:grid;gap:7px;}
.hepan-mirror-row{display:grid;grid-template-columns:42px minmax(70px,1fr) 36px minmax(70px,1fr) 42px;align-items:center;gap:8px;min-height:22px;}
.hepan-mirror-row>b{text-align:center;color:rgba(230,217,180,.78);font-family:var(--font-display,var(--serif));font-size:.82rem;font-weight:500;}
.hepan-mirror-value{color:rgba(230,217,180,.48);font-size:.62rem;font-variant-numeric:tabular-nums;}
.hepan-mirror-value.is-left{text-align:right;}
.hepan-mirror-track{display:flex;align-items:center;height:7px;border-radius:999px;background:rgba(184,155,94,.075);overflow:hidden;}
.hepan-mirror-track.is-left{justify-content:flex-end;}
.hepan-mirror-track i{display:block;height:100%;border-radius:inherit;min-width:0;}
.hepan-mirror-track.is-left i{background:linear-gradient(90deg,rgba(181,66,54,.48),rgba(204,164,83,.88));}
.hepan-mirror-track.is-right i{background:linear-gradient(90deg,rgba(204,164,83,.88),rgba(181,66,54,.48));}
.hepan-mirror-track.is-empty{opacity:.3;}
.hepan-mirror-note{margin:14px 0 0;text-align:center;color:rgba(230,217,180,.39);font-size:.63rem;line-height:1.65;}
.hepan-ten-exchange{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch;gap:12px;}
.hepan-ten-exchange>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 12px;padding:13px 15px;border:1px solid rgba(184,155,94,.13);border-radius:10px;background:rgba(255,255,255,.016);}
.hepan-ten-exchange>div.is-left{text-align:right;}
.hepan-ten-exchange>div small{grid-column:1/-1;color:rgba(230,217,180,.42);font-size:.62rem;}
.hepan-ten-exchange>div strong{color:#E7D7AB;font-family:var(--font-display,var(--serif));font-size:1.18rem;font-weight:500;}
.hepan-ten-exchange>div span{color:rgba(184,155,94,.62);font-size:.68rem;}
.hepan-ten-exchange>b{align-self:center;text-align:center;color:rgba(184,155,94,.5);font-size:.65rem;font-weight:400;}

.hepan-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.hepan-theme-card{position:relative;min-width:0;padding:17px 18px 15px;border:1px solid rgba(184,155,94,.16);border-radius:12px;background:linear-gradient(145deg,rgba(184,155,94,.035),rgba(255,255,255,.012));overflow:hidden;}
.hepan-theme-card:last-child:nth-child(odd){grid-column:1/-1;}
.hepan-theme-card:nth-last-child(2):nth-child(odd){grid-column:1/-1;}
.hepan-theme-card::after{content:"";position:absolute;right:-25px;top:-32px;width:88px;height:88px;border:1px solid rgba(184,155,94,.055);border-radius:50%;pointer-events:none;}
.hepan-theme-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hepan-theme-card>header span{color:#A9443D;font-size:.61rem;letter-spacing:.2em;}
.hepan-theme-card>header small{color:rgba(184,155,94,.25);font-size:.61rem;font-variant-numeric:tabular-nums;}
.hepan-theme-card>h4{margin:8px 0 7px;color:#EADDB8;font-family:var(--font-display,var(--serif));font-size:1.06rem;font-weight:500;letter-spacing:.04em;}
.hepan-theme-card>p{margin:0;color:rgba(230,217,180,.65);font-size:.78rem;line-height:1.78;overflow-wrap:anywhere;}
.hepan-theme-card>details{margin-top:13px;padding-top:10px;border-top:1px solid rgba(184,155,94,.11);}
.hepan-theme-card>details>summary{width:max-content;cursor:pointer;color:rgba(184,155,94,.68);font-size:.66rem;letter-spacing:.08em;list-style:none;}
.hepan-theme-card>details>summary::-webkit-details-marker{display:none;}
.hepan-theme-card>details>summary::after{content:" ＋";}
.hepan-theme-card>details[open]>summary::after{content:" －";}
.hepan-theme-card>details>summary:focus-visible{outline:2px solid #D3B46F;outline-offset:3px;}
.hepan-theme-basis{margin-top:11px;color:rgba(230,217,180,.55);font-size:.69rem;line-height:1.75;}
.hepan-theme-basis>p{margin:0;}
.hepan-theme-basis ul{display:grid;gap:5px;margin:0;padding-left:1.25em;}
.hepan-theme-basis blockquote{margin:12px 0 0;padding:11px 12px;border-left:2px solid rgba(169,61,54,.6);background:rgba(169,61,54,.055);}
.hepan-theme-basis blockquote span{display:block;margin-bottom:5px;color:#A9443D;font-size:.58rem;letter-spacing:.14em;}
.hepan-theme-basis blockquote p{margin:0;color:rgba(230,217,180,.68);font-family:var(--serif);font-size:.76rem;line-height:1.7;}
.hepan-theme-basis blockquote cite{display:block;margin-top:5px;color:rgba(184,155,94,.52);font-size:.61rem;font-style:normal;}
.hepan-ancient-hint{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 18px;margin-top:1px;padding:15px 17px;border:1px solid rgba(169,61,54,.28);border-radius:11px;background:linear-gradient(90deg,rgba(132,35,34,.09),rgba(184,155,94,.025));}
.hepan-ancient-hint>span{grid-row:1/3;color:#A9443D;font-size:.61rem;letter-spacing:.2em;writing-mode:vertical-rl;}
.hepan-ancient-hint blockquote{margin:0;color:rgba(230,217,180,.73);font-family:var(--serif);font-size:.82rem;line-height:1.75;}
.hepan-ancient-hint cite{color:rgba(184,155,94,.57);font-size:.65rem;font-style:normal;white-space:nowrap;}
.hepan-ancient-hint small{grid-column:2/-1;color:rgba(230,217,180,.38);font-size:.6rem;line-height:1.55;}

.hepan-muted{margin:0;color:rgba(230,217,180,.45);font-size:.78rem;line-height:1.75;}
.hepan-warning{margin:10px 0;padding:10px 13px;border:1px solid rgba(184,155,94,.18);border-radius:8px;color:rgba(230,217,180,.58);font-size:.74rem;line-height:1.7;}
.hepan-annotation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;margin-top:18px;padding:20px;border:1px solid rgba(167,52,47,.36);border-radius:14px;background:linear-gradient(120deg,rgba(125,33,35,.14),rgba(255,255,255,.015));}
.hepan-annotation h3{margin:3px 0 5px;font-family:var(--font-display,var(--serif));font-size:1.2rem;font-weight:400;color:#F0E3BE;}
.hepan-annotation>div:first-child>p:last-child{margin:0;color:rgba(230,217,180,.54);font-size:.76rem;line-height:1.65;}
.hepan-annotation>button{white-space:nowrap;}
.hepan-annotation .hepan-status,.hepan-annotation-text{grid-column:1/-1;}
.hepan-annotation-text{padding:16px 18px;border-top:1px solid rgba(184,155,94,.16);color:rgba(230,217,180,.82);font-family:var(--serif);font-size:.9rem;line-height:2;white-space:pre-wrap;}
.hepan-annotation-text>p{margin:0;}
.hepan-annotation-sources{display:grid;gap:4px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(184,155,94,.13);white-space:normal;}
.hepan-annotation-sources strong{color:rgba(184,155,94,.72);font-size:.72rem;font-weight:500;letter-spacing:.12em;}
.hepan-annotation-sources span{color:rgba(230,217,180,.57);font-size:.72rem;line-height:1.65;}

.hepan-audit{margin-top:17px;border:1px solid rgba(184,155,94,.16);border-radius:13px;background:rgba(3,3,6,.24);}
.hepan-audit>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;}
.hepan-audit>summary::-webkit-details-marker{display:none;}
.hepan-audit>summary>span{display:flex;align-items:baseline;gap:12px;}
.hepan-audit>summary small{color:#A9443D;font-size:.58rem;letter-spacing:.22em;}
.hepan-audit>summary strong{color:rgba(230,217,180,.72);font-size:.82rem;font-weight:500;}
.hepan-audit>summary em{color:rgba(184,155,94,.42);font-size:.62rem;font-style:normal;}
.hepan-audit>summary::after{content:"＋";order:3;color:rgba(184,155,94,.5);}
.hepan-audit[open]>summary::after{content:"－";}
.hepan-audit>summary:focus-visible{outline:2px solid #D3B46F;outline-offset:3px;}
.hepan-audit-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:0 18px 18px;border-top:1px solid rgba(184,155,94,.1);}
.hepan-audit-body>section{min-width:0;padding-top:16px;}
.hepan-audit-body>section:first-child{grid-column:1/-1;}
.hepan-audit-body h4{margin:0 0 10px;color:rgba(184,155,94,.72);font-size:.7rem;font-weight:500;letter-spacing:.12em;}
.hepan-interactions,.hepan-evidence{display:grid;gap:8px;}
.hepan-audit-rule,.hepan-evidence-item,.hepan-audit-rule-notes{padding:12px 13px;border-left:2px solid rgba(184,155,94,.35);border-radius:0 8px 8px 0;background:rgba(184,155,94,.025);}
.hepan-audit-rule>header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;}
.hepan-audit-rule h5,.hepan-evidence-item h5,.hepan-audit-rule-notes h5{margin:0;color:rgba(230,217,180,.76);font-size:.74rem;font-weight:500;}
.hepan-audit-rule>header span{color:rgba(184,155,94,.53);font-size:.61rem;white-space:nowrap;}
.hepan-audit-rule p,.hepan-evidence-item p,.hepan-audit-rule-notes p{margin:6px 0 0;color:rgba(230,217,180,.52);font-size:.68rem;line-height:1.68;overflow-wrap:anywhere;}
.hepan-audit-rule ul{display:grid;gap:4px;margin:8px 0 0;padding-left:1.15em;color:rgba(230,217,180,.48);font-size:.64rem;line-height:1.6;}
.hepan-audit-rule>small{display:block;margin-top:7px;color:rgba(184,155,94,.45);font-size:.59rem;line-height:1.55;}
.hepan-evidence-item small,.hepan-audit-rule-notes small{display:block;margin-top:6px;color:rgba(184,155,94,.45);font-size:.59rem;line-height:1.55;}
.hepan-audit-rule-notes{margin-top:3px;}
.hepan-audit-rule-notes>article{margin-top:9px;padding-top:9px;border-top:1px solid rgba(184,155,94,.1);}
.hepan-audit-rule-notes>article strong{color:rgba(230,217,180,.62);font-size:.69rem;font-weight:500;}

@media(max-width:1100px){
  .account-hero-panel{grid-template-columns:1fr !important;align-items:start;}
  .account-hero-rail{max-width:330px;}
}

@media(max-width:720px){
  .account-hero-panel{grid-template-columns:1fr !important;padding:15px 16px !important;gap:10px !important;}
  .account-hero-title-sm{white-space:normal;text-wrap:balance;font-size:1.08rem !important;}
  .history-simple-head{padding-inline:0;}
  .destiny-explore .dx-hepan-entry{padding:17px 16px;gap:13px;}
  .destiny-explore .dx-hepan-mark{flex-basis:44px;width:44px;height:44px;}
  .destiny-explore .dx-hepan-copy{grid-template-columns:1fr;gap:2px;}
  .destiny-explore .dx-hepan-copy em{font-size:.74rem;}
  .hepan-sheet{width:100vw;max-height:100dvh;min-height:100dvh;border-radius:0;border-inline:0;padding:24px 17px 34px;}
  .hepan-sheet::before{inset:5px;border-radius:0;}
  .hepan-head{gap:14px;padding:0 2px 18px;}
  .hepan-head h2{font-size:1.75rem;}
  .hepan-picker-grid{grid-template-columns:1fr;gap:11px;}
  .hepan-pair-mark{margin:0;transform:rotate(45deg);}
  .hepan-actions .primary-cta{width:100%;}
  .hepan-pillar-compare{grid-template-columns:1fr;gap:10px;}
  .hepan-pillar-link{flex-direction:row;gap:8px;height:26px;}
  .hepan-pillar-link i{width:38px;height:1px;}
  .hepan-pillar-link span{width:25px;height:25px;font-size:.72rem;}
  .hepan-pillar-person{padding:14px 11px;}
  .hepan-pillar-person-head{margin-bottom:10px;}
  .hepan-pillar{min-height:132px;padding-inline:3px;}
  .hepan-pillar-glyphs b{font-size:1.52rem;}
  .hepan-section{padding:17px 14px 18px;}
  .hepan-section-head{margin-bottom:14px;}
  .hepan-mirror-head{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);padding:0 40px;gap:7px;}
  .hepan-mirror-row{grid-template-columns:34px minmax(48px,1fr) 30px minmax(48px,1fr) 34px;gap:5px;}
  .hepan-mirror-row>b{font-size:.73rem;}
  .hepan-mirror-value{font-size:.56rem;}
  .hepan-ten-exchange{grid-template-columns:1fr 34px 1fr;gap:6px;}
  .hepan-ten-exchange>div{grid-template-columns:1fr;padding:11px 8px;text-align:center !important;}
  .hepan-ten-exchange>div strong{font-size:1.02rem;}
  .hepan-themes{grid-template-columns:1fr;}
  .hepan-theme-card:last-child:nth-child(odd){grid-column:auto;}
  .hepan-theme-card:nth-last-child(2):nth-child(odd){grid-column:auto;}
  .hepan-ancient-hint{grid-template-columns:auto minmax(0,1fr);gap:6px 13px;}
  .hepan-ancient-hint cite{grid-column:2;white-space:normal;}
  .hepan-ancient-hint small{grid-column:2;}
  .hepan-annotation{grid-template-columns:1fr;}
  .hepan-annotation>button{width:100%;}
  .hepan-audit>summary em{display:none;}
  .hepan-audit-body{grid-template-columns:1fr;}
  .hepan-audit-body>section:first-child{grid-column:auto;}
}

@media(max-width:390px){
  .hepan-sheet{padding-inline:13px;}
  .hepan-head>div>p:last-child{font-size:.76rem;line-height:1.65;}
  .hepan-pillar-person-head{align-items:flex-start;}
  .hepan-pillar-person-head p strong{font-size:.63rem;}
  .hepan-pillar-grid{gap:4px;}
  .hepan-pillar{min-height:125px;}
  .hepan-mirror-head{padding:0 34px;}
  .hepan-mirror-row{grid-template-columns:29px minmax(38px,1fr) 28px minmax(38px,1fr) 29px;gap:4px;}
}

@media(prefers-reduced-motion:reduce){
  .destiny-explore .dx-hepan-entry{transition:none;}
}

/* ══════════ 合盘独立工作区（20260720n） ══════════ */
.hepan-page{position:fixed;inset:0;z-index:1450;display:block;width:100vw;height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:auto;scroll-behavior:smooth;color:#e9dfc2;
  background:
    radial-gradient(circle at 14% 10%,rgba(139,45,42,.16),transparent 31%),
    radial-gradient(circle at 83% 28%,rgba(177,139,72,.09),transparent 33%),
    linear-gradient(155deg,#08090d 0%,#0d0c11 42%,#100b0d 100%);}
.hepan-page[hidden]{display:none!important;}
.hepan-page::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;
  background-image:radial-gradient(circle,rgba(222,203,151,.32) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(139,53,48,.32) 0 1px,transparent 1.3px);
  background-position:0 0,31px 23px;background-size:89px 89px,127px 127px;mask-image:linear-gradient(to bottom,black,transparent 58%);}
.hepan-pagebar{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:62px;padding:0 clamp(18px,4vw,58px);border-bottom:1px solid rgba(184,155,94,.16);background:rgba(7,7,10,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.hepan-page-back,.hepan-share{appearance:none;width:max-content;border:0;background:none;color:rgba(235,224,192,.72);font:inherit;cursor:pointer;transition:color .18s,background .18s,border-color .18s;}
.hepan-page-back{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;margin-left:-12px;border-radius:999px;font-size:.77rem;letter-spacing:.1em;}
.hepan-page-back>span:first-child{font-size:1.05rem;color:#c7a764;}
.hepan-page-back:hover{background:rgba(184,155,94,.07);color:#f0e3be;}
.hepan-page-brand{display:flex;align-items:center;gap:10px;color:rgba(184,155,94,.65);font-size:.65rem;letter-spacing:.32em;}
.hepan-page-brand i{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(184,155,94,.36);border-radius:50%;color:#d7b96e;font-family:var(--font-display,var(--serif));font-size:.86rem;font-style:normal;letter-spacing:0;}
.hepan-share{justify-self:end;padding:8px 15px;border:1px solid rgba(184,155,94,.33);border-radius:999px;color:#e8d6a6;font-size:.72rem;letter-spacing:.12em;}
.hepan-share:hover{border-color:rgba(211,180,111,.75);background:rgba(184,155,94,.08);}
.hepan-page-back:focus-visible,.hepan-share:focus-visible,.hepan-page-tabs button:focus-visible{outline:2px solid #d3b46f;outline-offset:3px;}
.hepan-share-status{position:absolute;right:clamp(18px,4vw,58px);top:calc(100% + 7px);min-width:max-content;color:rgba(225,204,148,.72);font-size:.64rem;pointer-events:none;}
.hepan-scroll{position:relative;z-index:1;display:block;min-height:calc(100dvh - 62px);height:auto;overflow:visible;}
.hepan-page .hepan-sheet{position:relative;display:block;width:min(1120px,calc(100% - 48px));max-height:none;min-height:100%;margin:0 auto;padding:58px 30px 108px;box-sizing:border-box;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;}
.hepan-page .hepan-sheet::before{display:none;}
.hepan-page .hepan-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,360px);align-items:end;gap:54px;padding:0 0 36px;border-bottom:1px solid rgba(184,155,94,.16);}
.hepan-page .hepan-head h2{margin:8px 0 12px;color:#f1e4be;font-size:clamp(2.8rem,6vw,5.4rem);font-weight:400;letter-spacing:.18em;line-height:.95;text-shadow:0 10px 34px rgba(0,0,0,.38);}
.hepan-page .hepan-head>div>p:last-child{max-width:680px;color:rgba(230,217,180,.62);font-size:.88rem;line-height:2;}
.hepan-head>blockquote{position:relative;margin:0;padding:20px 22px 19px 28px;border-left:1px solid rgba(169,61,54,.7);background:linear-gradient(90deg,rgba(141,40,38,.08),transparent);}
.hepan-head>blockquote::before{content:"“";position:absolute;left:8px;top:-12px;color:rgba(169,61,54,.38);font-family:Georgia,serif;font-size:3.1rem;line-height:1;}
.hepan-head>blockquote span{color:#a9443d;font-size:.62rem;letter-spacing:.23em;}
.hepan-head>blockquote p{margin:8px 0 0;color:rgba(234,221,185,.72);font-family:var(--serif);font-size:.88rem;line-height:1.85;}
.hepan-page-tabs{position:sticky;top:62px;z-index:4;display:flex;align-items:center;gap:7px;margin:0 -12px;padding:13px 12px;border-bottom:1px solid rgba(184,155,94,.13);background:linear-gradient(180deg,rgba(10,9,13,.98),rgba(10,9,13,.9));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.hepan-page-tabs button{appearance:none;padding:8px 16px;border:0;border-radius:999px;background:transparent;color:rgba(230,217,180,.52);font:inherit;font-size:.72rem;letter-spacing:.14em;cursor:pointer;}
.hepan-page-tabs button:hover{background:rgba(184,155,94,.07);color:#eadbb3;}
.hepan-page-tabs button:first-child{color:#d7b96e;}
.hepan-compose{scroll-margin-top:130px;margin-top:26px;padding:25px 28px 29px;border:1px solid rgba(184,155,94,.2);border-radius:18px;background:linear-gradient(145deg,rgba(184,155,94,.055),rgba(255,255,255,.012));box-shadow:0 24px 60px rgba(0,0,0,.16);}
.hepan-compose-intro,.hepan-result-chapter>header{display:flex;align-items:flex-start;gap:15px;}
.hepan-compose-intro>span,.hepan-result-chapter>header>span{flex:0 0 auto;display:grid;place-items:center;width:33px;height:33px;border:1px solid rgba(169,61,54,.52);border-radius:50%;color:#b75147;font-family:var(--font-display,var(--serif));font-size:.78rem;}
.hepan-compose-intro h3,.hepan-result-chapter>header h3{margin:0;color:#eadfbe;font-family:var(--font-display,var(--serif));font-size:1.28rem;font-weight:400;letter-spacing:.08em;}
.hepan-compose-intro p,.hepan-result-chapter>header p{margin:5px 0 0;color:rgba(230,217,180,.46);font-size:.72rem;line-height:1.7;}
.hepan-page .hepan-form{padding:25px 0 0;}
.hepan-page .hepan-relation-fieldset,.hepan-stage-fieldset{margin:0 0 22px;padding:0;border:0;}
.hepan-page .hepan-relation-fieldset legend,.hepan-stage-fieldset legend{margin-bottom:11px;color:rgba(184,155,94,.7);font-size:.69rem;letter-spacing:.18em;}
.hepan-stage-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.hepan-stage-options label{position:relative;min-width:0;cursor:pointer;}
.hepan-stage-options input{position:absolute;opacity:0;pointer-events:none;}
.hepan-stage-options span{display:flex;min-height:76px;box-sizing:border-box;padding:12px 12px 11px;flex-direction:column;justify-content:center;gap:5px;border:1px solid rgba(184,155,94,.17);border-radius:12px;background:rgba(2,3,6,.2);transition:border-color .18s,background .18s,transform .18s;}
.hepan-stage-options strong{color:rgba(236,224,191,.72);font-family:var(--font-display,var(--serif));font-size:.98rem;font-weight:400;letter-spacing:.12em;}
.hepan-stage-options small{color:rgba(230,217,180,.36);font-size:.61rem;line-height:1.55;}
.hepan-stage-options label:hover span{transform:translateY(-1px);border-color:rgba(184,155,94,.38);}
.hepan-stage-options input:checked+span{border-color:rgba(181,66,54,.7);background:linear-gradient(145deg,rgba(139,37,35,.22),rgba(184,155,94,.035));box-shadow:inset 0 0 0 1px rgba(181,66,54,.14);}
.hepan-stage-options input:checked+span strong{color:#f1dfb5;}
.hepan-stage-options input:checked+span small{color:rgba(230,217,180,.61);}
.hepan-stage-options input:focus-visible+span{outline:2px solid #d3b46f;outline-offset:3px;}
.hepan-page .hepan-picker-grid{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:16px;}
.hepan-page .hepan-pair-mark{display:grid;place-items:center;width:32px;height:32px;align-self:end;margin:0 auto 7px;border:1px solid rgba(184,155,94,.28);border-radius:50%;transform:none;color:rgba(211,180,111,.72);font-size:.72rem;}
.hepan-page .hepan-actions{margin-top:20px;}
.hepan-page .hepan-actions .primary-cta{min-width:210px;padding-block:13px;}
.hepan-page .hepan-result{margin-top:62px;padding:0;border:0;}
.hepan-result-head{margin-bottom:22px;}
.hepan-page .hepan-result-head h3{font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:.09em;}
.hepan-stage-lens{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 19px;margin:0 0 36px;padding:20px 23px;border:1px solid rgba(169,61,54,.34);border-radius:15px;background:linear-gradient(105deg,rgba(130,35,35,.15),rgba(184,155,94,.03));}
.hepan-stage-lens>span{align-self:center;color:#a9443d;font-size:.59rem;letter-spacing:.22em;writing-mode:vertical-rl;}
.hepan-stage-lens>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 13px;}
.hepan-stage-lens>div>small{color:#a9443d;font-size:.62rem;letter-spacing:.16em;}
.hepan-stage-lens>div>strong{color:#ead8aa;font-family:var(--font-display,var(--serif));font-size:1.1rem;font-weight:400;letter-spacing:.1em;}
.hepan-stage-lens>div>em{grid-column:1/-1;color:rgba(230,217,180,.44);font-size:.68rem;font-style:normal;line-height:1.55;}
.hepan-stage-lens>div>p{grid-column:1/-1;margin:3px 0 0;color:rgba(230,217,180,.64);font-size:.78rem;line-height:1.78;}
.hepan-stage-lens ul{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0;padding:0;list-style:none;}
.hepan-stage-lens li{padding:5px 9px;border:1px solid rgba(184,155,94,.18);border-radius:999px;color:rgba(230,217,180,.53);font-size:.61rem;}
.hepan-stage-lens blockquote{grid-column:1/-1;margin:8px 0 0;padding:9px 12px;border-left:2px solid rgba(169,61,54,.52);background:rgba(3,3,6,.16);color:rgba(230,217,180,.58);font-family:var(--serif);font-size:.72rem;line-height:1.7;}
.hepan-result-chapter{scroll-margin-top:130px;margin-top:34px;}
.hepan-result-chapter>header{margin-bottom:18px;}
.hepan-result-chapter .hepan-pillar-compare{margin-bottom:20px;}
.hepan-guide{margin-top:0;padding:27px 0 31px;border-bottom:1px solid rgba(184,155,94,.14);}
.hepan-guided-reading{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;}
.hepan-guided-card{position:relative;grid-column:span 2;min-width:0;padding:19px 18px 17px;border:1px solid rgba(184,155,94,.17);border-radius:14px;background:linear-gradient(145deg,rgba(184,155,94,.04),rgba(6,6,9,.28));overflow:hidden;}
.hepan-guided-card:nth-child(4){grid-column:2/span 2;}
.hepan-guided-card:nth-child(5){grid-column:4/span 2;}
.hepan-guided-card::after{content:"";position:absolute;right:-28px;top:-35px;width:92px;height:92px;border:1px solid rgba(184,155,94,.06);border-radius:50%;}
.hepan-guided-card>span{position:absolute;right:13px;top:11px;color:rgba(184,155,94,.24);font-size:.62rem;font-variant-numeric:tabular-nums;}
.hepan-guided-card>small{display:block;padding-right:28px;color:#a9443d;font-size:.59rem;letter-spacing:.17em;}
.hepan-guided-card>h4{margin:9px 0 8px;color:#eadfbe;font-family:var(--font-display,var(--serif));font-size:1.02rem;font-weight:400;letter-spacing:.04em;}
.hepan-guided-card>p{margin:0;color:rgba(230,217,180,.6);font-size:.75rem;line-height:1.82;}
.hepan-guide-note{margin:13px 0 0;color:rgba(230,217,180,.35);font-size:.64rem;line-height:1.7;text-align:center;}
.hepan-ten-families{margin-top:22px;padding-top:20px;border-top:1px solid rgba(184,155,94,.12);}
.hepan-ten-families>header{display:flex;align-items:baseline;gap:11px;margin:0 0 14px;}
.hepan-ten-families>header small{color:#a9443d;font-size:.58rem;letter-spacing:.18em;}
.hepan-ten-families>header strong{color:rgba(230,217,180,.65);font-size:.72rem;font-weight:500;}
.hepan-ten-families .hepan-mirror-head{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);}
.hepan-ten-families .hepan-mirror-row{grid-template-columns:42px minmax(70px,1fr) 80px minmax(70px,1fr) 42px;}
.hepan-ten-families .hepan-mirror-row>b{font-size:.69rem;line-height:1.4;}
.hepan-page .hepan-section{background:linear-gradient(145deg,rgba(8,8,12,.56),rgba(184,155,94,.018));box-shadow:0 15px 38px rgba(0,0,0,.12);}
.hepan-page #hepan-relationship-section{scroll-margin-top:130px;margin-top:36px;padding:24px 25px 26px;}
.hepan-page #hepan-relationship-section>.hepan-section-head>span{display:grid;place-items:center;min-width:66px;height:30px;margin:0;border:1px solid rgba(169,61,54,.4);border-radius:999px;}
.hepan-page .hepan-theme-card{padding:20px 21px 18px;}
.hepan-page .hepan-theme-card>h4{font-size:1.12rem;}
.hepan-page .hepan-theme-card>p{font-size:.8rem;line-height:1.86;}
.hepan-page .hepan-annotation{scroll-margin-top:130px;margin-top:36px;padding:27px 28px;border-radius:17px;}
.hepan-page .hepan-annotation>button{padding:11px 18px;border:1px solid rgba(184,155,94,.35);border-radius:999px;background:rgba(7,7,10,.42);color:#ead8aa;cursor:pointer;}
.hepan-page .hepan-annotation-text{margin-top:2px;padding:20px 3px 2px;border-top:1px solid rgba(184,155,94,.14);font-size:.94rem;line-height:2.15;}
.hepan-page .hepan-audit{scroll-margin-top:130px;margin-top:36px;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,rgba(4,4,7,.4),rgba(184,155,94,.02));}
.hepan-audit-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(184,155,94,.12);}
.hepan-audit-title>span{display:grid;gap:5px;}
.hepan-audit-title small{color:#a9443d;font-size:.59rem;letter-spacing:.22em;}
.hepan-audit-title strong{color:#eadfbe;font-family:var(--font-display,var(--serif));font-size:1.1rem;font-weight:400;letter-spacing:.08em;}
.hepan-audit-title em{color:rgba(184,155,94,.46);font-size:.63rem;font-style:normal;}
.hepan-page .hepan-audit-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:21px 22px 23px;border:0;}
.hepan-page .hepan-audit-body>section{padding:0;}
.hepan-page .hepan-audit-body>section:first-child{grid-column:auto;}
.hepan-page .hepan-audit-body h4{margin-bottom:12px;font-size:.72rem;}
.hepan-page .hepan-audit-rule,.hepan-page .hepan-evidence-item{padding:14px 15px;}
.hepan-page .hepan-audit-rule p,.hepan-page .hepan-evidence-item p{font-size:.71rem;line-height:1.75;}
@media(max-width:900px){
  .hepan-page .hepan-head{grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:28px;}
  .hepan-stage-options{grid-template-columns:repeat(3,minmax(0,1fr));}
  .hepan-stage-options label:nth-child(4),.hepan-stage-options label:nth-child(5){grid-column:span 1;}
  .hepan-guided-reading{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hepan-guided-card{grid-column:auto!important;}
  .hepan-guided-card:last-child:nth-child(odd){grid-column:1/-1!important;}
}

@media(max-width:720px){
  .hepan-pagebar{grid-template-columns:auto minmax(0,1fr) auto;min-height:56px;padding:0 14px;}
  .hepan-page-back{margin-left:-7px;padding-inline:9px;}
  .hepan-page-back>span:last-child{display:none;}
  .hepan-page-brand{justify-self:center;font-size:.57rem;letter-spacing:.2em;}
  .hepan-page-brand i{width:25px;height:25px;}
  .hepan-share{padding:7px 11px;font-size:.64rem;letter-spacing:.08em;}
  .hepan-share-status{right:14px;}
  .hepan-page-tabs{top:56px;}
  .hepan-page .hepan-sheet{width:100%;min-height:100%;padding:36px 15px 80px;}
  .hepan-page .hepan-head{grid-template-columns:1fr;gap:20px;padding-inline:3px;padding-bottom:27px;}
  .hepan-page .hepan-head h2{font-size:3.15rem;}
  .hepan-head>blockquote{padding:15px 16px 14px 25px;}
  .hepan-page-tabs{margin-inline:-15px;padding-inline:15px;overflow-x:auto;scrollbar-width:none;}
  .hepan-page-tabs::-webkit-scrollbar{display:none;}
  .hepan-page-tabs button{flex:0 0 auto;padding-inline:14px;}
  .hepan-compose{margin-top:19px;padding:20px 16px 23px;border-radius:15px;}
  .hepan-stage-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .hepan-stage-options label:last-child{grid-column:1/-1;}
  .hepan-stage-options span{min-height:68px;padding:10px;}
  .hepan-page .hepan-picker-grid{grid-template-columns:1fr;gap:8px;}
  .hepan-page .hepan-pair-mark{margin:0 auto;transform:none;}
  .hepan-page .hepan-actions .primary-cta{width:100%;}
  .hepan-page .hepan-result{margin-top:46px;}
  .hepan-stage-lens{grid-template-columns:auto minmax(0,1fr);padding:17px 16px;}
  .hepan-stage-lens>div{grid-template-columns:1fr;}
  .hepan-stage-lens>div>*{grid-column:1!important;}
  .hepan-result-chapter{margin-top:28px;}
  .hepan-guide{padding-top:23px;}
  .hepan-guided-reading{grid-template-columns:1fr;gap:8px;}
  .hepan-guided-card:last-child:nth-child(odd){grid-column:auto!important;}
  .hepan-ten-families .hepan-mirror-head{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);padding-inline:33px;}
  .hepan-ten-families .hepan-mirror-row{grid-template-columns:32px minmax(42px,1fr) 62px minmax(42px,1fr) 32px;gap:4px;}
  .hepan-page #hepan-relationship-section{padding:19px 15px 21px;}
  .hepan-page #hepan-relationship-section>.hepan-section-head>span{min-width:58px;}
  .hepan-page .hepan-annotation{padding:22px 18px;}
  .hepan-audit-title{align-items:flex-start;padding:18px 17px;}
  .hepan-audit-title em{max-width:110px;text-align:right;line-height:1.5;}
  .hepan-page .hepan-audit-body{grid-template-columns:1fr;padding:18px 16px 20px;}
}

@media(max-width:390px){
  .hepan-page .hepan-sheet{padding-inline:12px;}
  .hepan-page-tabs{margin-inline:-12px;padding-inline:12px;}
  .hepan-compose{padding-inline:13px;}
  .hepan-compose-intro h3,.hepan-result-chapter>header h3{font-size:1.12rem;}
  .hepan-stage-options strong{font-size:.91rem;}
  .hepan-stage-options small{font-size:.57rem;}
}

@media(prefers-reduced-motion:reduce){
  .hepan-page{scroll-behavior:auto;}
  .hepan-stage-options span{transition:none;}
}

/* 八字 / 星盘合盘一级切换与星盘合盘结果 */
.hepan-system-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0 0;padding:0;}
.hepan-system-tabs button{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:15px 20px;border:1px solid rgba(184,155,94,.18);border-radius:15px;background:rgba(5,5,8,.28);color:rgba(230,217,180,.52);font:inherit;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,background .18s,color .18s;}
.hepan-system-tabs button:hover{transform:translateY(-1px);border-color:rgba(184,155,94,.42);color:#eadbb3;}
.hepan-system-tabs button small{font-size:.62rem;letter-spacing:.18em;color:rgba(184,155,94,.55);}
.hepan-system-tabs button strong{font-family:var(--font-display,var(--serif));font-size:1.12rem;font-weight:400;letter-spacing:.1em;}
.hepan-system-tabs button.active{border-color:rgba(169,61,54,.58);background:linear-gradient(135deg,rgba(139,37,35,.22),rgba(184,155,94,.055));color:#f1e4be;box-shadow:inset 0 0 0 1px rgba(169,61,54,.1),0 14px 38px rgba(0,0,0,.16);}
.hepan-system-tabs button:focus-visible{outline:2px solid #d3b46f;outline-offset:3px;}

.hepan-conclusion-stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;margin:18px 0 0;padding:15px 17px;border-left:2px solid rgba(169,61,54,.62);background:rgba(139,37,35,.065);}
.hepan-conclusion-stage>span{grid-row:1/3;color:#b75147;font-size:.62rem;letter-spacing:.14em;writing-mode:vertical-rl;}
.hepan-conclusion-stage>strong{color:#ead8aa;font-size:.82rem;font-weight:500;}
.hepan-conclusion-stage>p{margin:0;color:rgba(230,217,180,.57);font-size:.74rem;line-height:1.75;}
.hepan-conclusion-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.85fr);gap:12px;margin-top:16px;}
.hepan-conclusion-card{padding:16px 17px;border:1px solid rgba(184,155,94,.16);border-radius:12px;background:rgba(6,6,9,.28);}
.hepan-conclusion-card>span,.hepan-conclusion-actions>span{display:block;margin-bottom:10px;color:#a9443d;font-size:.62rem;letter-spacing:.18em;}
.hepan-conclusion-card article+article{margin-top:10px;padding-top:10px;border-top:1px solid rgba(184,155,94,.1);}
.hepan-conclusion-card strong{color:#e8d9af;font-size:.8rem;font-weight:500;}
.hepan-conclusion-card p{margin:4px 0 0;color:rgba(230,217,180,.56);font-size:.71rem;line-height:1.72;}
.hepan-conclusion-card article>small{display:block;margin-top:7px;color:rgba(230,217,180,.7);font-size:.65rem;line-height:1.65;}
.hepan-conclusion-card.is-risk{border-color:rgba(181,73,64,.22);}
.hepan-conclusion-actions{margin-top:14px;padding:16px 17px;border:1px solid rgba(184,155,94,.18);border-radius:12px;background:linear-gradient(120deg,rgba(184,155,94,.055),rgba(6,6,9,.2));}
.hepan-conclusion-actions ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;list-style:none;counter-reset:hepan-action;}
.hepan-conclusion-actions li{position:relative;padding-left:27px;counter-increment:hepan-action;}
.hepan-conclusion-actions li::before{content:counter(hepan-action,decimal-leading-zero);position:absolute;left:0;top:1px;color:rgba(184,155,94,.48);font-size:.62rem;}
.hepan-conclusion-actions strong{color:#e9dcba;font-size:.78rem;font-weight:500;}
.hepan-conclusion-actions p{margin:4px 0 0;color:rgba(230,217,180,.55);font-size:.7rem;line-height:1.72;}
.hepan-overall-reading-cta{position:relative;z-index:1;display:block;width:100%;margin-top:14px;padding:13px 18px;border:1px solid rgba(169,61,54,.48);border-radius:11px;background:linear-gradient(120deg,rgba(139,37,35,.2),rgba(184,155,94,.045));color:#eadbb3;font:500 .72rem/1 var(--font-body,sans-serif);letter-spacing:.16em;cursor:pointer;}
.hepan-overall-reading-cta:hover{border-color:rgba(184,155,94,.55);background:linear-gradient(120deg,rgba(139,37,35,.28),rgba(184,155,94,.08));}
.hepan-overall-reading-cta:focus-visible{outline:2px solid #d3b46f;outline-offset:3px;}
.hepan-conclusion-theory{margin-top:14px;border-top:1px solid rgba(184,155,94,.12);}
.hepan-conclusion-theory>summary{padding:13px 2px 3px;color:rgba(184,155,94,.68);font-size:.68rem;letter-spacing:.08em;cursor:pointer;list-style:none;}
.hepan-conclusion-theory>summary::-webkit-details-marker{display:none;}
.hepan-conclusion-theory>summary::after{content:" ＋";}
.hepan-conclusion-theory[open]>summary::after{content:" －";}
.hepan-conclusion-theory>div{margin-top:10px;padding:14px 16px;border:1px solid rgba(184,155,94,.13);border-radius:10px;background:rgba(5,6,10,.25);}
.hepan-conclusion-theory>div>p,.hepan-conclusion-theory li p{margin:0;color:rgba(230,217,180,.5);font-size:.67rem;line-height:1.7;}
.hepan-conclusion-theory ul{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none;}
.hepan-conclusion-theory li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;padding-top:8px;border-top:1px solid rgba(184,155,94,.09);}
.hepan-conclusion-theory li>span{grid-row:1/3;color:rgba(169,61,54,.72);font-size:.58rem;letter-spacing:.08em;}
.hepan-conclusion-theory li>strong{color:rgba(230,217,180,.72);font-size:.7rem;font-weight:500;}
.hepan-conclusion-theory>div>small{display:block;margin-top:11px;color:rgba(230,217,180,.35);font-size:.6rem;line-height:1.55;}
.hepan-deep-dive{margin-top:15px;border:1px solid rgba(184,155,94,.17);border-radius:15px;background:rgba(5,6,10,.24);overflow:hidden;}
.hepan-deep-dive>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;align-items:center;padding:17px 20px;color:#e8d9af;cursor:pointer;list-style:none;}
.hepan-deep-dive>summary::-webkit-details-marker{display:none;}
.hepan-deep-dive>summary>span{font-family:var(--font-display,var(--serif));font-size:1.02rem;letter-spacing:.05em;}
.hepan-deep-dive>summary>small{color:rgba(230,217,180,.4);font-size:.64rem;}
.hepan-deep-dive>summary::after{content:"＋";grid-column:3;color:rgba(184,155,94,.62);}
.hepan-deep-dive[open]>summary::after{content:"－";}
.hepan-deep-dive>summary:focus-visible{outline:2px solid #d3b46f;outline-offset:-3px;}
.hepan-deep-dive>.hepan-result-chapter,.hepan-deep-dive>.hepan-audit{margin:0;padding:22px 20px;border:0;border-top:1px solid rgba(184,155,94,.12);border-radius:0;background:transparent;}

.star-hepan-result{--star-a:#d9a75e;--star-b:#78a9c7;--star-support:#6cb897;--star-growth:#bf6d64;}
.star-hepan-overall{margin-top:0;}
.star-hepan-verdict{position:relative;padding:30px 32px 26px;border:1px solid rgba(184,155,94,.28);border-radius:20px;background:radial-gradient(circle at 88% 12%,rgba(80,111,151,.14),transparent 34%),linear-gradient(135deg,rgba(34,24,33,.92),rgba(11,13,20,.9));box-shadow:0 24px 62px rgba(0,0,0,.24);overflow:hidden;}
.star-hepan-verdict::after{content:"";position:absolute;right:-42px;top:-52px;width:190px;height:190px;border:1px solid rgba(184,155,94,.09);border-radius:50%;box-shadow:0 0 0 32px rgba(184,155,94,.025),0 0 0 66px rgba(116,159,188,.02);}
.star-hepan-verdict>span{display:block;color:#b75147;font-size:.63rem;letter-spacing:.24em;}
.star-hepan-verdict-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:9px;}
.star-hepan-verdict h2{margin:0 0 7px;color:#f1e4be;font-family:var(--font-display,var(--serif));font-size:clamp(2rem,4vw,3.4rem);font-weight:400;letter-spacing:.12em;}
.star-hepan-verdict-head p{max-width:720px;margin:0;color:rgba(230,217,180,.7);font-family:var(--serif);font-size:.92rem;line-height:1.9;}
.star-hepan-verdict-head>strong{display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(184,155,94,.35);border-radius:50%;background:rgba(8,9,14,.42);color:#ead8aa;font-weight:400;}
.star-hepan-verdict-head>strong b{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1;}
.star-hepan-verdict-head>strong small{font-size:.54rem;letter-spacing:.08em;color:rgba(230,217,180,.48);}
.star-hepan-verdict-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;}
.star-hepan-verdict-grid>section{padding:15px 17px;border:1px solid rgba(184,155,94,.14);border-radius:12px;background:rgba(3,4,8,.25);}
.star-hepan-verdict-grid small{display:block;margin-bottom:8px;color:rgba(184,155,94,.72);font-size:.62rem;letter-spacing:.15em;}
.star-hepan-verdict-grid p{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:6px 0 0;color:rgba(230,217,180,.55);font-size:.71rem;line-height:1.7;}
.star-hepan-verdict-grid strong{color:#e7d6aa;font-weight:500;white-space:nowrap;}
.star-hepan-verdict blockquote{position:relative;z-index:1;margin:18px 0 0;padding:12px 15px;border-left:2px solid rgba(169,61,54,.62);background:rgba(139,37,35,.07);color:rgba(235,221,184,.78);font-family:var(--serif);font-size:.8rem;line-height:1.75;}
.star-hepan-verdict footer{position:relative;z-index:1;margin-top:13px;color:rgba(230,217,180,.34);font-size:.61rem;line-height:1.65;}
.star-hepan-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px;}
.star-hepan-dimension{padding:18px 19px 16px;border:1px solid rgba(184,155,94,.17);border-radius:15px;background:linear-gradient(145deg,rgba(184,155,94,.04),rgba(7,8,13,.34));}
.star-hepan-dimension:last-child:nth-child(odd){grid-column:1/-1;}
.star-hepan-dimension>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;}
.star-hepan-dimension>header span{display:block;color:#eadbb4;font-family:var(--font-display,var(--serif));font-size:1rem;letter-spacing:.07em;}
.star-hepan-dimension>header strong{display:block;margin-top:4px;color:rgba(230,217,180,.48);font-size:.66rem;font-weight:400;line-height:1.55;}
.star-hepan-dimension>header>b{color:rgba(184,155,94,.8);font-family:Georgia,serif;font-size:1.25rem;font-weight:400;}
.star-hepan-score-track{height:5px;margin:12px 0 15px;border-radius:999px;background:rgba(184,155,94,.09);overflow:hidden;}
.star-hepan-score-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--star-growth),#c79f5d,var(--star-support));}
.star-hepan-dimension-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.star-hepan-dimension-copy small{display:block;margin-bottom:5px;color:rgba(184,155,94,.64);font-size:.59rem;letter-spacing:.12em;}
.star-hepan-dimension-copy p{margin:4px 0 0;color:rgba(230,217,180,.52);font-size:.67rem;line-height:1.65;}
.star-hepan-dimension>footer{margin-top:14px;padding-top:11px;border-top:1px solid rgba(184,155,94,.1);color:rgba(230,217,180,.64);font-size:.7rem;line-height:1.72;}
.star-hepan-dimension>footer span{margin-right:9px;color:#a9443d;font-size:.58rem;letter-spacing:.11em;}
.star-hepan-dimension>details{margin-top:13px;border-top:1px solid rgba(184,155,94,.1);}
.star-hepan-dimension>details>summary{padding-top:11px;color:rgba(184,155,94,.66);font-size:.64rem;letter-spacing:.08em;cursor:pointer;list-style:none;}
.star-hepan-dimension>details>summary::-webkit-details-marker{display:none;}
.star-hepan-dimension>details>summary::after{content:" ＋";}
.star-hepan-dimension>details[open]>summary::after{content:" －";}
.star-hepan-dimension>details .star-hepan-dimension-copy{margin-top:12px;}
.star-hepan-technical-score{display:block;margin-top:10px;color:rgba(230,217,180,.3);font-size:.58rem;letter-spacing:.05em;}
.star-hepan-wheel{max-width:760px;margin:0 auto;}
.star-hepan-wheel figure{margin:0;}
.star-hepan-wheel svg{display:block;width:min(100%,620px);height:auto;margin:0 auto;overflow:visible;}
.star-hepan-zodiac circle,.star-hepan-zodiac line{fill:none;stroke:rgba(184,155,94,.16);stroke-width:1;}
.star-hepan-zodiac circle:nth-child(2),.star-hepan-zodiac circle:nth-child(4){stroke:rgba(184,155,94,.28);}
.star-hepan-zodiac text{fill:rgba(184,155,94,.62);font-family:Georgia,serif;font-size:15px;text-anchor:middle;dominant-baseline:middle;}
.star-hepan-aspect-line{fill:none;stroke-width:1.25;opacity:.52;}
.star-hepan-aspect-line.is-supportive{stroke:var(--star-support);}
.star-hepan-aspect-line.is-growth{stroke:var(--star-growth);}
.star-hepan-aspect-line.is-mixed{stroke:#b89b5e;opacity:.35;}
.star-hepan-wheel-point circle{stroke-width:1.2;fill:#0d0f16;}
.star-hepan-wheel-point text{font-size:12px;text-anchor:middle;fill:#f2e5c1;}
.star-hepan-wheel-point.is-a circle{stroke:var(--star-a);}
.star-hepan-wheel-point.is-a text{fill:var(--star-a);}
.star-hepan-wheel-point.is-b circle{stroke:var(--star-b);}
.star-hepan-wheel-point.is-b text{fill:var(--star-b);}
.star-hepan-wheel-center{fill:rgba(230,217,180,.75);font-family:var(--font-display,var(--serif));font-size:14px;letter-spacing:3px;text-anchor:middle;}
.star-hepan-wheel-center.is-small{fill:rgba(230,217,180,.38);font-family:var(--serif);font-size:9px;letter-spacing:1px;}
.star-hepan-wheel figcaption{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;color:rgba(230,217,180,.52);font-size:.66rem;}
.star-hepan-wheel figcaption span{display:inline-flex;align-items:center;gap:6px;}
.star-hepan-wheel figcaption i{width:8px;height:8px;border-radius:50%;}
.star-hepan-wheel figcaption i.is-a{background:var(--star-a);}
.star-hepan-wheel figcaption i.is-b{background:var(--star-b);}
.star-hepan-wheel figcaption small{flex-basis:100%;text-align:center;color:rgba(230,217,180,.32);}
.star-hepan-anchors{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;margin-top:24px;}
.star-hepan-anchors>article{padding:17px 18px;border:1px solid rgba(184,155,94,.17);border-radius:14px;background:rgba(5,6,10,.3);}
.star-hepan-anchors>article>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid rgba(184,155,94,.1);}
.star-hepan-anchors>article>header span{color:#a9443d;font-size:.62rem;}
.star-hepan-anchors>article>header strong{color:#e9dab2;font-size:.78rem;font-weight:500;}
.star-hepan-anchors>article p{display:grid;grid-template-columns:26px 52px minmax(0,1fr);gap:6px;align-items:center;margin:6px 0;color:rgba(230,217,180,.56);font-size:.69rem;}
.star-hepan-anchors>article p i{color:rgba(184,155,94,.8);font-family:Georgia,serif;font-size:1rem;font-style:normal;}
.star-hepan-anchors>article p b{text-align:right;color:rgba(230,217,180,.78);font-weight:500;}
.star-hepan-anchor-cross{align-self:center;color:rgba(184,155,94,.48);font-family:var(--font-display,var(--serif));font-size:.78rem;}
.star-hepan-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;}
.star-hepan-facts>section{min-width:0;}
.star-hepan-facts h4,.star-hepan-composite-aspects>h4{margin:0 0 11px;color:rgba(184,155,94,.75);font-size:.7rem;font-weight:500;letter-spacing:.13em;}
.star-hepan-aspects,.star-hepan-overlays{display:grid;gap:8px;}
.star-hepan-fact,.star-hepan-overlay{padding:13px 14px;border:1px solid rgba(184,155,94,.14);border-radius:11px;background:rgba(5,6,10,.25);}
.star-hepan-fact>span{display:flex;justify-content:space-between;gap:12px;color:rgba(184,155,94,.63);font-size:.59rem;letter-spacing:.1em;}
.star-hepan-fact>span b{color:rgba(230,217,180,.34);font-weight:400;letter-spacing:0;}
.star-hepan-fact>strong{display:block;margin-top:7px;color:#e8d9b0;font-size:.76rem;font-weight:500;}
.star-hepan-fact>p{margin:5px 0 0;color:rgba(230,217,180,.48);font-size:.66rem;line-height:1.65;}
.star-hepan-fact.is-supportive{border-left:2px solid var(--star-support);}
.star-hepan-fact.is-growth{border-left:2px solid var(--star-growth);}
.star-hepan-overlay{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px 10px;align-items:center;}
.star-hepan-overlay>span{display:flex;justify-content:space-between;gap:6px;color:rgba(230,217,180,.45);font-size:.62rem;}
.star-hepan-overlay>span b{color:#e3d2a8;font-weight:500;}
.star-hepan-overlay>i{color:rgba(184,155,94,.45);font-size:.59rem;font-style:normal;}
.star-hepan-overlay>p{grid-column:1/-1;margin:5px 0 0;color:rgba(230,217,180,.47);font-size:.65rem;line-height:1.55;}
.star-hepan-composite-positions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.star-hepan-composite-positions>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid rgba(184,155,94,.15);border-radius:11px;background:rgba(5,6,10,.26);}
.star-hepan-composite-positions>article>span{color:rgba(184,155,94,.85);font-family:Georgia,serif;font-size:1.25rem;}
.star-hepan-composite-positions strong{display:block;color:#e7d7ad;font-size:.72rem;font-weight:500;}
.star-hepan-composite-positions p{margin:3px 0 0;color:rgba(230,217,180,.46);font-size:.62rem;}
.star-hepan-composite-aspects{margin-top:20px;}
.star-hepan-composite-aspects>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.star-hepan-composite-aspects article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid rgba(184,155,94,.12);}
.star-hepan-composite-aspects strong{color:rgba(230,217,180,.72);font-size:.7rem;font-weight:500;}
.star-hepan-composite-aspects span{color:rgba(184,155,94,.46);font-size:.59rem;white-space:nowrap;}
.star-hepan-method{margin-top:28px;padding:20px 22px;border:1px solid rgba(184,155,94,.14);border-radius:14px;background:rgba(5,6,10,.2);}
.star-hepan-method h3{margin:0;color:#e4d5ad;font-family:var(--font-display,var(--serif));font-size:1rem;font-weight:400;}
.star-hepan-method>p{margin:8px 0 0;color:rgba(230,217,180,.5);font-size:.7rem;line-height:1.75;}
.star-hepan-method .hepan-warning{margin-bottom:0;}

@media(max-width:820px){
  .star-hepan-dimensions,.star-hepan-facts{grid-template-columns:1fr;}
  .star-hepan-dimension:last-child:nth-child(odd){grid-column:auto;}
  .star-hepan-composite-positions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .hepan-system-tabs{gap:7px;margin-top:18px;}
  .hepan-system-tabs button{min-height:64px;padding:12px 13px;flex-direction:column;align-items:flex-start;gap:5px;}
  .hepan-conclusion-grid,.hepan-conclusion-actions ol,.star-hepan-verdict-grid,.star-hepan-dimension-copy{grid-template-columns:1fr;}
  .star-hepan-verdict{padding:23px 18px 21px;}
  .star-hepan-verdict-head{grid-template-columns:minmax(0,1fr) auto;gap:12px;}
  .star-hepan-verdict-head>strong{width:68px;height:68px;}
  .star-hepan-verdict-head>strong b{font-size:1.45rem;}
  .star-hepan-anchors{grid-template-columns:1fr;}
  .star-hepan-anchor-cross{justify-self:center;}
  .star-hepan-composite-aspects>div{grid-template-columns:1fr;}
}

/* ══════════ 今日 · 今晚一笺（20260722a） ══════════ */
.dl-tonight-loop{
  margin:0 0 24px;
  padding:30px 34px 26px;
  overflow:hidden;
  border-color:rgba(184,155,94,.36);
}
.dl-tonight-loop[hidden]{display:none!important;}
.dl-tonight-loop>*{position:relative;z-index:1;}
.dl-tonight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:38px;padding-bottom:22px;border-bottom:1px solid rgba(184,155,94,.16);}
.dl-tonight-head>div{flex:0 0 auto;}
.dl-tonight-kicker{margin:0 0 7px;color:rgba(184,155,94,.8);font-size:.7rem;letter-spacing:.48em;text-indent:.48em;}
.dl-tonight-head h3{margin:0;color:#efe3c0;font-family:var(--font-display,var(--serif));font-size:1.55rem;font-weight:400;letter-spacing:.15em;}
.dl-tonight-head>p{max-width:560px;margin:2px 0 0;color:rgba(230,217,180,.58);font-size:.84rem;line-height:1.9;}
.dl-tonight-form{padding:23px 0 3px;}
.dl-tonight-form>label{display:block;margin-bottom:10px;color:rgba(230,217,180,.8);font-size:.86rem;letter-spacing:.08em;}
.dl-tonight-form textarea{display:block;width:100%;min-height:112px;resize:vertical;box-sizing:border-box;padding:15px 17px;border:1px solid rgba(184,155,94,.28);border-radius:8px;outline:none;background:rgba(6,6,9,.52);color:#eee3c7;font:inherit;font-size:.94rem;line-height:1.9;caret-color:#c75448;}
.dl-tonight-form textarea::placeholder{color:rgba(230,217,180,.3);}
.dl-tonight-form textarea:focus{border-color:rgba(184,155,94,.65);box-shadow:0 0 0 3px rgba(184,155,94,.06);}
.dl-tonight-form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;}
.dl-tonight-form-foot>span{color:rgba(230,217,180,.42);font-size:.75rem;line-height:1.65;}
.dl-tonight-form-foot>span.is-error,.dl-tonight-action-error{color:#d7867b;}
.dl-tonight-form-foot button,.dl-tonight-actions button{border:1px solid rgba(184,155,94,.4);border-radius:999px;background:rgba(184,155,94,.06);color:#e6d9b4;cursor:pointer;font-family:inherit;transition:border-color .16s,background .16s,color .16s;}
.dl-tonight-form-foot button{flex:0 0 auto;min-width:126px;padding:10px 22px;letter-spacing:.24em;}
.dl-tonight-form-foot button:hover,.dl-tonight-actions button:hover{border-color:rgba(184,155,94,.75);background:rgba(184,155,94,.12);color:#f4e8c9;}
.dl-tonight-form-foot button:disabled,.dl-tonight-actions button:disabled{opacity:.42;cursor:wait;}
.dl-tonight-result{padding-top:23px;}
.dl-tonight-mine{display:grid;grid-template-columns:112px minmax(0,1fr);gap:17px;padding:13px 16px;border-left:2px solid rgba(184,155,94,.35);background:rgba(184,155,94,.035);}
.dl-tonight-mine span{color:rgba(184,155,94,.68);font-size:.73rem;letter-spacing:.15em;}
.dl-tonight-mine p{margin:0;color:rgba(230,217,180,.7);font-size:.86rem;line-height:1.8;overflow-wrap:anywhere;}
.dl-tonight-reply{padding:22px 2px 5px;}
.dl-tonight-reply p{margin:0 0 12px;color:rgba(239,227,192,.9);font-size:.96rem;line-height:2.05;overflow-wrap:anywhere;}
.dl-tonight-evidence{margin-top:8px;padding-top:20px;border-top:1px solid rgba(184,155,94,.14);}
.dl-tonight-evidence>h4{margin:0 0 12px;color:rgba(184,155,94,.82);font-size:.74rem;font-weight:500;letter-spacing:.26em;}
.dl-tonight-evidence-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.dl-tonight-source{padding:14px 15px;border:1px solid rgba(184,155,94,.16);border-radius:8px;background:rgba(6,6,9,.3);}
.dl-tonight-source-name{margin:0 0 8px;color:#dfcfaa;font-size:.79rem;line-height:1.6;}
.dl-tonight-source-name span{color:rgba(230,217,180,.38);font-size:.68rem;}
.dl-tonight-source blockquote{margin:0;color:rgba(230,217,180,.66);font-size:.78rem;line-height:1.85;}
.dl-tonight-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(184,155,94,.12);}
.dl-tonight-feedback>p{margin:0;color:rgba(230,217,180,.5);font-size:.78rem;}
.dl-tonight-actions{display:flex;flex-wrap:wrap;gap:8px;}
.dl-tonight-actions button{padding:7px 14px;font-size:.75rem;letter-spacing:.05em;}
.dl-tonight-saved,.dl-tonight-notice{margin:16px 0 0;color:#a8c89a;font-size:.76rem;letter-spacing:.08em;}
.dl-tonight-notice{padding:9px 12px;border:1px solid rgba(120,160,110,.25);border-radius:7px;background:rgba(120,160,110,.06);}
.dl-tonight-echo{margin-top:24px;padding:22px 0 2px;border-top:1px solid rgba(184,155,94,.24);}
.dl-tonight-echo h4{margin:0;color:#e9dcba;font-family:var(--font-display,var(--serif));font-size:1.18rem;font-weight:400;letter-spacing:.12em;}
.dl-tonight-echo-meta{margin:7px 0 11px;color:rgba(230,217,180,.36);font-size:.7rem;letter-spacing:.08em;}
.dl-tonight-question{margin:0;padding:13px 15px;border-left:2px solid rgba(178,88,78,.45);background:rgba(178,88,78,.045);color:rgba(230,217,180,.78);font-size:.88rem;line-height:1.85;overflow-wrap:anywhere;}
.dl-tonight-echo-result{margin:10px 0 0;padding:12px 15px;border:1px solid rgba(184,155,94,.13);background:rgba(184,155,94,.035);color:rgba(230,217,180,.67);font-size:.82rem;line-height:1.8;overflow-wrap:anywhere;}
.dl-tonight-echo-result span{display:block;margin-bottom:3px;color:rgba(184,155,94,.72);font-size:.62rem;letter-spacing:.16em;}
.dl-tonight-echo-note{display:flex;align-items:center;gap:12px;margin:14px 0 10px;color:rgba(230,217,180,.44);font-size:.74rem;}
.dl-tonight-echo-note input{flex:1;min-width:0;padding:8px 11px;border:0;border-bottom:1px solid rgba(184,155,94,.25);outline:none;background:transparent;color:#e6d9b4;font:inherit;}
.dl-tonight-echo-note input:focus{border-bottom-color:rgba(184,155,94,.7);}
.dl-tonight-echo-actions{justify-content:flex-start;}
.dl-tonight-action-error{margin:9px 0 0;font-size:.74rem;}
.dl-tonight-footnote{margin:21px 0 0;padding-top:14px;border-top:1px solid rgba(184,155,94,.09);color:rgba(230,217,180,.28);font-size:.68rem;line-height:1.7;}

@media(max-width:820px){
  .dl-tonight-loop{padding:25px 22px 22px;}
  .dl-tonight-head{display:block;}
  .dl-tonight-head>p{margin-top:12px;}
  .dl-tonight-evidence-list{grid-template-columns:1fr;}
}

@media(max-width:560px){
  .dl-tonight-form-foot,.dl-tonight-feedback{align-items:stretch;flex-direction:column;}
  .dl-tonight-form-foot button{width:100%;}
  .dl-tonight-mine{grid-template-columns:1fr;gap:6px;}
  .dl-tonight-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .dl-tonight-actions button{width:100%;}
}

/* ══════════ 命途总览 · 本周命途章（20260722b） ══════════ */
.destiny-explore .dx-weekstory{
  margin:30px 0 0;
  padding:25px 27px 21px;
  border:1px solid var(--dx-gold-hair);
  border-radius:16px;
  background:linear-gradient(155deg,rgba(184,155,94,.055),rgba(12,12,16,.58));
  box-shadow:0 16px 42px rgba(0,0,0,.2);
}
.destiny-explore .dx-weekstory[hidden]{display:none!important;}
.destiny-explore .dx-weekstory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:17px;border-bottom:1px solid var(--dx-gold-hair);}
.destiny-explore .dx-weekstory-head p{margin:0 0 5px;color:var(--dx-gold);font-family:var(--dx-serif);font-size:.63rem;letter-spacing:.27em;}
.destiny-explore .dx-weekstory-head h3{margin:0;color:var(--dx-goldb);font-family:var(--dx-display);font-size:1.5rem;font-weight:400;letter-spacing:.08em;}
.destiny-explore .dx-weekstory-head span{display:block;margin-top:7px;color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.7rem;letter-spacing:.04em;}
.destiny-explore .dx-weekstory-head button{flex:0 0 auto;padding:8px 15px;border:1px solid var(--dx-gold-hair);border-radius:999px;background:transparent;color:var(--dx-gold);cursor:pointer;font-family:var(--dx-serif);font-size:.72rem;letter-spacing:.08em;}
.destiny-explore .dx-weekstory-head button:hover{border-color:var(--dx-gold-dim);color:var(--dx-goldb);background:rgba(184,155,94,.06);}
.destiny-explore .dx-weekstory-head button:disabled{opacity:.42;cursor:wait;}
.destiny-explore .dx-weekstory-counts{display:flex;align-items:center;gap:8px;margin:16px 0 4px;flex-wrap:wrap;}
.destiny-explore .dx-weekstory-counts small{margin-right:3px;color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.67rem;letter-spacing:.1em;}
.destiny-explore .dx-weekstory-counts span{padding:5px 9px;border:1px solid var(--dx-gold-hair);border-radius:999px;color:var(--dx-bone);font-family:var(--dx-serif);font-size:.68rem;}
.destiny-explore .dx-weekstory-counts b{margin-left:6px;color:var(--dx-goldb);font-weight:500;}
.destiny-explore .dx-weekstory-counts em{color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.72rem;font-style:normal;}
.destiny-explore .dx-weekstory-body{padding:17px 1px 2px;}
.destiny-explore .dx-weekstory-body p{margin:0 0 12px;color:var(--dx-ink);font-family:var(--dx-serif);font-size:.91rem;line-height:2;overflow-wrap:anywhere;}
.destiny-explore .dx-weekstory-body.is-empty p{color:var(--dx-bone-dim);}
.destiny-explore .dx-weekstory-evidence{margin-top:9px;padding-top:18px;border-top:1px solid var(--dx-gold-hair);}
.destiny-explore .dx-weekstory-evidence>h4{margin:0 0 11px;color:var(--dx-gold);font-family:var(--dx-serif);font-size:.69rem;font-weight:500;letter-spacing:.2em;}
.destiny-explore .dx-weekstory-evidence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;}
.destiny-explore .dx-weekstory-source{padding:12px 14px;border:1px solid var(--dx-gold-hair);border-radius:9px;background:rgba(4,4,7,.24);}
.destiny-explore .dx-weekstory-source>p{margin:0 0 7px;color:var(--dx-goldb);font-family:var(--dx-serif);font-size:.75rem;line-height:1.55;}
.destiny-explore .dx-weekstory-source>p span{display:inline-block;margin-left:7px;color:var(--dx-bone-dim);font-size:.63rem;}
.destiny-explore .dx-weekstory-source blockquote{margin:0;color:var(--dx-bone);font-family:var(--dx-serif);font-size:.73rem;line-height:1.85;overflow-wrap:anywhere;}
.destiny-explore .dx-weekstory-refresh-status{min-height:1.2em;margin:10px 0 0;color:var(--dx-cinb);font-family:var(--dx-serif);font-size:.68rem;}
.destiny-explore .dx-weekstory-footnote{margin:8px 0 0;padding-top:11px;border-top:1px solid rgba(184,155,94,.08);color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.62rem;line-height:1.65;}
.destiny-explore .dx-weekstory-loading,.destiny-explore .dx-weekstory-error{margin:18px 0 2px;color:var(--dx-bone-dim);font-family:var(--dx-serif);font-size:.8rem;}

@media(max-width:640px){
  .destiny-explore .dx-weekstory{padding:21px 18px 18px;}
  .destiny-explore .dx-weekstory-head{gap:12px;}
  .destiny-explore .dx-weekstory-head h3{font-size:1.28rem;}
  .destiny-explore .dx-weekstory-head button{padding:7px 11px;font-size:.65rem;}
  .destiny-explore .dx-weekstory-evidence-list{grid-template-columns:1fr;}
}
/* Fortune OS desktop · adaptive day/night palette（20260723e）
 *
 * Night remains the source theme in styles.css / p7/components.css.  This file
 * only overrides the visual layer while html[data-theme="day"] is active, so
 * business state, chart data and interaction code stay untouched.
 */

html[data-theme="day"] {
  color-scheme: light;
  --bg: #f1ede3;
  --bg-card: rgba(255, 253, 247, 0.97);
  --bg-surface: rgba(76, 58, 34, 0.055);
  --bg-hover: rgba(125, 86, 39, 0.10);
  --border: rgba(67, 51, 31, 0.16);
  --border-accent: rgba(133, 87, 29, 0.46);
  --gold: #80571e;
  --gold-strong: #5b390b;
  --gold-dim: rgba(133, 87, 29, 0.12);
  --moon: #176681;
  --moon-dim: rgba(23, 102, 129, 0.11);
  --ember: #91451f;
  --success: #2f7655;
  --text: rgba(31, 27, 22, 0.96);
  --text-soft: rgba(48, 41, 33, 0.78);
  --text-muted: rgba(65, 56, 46, 0.60);
  --shadow-sm: 0 2px 10px rgba(73, 53, 29, 0.08);
  --shadow-md: 0 12px 34px rgba(73, 53, 29, 0.12);
  --shadow-deep: 0 28px 70px rgba(65, 45, 22, 0.18);
  --day-paper: #fffdf7;
  --day-paper-soft: #f8f3e9;
  --day-paper-deep: #eee6d6;
  --day-ink: #211c16;
  --day-ink-soft: rgba(45, 37, 29, 0.76);
  --day-ink-muted: rgba(59, 49, 39, 0.58);
  --day-gold: #80571e;
  --day-gold-dark: #58370b;
  --day-line: rgba(91, 66, 35, 0.18);
  --day-line-strong: rgba(128, 87, 30, 0.42);
  --day-card: rgba(255, 253, 247, 0.94);
  --day-card-solid: #fffdf7;
  --day-wash: rgba(121, 84, 38, 0.075);
}

html[data-theme="day"] :is(.p7-scope, .abyss-bg) {
  --p7-abyss: #eee8dc;
  --p7-abyss-soft: #faf7ef;
  --p7-gold: #79551f;
  --p7-gold-bright: #2a2118;
  --p7-gold-dim: rgba(105, 73, 31, 0.25);
  --p7-cinnabar: #8b302c;
  --p7-cinnabar-bright: #9f3832;
  --p7-bone: rgba(48, 39, 29, 0.68);
  --p7-mist: rgba(113, 78, 35, 0.07);
  --p7-ink-cloud: rgba(139, 48, 44, 0.035);
}

html[data-theme="day"] .ritual-veil {
  background: #f1ede3;
}

html[data-theme="day"] .bazi-jade-group .jade-slip[data-pillar-key="day_pillar"] :is([style*="#FFF"], [style*="#fff"]) {
  color: #2b2116 !important;
}

html[data-theme="day"] .p7-cta-secondary:hover {
  color: var(--p7-gold-bright) !important;
}

html[data-theme="day"] :is(.destiny-explore, .dx-scrim) {
  --dx-abyss: #eee8dc;
  --dx-soft: #faf7ef;
  --dx-soft2: #f3ecdf;
  --dx-gold: #79551f;
  --dx-goldb: #2b2116;
  --dx-gold-dim: rgba(121, 85, 31, 0.43);
  --dx-gold-hair: rgba(100, 72, 36, 0.20);
  --dx-cin: #86312d;
  --dx-cinb: #993a33;
  --dx-ink: rgba(35, 29, 23, 0.95);
  --dx-bone: rgba(50, 41, 31, 0.73);
  --dx-bone-dim: rgba(61, 50, 39, 0.57);
  --dx-ivory: #2b2116;
  --dx-cinnabar: #86312d;
}

/* ─── Page, chrome and shared surfaces ─── */
html[data-theme="day"] body {
  color: var(--text);
  background: #f1ede3;
}

html[data-theme="day"] body::before {
  background:
    radial-gradient(circle at 14% 4%, rgba(255, 255, 255, 0.82), transparent 32%),
    radial-gradient(circle at 84% 18%, rgba(215, 187, 130, 0.14), transparent 31%),
    linear-gradient(135deg, rgba(123, 91, 49, 0.025) 25%, transparent 25%) 0 0 / 18px 18px,
    #f1ede3;
}

html[data-theme="day"] body::after {
  background: linear-gradient(180deg, rgba(255, 253, 247, 0.10), rgba(224, 214, 194, 0.26));
}

html[data-theme="day"] :is(.parallax-stardust, .login-stars) {
  opacity: 0.12;
}

html[data-theme="day"] .hero-art {
  filter: brightness(1.55) contrast(0.76) saturate(0.72) sepia(0.18);
}

html[data-theme="day"] .hero-art-veil {
  background:
    radial-gradient(ellipse 52% 66% at 50% 46%, rgba(255, 253, 247, 0.70), rgba(244, 237, 224, 0.32) 72%, transparent 100%),
    linear-gradient(180deg, rgba(247, 241, 230, 0.42), transparent 24%, transparent 70%, rgba(232, 221, 202, 0.58));
}

html[data-theme="day"] .hero-content {
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(96, 69, 35, 0.20);
  border-radius: 24px;
  background: rgba(255, 253, 247, 0.76);
  box-shadow: 0 24px 70px rgba(62, 44, 22, 0.16);
  backdrop-filter: blur(10px) saturate(0.9);
  -webkit-backdrop-filter: blur(10px) saturate(0.9);
}

html[data-theme="day"] :is(.hero-poem, .hero-poem-lower, .hero-status-label,
  .hero .hero-eyebrow) {
  color: var(--day-ink) !important;
  text-shadow: none !important;
}

html[data-theme="day"] :is(.hero-scroll-cue, .bgm-toggle, .theme-mode-toggle) {
  color: var(--day-gold-dark);
  background: rgba(255, 253, 247, 0.90);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.dl-scene, .cx-scene, .dx-scene) {
  filter: brightness(1.16) saturate(0.76) sepia(0.08);
}

html[data-theme="day"] .wy-scene {
  filter: brightness(1.22) saturate(0.72) sepia(0.08);
}

html[data-theme="day"] .wy-scene-veil {
  background: radial-gradient(ellipse 66% 72% at 50% 44%, rgba(255, 253, 247, 0.06), rgba(237, 228, 211, 0.44) 92%);
}

html[data-theme="day"] .wy-panel.noscene {
  background:
    radial-gradient(ellipse 60% 90% at 78% 8%, rgba(155, 119, 75, 0.10), transparent 60%),
    linear-gradient(180deg, #f2ecdf, #e9dfcd);
}

html[data-theme="day"] .wy-glass {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-deep);
}

html[data-theme="day"] :is(.wy-glass-head h2, .wy-glass-meta) {
  color: var(--day-ink);
}

html[data-theme="day"] .wy-wrap .jn-tab {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.76);
  border-color: var(--day-line);
}

html[data-theme="day"] .wy-wrap .jn-tab.sel {
  color: var(--day-ink);
  background: linear-gradient(180deg, rgba(139, 48, 44, 0.13), rgba(139, 48, 44, 0.05));
}

html[data-theme="day"] .dl-jn-bar {
  background:
    repeating-linear-gradient(90deg, rgba(128, 87, 30, 0.045) 0 1px, transparent 1px 28px),
    rgba(255, 253, 247, 0.91);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .abyss-bg {
  background-color: var(--p7-abyss);
  color: var(--p7-gold-bright);
}

html[data-theme="day"] .abyss-bg::before,
html[data-theme="day"] .abyss-bg::after {
  opacity: 0.08;
}

html[data-theme="day"] :is(.top-bar,
  body.landing-home .top-bar,
  body.dl-open .top-bar,
  body.wy-open .top-bar,
  body.cx-open .top-bar,
  body.dx-open .top-bar) {
  color: var(--day-ink) !important;
  background: rgba(250, 247, 239, 0.88) !important;
  border-bottom-color: var(--day-line) !important;
  box-shadow: 0 8px 28px rgba(76, 55, 29, 0.08);
}

html[data-theme="day"] :is(.brand, .nav-tab, .admin-link, .nav-help, .nav-user-trigger) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.nav-tab:hover, .admin-link:hover, .nav-help:hover, .nav-menu-item:hover) {
  color: var(--day-ink);
  background: var(--day-wash);
}

html[data-theme="day"] .nav-tab.active {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.13);
}

html[data-theme="day"] :is(.nav-help, .nav-login-btn, .nav-user-trigger, .bgm-toggle, .theme-mode-toggle) {
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.nav-user-card, .account-nav) {
  color: var(--day-ink);
}

html[data-theme="day"] .nav-user-card {
  background: rgba(255, 253, 247, 0.98);
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-deep);
}

html[data-theme="day"] :is(.nav-user-card-id strong, .nav-menu-item) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.nav-user-name, .nav-user-logout, .nav-user-changepw) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.nav-user-card-id small, .nav-menu-sec) {
  color: var(--day-ink-muted);
}

html[data-theme="day"] .nav-menu-rule {
  background: var(--day-line);
}

html[data-theme="day"] :is(.panel, .form-panel, .result-panel, .system-spotlight,
  .home-entry-card, .consultation-item, .message-item, .system-note,
  .account-hero-panel, .account-state-card, .account-auth-form,
  .account-session-shell, .account-directory-panel, .account-editor-panel,
  .account-editor-form .field-card, .admin-panel, .order-plan-card,
  .admin-metric, .admin-table-row, .profile-card, .reading-card) {
  color: var(--day-ink);
  background: var(--day-card);
  border-color: var(--day-line);
  box-shadow: var(--shadow-sm);
}

html[data-theme="day"] .panel {
  background:
    radial-gradient(circle at top right, rgba(128, 87, 30, 0.055), transparent 32%),
    var(--day-card);
}

html[data-theme="day"] :is(.home-entry-card:hover, .consultation-item:hover) {
  border-color: var(--day-line-strong);
  background: #fffdf8;
}

html[data-theme="day"] .consultation-item.active,
html[data-theme="day"] .message-item.user {
  border-color: var(--day-line-strong);
  background: rgba(128, 87, 30, 0.08);
}

html[data-theme="day"] :is(.consultation-item span, .consultation-item small,
  .consultation-item p, .message-item .card-body, .home-entry-copy p,
  .meta-line, .meta-pill, .spotlight-description) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .system-figure-card {
  background: #e9e1d2;
  border-color: var(--day-line);
}

html[data-theme="day"] .system-figure-placeholder-shell {
  color: rgba(50, 39, 27, 0.14);
}

html[data-theme="day"] :is(input, select, textarea) {
  color: var(--day-ink);
  background-color: rgba(255, 254, 250, 0.96);
  border-color: rgba(82, 61, 36, 0.23);
}

html[data-theme="day"] :is(input, select, textarea):focus {
  background-color: #fffefb;
  border-color: rgba(128, 87, 30, 0.58);
  box-shadow: 0 0 0 3px rgba(128, 87, 30, 0.08);
}

html[data-theme="day"] :is(input, textarea)::placeholder {
  color: rgba(57, 47, 36, 0.42);
}

html[data-theme="day"] option {
  color: var(--day-ink);
  background: #fffdf7;
}

html[data-theme="day"] button[type="submit"] {
  color: var(--day-gold-dark);
  background: linear-gradient(135deg, rgba(128, 87, 30, 0.17), rgba(128, 87, 30, 0.08));
}

html[data-theme="day"] .ghost-button {
  color: var(--day-ink-soft);
  border-color: var(--day-line-strong);
  background: rgba(255, 253, 247, 0.72);
}

/* ─── Login, account dialogs, entry gate and help ─── */
html[data-theme="day"] :is(.login-overlay, .entry-gate-backdrop, .rd-backdrop,
  .ps-back, .intro-backdrop, .dx-scrim, .archetype-test-modal,
  .verify-sheet-backdrop) {
  background: rgba(47, 39, 29, 0.48);
}

html[data-theme="day"] .login-overlay {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 50% 18%, rgba(209, 178, 116, 0.22), transparent 34%),
    linear-gradient(150deg, #eee6d7, #f8f4eb 58%, #e9dfcc);
}

html[data-theme="day"] :is(.login-card, .entry-gate-panel, .entry-gate-card,
  .ps-panel, .intro-panel, .verify-sheet-panel, .archetype-test-shell,
  .archetype-test-result) {
  color: var(--day-ink);
  background: linear-gradient(165deg, #fffdf8, #f6f0e5);
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-deep);
}

html[data-theme="day"] :is(.login-card::before, .ps-panel::before) {
  border-color: rgba(128, 87, 30, 0.14);
}

html[data-theme="day"] :is(.login-field input, .reg-input, .ps-field input,
  .account-editor-form .field-card input, .account-editor-form .field-card select,
  .account-editor-form .field-card textarea) {
  color: var(--day-ink);
  background: rgba(255, 255, 252, 0.94);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.login-field span, .ps-field span, .login-legal,
  .login-foot, .account-legal, .account-legal-note, .reg-check) {
  color: var(--day-ink-muted);
}

html[data-theme="day"] :is(.login-seg, .reg-q, .entry-gate-copy h1,
  .entry-gate-card-head h3, .entry-gate-guide h3, .intro-head h3) {
  color: var(--day-ink);
}

html[data-theme="day"] .login-seg.active {
  color: var(--day-gold-dark);
  border-color: var(--day-line-strong);
  background: rgba(128, 87, 30, 0.10);
}

html[data-theme="day"] .reg-gender button {
  color: var(--day-ink-soft);
  background: #faf6ee;
  border-color: var(--day-line);
}

html[data-theme="day"] .reg-gender button.on {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.12);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.login-close, .ps-x, .intro-close) {
  color: var(--day-ink-soft);
  border-color: var(--day-line-strong);
  background: rgba(255, 253, 247, 0.78);
}

html[data-theme="day"] .intro-art::after {
  background: linear-gradient(180deg, rgba(255, 253, 247, 0) 38%, rgba(255, 253, 247, 0.96) 100%);
}

html[data-theme="day"] .intro-line,
html[data-theme="day"] .entry-gate-copy p:last-child {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.verify-sheet-question, .verify-note,
  .verify-pick-yes, .verify-pick-no) {
  color: var(--day-ink);
  background: rgba(255, 254, 250, 0.94);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.archetype-test-title, .archetype-result-xiang,
  .archetype-result-incarnations strong) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.archetype-result-candidates,
  .archetype-result-panyu, .archetype-result-incarnations small,
  .archetype-result-incarnations em.pending,
  .archetype-result-incarnations em.void) {
  color: var(--day-ink-soft);
}

/* ─── Today and 月影 ─── */
html[data-theme="day"] .daily-panel .dl-head,
html[data-theme="day"] .daily-panel :is(.dl-omen, .dl-card, .dl-almrow > .dl-card),
html[data-theme="day"] :is(.dl-extra, .dl-gx, .jn-entry, .jn-reply, .jn-motto,
  .wy-tile, .ct-book, .gx-hit-card, .dl-tonight-loop, .dl-tonight-source,
  .dl-tonight-mine, .dl-tonight-question, .dx-nourish-item) {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.91);
  border-color: var(--day-line);
  box-shadow: 0 10px 28px rgba(69, 49, 25, 0.08);
}

html[data-theme="day"] .dl-scene-fade {
  background: radial-gradient(ellipse 74% 70% at 50% 42%, rgba(255, 253, 247, 0.10), rgba(238, 230, 216, 0.44) 92%);
}

html[data-theme="day"] .dl-card::after {
  background: #f1ede3;
}

html[data-theme="day"] :is(.dl-head h2, .dl-o-seal, .dl-p-line, .dl-poem h3,
  .jn-mine p, .jn-motto-line, .ct-book b, .gx-hit-main b,
  .dl-tonight-head h3, .dl-tonight-echo h4, .dl-tonight-source-name) {
  color: var(--day-ink);
  text-shadow: none;
}

html[data-theme="day"] :is(.dl-head-meta, .dl-o-plain, .dl-o-gloss, .dl-x-plain,
  .dl-p-meta, .dl-p-reading, .dl-p-me-body, .jn-entry p, .jn-reply p,
  .jn-motto-relief, .gx-hit-main p, .gx-hit-main small, .ct-book small,
  .dl-tonight-copy, .dl-tonight-source-copy, .dl-tonight-question) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .jn-evidence {
  border-top-color: var(--day-line);
}

html[data-theme="day"] .jn-evidence summary,
html[data-theme="day"] .jn-evidence-item b {
  color: var(--day-ink);
}

html[data-theme="day"] .jn-evidence-item {
  border-left-color: var(--day-line-strong);
  background: rgba(122, 91, 45, 0.035);
}

html[data-theme="day"] .jn-evidence-item small,
html[data-theme="day"] .jn-reply .jn-evidence-item p {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.dl-o-anchor, .dl-x-src, .dl-x-orig,
  .gx-echo-src, .gx-echo-plain, .gx-echo-orig p, .dx-nourish-meta,
  .dx-nourish-item summary, .dx-nourish-poem p, .jn-knock p,
  .jn-mine .jn-date, .jn-acts button, .wy-state, .wy-empty,
  .wy-tile span, .jn-bar-k, .jn-bar-v, .jn-hide,
  .jn-motto-books small, .dl-skycard #sk-reading, .lc-sub,
  .lc-lunar, .lc-cell u, .lc-detail span, .sk-moon span,
  .dx-canon-wait, .site-footer p, .site-foot-icp,
  .dl-omen-plain, .dl-omen-cells b.dlo-muted, .dx-ai-foot) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.wy-tile b, .lc-title, .lc-cell b,
  .lc-detail .lc-det-t, .sk-moon b, .dl-omen-seal,
  .dl-omen-cells b:not(.dlo-muted), .dx-nourish-item summary) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.lc-cell, .lc-detail, .sk-moon) {
  border-color: var(--day-line);
}

html[data-theme="day"] :is(.lc-cell.today, .lc-detail) {
  background: rgba(128, 87, 30, 0.08);
}

html[data-theme="day"] :is(.dl-gx-bar input, .dl-gx-bar select, .dl-jn-bar input,
  .rd-toc-q, .dl-tonight-form textarea, .flow-src-input) {
  color: var(--day-ink);
  background-color: rgba(255, 254, 250, 0.96);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.dl-tonight-head > p, .dl-tonight-form > label,
  .dl-tonight-form-foot > span, .dl-tonight-mine p,
  .dl-tonight-source-name span, .dl-tonight-source blockquote,
  .dl-tonight-feedback > p, .dl-tonight-echo-meta,
  .dl-tonight-echo-note, .dl-tonight-footnote, .dl-tonight-echo-result) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .dl-tonight-echo-result {
  border-color: rgba(128, 87, 30, 0.18);
  background: rgba(128, 87, 30, 0.045);
}

html[data-theme="day"] :is(.dl-tonight-form-foot button, .dl-tonight-actions button) {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.90);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .jn-tab {
  color: var(--day-ink-soft);
  border-color: var(--day-line);
}

html[data-theme="day"] .jn-tab.sel {
  color: var(--day-gold-dark);
  border-color: var(--day-line-strong);
  background: rgba(128, 87, 30, 0.10);
}

/* ─── Classics library and dedicated reader ─── */
html[data-theme="day"] .canonx-panel:has(.cx-scene) .wy-wrap {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-md);
}

html[data-theme="day"] .canonx-panel:has(.cx-scene) .cx-hero-title {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.86);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.cx-hero-v, .cx-hero-sub) {
  color: var(--day-ink);
  text-shadow: none;
}

html[data-theme="day"] .cx-scene-veil {
  background: radial-gradient(ellipse 72% 68% at 50% 44%, rgba(255, 253, 247, 0.08), rgba(237, 228, 211, 0.40) 94%);
}

html[data-theme="day"] .rd-backdrop {
  background: rgba(52, 43, 31, 0.52);
}

html[data-theme="day"] .rd-panel {
  color: var(--day-ink);
  background: linear-gradient(180deg, #fffef9, #f5efe4);
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-deep);
}

html[data-theme="day"] .rd-panel::before,
html[data-theme="day"] .rd-top,
html[data-theme="day"] .rd-bar {
  border-color: var(--day-line);
}

html[data-theme="day"] :is(.rd-top span:first-child, .rd-head h1, .rd-text p) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.rd-meta, .rd-foot) {
  color: var(--day-ink-muted);
}

html[data-theme="day"] :is(.rd-top-acts button, .rd-bar button, .rd-toc-i,
  .ct-pager button, .gx-hit-acts button) {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .rd-toc-pop {
  color: var(--day-ink);
  background: #fffdf7;
  border-color: var(--day-line-strong);
  box-shadow: var(--shadow-md);
}

html[data-theme="day"] .rd-toc-i.cur {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.10);
  border-color: var(--day-line-strong);
}

/* ─── Destiny, chart wrappers and P7 folios ─── */
html[data-theme="day"] .workspace-panel[data-workspace-panel="destiny"]:has(.dx-scene) .destiny-explore,
html[data-theme="day"] .workspace-panel[data-workspace-panel="destiny"]:has(.dx-scene) #destiny-subject-entry:not([hidden]) {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line);
  box-shadow: 0 30px 70px rgba(64, 45, 22, 0.14);
}

html[data-theme="day"] .dx-scene-fade {
  background: linear-gradient(180deg, rgba(246, 241, 231, 0.18), rgba(246, 241, 231, 0.34) 58%, rgba(230, 220, 201, 0.52));
}

html[data-theme="day"] .destiny-explore .dx-self {
  background:
    radial-gradient(circle at 85% 18%, rgba(151, 103, 41, 0.09), transparent 28%),
    linear-gradient(145deg, #fffdf7, #f3ecdf);
  border-color: var(--dx-gold-hair);
  box-shadow: 0 20px 46px rgba(69, 48, 23, 0.13);
}

html[data-theme="day"] .destiny-explore :is(.dx-ecard, .dx-strip, .dx-continue,
  .dx-interp, .dx-wheel-box, .dx-jie, .dx-attr, .dx-zw-cell,
  .dx-zw-hua-chip, .dx-zw-dec-card, .dx-zwp-tcard, .dx-zw-ltab,
  .dx-sw-summary, .dx-sw-rcard, .dx-persona-card, .dx-sw-ecard,
  .dx-weekstory, .dx-weekstory-source) {
  color: var(--dx-ink);
  background: linear-gradient(160deg, #fffdf7, #f5efe4);
  border-color: var(--dx-gold-hair);
  box-shadow: 0 8px 22px rgba(72, 51, 26, 0.07);
}

html[data-theme="day"] .destiny-explore :is(.dx-ecard:hover, .dx-zw-cell:hover,
  .dx-sw-rcard:hover, .dx-persona-card:hover, .dx-sw-ecard:hover) {
  background: #fffefb;
  border-color: var(--dx-gold-dim);
}

html[data-theme="day"] .destiny-explore :is(.dx-track, .dx-ratio-track,
  .dx-tg-track, .dx-sw-inktrack) {
  background: rgba(74, 58, 39, 0.10);
}

html[data-theme="day"] .destiny-explore :is(.dx-zw-empty, .dx-zw-br.bp,
  .dx-zw-cs, .dx-zw-gz, .dx-zw-c-ming, .dx-zw-c-shen,
  .dx-zw-dec-gz, .dx-zwp-shen span, .dx-sw-sumt, .dx-sw-tone,
  .dx-sw-barlab, .dx-sw-rq, .dx-persona-role, .dx-sw-head .dx-sw-poemline,
  .dx-sw-ed, .dx-sw-slq, .dx-sw-inklab, .dx-sw-tallylab) {
  color: var(--dx-bone);
}

html[data-theme="day"] .destiny-explore .dx-hepan-entry {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 86% 0%, rgba(139, 48, 44, 0.12), transparent 31%),
    linear-gradient(120deg, rgba(139, 48, 44, 0.10), rgba(255, 253, 247, 0.96) 48%, rgba(128, 87, 30, 0.10));
  border-color: rgba(139, 48, 44, 0.42);
  box-shadow: 0 14px 30px rgba(73, 49, 24, 0.10);
}

html[data-theme="day"] .destiny-explore :is(.dx-hepan-copy strong, .dx-hepan-copy em) {
  color: var(--day-ink);
}

html[data-theme="day"] .destiny-explore .dx-bz-row.dx-head > div {
  color: var(--dx-bone);
  background: rgba(121, 85, 31, 0.08);
}

html[data-theme="day"] .destiny-explore .dx-s-lite,
html[data-theme="day"] .dx-scrim .dx-s-lite {
  color: var(--dx-bone);
  background: rgba(121, 85, 31, 0.065);
}

html[data-theme="day"] .destiny-explore .dx-modal,
html[data-theme="day"] .dx-scrim .dx-modal {
  color: var(--dx-ink);
  background: linear-gradient(165deg, #fffdf8, #f3ecdf);
  border-color: var(--dx-gold-dim);
  box-shadow: 0 36px 85px rgba(59, 43, 24, 0.24);
}

html[data-theme="day"] :is(.folio-banxin, .jade-slip, .p7-jian-sheet-panel) {
  color: var(--p7-gold-bright);
  background: var(--p7-abyss-soft);
  border-color: var(--p7-gold-dim);
  box-shadow: 0 12px 32px rgba(68, 49, 26, 0.10);
}

html[data-theme="day"] :is(.p7-jian-sheet-backdrop, .p7-sheet-backdrop) {
  background: rgba(50, 42, 31, 0.48);
}

/* Deterministic divination flow keeps its geometry; only the paper palette changes. */
html[data-theme="day"] .ritual-flow,
html[data-theme="day"] .flow-page {
  color: var(--day-ink) !important;
  background: #f1ede3 !important;
}

html[data-theme="day"] :is(.flow-veil, .flow-veil--tarot, .flow-veil--lot,
  .flow-veil--iching, .flow-veil--meihua) {
  background:
    radial-gradient(ellipse 58% 42% at 28% 16%, rgba(174, 128, 62, 0.11), transparent),
    radial-gradient(ellipse 46% 38% at 78% 26%, rgba(139, 48, 44, 0.055), transparent),
    #f1ede3 !important;
}

html[data-theme="day"] :is(.flow-page[data-flow-page^="lot-"],
  .flow-page[data-flow-page^="jiaobei-"]) {
  background: linear-gradient(180deg, #f5f0e6, #ece4d5) !important;
}

html[data-theme="day"] :is(.flow-system-card, .flow-system-scene-mark,
  .flow-intent-chip, .flow-spread-card, .flow-question-sheet,
  .flow-result-question, .flow-result-stat, .flow-result-stage,
  .flow-card, .flow-result-summary, .flow-result-reading,
  .flow-lot-side--blurb, .flow-lot-system-card, .flow-lot-sheet,
  .flow-lot-stub, .flow-jiaobei-field) {
  color: var(--day-ink);
  background: var(--day-card);
  border-color: var(--day-line);
  box-shadow: var(--shadow-sm);
}

html[data-theme="day"] :is(.flow-intent-chip.active, .flow-spread-card.active,
  .flow-lot-system-card.active) {
  background: linear-gradient(145deg, rgba(128, 87, 30, 0.12), #fffdf7) !important;
  border-color: var(--day-line-strong) !important;
}

html[data-theme="day"] :is(.flow-textarea, .flow-src-input) {
  color: var(--day-ink);
  background: #fffefb;
  border-color: var(--day-line-strong);
}

html[data-theme="day"] :is(.flow-result-question-text, .flow-result-lead,
  .flow-card h4, .flow-result-stat strong) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.flow-card .card-note, .flow-result-lead-copy,
  .flow-result-answer p) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.flow-card, .flow-stage, .flow-result-card,
  .iching-related-card, .mh-src-chip) {
  color: var(--day-ink-soft) !important;
  background-color: rgba(255, 253, 247, 0.94) !important;
  border-color: var(--day-line-strong) !important;
}

html[data-theme="day"] :is(.flow-title, .flow-page h1, .flow-page h2,
  .flow-page h3, .yi-verdict strong) {
  color: var(--day-ink) !important;
}

html[data-theme="day"] :is(.iching-primary-name, .iching-related-name,
  .iching-text-body, .iching-yao-text, .yi-verdict-text) {
  color: var(--day-ink) !important;
}

html[data-theme="day"] .iching-hex-col {
  color: var(--day-ink) !important;
  background: linear-gradient(180deg, #fffdf7, #f2eadc) !important;
  border-color: var(--day-line-strong) !important;
}

html[data-theme="day"] :is(.iching-bar, .iching-mini-bar) {
  background: #6a4a20 !important;
  box-shadow: none !important;
}

/* ─── Profiles, history, orders and admin ─── */
html[data-theme="day"] :is(.account-hero-copy h2, .account-auth-head h3,
  .account-session-head h3, .account-status-card strong,
  .account-editor-banner strong, .account-profile-list .consultation-item strong,
  .history-simple-head h2, .history-sys-name, .order-plan-card h3,
  .admin-panel h2, .admin-panel h3) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.account-status-card span, .account-editor-banner p,
  .account-profile-list .consultation-question, .account-profile-list .consultation-meta,
  .history-chronicle-fold > summary, .history-conversation-fold > summary) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.pf-name, .arc-card-id strong, .arc-card-birth,
  .account-hero-title-sm, .account-me-id strong, .account-editor-title-sm,
  .order-row-main strong, .admin-section-head h3, .admin-user-id strong,
  .xz-v) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.account-me-id small, .pf-group) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.pf-av, .account-me-avatar) {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.12) !important;
  border-color: var(--day-line-strong);
  box-shadow: inset 0 0 0 1px rgba(255, 253, 247, 0.42);
}

html[data-theme="day"] .pf-av-draft {
  color: var(--day-gold) !important;
}

html[data-theme="day"] .pf-cur {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.11);
  border-color: rgba(128, 87, 30, 0.38);
}

html[data-theme="day"] .pf-edit {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.86);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .pf-edit:hover {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.10);
  border-color: rgba(128, 87, 30, 0.58);
}

html[data-theme="day"] :is(.pf-sub, .pf-date, .arc-card-id small,
  .arc-card-loc, .arc-edit, .order-plan-card p, .order-empty,
  .order-row-meta, .order-dev summary, .admin-metric-k, .admin-table td,
  .admin-user-id small, .admin-user-cur, .account-hero-compact .meta-line,
  .account-advanced summary, .account-session-actions #signout-button,
  .xz-v small, .xz-tag-out,
  [data-workspace-panel="history"] #consultation-list > .empty-mini) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.order-row, .admin-table td, .arc-card, .pf-row,
  .xz-row) {
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line);
}

html[data-theme="day"] :is(.admin-user-row, .admin-table th, .admin-return-bar) {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.94);
  border-color: var(--day-line);
}

html[data-theme="day"] :is(.history-sys-bar, .admin-progress, .order-progress) {
  background: rgba(76, 59, 39, 0.11);
}

html[data-theme="day"] .account-editor-banner {
  color: var(--day-ink);
  background: linear-gradient(135deg, rgba(128, 87, 30, 0.10), rgba(255, 253, 247, 0.72));
  border-color: var(--day-line);
}

html[data-theme="day"] :is(.account-editor-panel, .account-directory-panel,
  .history-simple-head, .history-conversation-fold) {
  border-color: var(--day-line);
}

html[data-theme="day"] .account-directory-panel .pf-row.sel {
  background: rgba(128, 87, 30, 0.10);
  border-color: var(--day-line-strong);
}

/* ─── 合盘 full-page experience ─── */
html[data-theme="day"] .hepan-page {
  color: var(--day-ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(207, 173, 111, 0.15), transparent 35%),
    #f1ede3;
}

html[data-theme="day"] .hepan-page::before {
  opacity: 0.08;
}

html[data-theme="day"] :is(.hepan-pagebar, .hepan-page-tabs) {
  color: var(--day-ink);
  background: rgba(250, 247, 239, 0.91);
  border-color: var(--day-line);
  box-shadow: 0 8px 24px rgba(71, 51, 28, 0.08);
}

html[data-theme="day"] :is(.hepan-close, .hepan-page-back, .hepan-share) {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.86);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .hepan-page-tabs button {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .hepan-page-tabs button.on {
  color: var(--day-gold-dark);
  background: rgba(128, 87, 30, 0.10);
}

html[data-theme="day"] .hepan-page .hepan-page-brand {
  color: var(--day-gold);
}

html[data-theme="day"] .hepan-page .hepan-head > div > p:last-child {
  color: var(--day-ink-soft);
}

html[data-theme="day"] .hepan-page :is(.hepan-relation-fieldset, .hepan-stage-fieldset) > legend {
  color: var(--day-gold);
}

html[data-theme="day"] :is(.hepan-compose, .hepan-stage, .hepan-section,
  .hepan-pillar, .hepan-card, .hepan-result-card, .hepan-annotation,
  .hepan-theme-basis, .hepan-audit, .hepan-audit-rule,
  .hepan-evidence-item, .hepan-audit-rule-notes, .hepan-ten-exchange > div,
  .hepan-stage-options span, .hepan-stage-lens, .hepan-guided-card,
  .hepan-ancient-hint, .hepan-warning) {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.93);
  border-color: var(--day-line);
  box-shadow: 0 8px 24px rgba(70, 49, 25, 0.07);
}

html[data-theme="day"] :is(.hepan-page h1, .hepan-page h2, .hepan-page h3,
  .hepan-page h4, .hepan-person-name, .hepan-rule-name) {
  color: var(--day-ink);
}

html[data-theme="day"] :is(.hepan-page p, .hepan-hint, .hepan-rule-copy,
  .hepan-audit-rule-notes, .hepan-evidence-item) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.hepan-page .hepan-head > blockquote p,
  .hepan-stage-options strong, .hepan-stage-options small,
  .hepan-stage-lens > div > strong, .hepan-stage-lens > div > em,
  .hepan-stage-lens li, .hepan-stage-lens blockquote,
  .hepan-guided-card > h4, .hepan-guided-card > p,
  .hepan-ten-families > header strong, .hepan-pillar-person-head h4,
  .hepan-pillar-person-head p strong, .hepan-pillar > em,
  .hepan-pillar-missing small, .hepan-pillar-metric > b,
  .hepan-pillar-link span, .hepan-section-head h3,
  .hepan-mirror-head strong, .hepan-mirror-row > b,
  .hepan-mirror-value, .hepan-mirror-note, .hepan-ten-exchange > div small,
  .hepan-theme-card > p, .hepan-theme-basis blockquote p,
  .hepan-ancient-hint blockquote, .hepan-ancient-hint small,
  .hepan-muted, .hepan-warning, .hepan-annotation h3,
  .hepan-annotation > div:first-child > p:last-child,
  .hepan-annotation-text, .hepan-annotation-sources span,
  .hepan-audit > summary strong, .hepan-audit-rule h5,
  .hepan-evidence-item h5, .hepan-audit-rule-notes h5,
  .hepan-audit-rule p, .hepan-evidence-item p, .hepan-audit-rule-notes p) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.hepan-stage-options input:checked + span,
  .hepan-page .hepan-annotation > button) {
  color: var(--day-ink);
  background: rgba(139, 48, 44, 0.09);
  border-color: rgba(139, 48, 44, 0.42);
}

html[data-theme="day"] .hepan-stage-options input:checked + span :is(strong, small) {
  color: var(--day-ink);
}

html[data-theme="day"] .hepan-relation-options span {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.90);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .hepan-relation-options input:checked + span {
  color: #6c201c;
  background: rgba(139, 48, 44, 0.11);
  border-color: rgba(139, 48, 44, 0.55);
}

html[data-theme="day"] .hepan-picker select {
  color: var(--day-ink);
  background-color: #fffdf7;
  border-color: var(--day-line-strong);
}

html[data-theme="day"] .hepan-mirror-track {
  background: rgba(68, 53, 35, 0.10);
}

html[data-theme="day"] .hepan-theme-basis blockquote {
  color: var(--day-ink-soft);
  background: rgba(139, 48, 44, 0.055);
}

html[data-theme="day"] .hepan-system-tabs button {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.78);
  border-color: var(--day-line);
}

html[data-theme="day"] .hepan-system-tabs button.active {
  color: var(--day-ink);
  background: linear-gradient(135deg, rgba(139, 48, 44, 0.10), rgba(196, 151, 82, 0.08));
  border-color: rgba(139, 48, 44, 0.42);
  box-shadow: 0 10px 28px rgba(70, 49, 25, 0.08);
}

html[data-theme="day"] :is(.hepan-conclusion-stage, .hepan-conclusion-card,
  .hepan-conclusion-actions, .hepan-conclusion-theory > div, .hepan-deep-dive,
  .star-hepan-verdict, .star-hepan-dimension,
  .star-hepan-anchors > article, .star-hepan-fact, .star-hepan-overlay,
  .star-hepan-composite-positions > article, .star-hepan-method) {
  color: var(--day-ink);
  background: rgba(255, 253, 247, 0.93);
  border-color: var(--day-line);
  box-shadow: 0 8px 24px rgba(70, 49, 25, 0.07);
}

html[data-theme="day"] :is(.hepan-conclusion-stage > p, .hepan-conclusion-card p,
  .hepan-conclusion-card article > small, .hepan-conclusion-actions p,
  .hepan-conclusion-theory > div > p, .hepan-conclusion-theory li p,
  .hepan-deep-dive > summary > small, .star-hepan-verdict-head p,
  .star-hepan-verdict-grid p, .star-hepan-verdict footer,
  .star-hepan-dimension > header strong, .star-hepan-dimension-copy p,
  .star-hepan-dimension > footer, .star-hepan-anchors > article p,
  .star-hepan-fact > p, .star-hepan-overlay > p,
  .star-hepan-composite-positions p, .star-hepan-method > p) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] :is(.hepan-deep-dive > summary, .hepan-conclusion-theory > summary) {
  color: var(--day-ink);
}

html[data-theme="day"] .hepan-overall-reading-cta {
  color: #6c201c;
  background: rgba(139, 48, 44, 0.08);
  border-color: rgba(139, 48, 44, 0.38);
}

html[data-theme="day"] :is(.hepan-conclusion-stage > strong,
  .hepan-conclusion-card strong, .hepan-conclusion-actions strong,
  .star-hepan-verdict h2, .star-hepan-verdict-grid strong,
  .star-hepan-dimension > header span, .star-hepan-anchors > article > header strong,
  .star-hepan-anchors > article p b, .star-hepan-fact > strong,
  .star-hepan-overlay > span b, .star-hepan-composite-positions strong,
  .star-hepan-composite-aspects strong, .star-hepan-method h3) {
  color: var(--day-ink);
}

html[data-theme="day"] .star-hepan-wheel-point circle {
  fill: #fffdf7;
}

html[data-theme="day"] .star-hepan-zodiac :is(circle, line) {
  stroke: rgba(99, 72, 39, 0.24);
}

html[data-theme="day"] .star-hepan-wheel-center {
  fill: rgba(68, 53, 35, 0.78);
}

html[data-theme="day"] .star-hepan-wheel-center.is-small {
  fill: rgba(68, 53, 35, 0.48);
}

/* Dynamic canon_card.js styles are injected after this stylesheet.  Keep the
 * day selectors deliberately more specific than the injected single-class
 * rules so the drawer follows the active palette without coupling its logic. */
html[data-theme="day"] .top-bar .brand strong {
  color: var(--day-ink);
}

html[data-theme="day"] .top-bar .brand-sub {
  color: rgba(88, 62, 31, 0.72);
}

html[data-theme="day"] body .canon-drawer-overlay {
  background: rgba(47, 39, 29, 0.48);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

html[data-theme="day"] body .canon-drawer {
  color-scheme: light;
  color: var(--day-ink);
  background: linear-gradient(180deg, #fffdf8, #f4eddf);
  border-left-color: var(--day-line-strong);
  box-shadow: -14px 0 42px rgba(63, 45, 24, 0.22);
  scrollbar-color: rgba(128, 87, 30, 0.38) transparent;
}

html[data-theme="day"] body .canon-drawer-close {
  color: var(--day-ink-soft);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line-strong);
}

html[data-theme="day"] body .canon-drawer-close:hover {
  color: var(--day-ink);
  background: rgba(128, 87, 30, 0.10);
  border-color: rgba(128, 87, 30, 0.68);
}

html[data-theme="day"] body :is(.canon-drawer-cat,
  .canon-drawer-loading-glyph, .canon-drawer-empty-glyph) {
  color: var(--day-gold);
}

html[data-theme="day"] body .canon-drawer-key {
  color: var(--day-ink);
  text-shadow: none;
}

html[data-theme="day"] body .canon-drawer-source {
  color: var(--day-ink-soft);
  border-bottom-color: var(--day-line-strong);
}

html[data-theme="day"] body .canon-drawer-source a {
  color: var(--day-gold-dark);
  border-bottom-color: var(--day-line-strong);
}

html[data-theme="day"] body .canon-drawer-source a:hover {
  color: var(--day-ink);
  border-color: var(--day-gold);
}

html[data-theme="day"] body .canon-drawer-modern {
  color: var(--day-ink);
}

html[data-theme="day"] body .canon-drawer-glossary .term {
  color: var(--day-ink-soft);
  background: rgba(128, 87, 30, 0.09);
  border-color: rgba(128, 87, 30, 0.30);
}

html[data-theme="day"] body .canon-drawer-toggle {
  color: var(--day-gold-dark);
  background: #f8f2e7;
  border-color: var(--day-line-strong);
}

html[data-theme="day"] body .canon-drawer-toggle:hover {
  color: var(--day-ink);
  background: rgba(128, 87, 30, 0.12);
  border-color: rgba(128, 87, 30, 0.68);
}

html[data-theme="day"] body .canon-drawer-original {
  color: var(--day-ink-soft);
  background: #f6efdf;
  border-left-color: var(--day-gold);
}

html[data-theme="day"] body .canon-drawer-note {
  color: var(--day-ink-muted);
  border-top-color: var(--day-line);
}

html[data-theme="day"] body .canon-drawer-note::before {
  color: var(--day-gold);
}

html[data-theme="day"] body :is(.canon-drawer-loading, .canon-drawer-empty) {
  color: var(--day-ink-soft);
}

html[data-theme="day"] body :is(.canon-drawer-loading-text, .canon-drawer-empty-text) {
  color: var(--day-ink-soft);
}

/* Keep text selection legible on the pale paper. */
html[data-theme="day"] ::selection {
  color: #1d160f;
  background: rgba(196, 151, 70, 0.34);
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="day"] .abyss-bg::before,
  html[data-theme="day"] .abyss-bg::after {
    animation: none;
  }
}

/* ─── Daylight scenic layer · 20260723i ─────────────────────────────
 * The original night paintings remain the source assets and are deliberately
 * untouched.  Only daytime swaps in the pale companion artwork. */
html[data-theme="day"] {
  --text-soft: #51483f;
  --text-muted: #695e52;
  --day-ink-soft: #51473d;
  --day-ink-muted: #6b6054;
  --on-accent: #fffaf0;
  --symbol-strong: #5e421b;
  --symbol-soft: #75634d;
  --chart-grid: rgba(78, 57, 33, 0.34);
}

html[data-theme="day"] body {
  background-color: #e9e2d4;
}

html[data-theme="day"] body::before {
  background:
    linear-gradient(180deg, rgba(255, 253, 247, 0.18), rgba(237, 229, 214, 0.42)),
    url("/web/assets/theme/bg-day-silk-wide-v1.webp") center top / cover no-repeat;
}

html[data-theme="day"] body::after {
  background: linear-gradient(180deg, rgba(255, 253, 247, 0.08), rgba(232, 222, 203, 0.24));
}

html[data-theme="day"] .hero-art {
  content: url("/web/assets/scenes/ask-day-wide-v20260724a.webp");
}

html[data-theme="day"] .dl-scene {
  content: url("/web/assets/scenes/today-day-wide-v20260724a.webp");
}

html[data-theme="day"] :is(.cx-scene, .cx-hero-bg) {
  content: url("/web/assets/scenes/canon-day-wide-v20260724a.webp");
}

html[data-theme="day"] .wy-scene {
  content: url("/web/assets/scenes/journal-day-wide-v20260724a.webp");
}

html[data-theme="day"] .dx-scene {
  content: url("/web/assets/scenes/destiny-day-wide-v20260724a.webp");
}

html[data-theme="day"] :is(.hero-art, .dl-scene, .cx-scene, .cx-hero-bg, .wy-scene, .dx-scene) {
  filter: none;
  mix-blend-mode: normal;
}

html[data-theme="day"] .hero-art {
  opacity: 0.98;
  object-position: center 52%;
}

html[data-theme="day"] :is(.dl-scene, .cx-scene, .wy-scene, .dx-scene) {
  opacity: 0.92;
  object-position: center top;
}

html[data-theme="day"] :is(.hero-art-veil, .dl-scene-fade, .cx-scene-veil, .wy-scene-veil, .dx-scene-fade) {
  background:
    radial-gradient(ellipse 66% 70% at 50% 42%, rgba(255, 253, 247, 0.03), rgba(245, 239, 228, 0.30) 90%),
    linear-gradient(180deg, rgba(255, 253, 247, 0.05), rgba(235, 225, 207, 0.28));
}

html[data-theme="day"] :is(.primary-cta, .qsend, button[type="submit"]) {
  color: var(--on-accent) !important;
  background: #8b302c !important;
  border-color: #8b302c !important;
  text-shadow: none !important;
  box-shadow: 0 8px 22px rgba(92, 35, 30, 0.18);
}

html[data-theme="day"] :is(.primary-cta, .qsend, button[type="submit"]):hover {
  color: #fffdf8 !important;
  background: #742520 !important;
  border-color: #742520 !important;
}

html[data-theme="day"] :is(input, textarea)::placeholder {
  color: #71675d;
}

html[data-theme="day"] button:disabled {
  opacity: 0.68;
}

html[data-theme="day"] .theme-mode-toggle {
  color: var(--day-gold-dark);
  background: rgba(255, 253, 247, 0.92);
  border-color: var(--day-line-strong);
  box-shadow: 0 10px 28px rgba(73, 53, 29, 0.14);
}

html[data-theme="day"] .theme-mode-toggle:hover {
  color: var(--day-ink);
  background: #fffdf8;
  border-color: rgba(128, 87, 30, 0.64);
}

html[data-theme="day"] .theme-mode-toggle:focus-visible {
  outline-color: var(--day-gold-dark);
}

/* Small symbols and chart furniture need a darker daylight ink than prose. */
html[data-theme="day"] :is(.jn-quote, .nt-lamp, .gl-band, .zwg-name, .zwg-gz, .zwg-aux i) {
  color: var(--symbol-strong);
  fill: var(--symbol-strong);
}

html[data-theme="day"] .nt-lamp svg,
html[data-theme="day"] :is(.gl-svg path, .gl-svg line, .gl-svg ellipse, .gl-svg circle, .gl-smoke) {
  stroke: var(--symbol-strong);
}

html[data-theme="day"] :is(.sk-ring, .sk-tick, .sk-mtick) {
  stroke: var(--chart-grid);
}

html[data-theme="day"] .sk-sign {
  fill: var(--symbol-strong);
}

html[data-theme="day"] :is(.sk-pbg, .sk-body.minor .sk-pbg) {
  fill: #294057;
  stroke: #79551f;
}

html[data-theme="day"] :is(.sk-pt, .sk-body.minor .sk-pt, .sk-deg) {
  fill: #fffaf0;
}

html[data-theme="day"] :is(.dl-omen-taiji .tj-base, .tj-dark) {
  fill: #3d5061;
}

html[data-theme="day"] :is(.dl-omen-taiji .tj-fish, .dl-omen-taiji .tj-dot-b, .tj-light) {
  fill: #b4863f;
}

html[data-theme="day"] :is(.dl-omen-taiji .tj-ring, .tj-ring) {
  stroke: var(--symbol-strong);
}

/* Inline SVGs in the destiny workbench use night-safe colours.  Preserve that
 * authored artwork by giving those two visual wells a deliberate blue-paper
 * ground during the day instead of weakening their labels. */
html[data-theme="day"] :is(.destiny-explore .dx-wheel-box, .destiny-explore .dx-attr-radar) {
  color: rgba(245, 239, 222, 0.94);
  background: linear-gradient(160deg, rgba(41, 64, 87, 0.97), rgba(30, 48, 68, 0.97));
  border-radius: 14px;
}

html[data-theme="day"] .destiny-explore .dx-attr-radar {
  padding: 14px;
}

@media (max-width: 700px) {
  html[data-theme="day"] body::before {
    background:
      linear-gradient(180deg, rgba(255, 253, 247, 0.15), rgba(237, 229, 214, 0.42)),
      url("/web/assets/theme/bg-day-silk-tall-v1.webp") center top / cover no-repeat;
  }

  html[data-theme="day"] .hero-art {
    content: url("/web/assets/scenes/ask-day-tall-v20260724a.webp");
  }
  html[data-theme="day"] .dl-scene {
    content: url("/web/assets/scenes/today-day-tall-v20260724a.webp");
  }
  html[data-theme="day"] :is(.cx-scene, .cx-hero-bg) {
    content: url("/web/assets/scenes/canon-day-tall-v20260724a.webp");
  }
  html[data-theme="day"] .wy-scene {
    content: url("/web/assets/scenes/journal-day-tall-v20260724a.webp");
  }
  html[data-theme="day"] .dx-scene {
    content: url("/web/assets/scenes/destiny-day-tall-v20260724a.webp");
  }

  .theme-mode-dock {
    right: 18px;
    bottom: 84px;
  }
}

/* ══════════ 今日一事 · 今夜写下 → 过几日回看 → 周末成章（20260723i） ══════════ */
.dl-mainline {
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, 1.05fr) minmax(420px, 1.4fr);
  gap: 24px 34px;
  margin: 6px 0 22px;
  padding: 28px 32px 24px;
  overflow: hidden;
  border: 1px solid rgba(184, 155, 94, 0.46);
  background:
    radial-gradient(circle at 88% 0%, rgba(178, 88, 78, 0.12), transparent 36%),
    rgba(11, 11, 15, 0.86);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.dl-mainline::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(184, 155, 94, 0.14);
  pointer-events: none;
}

.dl-mainline > * {
  position: relative;
  z-index: 1;
}

.dl-mainline-kicker {
  margin: 0 0 9px;
  color: rgba(184, 155, 94, 0.86);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.42em;
}

.dl-mainline-lead h3 {
  margin: 0;
  color: #f0e4c4;
  font-family: var(--font-display, var(--serif));
  font-size: clamp(1.32rem, 2.2vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.45;
}

.dl-mainline-lead > p:last-child {
  margin: 10px 0 0;
  color: rgba(230, 217, 180, 0.68);
  font-size: 0.88rem;
  line-height: 1.85;
}

.dl-mainline-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: center;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dl-mainline-steps li {
  position: relative;
  min-width: 0;
  padding: 13px 14px 12px;
  border: 1px solid rgba(184, 155, 94, 0.18);
  background: rgba(184, 155, 94, 0.035);
  opacity: 0.55;
  transition: opacity 160ms ease, border-color 160ms ease, background 160ms ease;
}

.dl-mainline-steps li:not(:last-child)::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: -10px;
  z-index: 2;
  color: rgba(184, 155, 94, 0.48);
  transform: translate(50%, -50%);
}

.dl-mainline-steps span,
.dl-mainline-steps strong {
  display: block;
}

.dl-mainline-steps span {
  color: rgba(230, 217, 180, 0.52);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.dl-mainline-steps strong {
  margin-top: 5px;
  color: rgba(239, 227, 192, 0.78);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.dl-mainline-steps li.is-active {
  border-color: rgba(199, 84, 72, 0.68);
  background: linear-gradient(145deg, rgba(178, 88, 78, 0.15), rgba(184, 155, 94, 0.07));
  box-shadow: inset 0 0 0 1px rgba(199, 84, 72, 0.08);
  opacity: 1;
}

.dl-mainline-foot {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(184, 155, 94, 0.16);
}

.dl-mainline-foot > span {
  color: rgba(230, 217, 180, 0.48);
  font-size: 0.76rem;
  line-height: 1.7;
}

.dl-mainline-foot button {
  flex: 0 0 auto;
  min-width: 142px;
  padding: 10px 19px;
  border: 1px solid rgba(184, 155, 94, 0.5);
  border-radius: 999px;
  color: #eadcba;
  background: rgba(184, 155, 94, 0.07);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  cursor: pointer;
}

.dl-mainline-foot button:hover {
  color: #f5e9c9;
  border-color: rgba(184, 155, 94, 0.82);
  background: rgba(184, 155, 94, 0.13);
}

@media (max-width: 820px) {
  .dl-mainline {
    grid-template-columns: 1fr;
    padding: 24px 22px 21px;
  }
}

@media (max-width: 560px) {
  .dl-mainline-steps {
    grid-template-columns: 1fr;
  }

  .dl-mainline-steps li:not(:last-child)::after {
    top: auto;
    right: 18px;
    bottom: -13px;
    transform: rotate(90deg);
  }

  .dl-mainline-foot {
    align-items: stretch;
    flex-direction: column;
  }

  .dl-mainline-foot button {
    width: 100%;
  }
}

/* ══════════ 绢本白日最终覆盖 · 淡绢不泛黄（20260724a） ══════════ */
html[data-theme="day"] {
  --bg: #e9e1cf;
  --bg-card: #f7f3e9;
  --bg-surface: #f3eee2;
  --bg-hover: #e6dcc7;
  --border: #8b806c;
  --border-accent: #6e6658;
  --gold: #73552a;
  --gold-strong: #73552a;
  --gold-dim: rgba(115, 85, 42, 0.15);
  --text: #27251f;
  --text-soft: #4c473d;
  --text-muted: #5f584b;
  --day-paper: #f7f3e9;
  --day-paper-soft: #f3eee2;
  --day-paper-deep: #e6dcc7;
  --day-ink: #27251f;
  --day-ink-soft: #4c473d;
  --day-ink-muted: #5f584b;
  --day-gold: #73552a;
  --day-gold-dark: #73552a;
  --day-line: #8b806c;
  --day-line-strong: #6e6658;
  --day-card: rgba(247, 243, 233, 0.95);
  --day-card-solid: #f7f3e9;
  --day-wash: rgba(128, 107, 79, 0.12);
  --on-accent: #fffaf0;
  --symbol-strong: #332d23;
  --symbol-soft: #594f40;
  --chart-grid: rgba(128, 107, 79, 0.62);
  --shadow-sm: 0 3px 12px rgba(65, 49, 29, 0.10);
  --shadow-md: 0 14px 36px rgba(65, 49, 29, 0.14);
  --shadow-deep: 0 30px 72px rgba(65, 49, 29, 0.17);
}

html[data-theme="day"] :is(.p7-scope, .abyss-bg) {
  --p7-abyss: #e9e1cf;
  --p7-abyss-soft: #f3eee2;
  --p7-gold: #73552a;
  --p7-gold-bright: #27251f;
  --p7-gold-dim: #8b806c;
  --p7-bone: #4c473d;
  --p7-mist: rgba(128, 107, 79, 0.12);
  --p7-ink-cloud: rgba(65, 49, 29, 0.05);
}

html[data-theme="day"] :is(.destiny-explore, .dx-scrim) {
  --dx-abyss: #e9e1cf;
  --dx-soft: #f7f3e9;
  --dx-soft2: #f3eee2;
  --dx-gold: #73552a;
  --dx-goldb: #27251f;
  --dx-gold-dim: #6e6658;
  --dx-gold-hair: #8b806c;
  --dx-ink: #27251f;
  --dx-bone: #4c473d;
  --dx-bone-dim: #5f584b;
  --dx-ivory: #27251f;
}

html[data-theme="day"] body {
  color: #27251f;
  background-color: #e9e1cf;
  font-size: 16px;
  font-weight: 500;
}

html[data-theme="day"] body::before {
  background:
    linear-gradient(180deg, rgba(243, 238, 226, 0.54), rgba(233, 225, 207, 0.68)),
    url("/web/assets/theme/bg-day-silk-wide-v1.webp") center top / cover no-repeat;
  background-blend-mode: normal, normal;
}

html[data-theme="day"] body::after {
  background: linear-gradient(180deg, rgba(247, 243, 233, 0.12), rgba(222, 210, 187, 0.28));
}

/* 新白日画已经按淡绢色生成，不再用滤镜二次染黄或压低清晰度。 */
html[data-theme="day"] :is(.hero-art, .dl-scene, .cx-scene, .cx-hero-bg, .wy-scene, .dx-scene) {
  filter: none;
  mix-blend-mode: normal;
}

html[data-theme="day"] :is(.hero-art-veil, .dl-scene-fade, .cx-scene-veil, .wy-scene-veil, .dx-scene-fade) {
  background:
    radial-gradient(ellipse 68% 72% at 50% 42%, rgba(247, 243, 233, 0.02), rgba(233, 225, 207, 0.20) 76%),
    linear-gradient(180deg, rgba(243, 238, 226, 0.03), rgba(222, 210, 187, 0.30));
}

html[data-theme="day"] :is(.top-bar,
  body.landing-home .top-bar,
  body.dl-open .top-bar,
  body.wy-open .top-bar,
  body.cx-open .top-bar,
  body.dx-open .top-bar) {
  color: #27251f !important;
  background: rgba(243, 238, 226, 0.96) !important;
  border-bottom: 1px solid #8b806c !important;
  box-shadow: 0 8px 28px rgba(65, 49, 29, 0.12);
}

html[data-theme="day"] :is(.panel, .form-panel, .result-panel, .system-spotlight,
  .home-entry-card, .consultation-item, .message-item, .system-note,
  .account-hero-panel, .account-state-card, .account-auth-form,
  .account-session-shell, .account-directory-panel, .account-editor-panel,
  .account-editor-form .field-card, .admin-panel, .order-plan-card,
  .admin-metric, .admin-table-row, .profile-card, .reading-card,
  .daily-panel .dl-head, .daily-panel .dl-omen, .daily-panel .dl-card,
  .daily-panel .dl-almrow > .dl-card, .dl-extra, .dl-gx, .jn-entry,
  .jn-reply, .jn-motto, .wy-tile, .ct-book, .gx-hit-card,
  .dl-tonight-loop, .dl-tonight-source, .dl-tonight-mine,
  .dl-tonight-question, .dx-nourish-item) {
  color: #27251f;
  background: rgba(247, 243, 233, 0.95);
  border-color: #8b806c;
  border-width: 1px;
  box-shadow: 0 10px 30px rgba(65, 49, 29, 0.11);
}

html[data-theme="day"] :is(.nav-tab, .admin-link, .nav-help, .nav-user-trigger,
  .brand, .nav-menu-item, .ghost-button) {
  color: #27251f;
  font-weight: 600;
}

html[data-theme="day"] .nav-tab.active {
  color: #27251f;
  background: #e6dcc7;
  box-shadow: inset 0 -2px 0 #73552a;
}

html[data-theme="day"] :is(input, select, textarea, button) {
  font-size: 1rem;
  font-weight: 600;
}

html[data-theme="day"] :is(input, select, textarea) {
  color: #27251f;
  background-color: #f7f3e9;
  border: 1px solid #6e6658;
}

html[data-theme="day"] :is(input, select, textarea):focus {
  color: #27251f;
  background-color: #fbf8f0;
  border-color: #55462f;
  box-shadow: 0 0 0 3px rgba(128, 107, 79, 0.20);
}

html[data-theme="day"] :is(input, textarea)::placeholder {
  color: #5f584b;
  opacity: 1;
  font-weight: 500;
}

html[data-theme="day"] :is(label, legend, summary, small, .eyebrow, .meta-line,
  .dl-head-meta, .dl-o-eyebrow, .dl-o-anchor, .dl-p-meta, .dl-x-src,
  .dl-tonight-kicker, .dl-tonight-footnote, .dx-ai-foot) {
  color: #4c473d;
  font-size: 0.875rem;
  font-weight: 600;
}

html[data-theme="day"] :is(p, li, blockquote, td, th, .card-body) {
  font-weight: 500;
}

html[data-theme="day"] :is(.primary-cta, .qsend, button[type="submit"]) {
  color: #fffaf0 !important;
  background: #73552a !important;
  border: 1px solid #73552a !important;
  font-size: 1rem;
  font-weight: 700;
}

html[data-theme="day"] :is(.ghost-button, .jn-acts button, .dl-tonight-actions button,
  .dl-tonight-form-foot button, .theme-mode-toggle, .nav-help, .nav-login-btn,
  .nav-user-trigger, .lc-nav, .rd-top-acts button, .rd-bar button) {
  color: #27251f;
  background: #f3eee2;
  border: 1px solid #6e6658;
  font-size: 1rem;
  font-weight: 600;
}

html[data-theme="day"] :is(.dl-head h2, .dl-o-seal, .dl-p-line, .dl-poem h3,
  .jn-mine p, .jn-motto-line, .ct-book b, .gx-hit-main b,
  .dl-tonight-head h3, .dl-tonight-echo h4, .dl-tonight-source-name,
  .dl-omen-seal, .lc-title, .sk-moon b) {
  color: #27251f;
  font-weight: 600;
}

html[data-theme="day"] :is(.dl-head-meta, .dl-o-plain, .dl-o-gloss, .dl-x-plain,
  .dl-p-reading, .jn-entry p, .jn-reply p, .gx-hit-main p,
  .dl-tonight-head > p, .dl-tonight-mine p, .dl-tonight-source blockquote,
  .dl-tonight-feedback > p, .dl-tonight-echo-meta, .dl-tonight-echo-result,
  .dl-tonight-footnote, .site-footer p) {
  color: #4c473d;
  font-size: max(0.875rem, 1em);
  font-weight: 500;
}

html[data-theme="day"] :is(.lc-cell, .lc-detail, .sk-moon, .dl-p-paper,
  .jn-evidence-item, .dl-tonight-source, .dl-tonight-echo-result,
  .order-row, .arc-card, .pf-row, .xz-row) {
  border-color: #8b806c;
  border-width: 1px;
}

html[data-theme="day"] .dl-card::before,
html[data-theme="day"] .dl-p-paper::before {
  border-color: #8b806c;
}

html[data-theme="day"] .dl-head-eyebrow::before,
html[data-theme="day"] .dl-head-eyebrow::after,
html[data-theme="day"] .dl-o-eyebrow::before,
html[data-theme="day"] .dl-o-eyebrow::after {
  background: #8b806c;
}

html[data-theme="day"] .dl-omen::before,
html[data-theme="day"] .dl-omen::after {
  background: linear-gradient(transparent, #6e6658, transparent);
}

html[data-theme="day"] :is(.dl-omen-cells, .dl-omen-cells > div,
  .dl-tonight-head, .dl-tonight-evidence, .dl-tonight-feedback,
  .dl-tonight-echo, .dl-tonight-footnote, .jn-evidence) {
  border-color: #8b806c;
}

html[data-theme="day"] :is(.dl-omen-lotus svg, .dl-lotus svg) {
  stroke: #73552a;
  stroke-width: 1.4;
}

html[data-theme="day"] :is(.lc-cell.today, .lc-detail, .consultation-item.active,
  .message-item.user, .account-directory-panel .pf-row.sel) {
  color: #27251f;
  background: #e6dcc7;
  border-color: #6e6658;
}

html[data-theme="day"] :is(.sk-ring, .sk-tick, .sk-mtick) {
  stroke: #6e6658;
  stroke-width: 1.2;
}

html[data-theme="day"] :is(.sk-sign, .sk-deg, .destiny-explore .dx-wheel-box svg text,
  .destiny-explore .dx-attr-radar svg text) {
  fill: #27251f !important;
  color: #27251f !important;
  font-weight: 700;
}

html[data-theme="day"] :is(.destiny-explore .dx-wheel-box, .destiny-explore .dx-attr-radar) {
  color: #27251f;
  background: #e6dcc7;
  border: 1px solid #6e6658;
}

html[data-theme="day"] .dl-card::after {
  background: #e9e1cf;
  border-color: #6e6658;
}

html[data-theme="day"] .dl-mainline {
  color: #27251f;
  background:
    radial-gradient(circle at 88% 0%, rgba(115, 85, 42, 0.10), transparent 36%),
    rgba(247, 243, 233, 0.97);
  border-color: #6e6658;
  box-shadow: 0 18px 44px rgba(65, 49, 29, 0.15);
}

html[data-theme="day"] .dl-mainline::before,
html[data-theme="day"] .dl-mainline-foot {
  border-color: #8b806c;
}

html[data-theme="day"] :is(.dl-mainline-lead h3, .dl-mainline-steps strong) {
  color: #27251f;
  font-weight: 700;
}

html[data-theme="day"] :is(.dl-mainline-kicker, .dl-mainline-steps span) {
  color: #73552a;
  font-size: 0.875rem;
  font-weight: 700;
}

html[data-theme="day"] :is(.dl-mainline-lead > p:last-child, .dl-mainline-foot > span) {
  color: #4c473d;
  font-size: 1rem;
  font-weight: 500;
}

html[data-theme="day"] .dl-mainline-steps li {
  color: #27251f;
  background: #f3eee2;
  border-color: #8b806c;
  opacity: 0.78;
}

html[data-theme="day"] .dl-mainline-steps li.is-active {
  background: #e6dcc7;
  border-color: #73552a;
  box-shadow: inset 0 0 0 1px rgba(115, 85, 42, 0.14);
  opacity: 1;
}

html[data-theme="day"] .dl-mainline-steps li:not(:last-child)::after {
  color: #6e6658;
}

html[data-theme="day"] .dl-mainline-foot button {
  color: #fffaf0;
  background: #73552a !important;
  border: 1px solid #73552a !important;
  font-size: 1rem;
  font-weight: 700;
}

html[data-theme="day"] .dl-mainline-foot button:hover {
  color: #fffaf0;
  background: #5f4522 !important;
  border-color: #5f4522 !important;
}

@media (max-width: 700px) {
  html[data-theme="day"] body::before {
    background:
      linear-gradient(180deg, rgba(243, 238, 226, 0.52), rgba(233, 225, 207, 0.66)),
      url("/web/assets/theme/bg-day-silk-tall-v1.webp") center top / cover no-repeat;
    background-blend-mode: normal, normal;
  }
}

/* ── Desktop natal astrology · chart system + Vedic natal layers ───────── */
.star-chart-system-dock {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin-bottom: 18px;
  padding: 10px 12px;
  border: 1px solid rgba(184, 155, 94, 0.26);
  border-radius: 14px;
  background:
    radial-gradient(circle at 86% 0%, rgba(134, 35, 35, 0.08), transparent 38%),
    rgba(10, 10, 13, 0.72);
  box-shadow: inset 0 0 0 1px rgba(230, 217, 180, 0.025);
}

.star-chart-system-dock-label {
  display: grid;
  gap: 1px;
  min-width: 96px;
}

.star-chart-system-dock-label > span {
  display: block;
  color: rgba(184, 155, 94, 0.9);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
}

.star-chart-system-dock-label > strong {
  color: rgba(230, 217, 180, 0.78);
  font-family: var(--p7-font-display, var(--font-display), serif);
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.star-chart-system-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(118px, 1fr));
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(184, 155, 94, 0.2);
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.22);
}

.star-chart-system-option {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: rgba(230, 217, 180, 0.58);
  background: transparent;
  text-align: center;
  cursor: pointer;
}

.star-chart-system-option strong {
  color: inherit;
  font-family: var(--p7-font-display, var(--font-display), serif);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.star-chart-system-option small {
  color: inherit;
  font-size: 0.62rem;
  letter-spacing: 0.03em;
}

.star-chart-system-option:hover {
  color: rgba(230, 217, 180, 0.85);
  border-color: rgba(184, 155, 94, 0.24);
}

.star-chart-system-option.is-active {
  color: #e6d9b4;
  border-color: rgba(184, 155, 94, 0.55);
  background: linear-gradient(145deg, rgba(184, 155, 94, 0.16), rgba(134, 35, 35, 0.08));
  box-shadow: inset 0 0 0 1px rgba(230, 217, 180, 0.04);
}

.star-chart-system-option:disabled {
  cursor: wait;
  opacity: 0.68;
}

.star-chart-system-state {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  min-height: 0;
  color: rgba(230, 217, 180, 0.64);
  font-size: 0.78rem;
}

.star-chart-system-state:empty {
  display: none;
}

.star-chart-system-state button {
  padding: 4px 10px;
  border: 1px solid rgba(184, 155, 94, 0.38);
  border-radius: 999px;
  color: #e6d9b4;
  background: transparent;
  cursor: pointer;
}

.star-chart-system-loading-card {
  display: grid;
  place-items: center;
  gap: 14px;
  min-height: 240px;
  color: rgba(230, 217, 180, 0.7);
  text-align: center;
}

.star-chart-system-orbit {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(184, 155, 94, 0.22);
  border-top-color: rgba(230, 217, 180, 0.82);
  border-radius: 50%;
  animation: star-chart-system-loading 1.15s linear infinite;
}

@keyframes star-chart-system-loading {
  to { transform: rotate(360deg); }
}

.star-time-tab.is-system-blocked {
  cursor: not-allowed;
  opacity: 0.42;
}

.star-time-system-note {
  margin: -10px 0 4px;
  padding: 10px 14px;
  border-left: 2px solid rgba(184, 155, 94, 0.42);
  color: rgba(230, 217, 180, 0.58);
  background: rgba(184, 155, 94, 0.045);
  font-size: 0.78rem;
  line-height: 1.7;
}

.star-vedic-hero {
  position: relative;
  padding: 52px 48px 42px;
}

.star-vedic-hero-head {
  margin-bottom: 28px;
  text-align: center;
}

.star-vedic-hero-head h2 {
  margin: 4px 0 8px;
  color: var(--p7-gold-bright, #e6d9b4);
  font-family: var(--p7-font-display, var(--font-display), serif);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 500;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
}

.star-vedic-hero-head > p:last-child {
  margin: 0;
  color: rgba(230, 217, 180, 0.58);
  font-size: 0.78rem;
  letter-spacing: 0.13em;
}

.star-vedic-hero-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(230px, 0.65fr);
  gap: 42px;
  align-items: center;
}

.star-vedic-hero-notes {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-top: 1px solid rgba(184, 155, 94, 0.28);
  border-bottom: 1px solid rgba(184, 155, 94, 0.18);
}

.star-vedic-hero-notes > span {
  color: rgba(184, 155, 94, 0.72);
  font-size: 0.7rem;
  letter-spacing: 0.24em;
}

.star-vedic-hero-notes > strong {
  color: #e6d9b4;
  font-family: var(--p7-font-display, var(--font-display), serif);
  font-size: 1.3rem;
  font-weight: 500;
}

.star-vedic-hero-notes > p {
  margin: 0;
  color: rgba(230, 217, 180, 0.68);
  font-size: 0.9rem;
  line-height: 1.9;
}

.star-vedic-jump-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.star-vedic-jump-list a {
  padding: 6px 10px;
  border: 1px solid rgba(184, 155, 94, 0.28);
  border-radius: 999px;
  color: rgba(230, 217, 180, 0.72);
  font-size: 0.72rem;
  text-decoration: none;
}

.star-vedic-jump-list a:hover {
  color: #e6d9b4;
  border-color: rgba(184, 155, 94, 0.58);
}

.star-vedic-section {
  scroll-margin-top: 92px;
  padding: 26px;
  overflow: hidden;
  border-color: rgba(184, 155, 94, 0.22);
  background:
    linear-gradient(140deg, rgba(184, 155, 94, 0.035), transparent 45%),
    rgba(10, 10, 13, 0.78);
}

.star-vedic-section-head {
  align-items: flex-start;
  margin-bottom: 20px;
}

.star-vedic-basis {
  padding: 6px 10px;
  border: 1px solid rgba(184, 155, 94, 0.3);
  border-radius: 999px;
  color: rgba(230, 217, 180, 0.7);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
}

.star-vedic-anchor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.star-vedic-anchor-card {
  display: grid;
  gap: 5px;
  padding: 16px;
  border: 1px solid rgba(184, 155, 94, 0.18);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.14);
}

.star-vedic-anchor-card span,
.star-nakshatra-card > span {
  color: rgba(184, 155, 94, 0.72);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.star-vedic-anchor-card strong,
.star-nakshatra-card strong {
  color: #e6d9b4;
  font-family: var(--p7-font-display, var(--font-display), serif);
  font-size: 1.14rem;
  font-weight: 500;
}

.star-vedic-anchor-card small,
.star-nakshatra-card small {
  color: rgba(230, 217, 180, 0.52);
  font-size: 0.72rem;
  line-height: 1.55;
}

.star-vedic-placement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.star-vedic-placement {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(184, 155, 94, 0.14);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.12);
}

.star-vedic-glyph {
  flex: 0 0 28px;
  color: rgba(230, 217, 180, 0.86);
  font-family: Times, "Times New Roman", serif;
  font-size: 1.25rem;
  text-align: center;
}

.star-vedic-placement > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.star-vedic-placement strong {
  color: rgba(230, 217, 180, 0.88);
  font-size: 0.84rem;
  font-weight: 500;
}

.star-vedic-placement small {
  overflow: hidden;
  color: rgba(230, 217, 180, 0.5);
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.star-nakshatra-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.star-nakshatra-card {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(184, 155, 94, 0.14);
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.12);
}

.star-nakshatra-card.is-primary {
  border-color: rgba(184, 155, 94, 0.42);
  background: linear-gradient(145deg, rgba(184, 155, 94, 0.12), rgba(134, 35, 35, 0.05));
}

.star-nakshatra-card p {
  margin: 0;
  overflow: hidden;
  color: rgba(230, 217, 180, 0.56);
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.star-graha-aspect-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.star-graha-aspect-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.8fr) minmax(90px, 0.45fr) minmax(160px, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border-left: 2px solid rgba(184, 155, 94, 0.34);
  background: rgba(0, 0, 0, 0.12);
}

.star-graha-aspect-row > div {
  display: grid;
  gap: 3px;
}

.star-graha-aspect-row span,
.star-graha-aspect-row small {
  color: rgba(230, 217, 180, 0.5);
  font-size: 0.68rem;
  line-height: 1.5;
}

.star-graha-aspect-row strong {
  color: rgba(230, 217, 180, 0.86);
  font-size: 0.86rem;
  font-weight: 500;
}

.star-graha-aspect-row > p {
  margin: 0;
  color: rgba(184, 155, 94, 0.78);
  font-size: 0.78rem;
}

.star-vedic-d9-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(300px, 0.95fr);
  gap: 30px;
  align-items: center;
}

.star-vedic-d9-wheel {
  max-width: 620px;
  margin: 0 auto;
}

.star-vedic-d9-placements {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.star-vedic-placement.is-ascendant {
  grid-column: 1 / -1;
  border-color: rgba(184, 155, 94, 0.4);
}

html[data-theme="day"] .star-chart-system-dock,
html[data-theme="day"] .star-vedic-section {
  color: #27251f;
  border-color: #8b806c;
  background:
    radial-gradient(circle at 86% 0%, rgba(115, 85, 42, 0.08), transparent 38%),
    rgba(247, 243, 233, 0.97);
  box-shadow: 0 14px 34px rgba(65, 49, 29, 0.09);
}

html[data-theme="day"] .star-chart-system-dock-label > strong,
html[data-theme="day"] .star-time-system-note,
html[data-theme="day"] .star-vedic-hero-head > p:last-child,
html[data-theme="day"] .star-vedic-hero-notes > p,
html[data-theme="day"] :is(.star-vedic-anchor-card, .star-nakshatra-card, .star-vedic-placement, .star-graha-aspect-row) small {
  color: #4c473d;
}

html[data-theme="day"] .star-chart-system-options,
html[data-theme="day"] :is(.star-vedic-anchor-card, .star-nakshatra-card, .star-vedic-placement, .star-graha-aspect-row) {
  border-color: #b4aa97;
  background: rgba(230, 220, 199, 0.38);
}

html[data-theme="day"] .star-chart-system-option {
  color: #61594b;
}

html[data-theme="day"] .star-chart-system-option:hover {
  color: #27251f;
  border-color: #8b806c;
}

html[data-theme="day"] .star-chart-system-option.is-active {
  color: #27251f;
  border-color: #73552a;
  background: #e6dcc7;
}

html[data-theme="day"] :is(
  .star-vedic-anchor-card strong,
  .star-nakshatra-card strong,
  .star-vedic-placement strong,
  .star-graha-aspect-row strong,
  .star-vedic-hero-notes > strong
) {
  color: #27251f;
}

html[data-theme="day"] :is(
  .star-chart-system-dock-label > span,
  .star-vedic-anchor-card span,
  .star-nakshatra-card > span,
  .star-graha-aspect-row > p,
  .star-vedic-basis
) {
  color: #73552a;
}

html[data-theme="day"] .star-vedic-jump-list a {
  color: #5f4522;
  border-color: #8b806c;
}

@media (max-width: 920px) {
  .star-vedic-hero-layout,
  .star-vedic-d9-layout {
    grid-template-columns: 1fr;
  }

  .star-nakshatra-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .star-graha-aspect-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .star-chart-system-dock {
    padding: 9px;
  }

  .star-chart-system-options {
    flex: 1 1 250px;
  }

  .star-vedic-hero {
    padding: 34px 18px 30px;
  }

  .star-vedic-section {
    padding: 19px 15px;
  }

  .star-vedic-anchor-grid,
  .star-vedic-placement-grid,
  .star-nakshatra-grid,
  .star-vedic-d9-placements {
    grid-template-columns: 1fr;
  }

  .star-graha-aspect-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

/* ── Personal natal astrology · independent, reader-first page ─────── */
.star-natal-workspace {
  width: min(1180px, calc(100vw - 40px));
  margin: 0 auto;
  padding: 26px 0 72px;
}

.star-natal-workspace-head {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 18px;
  padding: 18px 4px;
}

.star-natal-workspace-head h2 {
  margin: 3px 0 5px;
  color: rgba(242, 232, 205, 0.96);
  font-family: var(--font-display, "Noto Serif SC", serif);
  font-weight: 500;
  letter-spacing: 0.08em;
}

.star-reader-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  gap: clamp(28px, 5vw, 66px);
  align-items: center;
  padding: clamp(32px, 5vw, 68px);
  border: 1px solid rgba(190, 159, 91, 0.32);
  border-radius: 26px;
  background:
    radial-gradient(circle at 82% 14%, rgba(88, 105, 152, 0.22), transparent 43%),
    linear-gradient(140deg, rgba(21, 22, 31, 0.96), rgba(16, 13, 19, 0.92));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.star-reader-hero-copy h1 {
  max-width: 680px;
  margin: 10px 0 18px;
  color: #f0e3bd;
  font-family: var(--font-display, "Noto Serif SC", serif);
  font-size: clamp(2rem, 4vw, 3.65rem);
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: 0.04em;
}

.star-reader-hero-copy > p:not(.eyebrow) {
  margin: 0;
  color: rgba(238, 229, 208, 0.78);
  font-size: 1.03rem;
  line-height: 1.95;
}

.star-reader-hero-copy > small {
  display: block;
  margin-top: 12px;
  color: rgba(218, 204, 172, 0.56);
  line-height: 1.7;
}

.star-reader-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 25px;
}

.star-reader-hero-actions > button {
  margin: 0;
}

.star-reader-hero-wheel {
  width: min(100%, 480px);
  margin: 0 auto;
}

.star-reader-section {
  display: grid;
  gap: 20px;
  margin-top: 28px;
}

.star-reader-section-head {
  max-width: 760px;
  padding: 6px 6px 0;
}

.star-reader-section-head h2 {
  margin: 7px 0 5px;
  color: rgba(241, 230, 202, 0.94);
  font-family: var(--font-display, "Noto Serif SC", serif);
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  font-weight: 500;
}

.star-reader-section-head > p:not(.eyebrow) {
  margin: 0;
  color: rgba(231, 220, 198, 0.62);
  line-height: 1.75;
}

.star-reader-anchor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.star-reader-anchor-card {
  min-height: 310px;
  padding: 24px;
  border: 1px solid rgba(190, 159, 91, 0.23);
  border-radius: 20px;
  background: rgba(18, 18, 23, 0.82);
}

.star-reader-anchor-sign {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 12px;
  color: #e5c988;
}

.star-reader-anchor-sign span {
  font-size: 1.85rem;
}

.star-reader-anchor-sign strong {
  font-family: var(--font-display, "Noto Serif SC", serif);
  font-size: 1.45rem;
  font-weight: 500;
}

.star-reader-anchor-card h3 {
  margin: 0 0 12px;
  color: rgba(242, 232, 208, 0.95);
  font-size: 1.08rem;
}

.star-reader-anchor-card > p:not(.eyebrow) {
  margin: 0;
  color: rgba(232, 223, 204, 0.72);
  line-height: 1.85;
}

.star-reader-anchor-card > small {
  display: block;
  margin-top: 16px;
  color: rgba(207, 187, 145, 0.52);
}

.star-reader-reality-panel {
  padding: 22px;
}

.star-reader-placement {
  margin: 2px 0 0;
  color: rgba(222, 197, 139, 0.82);
  font-size: 0.78rem;
  line-height: 1.7;
}

.star-reader-theory {
  margin-top: 30px;
  border: 1px solid rgba(190, 159, 91, 0.23);
  border-radius: 19px;
  background: rgba(12, 12, 16, 0.72);
  overflow: clip;
}

.star-reader-theory > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  color: rgba(238, 226, 197, 0.9);
  cursor: pointer;
  list-style: none;
}

.star-reader-theory > summary::-webkit-details-marker {
  display: none;
}

.star-reader-theory > summary span {
  display: grid;
  gap: 4px;
}

.star-reader-theory > summary b {
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.star-reader-theory > summary small {
  color: rgba(224, 211, 181, 0.55);
}

.star-reader-theory > summary i {
  font-size: 1.5rem;
  font-style: normal;
  transition: transform 0.2s ease;
}

.star-reader-theory[open] > summary i {
  transform: rotate(45deg);
}

.star-reader-theory-body {
  display: grid;
  gap: 22px;
  padding: 4px 24px 28px;
}

.star-reader-theory-wheel {
  width: min(100%, 720px);
  margin: 0 auto;
}

.star-reader-theory-actions {
  display: flex;
  justify-content: center;
}

html[data-theme="day"] .star-natal-workspace-head h2,
html[data-theme="day"] :is(.star-reader-hero-copy h1, .star-reader-section-head h2, .star-reader-anchor-card h3) {
  color: #2d2a23;
}

html[data-theme="day"] .star-reader-hero {
  border-color: #a98f5e;
  background:
    radial-gradient(circle at 82% 14%, rgba(134, 157, 195, 0.22), transparent 43%),
    linear-gradient(140deg, rgba(250, 247, 238, 0.98), rgba(235, 227, 211, 0.96));
  box-shadow: 0 22px 58px rgba(74, 57, 33, 0.12);
}

html[data-theme="day"] .star-reader-hero-copy > p:not(.eyebrow),
html[data-theme="day"] .star-reader-section-head > p:not(.eyebrow),
html[data-theme="day"] .star-reader-anchor-card > p:not(.eyebrow) {
  color: #514b40;
}

html[data-theme="day"] .star-reader-hero-copy > small,
html[data-theme="day"] .star-reader-anchor-card > small {
  color: #766a56;
}

html[data-theme="day"] .star-reader-placement {
  color: #73552a;
}

html[data-theme="day"] .star-reader-anchor-card,
html[data-theme="day"] .star-reader-theory {
  border-color: #b5a68e;
  background: rgba(249, 246, 237, 0.94);
  box-shadow: 0 12px 30px rgba(74, 57, 33, 0.08);
}

html[data-theme="day"] .star-reader-theory > summary {
  color: #352f25;
}

html[data-theme="day"] .star-reader-theory > summary small {
  color: #6f6555;
}

@media (max-width: 900px) {
  .star-reader-hero {
    grid-template-columns: 1fr;
  }

  .star-reader-hero-wheel {
    width: min(100%, 520px);
  }

  .star-reader-anchor-grid {
    grid-template-columns: 1fr;
  }

  .star-reader-anchor-card {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .star-natal-workspace {
    width: min(100%, calc(100vw - 20px));
    padding-top: 12px;
  }

  .star-natal-workspace-head {
    display: grid;
    gap: 12px;
  }

  .star-reader-hero {
    padding: 28px 18px;
    border-radius: 19px;
  }

  .star-reader-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .star-reader-hero-actions > button {
    width: 100%;
  }

  .star-reader-anchor-card {
    padding: 20px;
  }

  .star-reader-theory > summary,
  .star-reader-theory-body {
    padding-left: 18px;
    padding-right: 18px;
  }

}
