/* ============================================================
   通玄 TONGXUAN · 七政四余（果老星宗）专业星案呈现器 qizheng-chart.css
   宣纸浅底 · 金墨点睛 · 星案信息密度
   ============================================================ */

.qzc-root { max-width: 1080px; margin: 8px auto 0; }
.qzc-stack { display: grid; gap: 26px; grid-template-columns: minmax(0, 1fr); }

/* ---------- 快速导航（吸顶） ---------- */
.qzc-nav {
  position: sticky; top: calc(var(--nav-h) - 2px); z-index: 20;
  margin: 0 0 26px; padding: 8px 6px;
  border: 1px solid rgba(184, 145, 75, 0.35);
  border-radius: 999px;
  background: rgba(250, 247, 239, 0.92);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 6px 20px rgba(44, 42, 36, 0.08);
}
.qzc-nav-inner { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; justify-content: safe center; }
.qzc-nav-inner::-webkit-scrollbar { display: none; }
.qzc-nav-link {
  flex-shrink: 0; padding: 6px 15px;
  font-family: var(--font-serif); font-size: 13.5px; letter-spacing: 0.12em;
  color: var(--paper-ink-soft); border-radius: 999px; white-space: nowrap;
  transition: color 0.25s, background 0.25s;
}
.qzc-nav-link:hover { color: var(--gold-700); background: rgba(212, 175, 106, 0.14); }
.qzc-nav-link:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 2px; }

/* ---------- 通用面板 ---------- */
.qzc-panel {
  position: relative; padding: 26px 28px 28px;
  background: linear-gradient(178deg, var(--paper-50), var(--paper-100) 90%);
  border: 1px solid rgba(184, 145, 75, 0.4);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 20px rgba(44, 42, 36, 0.07);
  scroll-margin-top: calc(var(--nav-h) + 60px);
}
.qzc-panel-flat { padding: 0; background: none; border: none; box-shadow: none; }
.qzc-panel-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 20px; padding-bottom: 14px;
  border-bottom: 1px solid rgba(150, 114, 58, 0.22);
}
.qzc-eyebrow { display: block; font-family: var(--font-serif); font-size: 11.5px; letter-spacing: 0.4em; text-indent: 0.4em; color: #8a6a2a; margin-bottom: 7px; }
.qzc-panel-title { font-family: var(--font-serif); font-size: 19px; font-weight: 700; letter-spacing: 0.06em; color: var(--paper-ink); }
.qzc-panel-note { font-family: var(--font-sans); font-size: 12px; letter-spacing: 0.04em; color: var(--paper-ink-soft); padding-bottom: 3px; }

/* 通用色调芯片 */
.qzc-chip { display: inline-block; font-size: 12px; border-radius: 5px; padding: 1px 8px; margin: 1px; cursor: help; border: 1px solid transparent; }
.qzc-t-good { color: #2f6a45; background: rgba(74,139,92,0.14); border-color: rgba(74,139,92,0.35); }
.qzc-t-mid { color: #7a6a3a; background: rgba(201,154,63,0.14); border-color: rgba(201,154,63,0.35); }
.qzc-t-bad { color: #a2382e; background: rgba(192,72,59,0.12); border-color: rgba(192,72,59,0.32); }
.qzc-dim { color: var(--paper-ink-soft); opacity: 0.5; }

/* 曜印章 */
.qzc-seal {
  flex-shrink: 0; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 15px; font-weight: 700; color: #fff;
  background: var(--yc, var(--gold-600)); border-radius: 7px;
}
.qzc-seal-siyu { border-radius: 50%; }

/* ---------- 概览条 ---------- */
.qzc-ov-grid {
  display: flex; flex-wrap: wrap; gap: 1px; border-radius: var(--radius-md); overflow: hidden;
  border: 1px solid rgba(150, 114, 58, 0.18); background: rgba(150, 114, 58, 0.18);
}
.qzc-ov-cell { flex: 1 1 220px; display: flex; align-items: baseline; gap: 10px; padding: 12px 16px; background: rgba(250, 247, 239, 0.92); }
.qzc-ov-k { flex-shrink: 0; font-family: var(--font-serif); font-size: 12.5px; letter-spacing: 0.12em; color: #7d5c1f; }
.qzc-ov-v { font-size: 14px; color: var(--paper-ink); }
.qzc-ov-v b { font-family: var(--font-serif); font-size: 17px; }
.qzc-ov-ming { color: var(--cinnabar); letter-spacing: 0.04em; }

/* ---------- 命主三元 ---------- */
.qzc-masters-head { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 18px; }
.qzc-mh-cell {
  flex: 1 1 200px; display: flex; align-items: baseline; gap: 10px;
  padding: 14px 18px; border: 1px solid rgba(184, 145, 75, 0.4); border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(212,175,106,0.14), rgba(212,175,106,0.04));
}
.qzc-mh-k { font-family: var(--font-serif); font-size: 13px; letter-spacing: 0.14em; color: #7d5c1f; }
.qzc-mh-zi { font-family: var(--font-serif); font-size: 22px; font-weight: 700; color: var(--paper-ink); }
.qzc-mh-stem { font-style: normal; font-size: 12px; color: var(--paper-ink-soft); }
.qzc-master-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 14px; }
.qzc-master-card { padding: 15px 16px; border: 1px solid rgba(150, 114, 58, 0.28); border-radius: var(--radius-sm); background: rgba(250, 247, 239, 0.7); text-align: center; }
.qzc-master-role { font-family: var(--font-serif); font-size: 14px; font-weight: 700; color: #7d5c1f; letter-spacing: 0.1em; }
.qzc-master-role em { display: block; font-style: normal; font-size: 11px; font-weight: 400; color: var(--paper-ink-soft); margin-top: 2px; }
.qzc-master-star { font-family: var(--font-serif); font-size: 30px; font-weight: 700; margin: 8px 0 6px; }
.qzc-master-desc { font-size: 12px; line-height: 1.65; color: var(--paper-ink-soft); text-align: left; padding-top: 8px; border-top: 1px dashed rgba(150,114,58,0.3); }

/* ---------- 十一曜详盘 ---------- */
.qzc-yao-table { border: 1px solid rgba(150, 114, 58, 0.25); border-radius: var(--radius-md); overflow: hidden; }
.qzc-yao-row { display: grid; grid-template-columns: 1.3fr 1.4fr 0.8fr 1fr 1fr 1.6fr; border-bottom: 1px solid rgba(150, 114, 58, 0.14); }
.qzc-yao-row:last-child { border-bottom: none; }
.qzc-yao-head { background: rgba(22,33,60,0.04); }
.qzc-yao-head .qzc-yao-c { font-family: var(--font-serif); font-size: 12.5px; letter-spacing: 0.1em; color: var(--paper-ink-soft); padding: 11px 10px; }
.qzc-yao-c { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding: 11px 10px; border-left: 1px solid rgba(150,114,58,0.1); min-width: 0; font-size: 13px; color: var(--paper-ink); }
.qzc-yao-c:first-child { border-left: none; }
.qzc-yao-siyu { background: rgba(184,73,62,0.035); }
.qzc-yao-name { gap: 8px; }
.qzc-yao-cn { font-family: var(--font-serif); font-size: 14.5px; font-weight: 600; cursor: help; }
.qzc-yao-xiu { font-family: var(--font-serif); font-size: 15px; font-weight: 700; }
.qzc-yao-du { font-size: 12px; color: var(--paper-ink-soft); margin-left: 4px; }
.qzc-yao-zhi { font-family: var(--font-serif); font-size: 15px; font-weight: 600; }

.qzc-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-top: 16px; font-size: 12px; color: var(--paper-ink-soft); }
.qzc-legend-item { display: inline-flex; align-items: center; gap: 5px; }
.qzc-legend-item i { width: 11px; height: 11px; display: inline-block; }
.qzc-lg-qz { border-radius: 3px; background: var(--gold-600); }
.qzc-lg-sy { border-radius: 50%; background: var(--cinnabar); }
.qzc-lg-good { border-radius: 3px; background: rgba(74,139,92,0.5); }
.qzc-lg-mid { border-radius: 3px; background: rgba(201,154,63,0.5); }
.qzc-lg-bad { border-radius: 3px; background: rgba(192,72,59,0.5); }
.qzc-legend-sep { gap: 6px; }

/* ---------- 周天二十八宿 ---------- */
.qzc-band-scroll { overflow-x: auto; padding: 4px 2px 12px; scrollbar-width: thin; scrollbar-color: rgba(150,114,58,0.4) transparent; }
.qzc-band { display: flex; gap: 4px; min-width: min-content; }
.qzc-cell {
  flex: 0 0 auto; width: 46px; display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 8px 4px 6px; border: 1px solid rgba(150, 114, 58, 0.2); border-radius: var(--radius-sm);
  background: rgba(250, 247, 239, 0.7);
}
.qzc-cell.is-ming { border-color: var(--cinnabar); background: rgba(184, 73, 62, 0.07); box-shadow: 0 0 0 1px rgba(184,73,62,0.25); }
.qzc-cell-stars { min-height: 40px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
.qzc-cell-star { display: flex; flex-direction: column; align-items: center; }
.qzc-cell-dot { width: 6px; height: 6px; border-radius: 50%; }
.qzc-cell-yao { font-family: var(--font-serif); font-size: 13px; font-weight: 700; font-style: normal; }
.qzc-cell-name { font-family: var(--font-serif); font-size: 15px; font-weight: 700; color: var(--paper-ink); }
.qzc-cell.is-ming .qzc-cell-name { color: var(--cinnabar); }
.qzc-cell-wx { font-size: 9.5px; color: var(--paper-ink-soft); letter-spacing: -0.02em; }

/* ---------- 果老命宿环 ---------- */
.qzc-ring-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.qzc-ring-card { padding: 12px 14px; border: 1px solid rgba(150, 114, 58, 0.25); border-left-width: 3px; border-radius: var(--radius-sm); background: rgba(250, 247, 239, 0.7); }
.qzc-ring-card.qzc-t-good { border-left-color: #4a8b5c; }
.qzc-ring-card.qzc-t-mid { border-left-color: #c99a3f; }
.qzc-ring-card.qzc-t-bad { border-left-color: #c0483b; }
.qzc-ring-card.is-ming { border-color: var(--cinnabar); border-left-color: var(--cinnabar); box-shadow: 0 0 0 1px rgba(184,73,62,0.2); }
.qzc-ring-top { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 8px; }
.qzc-ring-xiu { font-family: var(--font-serif); font-size: 17px; font-weight: 700; color: var(--paper-ink); }
.qzc-ring-rel { font-size: 12px; font-weight: 600; color: #7a5820; background: rgba(212,175,106,0.18); border-radius: 4px; padding: 1px 7px; cursor: help; }
.qzc-ring-card.is-ming .qzc-ring-rel { color: #fff; background: var(--cinnabar); }
.qzc-ring-cat { font-size: 11.5px; color: var(--paper-ink-soft); border: 1px solid rgba(150,114,58,0.3); border-radius: 999px; padding: 0 8px; }
.qzc-ring-planets { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.qzc-ring-planet { font-family: var(--font-serif); font-size: 12px; font-weight: 700; color: #fff; background: var(--yc, var(--gold-600)); width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 5px; }
.qzc-ring-char p { font-size: 12px; line-height: 1.65; color: var(--paper-ink-soft); }
.qzc-ring-char p + p { margin-top: 2px; }

/* ---------- 本命化曜 ---------- */
.qzc-yearstar-box { padding: 16px 18px; border: 1px solid rgba(150, 114, 58, 0.25); border-radius: var(--radius-md); background: rgba(250, 247, 239, 0.6); }
.qzc-ys-lead { font-size: 14px; line-height: 1.8; color: var(--paper-ink); }
.qzc-ys-lead b { font-family: var(--font-serif); }
.qzc-ys-star { font-size: 18px; }
.qzc-ys-tengod { margin-top: 12px; padding-top: 12px; border-top: 1px dashed rgba(150,114,58,0.3); display: grid; gap: 8px; }
.qzc-ys-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.qzc-ys-k { flex-shrink: 0; font-size: 12px; color: #7d5c1f; }
.qzc-ys-v { display: flex; flex-wrap: wrap; gap: 5px; }
.qzc-ys-v i { font-style: normal; font-size: 12px; color: var(--paper-ink-soft); border: 1px solid rgba(150,114,58,0.25); border-radius: 4px; padding: 1px 7px; }

/* ---------- 大限 ---------- */
.qzc-limit-strip { display: flex; gap: 10px; overflow-x: auto; padding: 16px 2px 12px; scrollbar-width: thin; scrollbar-color: rgba(150,114,58,0.4) transparent; }
.qzc-limit-chip {
  position: relative; flex: 0 0 auto; min-width: 104px;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 12px 12px 10px; border: 1px solid rgba(150, 114, 58, 0.32); border-radius: var(--radius-md);
  background: rgba(250, 247, 239, 0.9);
}
.qzc-limit-chip.is-now { background: radial-gradient(ellipse 130% 130% at 50% -20%, rgba(212,175,106,0.2), transparent 60%), linear-gradient(150deg, var(--ink-800), var(--ink-950)); border-color: var(--gold-500); box-shadow: 0 10px 26px rgba(13, 20, 38, 0.3); }
.qzc-limit-badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); font-size: 10.5px; color: #f8ecd8; background: var(--gold-700); padding: 1px 8px; border-radius: 999px; white-space: nowrap; }
.qzc-limit-idx { font-size: 11px; color: var(--paper-ink-soft); }
.qzc-limit-palace { font-family: var(--font-serif); font-size: 17px; font-weight: 700; color: var(--paper-ink); }
.qzc-limit-zi { font-size: 12px; color: var(--paper-ink-soft); }
.qzc-limit-age { font-size: 12px; color: var(--paper-ink); font-variant-numeric: tabular-nums; }
.qzc-limit-year, .qzc-limit-yrs { font-size: 10.5px; color: var(--paper-ink-soft); font-variant-numeric: tabular-nums; }
.qzc-limit-chip.is-now .qzc-limit-palace { background: linear-gradient(160deg, var(--gold-300), var(--gold-500) 70%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.qzc-limit-chip.is-now .qzc-limit-idx, .qzc-limit-chip.is-now .qzc-limit-zi, .qzc-limit-chip.is-now .qzc-limit-year, .qzc-limit-chip.is-now .qzc-limit-yrs { color: rgba(237,232,216,0.6); }
.qzc-limit-chip.is-now .qzc-limit-age { color: var(--gold-300); }
.qzc-limit-note { margin-top: 12px; font-size: 12px; color: var(--paper-ink-soft); }

/* ---------- 政余格局 ---------- */
.qzc-pattern-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.qzc-pattern-card { padding: 14px 16px; border: 1px solid rgba(150, 114, 58, 0.28); border-left-width: 3px; border-radius: var(--radius-sm); background: rgba(250, 247, 239, 0.7); }
.qzc-pattern-card.qzc-t-good { border-left-color: #4a8b5c; }
.qzc-pattern-card.qzc-t-bad { border-left-color: #c0483b; }
.qzc-pattern-card.qzc-t-mid { border-left-color: #c99a3f; }
.qzc-pattern-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.qzc-pattern-name { font-family: var(--font-serif); font-size: 17px; font-weight: 700; color: var(--paper-ink); }
.qzc-pattern-lvl { font-size: 11.5px; font-weight: 600; padding: 1px 8px; border-radius: 999px; }
.qzc-pattern-card.qzc-t-good .qzc-pattern-lvl { color: #2f6a45; background: rgba(74,139,92,0.14); }
.qzc-pattern-card.qzc-t-bad .qzc-pattern-lvl { color: #a2382e; background: rgba(192,72,59,0.12); }
.qzc-pattern-card.qzc-t-mid .qzc-pattern-lvl { color: #7a6a3a; background: rgba(201,154,63,0.14); }
.qzc-pattern-detail { font-size: 12.5px; line-height: 1.7; color: var(--paper-ink-soft); }

/* ---------- 张果断语 ---------- */
.qzc-zg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 14px; }
.qzc-zg-card { padding: 15px 17px; border: 1px solid rgba(184, 145, 75, 0.35); border-radius: var(--radius-md); background: linear-gradient(178deg, rgba(255,253,247,0.9), rgba(245,240,226,0.6)); }
.qzc-zg-head { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px dashed rgba(150,114,58,0.3); }
.qzc-zg-title { font-family: var(--font-serif); font-size: 15px; font-weight: 700; color: var(--paper-ink); }
.qzc-zg-reading { display: flex; gap: 8px; margin-bottom: 8px; }
.qzc-zg-type { flex-shrink: 0; align-self: flex-start; }
.qzc-zg-text { font-family: var(--font-serif); font-size: 14px; line-height: 1.85; color: #3b382f; }
.qzc-zg-note { font-style: normal; font-size: 12px; color: var(--paper-ink-soft); }
.qzc-zg-src { text-align: right; font-size: 11.5px; color: var(--gold-700); font-style: italic; }

/* ---------- 诚实说明 ---------- */
.qzc-caveat { border: 1px dashed rgba(150, 114, 58, 0.4); border-radius: var(--radius-md); background: rgba(250, 247, 239, 0.55); }
.qzc-caveat-sum { display: flex; align-items: center; gap: 12px; padding: 16px 22px; cursor: pointer; list-style: none; }
.qzc-caveat-sum::-webkit-details-marker { display: none; }
.qzc-caveat-sum .qzc-eyebrow { margin-bottom: 0; }
.qzc-caveat-sum .qzc-panel-title { font-size: 16px; }
.qzc-caret { margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--gold-600); border-bottom: 2px solid var(--gold-600); transform: rotate(45deg); transition: transform 0.3s; }
.qzc-caveat[open] .qzc-caret { transform: rotate(-135deg); }
.qzc-caveat-body { padding: 0 22px 20px; }
.qzc-caveat-body p { font-size: 13px; line-height: 1.8; color: var(--paper-ink); }
.qzc-caveat-body strong { color: var(--cinnabar); }
.qzc-caveat-body ul { margin: 8px 0 0; padding-left: 20px; }
.qzc-caveat-body li { font-size: 12.5px; line-height: 1.8; color: var(--paper-ink-soft); }

/* ---------- 降级命度 ---------- */
.qzc-mingdu-basic { display: flex; align-items: baseline; gap: 12px; justify-content: center; margin-bottom: 18px; }
.qzc-mb-k { font-family: var(--font-serif); font-size: 13px; letter-spacing: 0.2em; color: var(--gold-700); }
.qzc-mb-v { font-family: var(--font-serif); font-size: 26px; font-weight: 700; color: var(--cinnabar); }

/* ---------- 响应式 ---------- */
@media (max-width: 720px) {
  .qzc-panel { padding: 20px 16px 22px; }
  .qzc-nav { top: calc(var(--nav-h) - 6px); }
  .qzc-yao-row { grid-template-columns: 1.2fr 1.4fr 0.7fr 0.9fr 0.9fr 1.5fr; }
  .qzc-yao-c { padding: 9px 6px; font-size: 12px; }
  .qzc-yao-cn { font-size: 12.5px; }
  .qzc-ov-cell { flex-basis: 100%; }
  .qzc-zg-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .qzc-yao-table { overflow-x: auto; }
  .qzc-yao-row { min-width: 480px; }
}
