/*
 * 八字结果页正式视觉系统
 * 视觉母体：玄空首页、八字排盘页、六爻排盘页。
 * 结果页与专题追问页统一由 .bazi-design-v2 启用。
 */

.bazi-design-v2 {
  --v2-paper: #f4efe7;
  --v2-paper-deep: #e7ded1;
  --v2-surface: #fffdf9;
  --v2-ink: #191714;
  --v2-ink-soft: #5d5750;
  --v2-ink-faint: #8f877e;
  --v2-red: #991a1a;
  --v2-red-deep: #6f1111;
  --v2-red-soft: rgba(153, 26, 26, .075);
  --v2-line: rgba(25, 23, 20, .14);
  --v2-line-strong: rgba(25, 23, 20, .32);
  --v2-shadow: 0 24px 72px rgba(69, 51, 34, .11);
  --v2-serif: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;
  --v2-mono: "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
  --v2-sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  --page: 1480px;
  color: var(--v2-ink);
  background:
    linear-gradient(rgba(153, 26, 26, .026) 1px, transparent 1px),
    var(--v2-paper);
  background-size: 100% 72px;
  font-family: var(--v2-serif);
}

.bazi-design-v2::before {
  content: "命";
  position: fixed;
  z-index: -1;
  top: 110px;
  right: -38px;
  color: rgba(153, 26, 26, .028);
  font: 900 min(40vw, 620px)/1 var(--v2-serif);
  pointer-events: none;
}

.bazi-design-v2 button,
.bazi-design-v2 input,
.bazi-design-v2 textarea { font-family: var(--v2-serif); }

.bazi-design-v2 button,
.bazi-design-v2 a,
.bazi-design-v2 summary { -webkit-tap-highlight-color: transparent; }

.bazi-design-v2 button:focus-visible,
.bazi-design-v2 input:focus-visible,
.bazi-design-v2 textarea:focus-visible,
.bazi-design-v2 summary:focus-visible,
.bazi-design-v2 a:focus-visible {
  outline: 2px solid var(--v2-red);
  outline-offset: 3px;
}

/* 结果页开场：保留排盘页的留白，并引入首页的大字水印与红线 */
.bazi-design-v2 .result-hero {
  position: relative;
  padding: clamp(48px, 6vw, 88px) 0 clamp(42px, 5vw, 72px);
  background: rgba(244, 239, 231, .72);
  border-bottom: 1px solid var(--v2-line-strong);
  overflow: hidden;
}

.bazi-design-v2 .result-hero::after {
  content: "四柱 · 大运 · 流年";
  position: absolute;
  right: max(24px, calc((100vw - 1480px) / 2));
  bottom: -7px;
  color: rgba(153, 26, 26, .07);
  font-size: clamp(42px, 6vw, 94px);
  font-weight: 900;
  letter-spacing: .08em;
  white-space: nowrap;
  pointer-events: none;
}

.bazi-design-v2 .result-hero .page-shell { position: relative; z-index: 1; }

.bazi-design-v2 .breadcrumbs {
  margin-bottom: 32px;
  color: var(--v2-ink-faint);
  font-size: 14px;
}

.bazi-design-v2 .breadcrumbs a {
  color: var(--v2-ink-soft);
  text-underline-offset: 5px;
}

.bazi-design-v2 .question-hero .breadcrumbs,
.bazi-design-v2 .question-hero .breadcrumbs a { color: rgba(255, 255, 255, .78); }
.bazi-design-v2 .question-hero .breadcrumbs a:hover { color: #fff; }

.bazi-design-v2 .result-hero-row {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: clamp(36px, 6vw, 96px);
}

.bazi-design-v2 .eyebrow,
.bazi-design-v2 .section-kicker {
  color: var(--v2-red);
  font: 700 11px/1.45 var(--v2-mono);
  letter-spacing: .17em;
}

.bazi-design-v2 .result-hero h1 {
  max-width: 970px;
  margin-top: 12px;
  font-size: clamp(40px, 4.65vw, 72px);
  line-height: 1.18;
  letter-spacing: -.045em;
}

.bazi-design-v2 .result-hero-row > p {
  position: relative;
  padding: 22px 0 3px 25px;
  color: var(--v2-ink-soft);
  border-left: 4px solid var(--v2-red);
  font-size: 16px;
  line-height: 1.9;
}

/* 主体：整页沿一条红色档案线组织 */
.bazi-design-v2 .case-page-grid {
  position: relative;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 372px);
  gap: clamp(26px, 3vw, 44px);
  padding-top: clamp(38px, 5vw, 68px);
}

.bazi-design-v2 .case-page-grid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 52px;
  height: 3px;
  background: var(--v2-red);
}

.bazi-design-v2 .case-main-column { gap: clamp(32px, 4vw, 56px); }

.bazi-design-v2 .bazi-chart-workbench,
.bazi-design-v2 .bazi-reading-article,
.bazi-design-v2 .reading-empty,
.bazi-design-v2 .question-answer {
  background: var(--v2-surface);
  border: 1px solid var(--v2-line-strong);
  box-shadow: none;
}

.bazi-design-v2 .bazi-chart-workbench {
  padding: clamp(24px, 2.7vw, 42px);
  overflow: hidden;
}

.bazi-design-v2 .bazi-chart-workbench > .section-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: end;
  gap: 34px;
  margin-bottom: 28px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .section-heading-row h2 {
  margin-top: 7px;
  font-size: clamp(32px, 3vw, 46px);
  letter-spacing: -.035em;
}

.bazi-design-v2 .section-heading-row p:last-child {
  max-width: 760px;
  color: var(--v2-ink-soft);
  font-size: 15px;
  line-height: 1.85;
}

/* 精简 / 专业是核心阅读入口，采用六爻方式切换的长标签 */
.bazi-design-v2 .chart-mode-switch {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .chart-mode-switch button {
  position: relative;
  min-height: 52px;
  padding: 11px 18px;
  color: var(--v2-ink-soft);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--v2-line);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}

.bazi-design-v2 .chart-mode-switch button:last-child { border-right: 0; }
.bazi-design-v2 .chart-mode-switch button:hover { color: var(--v2-red); background: var(--v2-red-soft); }

.bazi-design-v2 .chart-mode-switch button.active {
  color: var(--v2-red);
  background: var(--v2-red-soft);
  box-shadow: inset 0 -3px 0 var(--v2-red);
}

.bazi-design-v2 .chart-mode-switch button.active::after {
  display: none;
}

/* 专业版：连续浅色盘面，通过纸色深浅区分原局、大运与流年 */
.bazi-design-v2 .professional-view {
  color: var(--v2-ink);
  background: var(--v2-surface);
  border: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .chart-level {
  grid-template-columns: 116px minmax(0, 1fr);
  border-bottom-color: var(--v2-line-strong);
}

.bazi-design-v2 .chart-level > header {
  padding: 24px 17px;
  color: var(--v2-ink-soft);
  background: var(--v2-paper-deep);
  border-right-color: var(--v2-line-strong);
}

.bazi-design-v2 .chart-level > header > span { color: var(--v2-red); }
.bazi-design-v2 .chart-level > header h3 { color: var(--v2-ink); font-size: 20px; }
.bazi-design-v2 .chart-level > header p { font-size: 13px; }

.bazi-design-v2 .pro-pillars {
  background: var(--v2-surface);
}

.bazi-design-v2 .pro-pillar {
  min-height: 270px;
  padding: 22px 11px 18px;
  border-right-color: var(--v2-line-strong);
  transition: background .18s ease;
}

.bazi-design-v2 .pro-pillar:hover { background: #faf5ed; }

.bazi-design-v2 .pro-pillar.is-day {
  color: var(--v2-ink);
  background: var(--v2-surface);
  box-shadow: none;
}

.bazi-design-v2 .pro-pillar.is-day > small,
.bazi-design-v2 .pro-pillar.is-day .pillar-main-star,
.bazi-design-v2 .pro-pillar.is-day .vertical-ganzhi { color: var(--v2-red); }

.bazi-design-v2 .pro-pillar.is-day .pillar-hidden i,
.bazi-design-v2 .pro-pillar.is-day > em { color: var(--v2-ink-soft); }

.bazi-design-v2 .pro-pillar .vertical-ganzhi {
  margin: 15px 0 16px;
  font-size: 38px;
}

.bazi-design-v2 .pillar-main-star { color: var(--v2-red); }

.bazi-design-v2 .pro-pillar > small,
.bazi-design-v2 .pillar-main-star { font-size: 15px; line-height: 1.55; }

.bazi-design-v2 .pillar-hidden { font-size: 16px; line-height: 1.55; }
.bazi-design-v2 .pillar-hidden i { font-size: 14px; line-height: 1.55; }
.bazi-design-v2 .pro-pillar > em { font-size: 15px; line-height: 1.55; }

.bazi-design-v2 .pro-dayun-list,
.bazi-design-v2 .pro-years {
  gap: 0;
  padding: 0;
}

.bazi-design-v2 .pro-dayun,
.bazi-design-v2 .pro-year {
  min-height: 166px;
  padding: 14px 5px;
  border: 0;
  border-right: 1px solid var(--v2-line);
  transform: none;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.bazi-design-v2 .pro-dayun:last-child,
.bazi-design-v2 .pro-year:last-child { border-right: 0; }

.bazi-design-v2 .pro-dayun {
  color: var(--v2-ink);
  background: #faf7f1;
}

.bazi-design-v2 .pro-dayun:hover {
  color: var(--v2-red);
  background: #f7f0e8;
  border-color: var(--v2-line);
  box-shadow: inset 0 -3px 0 rgba(153, 26, 26, .38);
}

.bazi-design-v2 .pro-dayun.active {
  color: var(--v2-red-deep);
  background: #f3e3dc;
  border-color: var(--v2-line);
  box-shadow: inset 0 -4px 0 var(--v2-red);
}

.bazi-design-v2 .pro-dayun > em,
.bazi-design-v2 .pro-dayun.active > em { color: var(--v2-ink-faint); }

.bazi-design-v2 .pro-year {
  color: var(--v2-ink);
  background: #faf7f1;
  border-right-color: var(--v2-line);
}

.bazi-design-v2 .pro-year:hover {
  color: var(--v2-red);
  background: var(--v2-surface);
  border-color: var(--v2-line);
  box-shadow: inset 0 -4px 0 rgba(153, 26, 26, .4);
}

.bazi-design-v2 .pro-year.active {
  color: var(--v2-red-deep);
  background: #f5e8df;
  border-color: var(--v2-line);
  box-shadow: inset 0 -5px 0 var(--v2-red);
}

.bazi-design-v2 .pro-year.current::after {
  top: 7px;
  right: 50%;
  width: auto;
  height: auto;
  color: var(--v2-red);
  background: transparent;
  font: 800 10px/1 var(--v2-mono);
  transform: translateX(50%);
}

.bazi-design-v2 .pro-dayun .vertical-ganzhi,
.bazi-design-v2 .pro-year .vertical-ganzhi { font-size: 25px; }

.bazi-design-v2 .pro-dayun small,
.bazi-design-v2 .pro-year small { font-size: 12px; }

.bazi-design-v2 .pro-dayun > span,
.bazi-design-v2 .pro-dayun > em,
.bazi-design-v2 .pro-year > span,
.bazi-design-v2 .pro-year > em { font-size: 13px; }

/* 选中流年：资料表与关系证据形成一个连续抽屉 */
.bazi-design-v2 .year-detail-panel {
  padding: 28px 30px;
  background: var(--v2-surface);
  border-bottom: 1px solid var(--v2-line-strong);
  animation: v2-detail-enter .18s ease;
}

.bazi-design-v2 .year-detail-head h3 { font-size: 27px; }
.bazi-design-v2 .year-detail-head small { color: var(--v2-red); }
.bazi-design-v2 .year-detail-head > span { color: var(--v2-ink-soft); }

.bazi-design-v2 .year-detail-grid {
  margin-top: 20px;
  border-color: var(--v2-line-strong);
}

.bazi-design-v2 .year-detail-grid article { padding: 15px 17px; border-right-color: var(--v2-line); }
.bazi-design-v2 .year-detail-grid small { color: var(--v2-ink-faint); }

.bazi-design-v2 .year-relation-brief {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 18px;
  border-top: 1px solid var(--v2-line);
}

.bazi-design-v2 .year-relation-brief li {
  grid-template-columns: minmax(180px, .7fr) 1.3fr;
  gap: 20px;
  padding: 12px 0;
  background: transparent;
  border-left: 0;
  border-bottom: 1px solid var(--v2-line);
}

.bazi-design-v2 .relation-panel {
  padding: 30px;
  background: var(--v2-paper);
}

.bazi-design-v2 .relation-heading {
  padding-bottom: 17px;
  border-bottom: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .relation-heading h3 { font-size: 28px; }
.bazi-design-v2 .relation-heading > p { color: var(--v2-ink-soft); }

.bazi-design-v2 .relation-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.bazi-design-v2 .relation-item {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(260px, 1.35fr) minmax(180px, .85fr);
  align-items: center;
  gap: 22px;
  padding: 18px 0;
  background: transparent;
  border-top: 0;
  border-bottom: 1px solid var(--v2-line);
  box-shadow: none;
}

.bazi-design-v2 .relation-item.relation-overflow { display: none; }
.bazi-design-v2 .relation-list.expanded .relation-item.relation-overflow { display: grid; }

.bazi-design-v2 .relation-item header { align-items: center; }
.bazi-design-v2 .relation-item header strong { font-size: 17px; }

.bazi-design-v2 .relation-level {
  min-width: 72px;
  padding: 5px 8px;
  color: var(--v2-ink-soft);
  background: rgba(25, 23, 20, .07);
  text-align: center;
}

.bazi-design-v2 .relation-level.level-强 {
  color: #fff;
  background: var(--v2-red);
}

.bazi-design-v2 .relation-level.level-中 {
  color: var(--v2-red);
  background: var(--v2-red-soft);
}

.bazi-design-v2 .relation-item p {
  margin: 0;
  color: var(--v2-ink-soft);
  font-size: 14px;
}

.bazi-design-v2 .relation-item footer { justify-content: flex-end; }

.bazi-design-v2 .relation-item footer span,
.bazi-design-v2 .relation-item footer b {
  padding: 2px 6px;
  color: var(--v2-ink-soft);
  background: transparent;
  border: 1px solid var(--v2-line);
  font-size: 12px;
}

.bazi-design-v2 .relation-item footer b { color: var(--v2-red); border-color: rgba(153, 26, 26, .25); }

.bazi-design-v2 .relation-expand {
  margin: 18px 0 0;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid var(--v2-red);
}

.bazi-design-v2 .relation-expand:hover { color: var(--v2-red-deep); background: transparent; }
.bazi-design-v2 .relation-primary-empty { border: 1px dashed var(--v2-line-strong); }
.bazi-design-v2 .relation-list.expanded .relation-primary-empty { display: none; }

/* 精简版：保留高频字段，其他资料进入统一折叠层 */
.bazi-design-v2 .simple-view { gap: 38px; }

.bazi-design-v2 .simple-view > section { padding-top: 6px; }

.bazi-design-v2 .simple-view > section + section {
  padding-top: 28px;
  border-top: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .simple-view > section > h3,
.bazi-design-v2 .simple-section-head h3 { font-size: 28px; }

.bazi-design-v2 .simple-view > section:first-child .bazi-detail-table tbody tr:nth-child(n + 6) { display: none; }

.bazi-design-v2 .simple-view .bazi-detail-table {
  min-width: 640px;
  border-top: 4px solid var(--v2-red);
}

.bazi-design-v2 .bazi-detail-table th,
.bazi-design-v2 .bazi-detail-table td {
  padding: 14px 15px;
  background: transparent;
  border-color: var(--v2-line);
}

.bazi-design-v2 .bazi-detail-table thead th {
  color: #fff;
  background: var(--v2-ink);
}

.bazi-design-v2 .bazi-detail-table tbody th { background: var(--v2-paper); }

.bazi-design-v2 .simple-dayun-list,
.bazi-design-v2 .simple-years {
  gap: 0;
  border-top: 1px solid var(--v2-line-strong);
  border-left: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .simple-dayun,
.bazi-design-v2 .simple-year {
  min-height: 150px;
  padding: 15px;
  background: var(--v2-surface);
  border: 0;
  border-right: 1px solid var(--v2-line-strong);
  border-bottom: 1px solid var(--v2-line-strong);
  box-shadow: none;
  transition: color .18s ease, background .18s ease;
}

.bazi-design-v2 .simple-dayun:hover,
.bazi-design-v2 .simple-year:hover { color: var(--v2-red); background: var(--v2-red-soft); }

.bazi-design-v2 .simple-dayun.active {
  color: #fff;
  background: var(--v2-ink);
  border-color: var(--v2-line-strong);
  box-shadow: inset 0 4px 0 var(--v2-red);
}

.bazi-design-v2 .simple-year.active {
  color: var(--v2-red-deep);
  background: #f5e8df;
  border-color: var(--v2-line-strong);
  box-shadow: inset 0 4px 0 var(--v2-red);
}

.bazi-design-v2 .simple-dayun .vertical-ganzhi,
.bazi-design-v2 .simple-year .vertical-ganzhi { font-size: 29px; }

/* 完整资料：单一的资料抽屉语言 */
.bazi-design-v2 .chart-extra-details {
  margin-top: 28px;
  background: transparent;
  border: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .professional-chart-extra {
  margin: 0;
  border-width: 0 0 1px;
  border-color: var(--v2-line-strong);
}

.bazi-design-v2 .professional-chart-extra > summary {
  padding-left: 132px;
  background: #faf7f1;
}

.bazi-design-v2 .simple-chart-extra { margin: -20px 0 4px; }

.bazi-design-v2 .chart-extra-details > summary {
  min-height: 76px;
  padding: 17px 20px;
  background: var(--v2-paper);
  transition: color .18s ease, background .18s ease;
}

.bazi-design-v2 .chart-extra-details > summary:hover { color: var(--v2-red); background: var(--v2-red-soft); }
.bazi-design-v2 .chart-extra-details summary b { font-size: 17px; }
.bazi-design-v2 .chart-extra-details summary small { color: var(--v2-ink-soft); font-size: 14px; }
.bazi-design-v2 .chart-extra-details summary i { color: var(--v2-red); }
.bazi-design-v2 .chart-extra-body { padding: 0 20px 24px; border-top-color: var(--v2-line-strong); }

.bazi-design-v2 .chart-auxiliary-grid article,
.bazi-design-v2 .all-stars li {
  background: transparent;
  border-color: var(--v2-line);
}

.bazi-design-v2 .chart-auxiliary-grid dl div { background: var(--v2-paper); }

/* AI 正文：延续首页黑色 AI 区块与红色结论线 */
.bazi-design-v2 .bazi-reading-article { overflow: hidden; }

.bazi-design-v2 .reading-lead {
  position: relative;
  padding: clamp(34px, 4vw, 54px);
  background: var(--v2-ink);
  overflow: hidden;
}

.bazi-design-v2 .reading-lead::after {
  content: "析";
  position: absolute;
  right: -18px;
  bottom: -55px;
  color: rgba(255, 255, 255, .035);
  font-size: 220px;
  font-weight: 900;
  line-height: 1;
}

.bazi-design-v2 .reading-lead > * { position: relative; z-index: 1; }
.bazi-design-v2 .reading-lead .section-kicker { color: #efc8c0; }
.bazi-design-v2 .reading-lead h2 { max-width: 920px; font-size: clamp(31px, 3vw, 45px); }
.bazi-design-v2 .reading-lead > p:last-child { max-width: 900px; color: rgba(255, 255, 255, .72); font-size: 17px; }

.bazi-design-v2 .reading-core { border-bottom-color: var(--v2-line-strong); }

.bazi-design-v2 .reading-core article {
  min-height: 118px;
  padding: 25px;
  border-right-color: var(--v2-line-strong);
}

.bazi-design-v2 .reading-core article:first-child { box-shadow: inset 0 4px 0 var(--v2-red); }
.bazi-design-v2 .reading-core small { color: var(--v2-ink-faint); }

.bazi-design-v2 .bazi-reading-article > section { padding: clamp(28px, 3vw, 44px); border-top-color: var(--v2-line); }
.bazi-design-v2 .bazi-reading-article > section > h2 { font-size: clamp(24px, 2vw, 30px); }

.bazi-design-v2 .reading-domains {
  gap: 0;
  border-top: 1px solid var(--v2-line-strong);
  border-left: 1px solid var(--v2-line-strong);
}

.bazi-design-v2 .reading-domain {
  min-height: 210px;
  padding: 24px;
  background: transparent;
  border-top: 0;
  border-right: 1px solid var(--v2-line-strong);
  border-bottom: 1px solid var(--v2-line-strong);
  transition: background .18s ease;
}

.bazi-design-v2 .reading-domain:hover { background: var(--v2-red-soft); }
.bazi-design-v2 .reading-domain header span { color: var(--v2-red); }
.bazi-design-v2 .reading-domain p { color: var(--v2-ink-soft); }

.bazi-design-v2 .reading-timeline li {
  grid-template-columns: 74px 122px 1fr;
  padding: 17px 0;
  border-top-color: var(--v2-line);
}

.bazi-design-v2 .reading-timeline time { color: var(--v2-red); }
.bazi-design-v2 .reading-question-links { gap: 0; border-top: 1px solid var(--v2-line); }

.bazi-design-v2 .reading-question-links a {
  padding: 17px 3px;
  background: transparent;
  border-bottom: 1px solid var(--v2-line);
  transition: color .18s ease, padding .18s ease;
}

.bazi-design-v2 .reading-question-links a:hover { padding-left: 10px; color: var(--v2-red); }

.bazi-design-v2 .answer-lead { white-space: normal; }
.bazi-design-v2 .answer-lead p { margin: 0 0 18px; }
.bazi-design-v2 .answer-lead ul { margin: 0 0 18px; padding-left: 1.3em; }
.bazi-design-v2 .answer-lead li { margin: 7px 0; }

.bazi-design-v2 .reading-disclosure {
  padding: 24px clamp(28px, 3vw, 44px);
  color: #fff;
  background: var(--v2-red);
}

.bazi-design-v2 .reading-disclosure p { color: rgba(255, 255, 255, .72); }

/* 右侧咨询台：固定、清晰、与首页 AI 面板同源 */
.bazi-design-v2 .bazi-consult-rail { align-self: stretch; }

.bazi-design-v2 .consult-rail-inner {
  top: 24px;
  max-height: calc(100dvh - 48px);
  padding: 0 26px 26px;
  background: var(--v2-surface);
  border: 1px solid var(--v2-line-strong);
  border-top: 5px solid var(--v2-red);
  box-shadow: var(--v2-shadow);
}

.bazi-design-v2 .consult-rail-inner > .section-kicker {
  display: block;
  margin: 0 -26px 0;
  padding: 18px 26px 15px;
  color: #d9aaa0;
  background: var(--v2-ink);
}

.bazi-design-v2 .consult-rail-inner h2 {
  margin-top: 23px;
  font-size: 28px;
}

.bazi-design-v2 .consult-intro { color: var(--v2-ink-soft); font-size: 15px; line-height: 1.8; }

.bazi-design-v2 .consult-status,
.bazi-design-v2 .consult-status[data-state="running"],
.bazi-design-v2 .consult-status[data-state="queued"],
.bazi-design-v2 .consult-status[data-state="done"],
.bazi-design-v2 .consult-status[data-state="failed"] {
  color: var(--v2-ink);
  background: var(--v2-paper);
  border-left-color: var(--v2-red);
}

.bazi-design-v2 .consult-status small { color: var(--v2-ink-soft); }

.bazi-design-v2 .consult-chip-row { gap: 0; border-top: 1px solid var(--v2-line); border-left: 1px solid var(--v2-line); }

.bazi-design-v2 .consult-chip-row button {
  flex: 1 1 50%;
  min-height: 42px;
  margin: 0;
  color: var(--v2-ink-soft);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
}

.bazi-design-v2 .consult-chip-row button:hover { color: var(--v2-red); background: var(--v2-red-soft); }
.bazi-design-v2 .consult-chip-row button.active { color: #fff; background: var(--v2-red); }

.bazi-design-v2 .consult-facts textarea,
.bazi-design-v2 #public-question-form textarea {
  color: var(--v2-ink);
  background: #fff;
  border-color: var(--v2-line-strong);
}

.bazi-design-v2 .consult-facts textarea:focus,
.bazi-design-v2 #public-question-form textarea:focus { border-color: var(--v2-red); }

.bazi-design-v2 .consult-facts h3 {
  margin: 19px 0 10px;
  color: var(--v2-ink);
  font-size: 16px;
}

.bazi-design-v2 .consult-facts textarea {
  width: 100%;
  min-height: 92px;
  margin-top: 11px;
  padding: 12px 13px;
  resize: vertical;
  border: 1px solid var(--v2-line-strong);
  font-size: 14px;
  line-height: 1.65;
}

.bazi-design-v2 .consult-fact-save {
  width: 100%;
  min-height: 42px;
  margin-top: 8px;
  color: #fff;
  background: var(--v2-ink);
  border: 1px solid var(--v2-ink);
}

.bazi-design-v2 .consult-fact-save:not(:disabled):hover { background: var(--v2-red); border-color: var(--v2-red); }
.bazi-design-v2 .consult-fact-save:disabled { color: var(--v2-ink-soft); background: var(--v2-paper-deep); border-color: var(--v2-line); }
.bazi-design-v2 .consult-fact-note { margin: 8px 0 0; color: var(--v2-ink-faint); font-size: 12px; line-height: 1.55; }

.bazi-design-v2 .consult-prompts {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 19px;
  border-top: 1px solid var(--v2-line);
}

.bazi-design-v2 .consult-prompts button {
  position: relative;
  min-height: 46px;
  padding: 11px 28px 11px 2px;
  color: var(--v2-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--v2-line);
  font-size: 14px;
}

.bazi-design-v2 .consult-prompts button::after {
  content: "→";
  position: absolute;
  right: 3px;
  color: var(--v2-red);
  font-family: var(--v2-mono);
}

.bazi-design-v2 .consult-prompts button:hover {
  padding-left: 7px;
  color: var(--v2-red);
  background: transparent;
  border-color: var(--v2-line);
}

.bazi-design-v2 #public-question-form { margin-top: 16px; }

.bazi-design-v2 #public-question-form button,
.bazi-design-v2 .consult-primary {
  min-height: 52px;
  background: var(--v2-red);
  border-color: var(--v2-red);
  transition: background .18s ease;
}

.bazi-design-v2 #public-question-form button:hover,
.bazi-design-v2 .consult-primary:hover { background: var(--v2-red-deep); }

.bazi-design-v2 .consult-result-link { background: var(--v2-ink); }
.bazi-design-v2 .consult-result-link a { color: #fff; text-decoration: underline; text-decoration-color: #d9aaa0; text-underline-offset: 5px; }

.bazi-design-v2 .consult-history { border-top-color: var(--v2-line-strong); }
.bazi-design-v2 .consult-history-item { border-bottom-color: var(--v2-line); }
.bazi-design-v2 .consult-history-item:hover { color: var(--v2-red); }

.bazi-design-v2 .bazi-global-task {
  position: fixed;
  z-index: 1200;
  right: clamp(18px, 3vw, 48px);
  bottom: 24px;
  left: clamp(18px, 3vw, 48px);
  color: #fff;
  background: rgba(25, 23, 20, .97);
  border: 1px solid rgba(255, 255, 255, .16);
  border-left: 5px solid var(--v2-red);
  box-shadow: 0 18px 70px rgba(0, 0, 0, .28);
  backdrop-filter: blur(16px);
}

.bazi-design-v2 .bazi-global-task[hidden] { display: none; }
.bazi-design-v2 .bazi-global-task-inner { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 34px; align-items: center; gap: 15px; min-height: 78px; padding: 13px 16px; }
.bazi-design-v2 .bazi-global-task-inner > div { display: grid; gap: 4px; }
.bazi-design-v2 .bazi-global-task strong { font-size: 16px; }
.bazi-design-v2 .bazi-global-task small { color: rgba(255, 255, 255, .68); font: 12px/1.5 var(--v2-sans); }
.bazi-design-v2 .bazi-global-task a { min-width: 138px; padding: 11px 15px; color: #fff; background: var(--v2-red); text-align: center; text-decoration: none; }
.bazi-design-v2 .bazi-global-task button { width: 32px; height: 32px; color: rgba(255, 255, 255, .7); background: transparent; border: 0; font-size: 22px; }
.bazi-design-v2 .bazi-task-progress { height: 2px; margin-top: 3px; background: rgba(255, 255, 255, .14); overflow: hidden; }
.bazi-design-v2 .bazi-task-progress i { display: block; width: 4%; height: 100%; background: #d8a49b; transition: width .35s ease; }
.bazi-design-v2 .bazi-global-task[data-state="done"] { border-left-color: #7ea47b; }
.bazi-design-v2 .bazi-global-task[data-state="failed"] { border-left-color: #d1a03c; }
/* 排队态用中性蓝：既不是"正在跑"的暖色，也不能让用户误读成失败的警示色 */
.bazi-design-v2 .bazi-global-task[data-state="queued"] { border-left-color: #6b8fb5; }

.bazi-design-v2 .site-footer { background: #12110f; }

@keyframes v2-detail-enter {
  from { opacity: .5; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1680px) {
  .bazi-design-v2 { --page: 1560px; font-size: 18px; }
  .bazi-design-v2 .case-page-grid { grid-template-columns: minmax(0, 1fr) 390px; }
  .bazi-design-v2 .pro-dayun,
  .bazi-design-v2 .pro-year { min-height: 176px; }
  .bazi-design-v2 .pro-dayun .vertical-ganzhi,
  .bazi-design-v2 .pro-year .vertical-ganzhi { font-size: 27px; }
}

@media (max-width: 1220px) {
  .bazi-design-v2 .case-page-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; }
  .bazi-design-v2 .bazi-chart-workbench { padding: 24px; }
  .bazi-design-v2 .bazi-chart-workbench > .section-heading-row { grid-template-columns: minmax(0, 1fr) 250px; }
  .bazi-design-v2 .chart-level { grid-template-columns: 96px minmax(0, 1fr); }
  .bazi-design-v2 .chart-level > header { padding: 19px 12px; }
  .bazi-design-v2 .pro-dayun,
  .bazi-design-v2 .pro-year { min-height: 156px; }
  .bazi-design-v2 .relation-item { grid-template-columns: minmax(190px, .75fr) 1.25fr; }
  .bazi-design-v2 .relation-item footer { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 920px) {
  .bazi-design-v2 .result-hero-row { grid-template-columns: 1fr; gap: 26px; }
  .bazi-design-v2 .result-hero-row > p { max-width: 620px; }
  .bazi-design-v2 .case-page-grid { grid-template-columns: 1fr; }
  .bazi-design-v2 .case-page-grid::before { left: 18px; }
  .bazi-design-v2 .bazi-consult-rail { position: fixed; }
  .bazi-design-v2 .mobile-consult-toggle { min-height: 48px; background: var(--v2-red); border: 1px solid rgba(255, 255, 255, .3); }
  .bazi-design-v2 .consult-rail-inner { top: auto; border-top-width: 5px; }
}

@media (max-width: 760px) {
  .bazi-design-v2 { background-size: 100% 60px; }
  .bazi-design-v2 .result-hero { padding: 38px 0 42px; }
  .bazi-design-v2 .breadcrumbs { margin-bottom: 22px; font-size: 13px; }
  .bazi-design-v2 .result-hero h1 { font-size: clamp(34px, 10vw, 48px); }
  .bazi-design-v2 .result-hero::after { font-size: 50px; }
  .bazi-design-v2 .case-page-grid { padding-top: 38px; }
  .bazi-design-v2 .bazi-chart-workbench { margin-inline: -1px; padding: 20px 14px; }
  .bazi-design-v2 .bazi-chart-workbench > .section-heading-row { grid-template-columns: 1fr; gap: 21px; }
  .bazi-design-v2 .chart-mode-switch { width: 100%; }
  .bazi-design-v2 .chart-level { grid-template-columns: 1fr; }
  .bazi-design-v2 .chart-level > header {
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--v2-line-strong);
  }
  .bazi-design-v2 .chart-level > header p { text-align: right; }
  .bazi-design-v2 .pro-pillar { min-height: 238px; padding-inline: 5px; }
  .bazi-design-v2 .pro-pillar > small { font-size: 13px; }
  .bazi-design-v2 .pillar-main-star { font-size: 13px; }
  .bazi-design-v2 .pro-pillar .vertical-ganzhi { font-size: 31px; }
  .bazi-design-v2 .pillar-hidden { font-size: 13px; }
  .bazi-design-v2 .pillar-hidden i,
  .bazi-design-v2 .pro-pillar > em { font-size: 13px; }
  .bazi-design-v2 .professional-chart-extra > summary { padding-left: 16px; }
  .bazi-design-v2 .pro-dayun-list,
  .bazi-design-v2 .pro-years {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .bazi-design-v2 .pro-dayun,
  .bazi-design-v2 .pro-year {
    flex: 0 0 88px;
    min-height: 154px;
    scroll-snap-align: start;
  }
  .bazi-design-v2 .year-detail-panel,
  .bazi-design-v2 .relation-panel { padding: 22px 16px; }
  .bazi-design-v2 .year-detail-head { display: grid; }
  .bazi-design-v2 .year-detail-grid { grid-template-columns: 1fr; }
  .bazi-design-v2 .year-detail-grid article { border-right: 0; border-bottom: 1px solid var(--v2-line); }
  .bazi-design-v2 .year-detail-grid article:last-child { border-bottom: 0; }
  .bazi-design-v2 .year-relation-brief li { grid-template-columns: 1fr; gap: 5px; }
  .bazi-design-v2 .relation-heading { display: grid; align-items: start; }
  .bazi-design-v2 .relation-heading > p { text-align: left; }
  .bazi-design-v2 .relation-item { grid-template-columns: 1fr; gap: 9px; }
  .bazi-design-v2 .relation-item footer { grid-column: auto; }
  .bazi-design-v2 .simple-dayun-list,
  .bazi-design-v2 .simple-years {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .bazi-design-v2 .simple-dayun,
  .bazi-design-v2 .simple-year { flex: 0 0 180px; scroll-snap-align: start; }
  .bazi-design-v2 .chart-auxiliary-grid,
  .bazi-design-v2 .all-stars ul { grid-template-columns: 1fr; }
  .bazi-design-v2 .reading-core,
  .bazi-design-v2 .reading-domains { grid-template-columns: 1fr; }
  .bazi-design-v2 .reading-domain { min-height: 0; }
  .bazi-design-v2 .reading-timeline li { grid-template-columns: 62px 1fr; }
  .bazi-design-v2 .reading-timeline p { grid-column: 1 / -1; }
  .bazi-design-v2 .bazi-global-task { right: 10px; bottom: 72px; left: 10px; }
  .bazi-design-v2 .bazi-global-task-inner { grid-template-columns: 28px minmax(0, 1fr) 30px; gap: 10px; }
  .bazi-design-v2 .bazi-global-task a { grid-column: 2 / -1; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .bazi-design-v2 *,
  .bazi-design-v2 *::before,
  .bazi-design-v2 *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  .bazi-design-v2 { background: #fff; }
  .bazi-design-v2::before,
  .bazi-design-v2 .result-hero::after { display: none; }
}
