/* 页级样式：ziwei
   本页专属的页级规则写在此处，不写进 assets/css/style.css 的页级段（那一段是存量，只减不增）。
   引用在本页 HTML 内，排在按页样式之后；版本串由内容派生，不必手改。
   本档内 @media 块须排在顶层声明之后，否则窄屏终值被源序压掉。 */

/* ===== ziwei 页专属：单页私有规则 ===== */

.lqkj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-2);margin-top:var(--sp-2)}

.lqkj-grid .lq-b{font-size:13px;color:var(--ink);flex:1;min-width:0;line-height:1.5}

.zw-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}

.zp-v{--major:var(--gold2);--text:var(--ink);--green:var(--gold2);--border:var(--line);
  --lu:#d4380d;--quan:#2f54eb;--ke:#237804;--ji:#000;}

.zp-v .zw-board{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);
  gap:var(--sp-1);max-width:580px;margin:var(--sp-2) auto var(--sp-1);position:relative;aspect-ratio:1/1;
  padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}

.zp-v .zw-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;display:block;background:transparent}

.zp-v .zw-pal{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow);
  padding:var(--sp-2) var(--sp-2);display:flex;flex-direction:column;justify-content:flex-start;
  min-height:0;min-width:0;overflow:hidden;position:relative;transition:background .15s}

.zp-v .zw-pal:hover{background:var(--cal-hover)}

.zp-v .zw-pal .zw-stars{order:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.3;flex:1;min-height:0}

.zp-v .zw-pal .zw-head{order:2;margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-1);flex-shrink:0;line-height:1.15}

.zp-v .zw-pal .zw-pname{font-weight:bold;color:var(--gold2);font-size:14px;white-space:nowrap;line-height:1.1}

.zp-v .zw-pal .zw-gz{font-size:12px;color:var(--gold2);white-space:nowrap;font-weight:600;line-height:1.1}

.zp-v .zw-pal .zw-major{font-size:15px;font-weight:bold;color:var(--gold2);line-height:1.25}

.zp-v .zw-pal .zw-major i{font-style:normal;font-size:10.5px;font-weight:600;color:var(--gold2);opacity:.55;margin-left:var(--sp-1)}

.zp-v .zw-pal .zw-minor{font-size:12.5px;color:#55504a;line-height:1.3;white-space:normal;word-break:break-all}

.zp-v .zw-pal .zw-adj{font-size:11.5px;color:#6e6963;line-height:1.4;white-space:normal;word-break:break-all}

.zp-v .zw-pal .vmajor{color:#6e6963;font-weight:normal;font-size:12px}

.zp-v .zw-pal .zw-major em,.zp-v .zw-pal .zw-minor em{font-style:normal;font-size:9.5px;font-weight:600;
  color:#fff;border-radius:0;padding:0 var(--sp-1);margin-left:var(--sp-1);vertical-align:1px;line-height:1.55;display:inline-block}

.zp-v .zw-pal .zw-em-禄{background:var(--lu)}

.zp-v .zw-pal .zw-em-权{background:var(--quan)}

.zp-v .zw-pal .zw-em-科{background:var(--ke)}

.zp-v .zw-pal .zw-em-忌{background:var(--ji)}

.zp-v .zw-center{grid-column:2/4;grid-row:2/4;background:var(--card);color:var(--ink);z-index:3;border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow);
  padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-1);line-height:1.3;overflow:hidden;min-height:0}

.zp-v .zw-center .zw-ct{width:100%;table-layout:auto;border-collapse:collapse;font-size:12px;line-height:1.5}

.zp-v .zw-center .zw-ct td{padding:0 4px;vertical-align:middle;overflow:hidden}

.zp-v .zw-center .zw-ct-head{display:flex;gap:var(--sp-2);justify-content:center;align-items:baseline;margin-bottom:var(--sp-1)}

.zp-v .zw-center .zw-ct-head span{font-weight:bold;color:var(--gold2);font-size:13px;white-space:nowrap}

.zp-v .zw-3he{background:#f4f7f0}

.zp-v .zw-hua-lu{background:#fdf4ee}

.zp-v .zw-hua-ji{background:#f8f7f5}

.zp-v .zw-pal.zw-focused{background:#f1ecdd;z-index:3}

.zp-v .zw-pal.zw-rel{background:#f2f6ee;z-index:2}

.zp-v .zw-pal.zw-focused.zw-rel{background:#e6e0cf}

.zw-ref{margin-top:var(--sp-4);border:0;border-top:1px solid var(--line);border-radius:0;padding:var(--sp-3) 0;background:transparent;text-align:left}

.zw-ref summary{cursor:pointer;font-family:var(--font-serif);font-weight:400;color:var(--gold2);font-size:var(--tier3);letter-spacing:.1em;line-height:1.5}

.zw-legend{font-size:12.5px;color:var(--ink2);line-height:1.85;margin-bottom:var(--sp-2)}

.zw-legend b{color:var(--gold2)}

.zw-pal-mean{width:100%;border-collapse:collapse;margin-top:var(--sp-1)}

.zw-pal-mean th,.zw-pal-mean td{border:1px solid var(--line);padding:5px 8px;font-size:var(--tier4);text-align:left}

.zw-pal-mean th{background:transparent;color:var(--gold2);font-weight:400}

.zw-pal-mean td:first-child{font-weight:400}

.lqkj{font-size:14px;font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:0;border:1px solid var(--line);background:var(--card)}

.ji-notice{background:#fdecea;border:1px solid var(--red);border-radius:0;padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;color:var(--red);font-size:14px}

.zp-ding{background:var(--card);border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-1)}

.zp-ding .dp-top{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}

.dp-badge{display:inline-block;font-weight:400;font-size:13px;color:#fff;border-radius:0;padding:1px var(--sp-2);letter-spacing:1px;white-space:nowrap;line-height:1.7}

.dp-badge.dp-0{background:var(--red)}

.dp-badge.dp-1{background:#b8860b}

.dp-badge.dp-2{background:#8a8580}

.dp-badge.dp-3{background:#6b6f76}

.dp-cell i.dp-禄{color:#2e8b57}.dp-cell i.dp-权{color:#b8860b}.dp-cell i.dp-科{color:#2b6cb0}.dp-cell i.dp-忌{color:var(--red)}

.zp-liunian{line-height:1.9}

.zh-pd b{color:var(--gold2);font-weight:400}

.yf-picker{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:var(--sp-2) 0 var(--sp-2)}

.yf-picker label{font-size:13px;color:var(--gold2);font-weight:400}

.yf-hint{font-size:12px;color:var(--ink2)}

.zp-yunout .zp-dayun-line{font-size:13px;color:var(--gold-brown);font-weight:700;margin:var(--sp-1) 0 var(--sp-2)}

.zp-yun-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}

.zp-yun-tbl{width:100%;table-layout:auto;border-collapse:collapse;margin:var(--sp-1) 0 var(--sp-3);font-size:13px;background:var(--card)}

.zp-yun-tbl caption{font-size:13px;font-weight:400;color:var(--gold2);padding:var(--sp-1) var(--sp-2);text-align:left;background:transparent;border:none}

.zp-yun-tbl th,.zp-yun-tbl td{border:1px solid var(--line);padding:6px 9px;vertical-align:top;text-align:left;line-height:1.8;word-break:normal;overflow-wrap:anywhere}

.zp-yun-tbl th{font-weight:400;white-space:nowrap;text-align:center;color:var(--gold2);font-size:var(--tier4);background:transparent}

.zp-ding .zp-yunout,.zp-ding .zp-yun-tbl{background:transparent}

.zp-yun-tbl th.lqk,.zp-yun-tbl td.lqk{text-align:left}.zp-yun-tbl tr+tr{border-top:1px solid var(--line)}

/*
   主色取帝星之紫（色相 268 度），六档同色相派生：深档 hover 与强调、墨档给大标题与表头、
   正文字取紫墨灰、次级字只降饱和不另立色相、浅线与纸淡底提到 86% 与 95% 明度。
   语言：零圆角、零投影、零渐变，白瓷卡一律改上下细线（纸本目录）；
   四化（禄权科忌）与喜忌为语义色，不随主题走。 */

.page-zw{
  --zw:#5a3a7e;          /* 帝星紫主色 */
  --zw2:#483064;         /* 深紫：hover、强调、标签字 */
  --zw-deep:#332347;     /* 玄紫：大标题与表头字色 */
  --zw-ink:#3c3444;      /* 紫墨灰：正文字色 */
  --zw-ink2:#60566e;     /* 次级字色：卷首说明、副注、图例 */
  --zw-line:#dbd2e6;     /* 紫浅线 */
  --zw-tint:#f4eff8;     /* 紫纸淡底 */
  --zw-tint2:#ebe2f2;    /* 紫淡底深一档：盘上点选态 */
  --zw-serif:var(--font-serif);
  --ink2:var(--zw-ink2);
  --gold:var(--zw);
  --gold2:var(--zw2);
  --gold-brown:var(--zw2);
  --gold-bg:var(--zw-tint);
  --foot-ink:var(--zw2);
  --line:var(--zw-line);--ink:var(--zw-ink)
}

.page-zw .page h1{color:var(--zw-deep);font-family:var(--zw-serif);font-size:23px;
  letter-spacing:.3em;text-indent:.3em;text-align:center;line-height:1.3}

.page-zw .page h1::before{content:'';display:block;width:88px;height:1px;background:var(--zw-line);margin:0 auto var(--sp-3)}

.page-zw .page h1::after{content:'';display:block;width:88px;height:1px;background:var(--zw-line);margin:var(--sp-3) auto 0}

.page-zw .page .lead{color:var(--zw-ink2);text-align:center;font-size:12.5px;letter-spacing:.22em;text-indent:.22em;margin-top:var(--sp-3)}

.page-zw .page .lead::after{background:var(--zw-line)}

.page-zw .page > .form-row{margin-bottom:var(--sp-3)}

.page-zw input,.page-zw select,.page-zw textarea{border-color:var(--zw-line);color:var(--zw-ink)}

.page-zw input:focus,.page-zw select:focus,.page-zw textarea:focus{border-color:var(--zw);outline:none}

.page-zw .btn:not(.soft):not(.btn-ghost),.page-zw .btn.gold{background:var(--zw);border-color:var(--zw);color:#fff;box-shadow:none}

.page-zw .btn:not(.soft):not(.btn-ghost):hover,.page-zw .btn.gold:hover{background:var(--zw2);color:#fff;box-shadow:none}

/* 次级按钮走描边款，与实底主按钮分开；八字页 .btn-ghost 同款，两页主次一致。 */
.page-zw .btn-ghost{background:var(--zw-tint);border:1px solid var(--zw-line);color:var(--zw-ink)}

.page-zw .btn-ghost:hover{background:var(--card);border-color:var(--zw-line);color:var(--zw2)}

/* 姓名只填短名，取内容宽 96px 不随字段拉伸；八字页 .field#fName input 同值。 */
.page-zw .form-row .field#zNameField input{width:96px;align-self:flex-start}

.page-zw .dt-ic{color:var(--zw-ink)}

.page-zw .ai-block .btn{border-radius:0}

.page-zw .ai-block .btn.gold,.page-zw .ai-block .btn.soft{background:var(--zw-tint);border-color:var(--zw-line);color:var(--zw-ink)}

.page-zw .ai-block .btn.gold:hover,.page-zw .ai-block .btn.soft:hover{background:var(--card);border-color:var(--zw-line);color:var(--zw2)}

.page-zw .birth-group{margin-bottom:var(--sp-2)}

/* 双盘对照走全站共享件 dual-wrap、dual-rel-chk、dual-rel2（定义见 style.css 通用段），
   本页只覆皮肤：题头与勾选行取紫微墨色，虚线框线取紫微线色，框内底部呼吸与八字同值。
   本页各块平铺于 .page，无容器给距，故与上方时间折算行之间在此显式给 12px，
   与八字页该件在 .opts 弹性列内由 row-gap 得出的间距同值。 */
.page-zw .dual-wrap{margin-top:var(--sp-3)}

/* 已存模式只列已存命盘、不出盘，双人合盘无盘可对照，整块随该模式撤下 */
.page-zw .dual-wrap.is-off{display:none}

.page-zw .dual-rel-chk{color:var(--zw-ink)}

.page-zw .dual-rel2{border-color:var(--zw-line)}

.page-zw .dual-rel2 .group-label{color:var(--zw2)}

/* 框内出生地组只留底部呼吸，不叠页级下距：页级 .birth-group 的 margin-bottom 是给
   主出生地组的（与下一块拉开），框内这组由虚线框自身收底，故归零，与八字页同值。 */
.page-zw .dual-rel2 .birth-group,.page-zw .dual-rel2 .birth-group.compact{padding-bottom:var(--sp-3);margin-bottom:0}

.page-zw #out > .zp-v{margin-top:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--zw-line)}

.page-zw .zp-v{--major:var(--zw2);--text:var(--zw-ink);--border:var(--zw-line)}

.page-zw .zp-v .zw-pal,.page-zw .zp-v .zw-center{background:transparent;border-color:var(--zw-line);color:var(--zw-ink);box-shadow:none}

.page-zw .zp-v .zw-pal:hover{background:var(--zw-tint)}

.page-zw .zp-v .zw-pal .zw-minor,.page-zw .zp-v .zw-pal .vmajor{color:var(--zw-ink)}

.page-zw .zp-v .zw-pal .zw-adj{color:var(--zw-ink2)}

.page-zw .zp-v .zw-center .zw-ct td.k,.page-zw .zp-v .zw-center .zw-ct td.wk{color:var(--zw2)}

.page-zw .zp-v .zw-center .zw-ct td.v,.page-zw .zp-v .zw-center .zw-ct td.wv{color:var(--zw-ink)}

.page-zw .zp-v .zw-pal.zw-3he{background:var(--zw-tint)}

.page-zw .zp-v .zw-pal.zw-hua-lu{background:#eef6ee}

.page-zw .zp-v .zw-pal.zw-hua-ji{background:#fbeeec}

.page-zw .zp-v .zw-pal.zw-rel{background:var(--zw-tint)}

.page-zw .zp-v .zw-pal.zw-focused{background:var(--zw-tint2);border-color:var(--zw)}

.page-zw #out .mod-head{border:0;
  border-top:1px solid var(--zw-line);border-bottom:1px solid var(--zw-line);
  border-radius:0;box-shadow:none;padding:var(--sp-2) 0;margin:var(--sp-4) 0 var(--sp-3)}

.page-zw #out .mod-caret{color:var(--zw)}

.page-zw #out .mod-title{color:var(--zw2)}

.page-zw #out .mod-sub{color:var(--zw-ink2)}

.page-zw #out .gua-ico{background:transparent;border:0;color:var(--zw2)}

.page-zw #out .mod-body h3.rel-title{margin-top:var(--sp-4)}

.page-zw #out .mod-body > h3.rel-title:first-child{margin-top:0}

.page-zw .info-box.zp-ding,.page-zw .info-box.zp-liunian,.page-zw .info-box.zp-yunout{
  background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}

.page-zw .info-box{background:transparent;border:0;border-top:1px solid var(--zw-line);
  border-radius:0;box-shadow:none}

.page-zw .info-box.yi{border-top-color:var(--green)}

.page-zw .info-box.ji{border-top-color:var(--red)}

.page-zw .info-box h4{color:var(--zw2);font-family:var(--zw-serif);font-weight:400;letter-spacing:.2em;border-bottom:1px solid var(--zw-line);padding-bottom:var(--sp-2);margin-bottom:var(--sp-2)}

/* 十二宫逐宫详断两列流式：各宫按自身内容定高，两列各自成流。等高栅格会把同排两卡拉齐，
   短宫下缘因此拉出大片空白（实测十二卡合计七百余像素）；流式两列互不牵连，短宫只占自身高度。 */
.page-zw .palace-detail{display:block;columns:2;column-gap:var(--sp-3);margin-top:var(--sp-2)}

/* 宫卡内部就是一张键值表：卡整块去线，分界由表框承担（与本页定盘、小限诸卡同形）。
   卡内上下内距与表上下距一并归零，卡与卡之间只隔卡下距一处，不叠第二个来源。 */
.page-zw .palace-detail .info-box{margin:0 0 var(--sp-3);background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;break-inside:avoid;page-break-inside:avoid}

.page-zw .palace-detail .zp-yun-tbl{margin:0}

/* 末卡下距归零：区块边界由模块间距一处承担，末卡再留一条即与之叠成 28px */
.page-zw .palace-detail .info-box:last-child{margin-bottom:0}

/* 卡内题头紧接表框：分界归表框一处承担，题头不画下线（两条相距不足 12px 即读作重线），
   上下距只留 margin 一处，题头底到表顶 8px。 */
.page-zw .palace-detail .info-box h4{color:var(--zw2);font-weight:400;border-bottom:0;padding-bottom:0}

/* 窄屏一列：两列在手机宽度下每列不足三百像素，键值表的长文列被压到逐字折行 */
@media(max-width:560px){.page-zw .palace-detail{columns:1}}

.page-zw .zp-yun-tbl{background:transparent}

/* 运程推演查询行的控件取站内控件同款：30px 高、1px 实线、无圆角，与 .field input 同口径。
   input 不继承父级字体（浏览器默认 Arial），故 font-family 须显式声明；同排 select 由通用段
   select{font-family:inherit} 承担，此处并列同写以免两条路径分叉。 */
.page-zw .yf-picker input,.page-zw .yf-picker select{height:30px;font-family:var(--font);font-size:13px;padding:0 var(--sp-3);border:1px solid var(--zw-line);border-radius:0;background:var(--card);color:var(--zw-ink);box-sizing:border-box}

/* 运程五层格栅：表入格栅后其自身上下距与格栅 gap 会叠加（上下各多出 4px 与 12px），
   故格内各表上下距一律归零，间距只由 gap 一处提供。 */
.page-zw .zp-yun-grid > .zp-yun-tbl{margin-top:0;margin-bottom:0}

/* 十三时辰对照表：本次所排那一档点金标出，其余同色，便于逐档比对定时 */
.page-zw .zw-timing th,.page-zw .zw-timing td{border-color:var(--zw-line);color:var(--zw-ink);white-space:nowrap}

.page-zw .zw-timing tr.cur td{background:var(--zw-tint);color:var(--zw-deep)}

.page-zw .zp-yun-tbl th,.page-zw .zp-yun-tbl td{border-color:var(--zw-line)}

.page-zw .zp-yun-tbl tr+tr{border-top:0}

.page-zw .zp-yun-tbl th{background:var(--zw-tint);color:var(--zw-deep);font-weight:400}

.page-zw .zp-yun-tbl td{color:var(--zw-ink)}

.page-zw .zw-hp-tbl th,.page-zw .zw-hp-tbl td{border-color:var(--zw-line)}

.page-zw .zw-hp-tbl th{background:var(--zw-tint);color:var(--zw-deep);font-weight:400;white-space:nowrap}

.page-zw .zw-hp-tbl td{color:var(--zw-ink);white-space:nowrap}

.page-zw .zw-hp-tbl td.zw-hp-det{white-space:normal;overflow-wrap:anywhere}

.page-zw .zw-hp-max{color:var(--zw-ink2);font-size:12px;font-weight:400;margin-left:var(--sp-1);white-space:nowrap}

.page-zw .zw-hp-total .hh-adv-lv{margin-left:var(--sp-2)}

.page-zw .hh-adv{border-color:var(--zw-line)}

.page-zw .hh-adv-box,.page-zw .hh-adv-tbl th,.page-zw .hh-adv-tbl td{border-color:var(--zw-line)}

.page-zw .hh-adv-tbl tr+tr th,.page-zw .hh-adv-tbl tr+tr td,
.page-zw .hh-adv-tbl .hh-adv-sec td{border-color:var(--zw-line)}

.page-zw .hh-adv-tbl td{color:var(--zw-ink)}

.page-zw .hh-adv-pill-g{background:var(--zw)}

.page-zw .hh-adv-pill-d{background:var(--zw-deep)}

.page-zw .ly-zh-p,.page-zw .ly-zh-p.sub,.page-zw .palace-detail .ly-zh-p,.page-zw .palace-detail .ly-zh-p.sub{color:var(--zw-ink)}

.page-zw .sub-note,.page-zw .yf-hint{color:var(--zw-ink2)}

.page-zw .yf-picker label{color:var(--zw2)}

.page-zw .lqkj-grid .lq-b{color:var(--zw-ink)}

.page-zw .zw-key{color:var(--zw2)}

/* 流曜表：宫位与本命宫两列是短标签（四字以内），须按整词取宽。
   通用件 .zp-yun-tbl td.lbl 带 overflow-wrap:anywhere，其最小内容宽退化为一字，
   浏览器遂把这两列压到不足四字宽而折行（52.89px 容不下 52px 的四字）；
   此处把折行机会收回，最小内容宽即整词宽，列宽不被挤，富余宽只归流曜一列。 */
.page-zw .zw-yao-tbl td.lbl{white-space:normal;word-break:keep-all;overflow-wrap:normal}

.page-zw .zw-note{color:var(--zw-ink2);font-size:12px}

.page-zw .zw-xi{color:var(--green)}

.page-zw .zw-ji{color:var(--red)}

.page-zw .info-box p{color:var(--zw-ink)}

/* 运程日期框走全站共享日期控件（.dt-wrap 内定宽 96px）：包裹层收内容宽，
   不随 flex:1 1 auto 撑开，免把推算按钮顶到行末 */
.page-zw .yf-picker .dt-wrap{flex:0 0 auto}

.page-zw .zw-jx{display:inline-block;padding:0 var(--sp-2);border-radius:0;color:#fff;
  font-size:12px;font-weight:400;line-height:1.7;margin-right:var(--sp-1)}

.page-zw .zw-ref{margin-top:var(--sp-4);padding:var(--sp-3) 0;background:transparent;border:0;
  border-top:1px solid var(--zw-line);border-radius:0}

.page-zw .zw-ref:not([open]){border-bottom:1px solid var(--zw-line)}

.page-zw .zw-ref summary{color:var(--zw-deep);font-family:var(--zw-serif);
  font-size:var(--tier3);font-weight:400;letter-spacing:.1em}

.page-zw .det-h{color:var(--zw-deep)}

.page-zw .zw-legend{color:var(--zw-ink2)}

.page-zw .zw-legend b{color:var(--zw2)}

.page-zw .zw-pal-mean th,.page-zw .zw-pal-mean td{border-color:var(--zw-line);color:var(--zw-ink)}

.page-zw .zw-pal-mean th{background:var(--zw-tint);color:var(--zw-deep);font-weight:400}

.page-zw table th{color:var(--zw-deep);font-weight:400}

.page-zw table td{color:var(--zw-ink)}

.page-zw .rel-title{color:var(--zw-deep)}

.page-zw .notice{color:var(--zw-ink);background:transparent;border:0;
  border-top:1px solid var(--zw-line);border-bottom:1px solid var(--zw-line)}

.page-zw .ai-block{border:0;border-top:1px solid var(--zw-line);border-bottom:1px solid var(--zw-line);
  border-radius:0;background:transparent;color:var(--zw-ink);box-shadow:none}

.page-zw .ai-head{background:transparent;border-bottom-color:var(--zw-line)}

.page-zw .ai-head h3{color:var(--zw2);font-family:var(--zw-serif);font-weight:400}

.page-zw .ai-head .ai-status{color:var(--zw-ink2)}

.page-zw .ai-tab{border-radius:0}

.page-zw .ai-pane .ai-out{border-radius:0}

.page-zw .ai-bubble{border-radius:0}

.page-zw .ai-tab:hover{border-color:var(--zw);color:var(--zw2)}

.page-zw .ai-tab.active{background:var(--zw);border-color:var(--zw);color:#fff}

.page-zw .ai-tab.active:hover{background:var(--zw2);border-color:var(--zw2);color:#fff}

.page-zw .ai-bubble.user{background:var(--zw-tint);border-color:var(--zw)}

.page-zw .ai-bubble.assistant{border-color:var(--zw-line)}

.page-zw .ai-model-row:hover{background:var(--zw-tint)}

.page-zw .ai-block .ai-out,.page-zw .ai-block .ai-bubble.user,
.page-zw .ai-block .ai-bubble.assistant,.page-zw .ai-block .ai-model-name{color:var(--zw-ink)}

.page-zw .ai-block input,.page-zw .ai-block select{color:var(--zw-ink)}

.page-zw .ai-tip{color:var(--zw-ink2)}

@media(max-width:640px){
  /* 合盘各表首列：表头长句在窄屏被 nowrap 撑到两百余像素，把右侧分值挤成窄条，故窄屏放开换行并左对齐 */
  .page-zw .zw-hp-tbl th,.page-zw .zw-hp-total .zp-yun-tbl th{white-space:normal;text-align:left}
  /* 双人合盘勾选行：整行说明文字长，窄屏独占一行随文字折行，复选框不被挤到文字中间 */
  .page-zw .dual-rel-chk{display:flex}
  .page-zw .zp-yun-tbl th,.page-zw .zp-yun-tbl td{padding:var(--sp-1) var(--sp-2)}
  /* 正文与大运表的值按标点整段换行，末字不独占一行 */
  .page-zw .ly-zh-p,.page-zw .zp-yun-tbl td{word-break:keep-all}
  .page-zw .zw-hp-tbl td{white-space:normal}
  .page-zw .zw-hp-max{display:block;margin-left:0;margin-top:var(--sp-1)}
}

@media print{
  .page-zw .zp-ding,.page-zw .info-box,.page-zw .notice,.page-zw .ai-block{
    background:var(--card) !important;box-shadow:none !important;border-color:var(--line) !important}
}

@media (prefers-color-scheme: dark){
  html .page-zw {
    --zw:#8258b2;
    --zw2:#7f56ae;
    --zw-deep:#dbd6e0;
    --zw-ink:#d1ced4;
    --zw-ink2:#a29ea9;
    --zw-line:#463e51;
    --zw-tint:#271f2e;
    --zw-tint2:#ebe2f2;
  }
}
/* 已存列表取全站骨架（style.css 的 .saved-list），本肤只按本页 --zw-* 变量换色，
   不改骨架规则；八字页另有自己的 .page-bazi 前缀一套，两页互不干扰 */
.page-zw .saved-list{margin:var(--sp-2) 0 var(--sp-1)}
.page-zw .saved-list .sc{border-bottom:1px solid var(--zw-line)}
.page-zw .saved-list .sc-name{color:var(--zw-ink)}
.page-zw .saved-list .sc-info{color:var(--zw-ink2)}
.page-zw .saved-list .sr-head .sc{color:var(--zw-ink2)}
.page-zw .saved-list .btn-pai,.page-zw .saved-list .btn-del{border:1px solid var(--zw-line);color:var(--zw2)}
.page-zw .saved-list .btn-pai:hover{background:var(--zw-tint);color:var(--zw2);border-color:var(--zw)}
.page-zw .saved-list .btn-del:hover{color:var(--red);border-color:var(--red)}
/* 四柱模式的校验提示：与候选日同排，取次级字色，仅在校验不通过时才现 */
.page-zw .zw-pillar-msg{align-self:flex-end;padding-bottom:var(--sp-2);font-size:12px;color:var(--zw-ink2);max-width:280px;line-height:1.5}

.dtm-zw{--tk:#5a3a7e;--tk2:#483064;--tk-ink:#3c3444;--tk-line:#dbd2e6;--tk-tint:#f4eff8}

@media (max-width:560px){
  .zp-yun-grid{grid-template-columns:1fr !important}
}

@media(max-width:1080px){
  .zp-v .zw-board{font-size:13px;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:100%;max-width:580px}
  .zp-v .zw-pal{font-size:12px}
  .zp-v .zw-pal .zw-major{font-size:15px}
  .zp-v .zw-pal .zw-minor{font-size:12.5px}
  .zp-v .zw-pal .zw-adj{font-size:11.5px}
  .zp-v .zw-pal .zw-gz{font-size:12px}
  .zp-v .zw-center{font-size:12px}
  .zp-v .zw-center .zw-ct{font-size:12px}
}

@media(max-width:560px){
  .zp-v .zw-board{display:grid;grid-template-columns:repeat(4,1fr);
    grid-template-rows:repeat(4,1fr);gap:var(--sp-1);width:100%;max-width:100%;min-width:0;margin:0 auto;overflow:hidden;aspect-ratio:1/1}
  .zp-v .zw-pal{min-height:0;padding:2px var(--sp-1);font-size:10px}
  .zp-v .zw-pal .zw-head{padding-bottom:1px;margin-bottom:var(--sp-1);gap:var(--sp-1)}
  .zp-v .zw-pal .zw-pname{font-size:10px}
  .zp-v .zw-pal .zw-gz{font-size:8.5px}
  .zp-v .zw-pal .zw-major{font-size:11px;line-height:1.25}
  .zp-v .zw-pal .zw-major i{font-size:8px}
  .zp-v .zw-pal .zw-major em,.zp-v .zw-pal .zw-minor em{font-size:8px;padding:0 2px}
  .zp-v .zw-pal .zw-minor{font-size:9.5px}
  .zp-v .zw-pal .zw-adj{font-size:9px}
  .zp-v .zw-center{padding:var(--sp-1) var(--sp-1);font-size:10px;gap:var(--sp-1)}
  .zp-v .zw-center .zw-ct-head{font-size:10px;gap:var(--sp-1)}
  .zp-v .zw-center .zw-ct{font-size:8.5px;line-height:1.35}
  .zp-v .zw-center .zw-ct td{padding:0 1px}
}

/* page-font:begin */
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/ziwei-0.woff2) format("woff2");unicode-range:U+4e01, U+4e0a, U+4e11, U+4e13-4e14, U+4e19-4e1a, U+4e1c, U+4e24, U+4e27, U+4e2a, U+4e2d, U+4e30, U+4e32, U+4e34, U+4e39, U+4e43, U+4e45, U+4e48-4e49, U+4e4c, U+4e4f, U+4e58, U+4e5d, U+4e5f, U+4e61, U+4e66, U+4e70, U+4e86, U+4e89, U+4e8b, U+4e8e-4e8f, U+4e91-4e92, U+4e9a, U+4ea1, U+4ea4-4ea7, U+4eab-4eac, U+4eae, U+4eb2, U+4eba, U+4ec6, U+4eca, U+4ecd-4ece, U+4ed5-4ed6, U+4ee3-4ee4, U+4ef6, U+4efd, U+4f0a, U+4f0f-4f11, U+4f17-4f18, U+4f20, U+4f24, U+4f26, U+4f2f-4f30, U+4f34, U+4f46, U+4f4d, U+4f50, U+4f55, U+4f5c, U+4f73, U+4f7f, U+4f8b, U+4f9d, U+4fa7, U+4faa, U+4fbf, U+4fc4, U+4fdd, U+4fee, U+4ff1, U+500d, U+5012, U+5019, U+501f, U+503c, U+503e, U+504f, U+505a, U+505c, U+5065, U+5076, U+50ac, U+50cf, U+50da, U+513f, U+5143-5146, U+5149, U+514b, U+514d, U+5151, U+515c, U+5168, U+5170, U+5173-5177, U+5179, U+517b-517c, U+5185, U+518d, U+5192, U+5199, U+519b-519c, U+51a0, U+51b0, U+51b2-51b3, U+51b5, U+51b7, U+51c6, U+51cf, U+51d1, U+51e0, U+51e4, U+51ed, U+51f6, U+51fb, U+51ff-5200, U+5203, U+5207, U+5211-5212, U+5217, U+5219-521b, U+521d, U+5220, U+5224, U+5229, U+522b, U+5236-5237, U+523b, U+5251, U+5254, U+526f, U+529b, U+529f-52a1, U+52a8-52ab, U+52b2-52b3, U+52bf, U+52e4, U+52fe, U+5305, U+5308, U+5317, U+5323, U+533a-533b, U+5347-5348, U+534a, U+534e-534f, U+5357, U+535a, U+5361-5362, U+5367, U+536f, U+5371, U+5373, U+5384, U+538b, U+539a, U+539f, U+53a8, U+53bb, U+53bf, U+53c8, U+53ca-53cd, U+53d1, U+53d7-53d9, U+53e0, U+53e3-53e6, U+53ea, U+53ef-53f0, U+53f2-53f3, U+53f7, U+5404, U+5409-540a, U+5411, U+541b, U+541d, U+5426, U+542b, U+542f, U+5438, U+543e, U+547c, U+548c, U+54a8, U+54b8, U+54c8, U+54cd, U+54e5, U+54ea, U+54ed, U+5546, U+5580, U+5584, U+559c, U+5668, U+56da, U+56e0, U+56f4, U+56fa, U+56fd-56fe, U+571c, U+571f, U+572d, U+5730, U+573a, U+5747, U+574f-5750, U+5757, U+575a, U+5761, U+5766, U+578b, U+57a3, U+57c3, U+57ce, U+57d4, U+57df, U+57f9-57fa, U+5821, U+585e, U+586b, U+5883, U+5893, U+589e, U+58a8, U+58eb, U+58ee, U+58f0, U+5904, U+5907, U+590d, U+590f, U+5916, U+591a, U+591c, U+5929, U+592b, U+5931, U+5934, U+5939, U+594b, U+594f, U+5951, U+5954, U+5957, U+5965, U+5973, U+597d, U+5982, U+59bb, U+59d4, U+59da, U+59fb, U+5a01, U+5ac1, U+5ae9, U+5b50, U+5b55, U+5b58-5b59, U+5b5f, U+5b64, U+5b81, U+5b83, U+5b88-5b89, U+5b8c, U+5b98, U+5b9b, U+5b9e, U+5ba2, U+5ba4, U+5bab, U+5bb3, U+5bb6, U+5bb9, U+5bbd-5bbe, U+5bc5-5bc6, U+5bcc, U+5bdf, U+5be1, U+5be8, U+5bf8, U+5bff, U+5c01, U+5c04, U+5c06, U+5c0a, U+5c11, U+5c14, U+5c1a, U+5c24, U+5c31, U+5c3a, U+5c3c-5c3e, U+5c40, U+5c42, U+5c45, U+5c4f, U+5c55, U+5c5e, U+5c71, U+5c9b, U+5cf0, U+5ddd-5dde, U+5de1, U+5de5-5de8, U+5deb, U+5dee, U+5df1-5df4, U+5e02-5e03, U+5e08, U+5e0c, U+5e15, U+5e1b, U+5e1d, U+5e26, U+5e2d, U+5e38, U+5e42, U+5e55, U+5e72-5e73, U+5e76, U+5e7c, U+5e7f, U+5e84, U+5e86-5e87, U+5e8f, U+5e94, U+5e99-5e9a, U+5e9c, U+5ea6-5ea7, U+5ead, U+5eb7, U+5ec9, U+5ef6-5ef7, U+5efa, U+5eff, U+5f02, U+5f15, U+5f1f-5f20, U+5f31, U+5f3a, U+5f3c, U+5f52-5f53, U+5f62, U+5f70-5f71, U+5f79, U+5f7c, U+5f80, U+5f84-5f85, U+5f8b, U+5f97, U+5f99, U+5fa1, U+5faa, U+5fb7, U+5fbd, U+5fc3, U+5fc5, U+5fcc-5fcd, U+5fd7, U+5fe7, U+5feb, U+5ff5, U+6001, U+600e, U+601d, U+6025, U+6027, U+603b, U+6043, U+604b, U+6052, U+6062, U+6069, U+606f-6070, U+607c, U+60a3, U+60ac, U+60b2, U+60c5, U+60dc, U+60ef, U+6101, U+6108, U+610e-610f, U+611f, U+6148, U+614e, U+6162, U+6167, U+61c2, U+620a, U+620c, U+6211, U+6218, U+622a, U+6237, U+623f-6240, U+624d-624e, U+6253, U+6267, U+626c, U+6270, U+6276, U+627e-6280, U+6284, U+628a, U+6295, U+6297-6298, U+62a4-62a5, U+62b5, U+62c5-62c6, U+62c9, U+62d0, U+62d3, U+62d6}
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/ziwei-1.woff2) format("woff2");unicode-range:U+62d8, U+62db, U+62f1, U+62ff, U+6301-6302, U+6307, U+631d, U+6321, U+6324, U+632a, U+635f, U+6362, U+6377, U+6389, U+638c, U+63a7-63a8, U+63cf-63d0, U+63e1, U+63f4, U+641c, U+643a, U+644a, U+6458, U+6469, U+64a4, U+64ad, U+64c5, U+64cd-64ce, U+64e6, U+6500, U+652f, U+6536, U+6539, U+653e, U+6545, U+6548, U+654f, U+6559, U+655b, U+6563, U+656c, U+6574, U+6590, U+6599, U+659c, U+65a5, U+65ad, U+65af-65b0, U+65b9, U+65bd, U+65cf, U+65e0, U+65e2, U+65e6-65e9, U+65ec, U+65fa, U+660c, U+6620, U+6625, U+662f, U+663c, U+663e, U+665a, U+6666, U+666f, U+667a, U+6682, U+6696-6697, U+66dc, U+66f2, U+66f4, U+6700, U+6708, U+670b, U+670d, U+6717, U+671b, U+671d, U+671f, U+6728, U+672b-672c, U+6740, U+6742-6743, U+6750, U+6756, U+675c, U+675f-6761, U+6765, U+6784, U+6797, U+67a2, U+67b6, U+67c4, U+67d0, U+67d3-67d4, U+67e5, U+67ec, U+67f1, U+6805, U+6807, U+6821, U+6837-6839, U+683c, U+6842-6843, U+6846, U+6848, U+6851, U+6881, U+68c0, U+68ee, U+6a2a, U+6b21, U+6b32, U+6b3e, U+6b62-6b67, U+6b7b, U+6b8a, U+6b96, U+6bb5, U+6bc5, U+6bcd, U+6bcf, U+6bd4, U+6bdb, U+6c42, U+6c47, U+6c5f-6c60, U+6c64, U+6c76, U+6c89, U+6c90, U+6c99, U+6c9f, U+6ca1, U+6cbb, U+6cc4, U+6cca, U+6cdb, U+6ce2, U+6ce5, U+6ce8, U+6cf0, U+6cfd, U+6d25, U+6d2a, U+6d3b, U+6d3d-6d3e, U+6d41, U+6d4e-6d4f, U+6d59, U+6d66, U+6d6e, U+6d74, U+6d77, U+6d88-6d89, U+6da6, U+6de1, U+6df1, U+6df7, U+6dfb, U+6e05, U+6e10, U+6e29, U+6e2f, U+6e32, U+6e38, U+6e56, U+6e7e, U+6ea2, U+6eda, U+6ede, U+6ee1, U+6ee4-6ee5, U+6f0f, U+6f14, U+6f5c, U+6f9c, U+6fb3, U+6fc0, U+706b, U+706f-7070, U+707e, U+70bc, U+70c8, U+70e6, U+70ed, U+7136, U+715e, U+7167, U+719f, U+7231, U+7236, U+7248, U+7259, U+7269, U+7275, U+7279, U+727e, U+72ce, U+72e0, U+72ec, U+72fc, U+731b-731c, U+7387, U+7389, U+738b, U+73af-73b0, U+73bb, U+73cd, U+73ed, U+7422, U+7459, U+745e, U+74dc, U+74e6, U+7518, U+751a, U+7530, U+7533, U+7537-7538, U+753b, U+754c, U+7559, U+7565, U+7586, U+7591, U+7597, U+75be, U+75c5, U+75c7, U+7678, U+767d-767e, U+7684, U+7686, U+76ae, U+76ca, U+76cf, U+76d1, U+76d6, U+76db, U+76ee, U+76f4, U+7701, U+770b, U+771f, U+773c, U+7740, U+7761, U+77e5, U+77e9, U+77ed, U+77f3, U+7834, U+7840, U+786c, U+786e, U+788c-788e, U+78ca, U+78e8, U+793a, U+793c, U+793e, U+7956, U+7965, U+7978, U+7980, U+7984, U+798f, U+79bb, U+79c0-79c1, U+79cd, U+79d1, U+79d8, U+79ef-79f0, U+79fb, U+7a0b, U+7a33, U+7a7f, U+7a81, U+7a84, U+7a97, U+7acb, U+7ad9, U+7ade, U+7ae0, U+7aef, U+7b26, U+7b2c, U+7b49, U+7b4b, U+7b56, U+7b5b, U+7b79, U+7b80, U+7ba1, U+7c73, U+7c7b, U+7cbe, U+7cca, U+7cfb, U+7d20, U+7d22, U+7d27, U+7d2f, U+7e41, U+7ea0, U+7ea2, U+7ea6-7ea7, U+7eaa, U+7eaf, U+7eb2-7eb3, U+7eb5, U+7eb7, U+7ebd, U+7ebf, U+7ec4, U+7ec6, U+7ec8, U+7eca, U+7ecd, U+7ed1, U+7ed5, U+7ed9, U+7edd, U+7edf, U+7ee7, U+7eea, U+7ef4-7ef5, U+7efc, U+7eff, U+7f05, U+7f13, U+7f16, U+7f18, U+7f20, U+7f29, U+7f3a, U+7f8a, U+7f8e, U+7fa4, U+7ffb, U+8005, U+800c, U+8010, U+8017, U+8033, U+804c, U+8054, U+805a, U+806a, U+8083, U+8087, U+809d, U+80a0, U+80a9, U+80af, U+80b2, U+80ba, U+80be, U+80c3, U+80cc, U+80ce, U+80f1, U+80fd, U+8109, U+810f, U+8111, U+8131, U+813e, U+814a, U+8151, U+8180, U+81c2, U+81f3-81f4, U+820c, U+8212, U+822c, U+826f, U+8272, U+827a, U+8282, U+8292, U+82ac, U+82cf, U+82e5, U+82f1, U+8303, U+8328, U+8361, U+8363, U+836b, U+8377, U+83ab, U+83b1, U+83f2, U+8404, U+8425, U+8428, U+843d, U+8457, U+8461, U+8499, U+84c4, U+84dd, U+853d, U+8584, U+864e, U+8651, U+865a, U+86f0, U+871a, U+878d, U+8840, U+8861, U+8863, U+8865, U+8868, U+886c, U+8870, U+88ab, U+88c5, U+897f, U+8981, U+8986, U+89c1-89c2, U+89c4, U+89c6, U+89c8-89c9, U+89d2, U+89e6, U+8a00, U+8b66, U+8ba1, U+8ba4, U+8ba9, U+8bae, U+8bb0, U+8bba, U+8bbc, U+8bbe, U+8bc1, U+8bc4, U+8bc6, U+8bca, U+8bcd, U+8bd5, U+8bda, U+8bdd, U+8be2, U+8be5-8be6, U+8bed, U+8bef-8bf0, U+8bf8, U+8bfb, U+8c03, U+8c05}
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/ziwei-2.woff2) format("woff2");unicode-range:U+8c0b, U+8c10, U+8c13, U+8c26, U+8c28, U+8c41, U+8c61, U+8c8c, U+8d1e-8d1f, U+8d22-8d23, U+8d25-8d26, U+8d28, U+8d2a-8d2b, U+8d2f, U+8d35, U+8d37-8d38, U+8d44, U+8d4b, U+8d4f, U+8d5a, U+8d5e, U+8d60, U+8d70, U+8d74, U+8d77, U+8d85, U+8d8a-8d8b, U+8db3, U+8dc3, U+8dd1, U+8ddd, U+8de8, U+8def, U+8df3, U+8e81, U+8eab, U+8f6c, U+8f74, U+8f7b, U+8f7d, U+8f83, U+8f85, U+8f88-8f89, U+8f93, U+8f96, U+8f9b, U+8f9f, U+8fa8-8fa9, U+8fb0, U+8fb9, U+8fbd-8fbe, U+8fc1, U+8fc7, U+8fd1, U+8fd4, U+8fd8-8fd9, U+8fdb-8fdc, U+8fde-8fdf, U+8fea, U+8ff0, U+8ffd, U+9000, U+9002, U+9006, U+9009, U+9010, U+9014, U+9017, U+901a, U+901f, U+9022, U+9038, U+9042, U+9047, U+904d, U+9057, U+907f, U+90a3, U+90a6, U+90aa, U+90c1, U+90fd, U+9149, U+914b, U+9152, U+916c, U+91c7, U+91ca, U+91cc-91cd, U+91cf, U+91d1, U+9488, U+949f, U+94a9, U+94ae, U+94ba, U+94c3, U+94fa, U+94fe, U+950b, U+9510, U+9519-951a, U+952e, U+955c, U+957f, U+95ee, U+95f0, U+95f2, U+95f4, U+95f7, U+9601, U+9608, U+9632, U+9636, U+963b, U+963f-9640, U+9645, U+9648, U+9650, U+9655, U+9664, U+9669, U+9676-9677, U+9686, U+968f-9690, U+9694, U+96be, U+96c5-96c6, U+96f6, U+9700, U+9752, U+9759, U+975e, U+9760, U+9769, U+978d, U+97e6-97e7, U+97e9, U+9879-987b, U+987e-987f, U+9884, U+9886, U+9891, U+9898, U+989d, U+98a0, U+98d8, U+98de-98df, U+996e, U+9999, U+9a6c-9a6d, U+9a70, U+9a7e-9a7f, U+9a8c, U+9a9b, U+9aa8, U+9ad8, U+9b41, U+9b44-9b45, U+9c81, U+9c9c, U+9e2f, U+9e33, U+9e3e, U+9ea6, U+9ece, U+9ed1, U+9ed8, U+9f20, U+9f50, U+9f99}
/* page-font:end */
