/* 通玄 · 数术六法共用页（2026-09-01 七检 3e）
   庚帖卡/日期五联/乾坤钮/历法页签沿 base.css（.geng-card .field .date-grid .seg-group .cal-tabs）；
   本文件只管：术法切换 chips、问事帖、四象卦选、段卡、太乙十六宫格、法门源流。 */

/* ===== 页首 ===== */
.ss-hero-divider { margin-top: 26px; animation: pageUp 1s var(--ease-out) 0.28s both; }

/* ===== 术法切换 ===== */
/* 择术（2026-09-04）：印章 + 单选下拉——控件走全站 .select-line，印章随所选术切换 */
.ss-arts { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 auto 22px; max-width: 460px; }
.ss-art-seal {
  flex: none; width: 46px; height: 46px; border-radius: 50%; display: inline-grid; place-items: center;
  font-family: var(--font-serif); font-size: 20px; color: #fff8e6; letter-spacing: 0;
  background: linear-gradient(150deg, #b8914b, #7a5c1e); box-shadow: 0 6px 16px rgba(122, 92, 30, 0.22);
}
.ss-art-pick { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; }
.ss-art-cap { flex: none; font-family: var(--font-serif); font-size: 13.5px; letter-spacing: 0.3em; color: var(--paper-ink-soft); }
.ss-art-sel { font-family: var(--font-serif); font-size: 15.5px; letter-spacing: 0.12em; }
.ss-mode-chips { justify-content: center; margin: 0 auto 18px; }
.ss-art-note { text-align: center; margin: 0 auto 8px; max-width: 760px; font-size: 13px; line-height: 1.8; letter-spacing: 0.04em; color: var(--paper-ink-soft); }

/* ===== 表单补件 ===== */
.ss-hint { margin: 6px 0 0; font-size: 12.5px; line-height: 1.8; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-textarea {
  width: 100%; min-height: 84px; padding: 12px 14px; resize: vertical;
  font-family: var(--font-sans); font-size: 16px; line-height: 1.7; letter-spacing: 0.04em;
  color: var(--paper-ink); background: rgba(255, 253, 246, 0.7);
  border: 1px solid rgba(150, 114, 58, 0.35); border-radius: var(--radius-sm); outline: none;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.ss-textarea:focus { border-color: var(--gold-600); box-shadow: 0 0 0 3px rgba(212, 175, 106, 0.18); }
.ss-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ss-chip {
  padding: 8px 14px; border-radius: 999px; cursor: pointer;
  font-size: 13.5px; letter-spacing: 0.1em; color: var(--paper-ink);
  background: rgba(255, 253, 246, 0.72); border: 1px solid rgba(150, 114, 58, 0.35);
  transition: border-color 0.25s, transform 0.25s;
}
.ss-chip:hover { border-color: var(--gold-600); transform: translateY(-2px); }
.ss-chip.active { border-color: var(--gold-600); background: rgba(255, 250, 236, 0.95); box-shadow: 0 0 0 3px rgba(212, 175, 106, 0.18); }
/* 起式时刻：「以此时此刻起式」勾选 + 五联转轮格（与奇门同款；原 .ss-time-grid 原生 datetime-local 已下线） */
.ss-now-line { margin-top: 2px; }
.ss-now-time { margin-left: 10px; font-family: var(--font-sans); font-size: 12.5px; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-date-grid { margin-top: 12px; }
.ss-date-grid[hidden] { display: none; }
.ss-place2 { margin-top: 12px; }
.ss-pick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ss-pick { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ss-pick > span { font-size: 12.5px; letter-spacing: 0.16em; color: var(--paper-ink-soft); text-align: center; }
.ss-pick select { width: 100%; }
@media (max-width: 720px) {
  #ssFormEvent .check-line { display: flex; flex-wrap: wrap; white-space: nowrap; row-gap: 2px; padding-bottom: 0; }
  .ss-now-time { flex: 1 0 100%; margin-left: 0; white-space: normal; }
  .ss-pick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===== 结果 ===== */
.ss-head-card {
  padding: 22px 24px; margin-bottom: 22px;
  background: rgba(255, 253, 246, 0.82); border: 1px solid rgba(150, 114, 58, 0.3);
  border-radius: var(--radius-md); box-shadow: 0 8px 24px rgba(60, 40, 10, 0.06);
}
.ss-head-seal {
  display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; margin-bottom: 10px;
  font-family: var(--font-serif); font-size: 22px; color: #fff8e6; background: linear-gradient(150deg, #b8914b, #7a5c1e);
}
.ss-brief { margin: 0; font-family: var(--font-serif); font-size: 20px; letter-spacing: 0.08em; color: var(--paper-ink); line-height: 1.6; }
.ss-head-meta { margin: 8px 0 0; font-size: 13px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-panel-cap {
  margin: 0 0 12px; font-family: var(--font-serif); font-size: 16px; letter-spacing: 0.24em; color: #7a5c1e;
}
.ss-panel-cap span { font-size: 12px; font-weight: 400; letter-spacing: 0.08em; color: var(--paper-ink-soft); }
.ss-sections { display: flex; flex-direction: column; gap: 10px; }
.ss-sec {
  background: rgba(255, 253, 246, 0.8); border: 1px solid rgba(150, 114, 58, 0.28);
  border-radius: var(--radius-sm); overflow: hidden;
}
.ss-sec-head {
  display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; list-style: none;
  font-family: var(--font-serif); font-size: 15.5px; letter-spacing: 0.1em; color: var(--paper-ink);
}
.ss-sec-head::-webkit-details-marker { display: none; }
.ss-sec-caret { width: 8px; height: 8px; border-right: 1.5px solid var(--gold-600); border-bottom: 1.5px solid var(--gold-600); transform: rotate(-45deg); transition: transform 0.25s; flex: none; }
.ss-sec[open] .ss-sec-caret { transform: rotate(45deg); }
.ss-sec-head b { font-weight: 600; flex: 1; }
.ss-sec-count { font-size: 12px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-sec-body { padding: 4px 16px 14px; border-top: 1px dashed rgba(184, 145, 75, 0.3); }
.ss-sec-body pre {
  margin: 0; white-space: pre-wrap; word-break: break-word;
  font-family: var(--font-sans); font-size: 14.5px; line-height: 1.9; color: var(--paper-ink);
}
/* ===== 盘面（六术各异；纯 DOM） ===== */
.ss-board-wrap { margin: 0 0 24px; }
.ss-board { display: flex; flex-direction: column; gap: 14px; }
.ss-board-head, .ss-board-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-chip-tag {
  display: inline-block; padding: 5px 11px; border-radius: 999px;
  font-size: 12.5px; letter-spacing: 0.06em; line-height: 1.5; color: var(--paper-ink);
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3);
}
.ss-chip-tag.gold { color: #7a5c1e; border-color: rgba(184, 145, 75, 0.6); background: rgba(212, 175, 106, 0.14); }
.ss-chip-tag.ok { color: #2f6b3a; border-color: rgba(47, 107, 58, 0.4); background: rgba(47, 107, 58, 0.08); }
.ss-chip-tag.no { color: #a03a2c; border-color: rgba(160, 58, 44, 0.4); background: rgba(160, 58, 44, 0.07); }
.ss-board-sub { margin: 4px 0 0; font-size: 12.5px; letter-spacing: 0.12em; color: var(--paper-ink-soft); }

/* 六爻图 */
.ss-hex-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ss-hex-quad { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ss-hex {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 26px 14px 14px; border-radius: var(--radius-md);   /* 顶 26：标签帽（-10～12px）下留 ≥14px 安全距离（阁主 2026-09-04） */
  background: linear-gradient(160deg, rgba(255, 253, 246, 0.92), rgba(247, 239, 220, 0.9));
  border: 1px solid rgba(150, 114, 58, 0.35); box-shadow: 0 8px 22px rgba(60, 40, 10, 0.06);
}
.ss-hex.sm { padding: 22px 8px 10px; gap: 5px; box-shadow: none; background: rgba(255, 253, 246, 0.8); }   /* 顶 22：小卡帽（-9～9px）下留 ≥13px */
.ss-hex-tag {
  position: absolute; top: -10px; left: 12px; padding: 2px 10px; border-radius: 999px;
  font-size: 12px; letter-spacing: 0.12em; color: #fff8e6; background: linear-gradient(150deg, #b8914b, #7a5c1e);
}
.ss-hex.sm .ss-hex-tag { font-size: 11px; padding: 1px 8px; top: -9px; left: 8px; }
.ss-hex-lines { display: flex; flex-direction: column; gap: 7px; width: 120px; max-width: 100%; }
.ss-hex.sm .ss-hex-lines { width: 64px; gap: 4px; }
.ss-yao { position: relative; display: flex; gap: 12px; height: 10px; }
.ss-hex.sm .ss-yao { height: 6px; gap: 7px; }
.ss-yao i { flex: 1; border-radius: 2px; background: #3b3024; }
.ss-yao.yuan i { background: linear-gradient(90deg, #c0392b, #8f2a1f); box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.18); }
.ss-yao-mark {
  position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%);
  white-space: nowrap; font-size: 11.5px; letter-spacing: 0.1em; color: #8f2a1f; font-weight: 600;
}
.ss-hex.sm .ss-yao-mark { display: none; }
.ss-hex-lines { padding-right: 0; }
.ss-hex:not(.sm) .ss-hex-lines { margin-right: 74px; margin-left: 74px; }
.ss-hex-name { font-family: var(--font-serif); font-size: 19px; letter-spacing: 0.16em; color: var(--paper-ink); }
.ss-hex.sm .ss-hex-name { font-size: 13.5px; letter-spacing: 0.08em; }
.ss-hex-sub { font-size: 12.5px; letter-spacing: 0.06em; color: var(--paper-ink-soft); text-align: center; line-height: 1.6; }

/* 十二支环（4×4） */
.ss-ring { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ss-ring-cell, .ss-ring-empty {
  position: relative; min-height: 96px; padding: 10px 10px 8px; border-radius: 10px;
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3);
}
.ss-ring-empty { background: rgba(255, 253, 246, 0.35); border-style: dashed; }
.ss-ring-cell.mark-ming { border-color: #b8914b; box-shadow: inset 0 0 0 1px rgba(184, 145, 75, 0.6), 0 6px 16px rgba(184, 145, 75, 0.14); background: rgba(255, 250, 236, 0.98); }
.ss-ring-cell.mark-ri { border-color: rgba(122, 104, 176, 0.7); }
.ss-cell-head { display: flex; align-items: baseline; gap: 6px; margin: 0 0 6px; }
.ss-cell-head b { font-family: var(--font-serif); font-size: 14.5px; letter-spacing: 0.1em; color: #7a5c1e; }
.ss-cell-head span { font-size: 12px; color: var(--paper-ink-soft); letter-spacing: 0.08em; }
.ss-cell-star { margin: 0; font-family: var(--font-serif); font-size: 17px; letter-spacing: 0.14em; color: var(--paper-ink); }
.ss-cell-note { margin: 4px 0 0; font-size: 12px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-cell-note.now { color: #8f2a1f; font-weight: 600; }
.ss-cell-seals { display: flex; gap: 4px; margin: 6px 0 0; }
.ss-seal {
  display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
  font-style: normal; font-size: 11px; color: #fff8e6; background: linear-gradient(150deg, #b8914b, #7a5c1e);
}
.ss-cell-tag {
  position: absolute; top: 8px; right: 8px; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
  font-style: normal; font-size: 11px; color: #fff8e6; background: linear-gradient(150deg, #c0392b, #8f2a1f);
}
.ss-ring-center, .ss-t16-center {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 14px;
  border-radius: 12px; color: #f3e6c8;
  background: radial-gradient(120% 100% at 50% 0%, var(--ink-700), var(--ink-950));
  border: 1px solid rgba(212, 175, 106, 0.35);
}
.ss-center-cap { margin: 0; font-size: 11.5px; letter-spacing: 0.34em; color: #d4af6a; }
.ss-center-big { font-family: var(--font-serif); font-size: 19px; letter-spacing: 0.12em; color: #fff3d6; line-height: 1.5; }
.ss-center-sub { font-size: 12.5px; letter-spacing: 0.08em; color: rgba(243, 230, 200, 0.8); }
.ss-center-line { margin: 2px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; font-size: 12.5px; letter-spacing: 0.06em; color: #f3e6c8; }
.ss-center-line span { white-space: nowrap; }
/* 列向 flex 里子项若非 stretch，Chromium 先按 max-content 宽算高再按实际宽折行——「太乙 巽 文昌 卯…直符 子」折行后
   第二行压到「主算」行上（1280 真渲染实锤）。子项一律 stretch 取定宽再算高；居中由 text-align/justify-content 承担 */
.ss-ring-center > *, .ss-t16-center > * { align-self: stretch; max-width: 100%; }
.ss-center-suan span { color: #ffd98a; }
.ss-center-note { font-size: 11.5px; letter-spacing: 0.08em; color: rgba(243, 230, 200, 0.7); }

/* 限/运 横条 */
.ss-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.ss-strip-cell {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px; text-align: center;
  border-radius: 10px; background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.28);
}
.ss-strip-cell i { font-style: normal; font-size: 11.5px; letter-spacing: 0.1em; color: var(--paper-ink-soft); }
.ss-strip-cell b { font-family: var(--font-serif); font-size: 14px; letter-spacing: 0.1em; color: var(--paper-ink); }
.ss-strip-cell span { font-size: 11.5px; line-height: 1.5; color: var(--paper-ink-soft); }
.ss-strip-cell.now { border-color: #c0392b; box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.35); background: rgba(255, 246, 240, 0.95); }
/* 只挂在条头 <i>（直接子级）——写成后代选择器会连小卦里的每根爻条 <i> 一起挂上「今在此限」（真渲染实锤） */
.ss-strip-cell.now > i::after { content: " · 今在此限"; color: #8f2a1f; }

/* 邵子本命二数 */
.ss-verse-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ss-verse { padding: 14px 16px; border-radius: 10px; background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3); }
.ss-verse i { display: block; font-style: normal; font-size: 12px; letter-spacing: 0.14em; color: #7a5c1e; margin-bottom: 6px; }
.ss-verse p { margin: 0; font-family: var(--font-serif); font-size: 16px; letter-spacing: 0.1em; line-height: 1.8; color: var(--paper-ink); }

/* 金口诀课式（人元 / 贵神 / 将神 / 地分，自上而下） */
/* 金口诀四位表（2026-09-04 阁主令「做成像桌面版的表格形式」）：位 · 干支± · 神将 · 五行 · 旺衰 · 空亡 [· 纳音]；
   用爻行金底并「用」印；干支/五行按行五色（金木水火土）。下方「四位神煞」独立块与桌面同分区。 */
.ss-ke-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; max-width: 720px; border-radius: 10px; border: 1px solid rgba(150, 114, 58, 0.32); background: rgba(255, 253, 246, 0.85); }
.ss-ke-scroll::-webkit-scrollbar { height: 5px; }
.ss-ke-scroll::-webkit-scrollbar-thumb { background: rgba(150, 114, 58, 0.4); border-radius: 999px; }
.ss-ke-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ss-ke-table th, .ss-ke-table td { padding: 10px 12px; text-align: center; white-space: nowrap; border-bottom: 1px solid rgba(184, 145, 75, 0.2); vertical-align: middle; }
.ss-ke-table th { font-family: var(--font-serif); font-weight: 500; font-size: 12.5px; letter-spacing: 0.16em; color: var(--paper-ink-soft); background: rgba(212, 175, 106, 0.12); }
.ss-ke-table tbody tr:last-child td { border-bottom: 0; }
.ss-ke-tier.yong td { background: rgba(255, 250, 236, 0.98); }
.ss-ke-tier.yong td:first-child { box-shadow: inset 3px 0 0 var(--gold-600); }
.ss-ke-pos { text-align: left !important; }
.ss-ke-pos b { font-family: var(--font-serif); font-size: 15px; letter-spacing: 0.14em; color: #7a5c1e; }
.ss-ke-pos .ss-cell-tag { position: static; margin-left: 6px; vertical-align: 2px; }
.ss-ke-gz b { font-family: var(--font-serif); font-size: 24px; letter-spacing: 0.06em; color: var(--paper-ink); }
.ss-ke-yy { font-size: 11px; margin-left: 1px; color: var(--paper-ink-soft); vertical-align: 10px; }
.ss-ke-sj { font-family: var(--font-serif); letter-spacing: 0.1em; color: #7a5c1e; }
.ss-ke-el { font-family: var(--font-serif); letter-spacing: 0.1em; }
.ss-ke-gz.jin b, .ss-ke-el.jin { color: #8f7a2f; } .ss-ke-gz.mu b, .ss-ke-el.mu { color: #3f7a4c; } .ss-ke-gz.shui b, .ss-ke-el.shui { color: #3f6ea8; }
.ss-ke-gz.huo b, .ss-ke-el.huo { color: #c0392b; } .ss-ke-gz.tu b, .ss-ke-el.tu { color: #b7842f; }
.ss-ke-shen-list { margin-top: 10px; max-width: 720px; display: grid; gap: 5px; font-size: 12.5px; line-height: 1.6; color: var(--paper-ink-soft); }
.ss-ke-shen-row { display: flex; gap: 10px; align-items: baseline; }
.ss-ke-shen-row b { flex: none; font-family: var(--font-serif); font-weight: 500; letter-spacing: 0.14em; color: #7a5c1e; }
.ss-ke-shen-row b::after { content: "神煞"; margin-left: 2px; font-size: 11px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
/* 段内 GFM 表（2026-09-04）：全站 .md-table + 横滚匣 */
.ss-sec-md { font-size: 13.5px; line-height: 1.8; }
.ss-sec-md .md-tw { overflow-x: auto; scrollbar-width: thin; border: 1px solid rgba(150, 114, 58, 0.28); border-radius: 10px; background: rgba(255, 253, 246, 0.8); margin: 8px 0; }
.ss-sec-md .md-table { font-size: 12.5px; min-width: 100%; }
.ss-sec-md .md-table th { font-family: var(--font-serif); background: rgba(212, 175, 106, 0.12); letter-spacing: 0.1em; white-space: nowrap; }
.ss-sec-md .md-table td { white-space: nowrap; }
.ss-sec-md p { margin: 0 0 8px; }
/* 统摄四象计数提示 */
.ss-pick-hint { margin: 8px 0 0; font-size: 12.5px; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-pick-hint.warn { color: var(--cinnabar); }
/* 太乙八门角标（值使门朱） */
.ss-t16-cell { position: relative; }
.ss-t16-door { position: absolute; top: 4px; right: 5px; font-style: normal; font-family: var(--font-serif); font-size: 11px; color: var(--gold-700); }
.ss-t16-door.zhishi { color: var(--cinnabar); font-weight: 700; }
/* 一掌经神煞落宫点标 */
.ss-cell-shensha { position: absolute; left: 6px; bottom: 5px; font-style: normal; font-size: 11px; letter-spacing: 0.02em; color: var(--gold-700); cursor: help; }
.ss-najia td:first-child, .ss-ke-plates td:first-child { font-family: var(--font-serif); letter-spacing: 0.08em; color: #7a5c1e; }
.ss-ke-shen { color: var(--paper-ink); }

/* 太乙十六神式盘（5×5 环列） */
.ss-t16 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.ss-t16-cell {
  min-height: 84px; padding: 7px 8px; border-radius: 8px;
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3);
}
.ss-t16-cell b { display: block; font-family: var(--font-serif); font-size: 14.5px; letter-spacing: 0.1em; color: #7a5c1e; }
.ss-t16-cell p { display: flex; flex-wrap: wrap; gap: 3px; margin: 5px 0 0; }
.ss-t16-item { font-size: 11px; padding: 1px 6px; border-radius: 999px; background: rgba(184, 145, 75, 0.12); color: var(--paper-ink); letter-spacing: 0.04em; }
.ss-t16-item.taiyi { background: linear-gradient(150deg, #c0392b, #8f2a1f); color: #fff8e6; }
.ss-t16-item.key { background: rgba(122, 92, 30, 0.85); color: #fff8e6; }
.ss-t16-cell.mark-taiyi { border-color: #c0392b; box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.35); }
.ss-t16-cell.mark-wenchang, .ss-t16-cell.mark-shiji { border-color: #b8914b; }
/* ================= 吸顶快导条（克隆 bazi-chart.css .bzc-nav，成熟盘面页同形） ================= */
.ssc-nav {
  position: sticky; top: calc(var(--nav-h) - 2px); z-index: 20;
  margin: 0 0 22px; 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);
}
.ssc-nav-inner { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; justify-content: safe center; }
.ssc-nav-inner::-webkit-scrollbar { display: none; }
.ssc-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;
}
.ssc-nav-link:hover { color: var(--gold-700); background: rgba(212, 175, 106, 0.14); }
.ssc-nav-link:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 2px; }
#ssBoardWrap, #ssSections, #ssSnapshotMount { scroll-margin-top: calc(var(--nav-h) + 60px); }

/* 邵子神数全本三卡（四位起数/条文/六十四钥匙）：复用 .ss-verse 卡皮，三列等分；手机档一列（720 块） */
.ss-shaozi-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.ss-shaozi-features .ss-verse { min-width: 0; }
.ss-shaozi-digits { display: block; font-family: var(--font-serif); font-size: 20px; letter-spacing: 0.04em; color: var(--gold-700); margin: 4px 0 6px; }
.ss-shaozi-keyname { display: block; font-family: var(--font-serif); font-size: 16px; color: var(--gold-700); margin: 4px 0 6px; }
.ss-shaozi-note { font-size: 12.5px; color: var(--paper-ink-soft); }

/* ================= 口径轴面板（.ss-advanced，数术 P0；照 geomancy .geo-advanced 形） ================= */
.ss-opt-mount[hidden] { display: none; }
.form-actions + * + .ss-opt-mount, .form-actions + .ss-opt-mount { margin-top: 18px; }   /* 折叠块落起盘钮之下（阁主 2026-09-06 令） */
.ss-advanced {
  margin: 0; padding: 0 0 4px; border: 1px dashed rgba(150, 114, 58, 0.42); border-radius: 12px;
  background: rgba(255, 253, 246, 0.55);
}
.ss-advanced-head {
  list-style: none; cursor: pointer; padding: 12px 16px;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
  font-family: var(--font-serif); letter-spacing: 0.14em; color: var(--gold-700);
}
.ss-advanced-head::-webkit-details-marker { display: none; }
.ss-advanced-head span { font-family: var(--font-sans); font-size: 12.5px; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-opt-echo { margin: 0 16px 8px; font-size: 12.5px; line-height: 1.7; letter-spacing: 0.04em; color: var(--gold-700); }
.ss-opt-cluster { padding: 10px 16px 4px; border-top: 1px dashed rgba(184, 145, 75, 0.28); }
.ss-advanced > .ss-hint { margin: 0; padding: 2px 16px 12px; }
.ss-opt-cluster-cap { display: block; margin-bottom: 8px; font-size: 12px; letter-spacing: 0.2em; color: var(--paper-ink-soft); }
.ss-opt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; }
.ss-opt-key { flex: none; min-width: 84px; font-size: 12.5px; letter-spacing: 0.08em; color: var(--paper-ink); }
.ss-opt-chips { flex: 1 1 auto; gap: 8px; }
.ss-opt-chips .ss-chip { padding: 6px 12px; font-size: 13px; }
.ss-opt-row select { flex: 1 1 140px; max-width: 220px; }
.ss-opt-gz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.ss-opt-gz-grid[hidden] { display: none; }
.ss-mode-chips.locked .ss-chip[disabled] { opacity: 0.42; cursor: not-allowed; transform: none; }

/* ================= 太乙断法五卡（P4/P5） ================= */
.ss-duan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ss-duan-card { padding: 14px 16px; border-radius: 10px; background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3); min-width: 0; }
.ss-duan-card > i { display: block; font-style: normal; font-size: 12px; letter-spacing: 0.16em; color: var(--gold-700); margin-bottom: 8px; }
.ss-duan-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 6px; font-size: 13px; line-height: 1.7; color: var(--paper-ink); }
.ss-duan-row > b { flex: none; min-width: 84px; font-weight: 500; font-size: 12.5px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-duan-row > span { flex: 1 1 140px; min-width: 0; word-break: break-word; }
.ss-shuli, .ss-geju, .ss-shensuan, .ss-shijing { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.ss-shuli > b { font-family: var(--font-serif); font-size: 16px; color: var(--paper-ink); margin-right: 2px; }
.ss-shuli-tag, .ss-geju-tag, .ss-shensuan-item, .ss-shijing-item {
  font-style: normal; font-size: 11px; line-height: 1.7; padding: 0 6px; border-radius: 7px;
  border: 1px solid rgba(150, 114, 58, 0.45); color: var(--paper-ink-soft);
}
.ss-shuli-tag.bad, .ss-geju-tag { border-color: rgba(160, 58, 44, 0.55); color: #a03a2c; }
.ss-shuli-tag.good { border-color: rgba(184, 145, 75, 0.65); color: var(--gold-700); }
.ss-shijing-item.role-mu { border-color: rgba(184, 145, 75, 0.65); color: var(--gold-700); }
.ss-shijing-item.role-jiang { border-color: rgba(63, 110, 168, 0.5); color: #3f6ea8; }
.ss-victory { font-family: var(--font-serif); font-size: 16px; letter-spacing: 0.1em; color: var(--paper-ink-soft); }
.ss-victory.zhu { color: var(--gold-700); }
.ss-victory.ke { color: #a03a2c; }

/* ================= 河洛四级下钻（P6） ================= */
.ss-drill { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.ss-drill-cap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 6px 0 0; font-size: 13px; color: var(--paper-ink); }
.ss-drill-cap b { font-family: var(--font-serif); letter-spacing: 0.1em; color: var(--gold-700); }
.ss-drill-cap span { font-size: 12px; color: var(--paper-ink-soft); }
.ss-drill-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; border-radius: 10px; border: 1px solid rgba(150, 114, 58, 0.28); background: rgba(255, 253, 246, 0.8); }
.ss-drill-scroll::-webkit-scrollbar { height: 5px; }
.ss-drill-scroll::-webkit-scrollbar-thumb { background: rgba(150, 114, 58, 0.4); border-radius: 999px; }
/* 下钻表·桌面（2026-09-04 全面美化）：表头金带、首列朱序号、卦名/动爻宋体、长文列小字疏行、斑马与当前行朱记 */
.ss-drill-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 460px; font-variant-numeric: tabular-nums; }
.ss-drill-table th, .ss-drill-table td { padding: 9px 12px; text-align: left; border-bottom: 1px solid rgba(184, 145, 75, 0.18); white-space: nowrap; vertical-align: top; }
.ss-drill-table th { font-family: var(--font-serif); font-weight: 500; font-size: 12px; letter-spacing: 0.14em; color: var(--paper-ink-soft); background: rgba(212, 175, 106, 0.12); position: sticky; top: 0; }
.ss-drill-table td { color: var(--paper-ink); }
.ss-drill-table td:first-child { font-family: var(--font-serif); letter-spacing: 0.06em; color: var(--gold-700); }
.ss-drill-table td:nth-child(2), .ss-drill-table td:nth-child(3), .ss-drill-table td:nth-child(4) { font-family: var(--font-serif); letter-spacing: 0.08em; }
.ss-drill-table td:last-child { white-space: normal; min-width: 180px; font-size: 12.5px; line-height: 1.75; color: var(--paper-ink-soft); }
.ss-drill-table tbody tr:nth-child(even) td { background: rgba(212, 175, 106, 0.05); }
.ss-drill-table tbody tr:last-child td { border-bottom: 0; }
.ss-drill-table tbody tr.clickable { cursor: pointer; }
.ss-drill-table tbody tr.clickable:hover td, .ss-drill-table tbody tr.clickable:focus-visible td { background: rgba(212, 175, 106, 0.16); }
.ss-drill-table tbody tr.clickable:focus-visible { outline: none; }
.ss-drill-table tbody tr.now td { background: rgba(192, 57, 43, 0.07); }
.ss-drill-table tbody tr.now td:first-child { box-shadow: inset 3px 0 0 rgba(192, 57, 43, 0.75); }
.ss-strip-cell.clickable { cursor: pointer; }
.ss-strip-cell.picked { border-color: var(--gold-600); box-shadow: inset 0 0 0 1px rgba(184, 145, 75, 0.5); }

/* ================= 统摄三界（P7） ================= */
.ss-sanjie { display: flex; flex-direction: column; gap: 10px; }
.ss-sanjie-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ss-sanjie-card { padding: 14px 16px; border-radius: 10px; background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3); min-width: 0; }
.ss-sanjie-card.picked { border-color: var(--gold-600); box-shadow: inset 0 0 0 1px rgba(184, 145, 75, 0.45); }
.ss-sanjie-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 6px; }
.ss-sanjie-head b { font-family: var(--font-serif); font-size: 17px; letter-spacing: 0.1em; color: var(--paper-ink); }
.ss-sanjie-head span { font-size: 12px; letter-spacing: 0.06em; color: var(--gold-700); }
.ss-sanjie-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 6px; }
.ss-sanjie-tags i { font-style: normal; font-size: 11px; padding: 1px 7px; border-radius: 999px; background: rgba(212, 175, 106, 0.16); color: var(--gold-700); }
.ss-sanjie-yy { margin: 0 0 6px; font-size: 12.5px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-sanjie-row { margin: 0 0 6px; font-size: 13px; line-height: 1.85; color: var(--paper-ink); }
.ss-sanjie-more { border-top: 1px dashed rgba(184, 145, 75, 0.28); padding-top: 8px; }
.ss-sanjie-more > summary { list-style: none; cursor: pointer; font-family: var(--font-serif); font-size: 13.5px; letter-spacing: 0.14em; color: var(--gold-700); padding: 4px 0 10px; }
.ss-sanjie-more > summary::-webkit-details-marker { display: none; }

/* 邵子出处一行（P2 vendor classics 透传） */
.ss-board-src { margin: 2px 0 0; font-size: 12px; line-height: 1.7; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-board-src b { font-weight: 500; color: var(--gold-700); }

@media (max-width: 720px) {
  .ss-hex-pair { grid-template-columns: minmax(0, 1fr); }
  /* G18e 窄屏缩档（375 实测）：盘头卡/印/一句话、卦名、课体大字、宫名（「田宅(父母)宫」8 字四列格） */
  .ss-head-card { padding: 16px 14px; }
  .ss-head-seal { width: 40px; height: 40px; font-size: 18px; }
  .ss-brief { font-size: 17px; }
  .ss-hex:not(.sm) .ss-hex-name { font-size: 17px; }

  .ss-cell-head { flex-wrap: wrap; }
  .ss-cell-head b { font-size: 12.5px; letter-spacing: 0.04em; }
  .ss-hex-quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ss-hex:not(.sm) .ss-hex-lines { margin-left: 0; margin-right: 0; width: 100px; }
  /* 元堂标记（阁主 2026-09-04「不要把爻挤没了，放到右边去」）：窄屏此前改 static 入 flex 行，把爻条挤成两粒——
     改回绝对定位挂在爻列右侧；爻列 100px 居中，卡内两侧各留 ≈100px，标记 ≈72px 稳落其中 */
  .ss-yao-mark { left: calc(100% + 8px); font-size: 11px; letter-spacing: 0.08em; }
  /* 勿在 .ss-yao 上写 align-items:center——爻条 <i> 是空元素，不再拉伸即高度归零，手机上整幅卦象消失（真渲染实锤） */
  .ss-ring-cell, .ss-ring-empty { min-height: 84px; padding: 8px 6px 6px; }
  .ss-cell-star { font-size: 15px; }
  .ss-verse-row { grid-template-columns: minmax(0, 1fr); }
  .ss-ke-table { font-size: 12.5px; }
  .ss-ke-table th, .ss-ke-table td { padding: 8px 7px; }
  .ss-ke-pos b { font-size: 13.5px; letter-spacing: 0.08em; }
  .ss-ke-gz b { font-size: 20px; }
  .ss-t16 { gap: 4px; }
  .ss-t16-cell { min-height: 62px; padding: 5px 5px; }
  .ss-t16-cell b { font-size: 13px; }
  .ss-t16-item { font-size: 10px; padding: 1px 4px; }
  .ss-t16-center, .ss-ring-center { padding: 8px 6px; gap: 3px; min-width: 0; overflow: hidden; }
  /* 太乙中宫（复审：网格三行定高 ≈194px 而中宫内容估高 260–340px，overflow:hidden 直接裁掉主客算）——
     ≤720 时脱离网格独占整行（行内样式由 !important 压过），高度随内容 */
  .ss-t16-center { grid-column: 1 / -1 !important; grid-row: auto !important; overflow: visible; order: 99; }
  .ss-center-big { font-size: 15px; }
  .ss-center-line { font-size: 11px; gap: 2px 6px; }
  /* 375 实测：中宫「主算 26（三才足數·純陰）」一类长行 nowrap 会把 5×5 网格撑出 5px——手机档许其折行 */
  .ss-t16-center .ss-center-line span, .ss-ring-center .ss-center-line span { white-space: normal; word-break: break-word; }
  /* 入口引导头手机不显示（阁主 2026-09-03 令，与 horary/geomancy 同则）：本页入口节 id 是 #entry，
     该 id 十页生辰页都用——只能写在本页 CSS，勿进 base.css；#result 的 .section-head 不在此列。 */
  #entry .section-head { display: none; }
  /* G18e：邵子三卡手机一列、四位数大字缩档 */
  .ss-shaozi-features { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ss-shaozi-digits { font-size: 17px; }
  /* G18e（数术 P0–P7 新件）：口径轴单列、断法卡单列、下钻表横滚、三界卡单列 */
  .ss-advanced-head { padding: 12px; }
  .ss-opt-cluster { padding: 10px 12px 4px; }
  .ss-advanced > .ss-hint { padding: 2px 12px 12px; }
  .ss-opt-echo { margin: 0 12px 8px; }
  .ss-opt-row { gap: 6px 8px; }
  .ss-opt-key { min-width: 0; flex: 1 0 100%; font-size: 12px; }
  .ss-opt-row select { max-width: none; flex: 1 1 100%; }
  .ss-opt-gz-grid { grid-template-columns: minmax(0, 1fr); }
  .ss-duan-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ss-duan-card { padding: 12px 13px; }
  .ss-duan-row { font-size: 12.5px; }
  .ss-duan-row > b { flex: 1 0 100%; min-width: 0; }
  .ss-victory { font-size: 15px; }
  /* G18b 表格驯化 → 2026-09-04 升级为「卡片行」（CSS-Tricks 响应式数据表范式）：窄屏隐表头，每行成卡，
     短列横排成对（列名小字前置，凭 td[data-label]），长文末列通栏折行——此前解 nowrap 后
     「值年卦」三字被 60px 列宽竖着挤成一列（阁主截图实锤）。 */
  .ss-drill-table { font-size: 12.5px; min-width: 0; }
  .ss-drill-table thead { display: none; }
  .ss-drill-table, .ss-drill-table tbody { display: block; }
  .ss-drill-table tbody tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 11px 12px; border-bottom: 1px solid rgba(184, 145, 75, 0.2); }
  .ss-drill-table tbody tr:last-child { border-bottom: 0; }
  .ss-drill-table tbody tr:nth-child(even) td, .ss-drill-table tbody tr.now td, .ss-drill-table tbody tr.clickable:hover td { background: transparent; }
  .ss-drill-table tbody tr:nth-child(even) { background: rgba(212, 175, 106, 0.05); }
  .ss-drill-table tbody tr.now { background: rgba(192, 57, 43, 0.07); box-shadow: inset 3px 0 0 rgba(192, 57, 43, 0.75); }
  .ss-drill-table tbody tr.now td:first-child { box-shadow: none; }
  .ss-drill-table tbody tr.clickable:hover, .ss-drill-table tbody tr.clickable:focus-visible { background: rgba(212, 175, 106, 0.16); }
  .ss-drill-table td { display: inline-flex; align-items: baseline; gap: 5px; padding: 0; border: 0; white-space: nowrap; min-width: 0; }
  .ss-drill-table td:first-child { font-size: 14px; }
  .ss-drill-table td:not(:first-child):not(:last-child)::before { content: attr(data-label); font-family: var(--font-sans); font-size: 10.5px; letter-spacing: 0.08em; color: var(--paper-ink-soft); }
  .ss-drill-table td:last-child { flex: 1 0 100%; display: block; white-space: normal; min-width: 0; margin-top: 2px; font-size: 12px; line-height: 1.7; }
  .ss-drill-table td:last-child::before { content: attr(data-label) "　"; font-size: 10.5px; letter-spacing: 0.08em; color: var(--gold-700); }
  .ss-sanjie-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ss-sanjie-card { padding: 12px 13px; }
  .ss-sanjie-head b { font-size: 15.5px; }
  .ss-sanjie-row { font-size: 12.5px; }
  .ssc-nav { top: calc(var(--nav-h) - 6px); }
}
.ss-again { text-align: center; margin-top: 22px; }

/* ===== 法门源流 ===== */
.ss-lore-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ss-lore-card {
  padding: 22px 20px; border-radius: var(--radius-md);
  background: rgba(255, 253, 246, 0.72); border: 1px solid rgba(150, 114, 58, 0.28);
}
.ss-lore-seal {
  display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; margin-bottom: 10px;
  font-family: var(--font-serif); font-size: 18px; color: #fff8e6; background: linear-gradient(150deg, #b8914b, #7a5c1e);
}
.ss-lore-card h3 { margin: 0 0 8px; font-family: var(--font-serif); font-size: 18px; letter-spacing: 0.12em; color: var(--paper-ink); }
.ss-lore-card p { margin: 0; font-size: 14px; line-height: 1.9; color: var(--paper-ink-soft); }
@media (max-width: 960px) { .ss-lore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ss-lore-grid { grid-template-columns: minmax(0, 1fr); } }

/* ===== 触屏（G18：文本控件 ≥16px，命中区 ≥42px） ===== */
/* 实验轴警示徽章（太乙始击坐标非默认；盘头 ssBrief 旁） */
.ss-brief-warn { display: inline-block; margin: 6px 0 0; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(143, 63, 54, 0.45); color: var(--cinnabar-soft); background: rgba(143, 63, 54, 0.06); font-size: 12px; letter-spacing: 0.04em; }

/* 一掌经：小限十二行（十岁一行，当前虚岁点亮）+ 流年十二神十二格（流年支可切） */
.ss-xiaoxian { display: grid; gap: 4px; margin: 6px 0 14px; }
.ss-xiaoxian-row { display: grid; grid-template-columns: 74px repeat(10, minmax(0, 1fr)); gap: 4px; align-items: stretch; }
.ss-xiaoxian-row > i { font-style: normal; font-size: 11.5px; letter-spacing: 0.02em; color: var(--paper-ink-soft); align-self: center; white-space: nowrap; }
.ss-xx-chip { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 34px; padding: 2px 0; border-radius: 6px; border: 1px solid rgba(150, 114, 58, 0.22); background: rgba(255, 253, 246, 0.6); cursor: help; }
.ss-xx-chip b { font-size: 10.5px; font-weight: 600; color: var(--paper-ink-soft); line-height: 1.2; }
.ss-xx-chip em { font-style: normal; font-size: 11.5px; font-family: var(--font-serif); line-height: 1.3; }
.ss-xx-chip.now { border-color: var(--gold-700); background: rgba(184, 145, 75, 0.14); box-shadow: inset 0 0 0 1px rgba(184, 145, 75, 0.5); }
.ss-xx-chip.now b { color: var(--gold-700); }
.ss-flowshen { margin: 6px 0 14px; }
.ss-flowshen .ss-board-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ss-fs-sel { width: auto; min-width: 150px; }
.ss-flowshen-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; margin-top: 8px; }
.ss-fs-cell { display: flex; flex-direction: column; align-items: center; min-height: 44px; padding: 4px 0; border-radius: 6px; border: 1px solid rgba(150, 114, 58, 0.22); background: rgba(255, 253, 246, 0.6); cursor: help; }
.ss-fs-cell b { font-family: var(--font-serif); font-size: 13px; }
.ss-fs-cell em { font-style: normal; font-size: 11.5px; color: var(--paper-ink-soft); }   /* 1280 截图实锤：--text-mid 在纸底几乎不可见 */
.ss-fs-cell.mark-ming { border-color: var(--gold-700); background: rgba(184, 145, 75, 0.14); }
@media (max-width: 720px) {
  .ss-xiaoxian-row { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .ss-xiaoxian-row > i { grid-column: 1 / -1; align-self: end; margin-top: 4px; }
  .ss-flowshen-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* ===== 绣色（xiu）皮：金褐重点字随皮转紫、卡边框与命宫框同紫（与策天/卜卦/地占三页同律；中宫底已 token 化随 --ink-*） ===== */
html[data-theme="xiu"] .ss-head-card, html[data-theme="xiu"] .ss-sec, html[data-theme="xiu"] .ss-hex,
html[data-theme="xiu"] .ss-ring-cell, html[data-theme="xiu"] .ss-t16-cell, html[data-theme="xiu"] .ss-ke-tier,
html[data-theme="xiu"] .ss-strip-cell, html[data-theme="xiu"] .ss-lore-card,
html[data-theme="xiu"] .ss-duan-card, html[data-theme="xiu"] .ss-sanjie-card,
html[data-theme="xiu"] .ss-drill-scroll, html[data-theme="xiu"] .ss-advanced { border-color: rgba(88, 74, 133, 0.35); }
html[data-theme="xiu"] .ss-advanced-head, html[data-theme="xiu"] .ss-opt-echo,
html[data-theme="xiu"] .ss-duan-card > i, html[data-theme="xiu"] .ss-drill-cap b,
html[data-theme="xiu"] .ss-sanjie-head span, html[data-theme="xiu"] .ss-sanjie-more > summary,
html[data-theme="xiu"] .ss-board-src b, html[data-theme="xiu"] .ss-victory.zhu { color: var(--zi-700, #584a85); }
html[data-theme="xiu"] .ss-panel-cap,
html[data-theme="xiu"] .ss-chip-tag.gold,
html[data-theme="xiu"] .ss-cell-head b,
html[data-theme="xiu"] .ss-ke-pos b,
html[data-theme="xiu"] .ss-ke-sj,
html[data-theme="xiu"] .ss-ke-shen-row b,
html[data-theme="xiu"] .ss-art-cap,
html[data-theme="xiu"] .ss-t16-cell b,
html[data-theme="xiu"] .ss-verse i,
html[data-theme="xiu"] .ss-hex-tag,
html[data-theme="xiu"] .ss-center-cap { color: var(--zi-700, #584a85); }
html[data-theme="xiu"] .ss-ring-cell.mark-ming,
html[data-theme="xiu"] .ss-t16-cell.mark-taiyi,
html[data-theme="xiu"] .ss-strip-cell.now { border-color: var(--zi-500, #7f6fae); box-shadow: inset 0 0 0 1px rgba(122, 104, 176, 0.5); }
html[data-theme="xiu"] .ss-ke-tier.yong td { background: rgba(122, 104, 176, 0.1); }
html[data-theme="xiu"] .ss-ke-tier.yong td:first-child { box-shadow: inset 3px 0 0 var(--zi-500, #7f6fae); }
html[data-theme="xiu"] .ss-ke-table th, html[data-theme="xiu"] .ss-drill-table th { background: rgba(122, 104, 176, 0.12); }
html[data-theme="xiu"] .ss-shaozi-digits, html[data-theme="xiu"] .ss-shaozi-keyname, html[data-theme="xiu"] .ss-drill-table td:first-child,
html[data-theme="xiu"] .ss-drill-table td:last-child::before, html[data-theme="xiu"] .ss-sanjie-tags i, html[data-theme="xiu"] .ss-shuli-tag.good,
html[data-theme="xiu"] .ss-shijing-item.role-mu, html[data-theme="xiu"] .ss-t16-item.key, html[data-theme="xiu"] .ss-t16-door, html[data-theme="xiu"] .ss-cell-shensha,
html[data-theme="xiu"] .ss-najia td:first-child, html[data-theme="xiu"] .ss-ke-plates td:first-child, html[data-theme="xiu"] .ss-sec-md .md-table th { color: var(--zi-700, #584a85); }
html[data-theme="xiu"] .ss-seal { background: linear-gradient(150deg, var(--zi-500, #7f6fae), var(--zi-700, #584a85)); }
html[data-theme="xiu"] .mark-ri { border-style: dashed; }
html[data-theme="xiu"] .ss-chip.active { border-color: var(--zi-500, #7f6fae); box-shadow: 0 0 0 3px rgba(122, 104, 176, 0.18); }
html[data-theme="xiu"] .ss-head-seal, html[data-theme="xiu"] .ss-lore-seal, html[data-theme="xiu"] .ss-hex-tag, html[data-theme="xiu"] .ss-art-seal { background: linear-gradient(150deg, var(--zi-500, #7f6fae), var(--zi-700, #584a85)); }

@media print {
  .ss-arts, .ss-art-note, .ss-again, .deep-cta { display: none !important; }
  .ss-sec, .ss-hex, .ss-ring-cell, .ss-t16-cell, .ss-ke-tier, .ss-strip-cell, .ss-head-card,
  .ss-duan-card, .ss-sanjie-card, .ss-drill-scroll, .ss-drill-table tr, .ss-ke-scroll, .ss-ke-table tr { break-inside: avoid; background: #fff !important; box-shadow: none; }
  /* 口径轴面板是录入件，不进纸 */
  .ss-advanced, .ss-opt-mount { display: none !important; }
  .ss-drill-scroll { overflow: visible; }
  .ss-drill-table { min-width: 0; }
  .ss-shuli-tag, .ss-geju-tag, .ss-shensuan-item, .ss-shijing-item { border-color: #b9a06a !important; color: #444 !important; }
  /* 中宫（十二支环/十六神盘）曾留深底：纸上白底墨字（2026-09-02 九术复审） */
  .ss-ring-center, .ss-t16-center { background: #fff !important; border-color: #b9a06a; color: #333; }
  .ss-center-cap, .ss-center-big { color: #7a5c1e; }
  .ss-center-sub, .ss-center-line, .ss-center-note { color: #444; }
  .ss-center-suan span { color: #96352c; }
  .ss-hex-tag, .ss-head-seal { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ================= W2 五子术（2026-09-04）：报数三格 · 六宫/九宫格 · 灵棋三才 · 神数条文 ================= */
.ss-nums-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ss-num { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ss-num > span { font-size: 12.5px; letter-spacing: 0.14em; color: var(--paper-ink-soft); }
.ss-num input { width: 100%; }
.ss-six, .ss-nine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ss-six-cell, .ss-nine-cell {
  position: relative; min-height: 88px; padding: 10px 10px 8px; border-radius: 10px;
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3);
}
.ss-six-cell b, .ss-nine-cell b { display: block; font-family: var(--font-serif); font-size: 15px; letter-spacing: 0.12em; color: #7a5c1e; }
.ss-six-cell span, .ss-nine-cell span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; letter-spacing: 0.04em; color: var(--paper-ink-soft); }
.ss-nine-cell .ss-nine-line { color: var(--paper-ink); font-weight: 600; }
.ss-six-cell.hit, .ss-nine-cell.hit { border-color: #c0392b; box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.35); background: rgba(255, 246, 240, 0.95); }
.ss-six-cell .ss-cell-seals, .ss-nine-cell .ss-cell-seals { position: absolute; top: 8px; right: 8px; margin: 0; }
.ss-nine-cell.center {
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #f3e6c8;
  background: radial-gradient(120% 100% at 50% 0%, var(--ink-700), var(--ink-950)); border-color: rgba(212, 175, 106, 0.35);
}
.ss-nine-cell.center b { color: #fff3d6; font-size: 19px; }
.ss-nine-cell.center span, .ss-nine-cell.center .ss-center-cap { color: #d4af6a; }
.ss-lq-rows { display: grid; gap: 8px; margin-bottom: 12px; }
.ss-lq-row {
  display: grid; grid-template-columns: 96px 1fr 72px; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px;
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.3);
}
.ss-lq-lab b { display: block; font-family: var(--font-serif); font-size: 15px; letter-spacing: 0.12em; color: #7a5c1e; }
.ss-lq-lab span, .ss-lq-xing span { display: block; font-size: 11.5px; letter-spacing: 0.08em; color: var(--paper-ink-soft); }
.ss-lq-pieces { display: flex; gap: 8px; }
.ss-lq-piece {
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal;
  font-family: var(--font-serif); font-size: 13px; color: #7a5c1e; border: 1px solid rgba(150, 114, 58, 0.45); background: rgba(255, 253, 246, 0.6);
}
.ss-lq-piece.on { color: #fff8e6; background: linear-gradient(150deg, #b8914b, #7a5c1e); border-color: #7a5c1e; }
.ss-lq-xing { text-align: center; }
.ss-lq-xing b { display: block; font-family: var(--font-serif); font-size: 18px; color: var(--paper-ink); }
.ss-lq-gua { margin-top: 4px; }
.ss-zc-rows { display: grid; gap: 6px; }
.ss-zc-row {
  display: grid; grid-template-columns: 6.5em 4.5em minmax(0, 1fr); gap: 8px; align-items: baseline; padding: 7px 10px; border-radius: 8px;
  background: rgba(255, 253, 246, 0.85); border: 1px solid rgba(150, 114, 58, 0.28); font-size: 13px; line-height: 1.6; color: var(--paper-ink);
}
.ss-zc-row.one { grid-template-columns: minmax(0, 1fr); }
.ss-zc-row i { font-style: normal; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.ss-zc-row b { font-family: var(--font-serif); letter-spacing: 0.06em; color: #7a5c1e; }
.ss-zc-row.now { border-color: #c0392b; box-shadow: inset 0 0 0 1px rgba(192, 57, 43, 0.35); background: rgba(255, 246, 240, 0.95); }
.ss-zc-all { margin-top: 10px; }
.ss-zc-all > summary { cursor: pointer; list-style: none; }
@media (max-width: 720px) {
  .ss-nums-grid { gap: 8px; }
  .ss-six-cell, .ss-nine-cell { min-height: 74px; padding: 8px 8px 6px; }
  .ss-six-cell b, .ss-nine-cell b { font-size: 14px; }
  .ss-six-cell span, .ss-nine-cell span { font-size: 11.5px; }
  .ss-lq-row { grid-template-columns: 68px 1fr 52px; gap: 8px; padding: 8px 10px; }
  .ss-lq-piece { width: 30px; height: 30px; font-size: 12px; }
  .ss-lq-pieces { gap: 6px; }
  .ss-zc-row { grid-template-columns: 5.5em 4em minmax(0, 1fr); font-size: 12.5px; }
}

/* ⚠ 触屏块居文末（G18h 2026-09-06）：同优先级后源取胜——挪到 720 / print / 绣色块之前即被反杀 */
@media (pointer: coarse) {
  .ss-chip { min-height: 44px; }
  .ss-art-sel { font-size: 16px; min-height: 44px; }   /* 择术下拉触屏档（G18） */
  .ss-textarea { font-size: 16px; }
  .ss-form .input-line { font-size: 16px; }
  /* 口径轴的干支下拉与下钻表可点行（G18 五门：文本控件 ≥16px、命中区 ≥42px） */
  .ss-advanced select, .ss-opt-row select { font-size: 16px; min-height: 44px; }
  .ss-drill-table tbody tr.clickable td { padding-top: 12px; padding-bottom: 12px; }
  .ss-sanjie-more > summary, .ss-advanced-head { min-height: 44px; }
}
