/* ============================================================
   通玄 TONGXUAN · 天文地占（Geomancy）页
   形制：generic page-hero（式盘随 base .rite-disc 全托管）
   + 问盘帖（hr-/ly- 同族审美，geo- 前缀自立门户）
   + 盾牌盘（王牌 UI：四层自右而左，判官居底）
   + 判官庭（三章会审）+ 宫位盘 4×4 环列 + 应期时流。
   触控（G18）：chips coarse 档最小高；报数格 4×4 收纳。
   ============================================================ */

.geo-hero-divider {
  margin-top: 26px;
  animation: pageUp 1s var(--ease-out) 0.28s both;
}

.geo-act { position: relative; }

/* ================= 问盘帖 ================= */
.geo-card {
  max-width: 860px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(150, 114, 58, 0.4);
  box-shadow: 0 24px 60px rgba(60, 48, 22, 0.14);
  background: var(--paper-50);
}
.geo-card-head {
  position: relative;
  text-align: center;
  padding: 20px 28px 16px;   /* 紧凑化（阁主 09-06 令「模仿奇门」）：帖头只留眉标 + 题名，窄屏只留眉标 */
  background:
    radial-gradient(ellipse 120% 100% at 50% -30%, rgba(212, 175, 106, 0.14), transparent 60%),
    linear-gradient(155deg, var(--ink-800), var(--ink-950));
}
.geo-card-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--font-serif);
  font-size: 12.5px; letter-spacing: 0.4em; text-indent: 0.4em;
  color: var(--gold-500);
}
.geo-card-eyebrow::before, .geo-card-eyebrow::after {
  content: ""; width: 30px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-600));
}
.geo-card-eyebrow::after { transform: scaleX(-1); }
.geo-card-title {
  margin-top: 8px;
  font-family: var(--font-serif);
  font-size: 24px; font-weight: 700;
  letter-spacing: 0.5em; text-indent: 0.5em;
  color: var(--gold-300);
}
.geo-card-body { padding: 28px 36px 30px; }

.geo-field-label {   /* 与奇门庚帖 .field-label 同款：13.5px · 金七 · 紧距 */
  display: block;
  font-family: var(--font-serif);
  font-size: 13.5px; font-weight: 600;
  letter-spacing: 0.28em;
  color: var(--gold-700);
  margin-bottom: 10px;
}
.geo-field-label-2 { margin-top: 22px; }
.geo-field-label-3 { margin-top: 4px; font-size: 13.5px; letter-spacing: 0.2em; }
.geo-field-side {
  font-style: normal; font-weight: 400;
  font-size: 12px; letter-spacing: 0.08em;
  color: var(--paper-ink-soft);
}
.geo-card-body textarea {
  width: 100%;
  resize: vertical;
  min-height: 72px;
  padding: 11px 14px;
  font-family: var(--font-sans);
  font-size: 15.5px; line-height: 1.7; letter-spacing: 0.03em;
  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;
}
.geo-card-body textarea::placeholder { color: rgba(107, 100, 85, 0.55); }
.geo-card-body textarea:focus {
  border-color: var(--gold-600);
  box-shadow: 0 0 0 3px rgba(212, 175, 106, 0.18);
}
.geo-field-hint {
  margin-top: 10px;
  font-size: 13px;
  color: var(--cinnabar);
  letter-spacing: 0.06em;
}
.geo-card.shake { animation: geoShake 0.5s var(--ease-out); }
@keyframes geoShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-7px); }
  50% { transform: translateX(6px); }
  75% { transform: translateX(-3px); }
}

/* 所问类别 × 起卦之法 × 传本流派 三格并排下拉（2026-09-04）：控件走全站 .select-line（触屏 16px 由 base 统一） */
.geo-select-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; align-items: end; }
.geo-select-cell { min-width: 0; }
.geo-select-cell .geo-field-label { margin-bottom: 8px; }
.geo-select { font-family: var(--font-serif); font-size: 15px; letter-spacing: 0.08em; padding-top: 9px; padding-bottom: 9px; }
.geo-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.geo-chip {
  padding: 8px 18px;
  font-family: var(--font-serif);
  font-size: 14.5px; letter-spacing: 0.1em; text-indent: 0.1em;
  color: var(--paper-ink-soft);
  border: 1px solid rgba(107, 100, 85, 0.35);
  border-radius: 999px;
  background: transparent;
  transition: all 0.3s var(--ease-out);
}
.geo-chip:hover { border-color: var(--gold-600); color: var(--gold-700); transform: translateY(-2px); }
.geo-chip.active {
  color: #fdf8ea;
  background: linear-gradient(150deg, var(--ink-700), var(--ink-950));
  border-color: var(--gold-600);
  box-shadow: 0 6px 16px rgba(13, 20, 38, 0.28);
}
/* ===== 传本 / 真实星历盘 / 十六图目录（2026-09-01 七检 2d） ===== */
.geo-toggle {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  font-size: 14px; letter-spacing: 0.06em; color: var(--paper-ink); line-height: 1.6;
}
.geo-toggle input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--gold-600); flex: none; }
/* 触屏放大勾选框——须在基础规则之后（同权重后源即胜；置于前段 coarse 块会被本行反杀，375 实测 18px） */
@media (pointer: coarse) {
  .geo-toggle { min-height: 44px; align-items: center; }
  .geo-toggle input { width: 22px; height: 22px; margin-top: 1px; }
}
.geo-real-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px;
}
.geo-real-item { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.geo-real-item > span { font-size: 12.5px; letter-spacing: 0.14em; color: var(--paper-ink-soft); }
.geo-real-item .geo-input { min-width: 0; }
/* 所问之时：五联转轮格独占一整行（与占星/奇门同款；原生 date/time 框已下线） */
.geo-real-when { grid-column: 1 / -1; }
.geo-date-grid { gap: 8px; }
.geo-date-grid.dt-dial { gap: 8px; }
@media (max-width: 720px) {
  .geo-real-grid { grid-template-columns: minmax(0, 1fr); }
}
.geo-catalog { padding: 56px 0 20px; }   /* 顶距 56：曾与其上「用法与口径」面板只隔 20px（2026-09-06） */   /* 曾是 .geo-catalog-actions 的 margin-bottom：目录未展卷时它是 section 最后可见子元素，外边距穿空 .geo-cat-grid 塌出 section，露出 body 深底成 20px 黑带（G-GEO-GAP，2026-09-06） */
.geo-catalog-actions { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.geo-cat-grid:empty { display: none; }
.geo-catalog-note { text-align: center; }
.geo-cat-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px;
}
.geo-cat-card {
  padding: 16px 16px 14px;
  background: rgba(255, 253, 246, 0.72);
  border: 1px solid rgba(150, 114, 58, 0.3);
  border-radius: var(--radius-sm);
  box-shadow: 0 6px 18px rgba(60, 40, 10, 0.06);
}
.geo-cat-card.tone-good { border-color: rgba(122, 92, 30, 0.55); }
.geo-cat-card.tone-bad { border-color: rgba(160, 58, 44, 0.45); }
.geo-cat-top { display: flex; align-items: center; gap: 12px; }
.geo-cat-top .geo-fig-dots { flex: none; }
.geo-cat-names { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.geo-cat-names b { font-family: var(--font-serif); font-size: 18px; letter-spacing: 0.12em; color: var(--paper-ink); }
.geo-cat-names span { font-size: 12px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.geo-cat-attr { margin: 10px 0 0; font-size: 12.5px; letter-spacing: 0.06em; color: #7a5c1e; }
.geo-cat-kw { margin: 6px 0 0; font-size: 13px; color: var(--paper-ink); }
.geo-cat-meanings {
  display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 10px;
  margin: 10px 0 0; font-size: 12.5px; line-height: 1.6;
}
.geo-cat-meanings dt { color: var(--paper-ink-soft); letter-spacing: 0.1em; }
.geo-cat-meanings dd { margin: 0; color: var(--paper-ink); }
.geo-cat-imagery { margin: 10px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--paper-ink-soft); }
.geo-cat-alias { margin: 8px 0 0; font-size: 11.5px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
@media print {
  .geo-catalog-actions, .geo-toggle { display: none !important; }
  .geo-cat-card { break-inside: avoid; background: #fff !important; box-shadow: none; }
}
.geo-cast-note {
  margin-top: 12px;
  font-size: 12.5px; line-height: 1.8; letter-spacing: 0.04em;
  color: var(--paper-ink-soft);
}
.geo-cast-extra { margin-top: 18px; }
.geo-input {
  width: 100%;
  padding: 10px 12px;
  font-family: var(--font-sans);
  font-size: 16px; letter-spacing: 0.06em;
  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;
}
.geo-input:focus {
  border-color: var(--gold-600);
  box-shadow: 0 0 0 3px rgba(212, 175, 106, 0.18);
}
.geo-input-seed { max-width: 280px; }
.geo-field-note {
  margin-top: 9px;
  font-size: 12.5px; line-height: 1.8; letter-spacing: 0.04em;
  color: var(--paper-ink-soft);
}
.geo-num-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  max-width: 560px;
}
.geo-num {
  width: 100%;
  padding: 10px 4px;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 16px;
  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;
}
.geo-num::placeholder { color: rgba(107, 100, 85, 0.35); font-size: 12px; }
.geo-num:focus {
  border-color: var(--gold-600);
  box-shadow: 0 0 0 3px rgba(212, 175, 106, 0.18);
}
.geo-card-actions { margin-top: 22px; text-align: center; }
.geo-card-actions + .geo-cast-extra { margin-top: 26px; }   /* 钮下选填项（真实星历）与钮留距 */

/* ================= 首图警示 ================= */
.geo-radical {
  max-width: 980px;
  margin: 0 auto 26px;
  padding: 18px 24px;
  border: 1px solid rgba(179, 58, 44, 0.35);
  border-left: 3px solid var(--cinnabar);
  border-radius: var(--radius-sm);
  background: rgba(179, 58, 44, 0.06);
}
.geo-radical-cap {
  font-family: var(--font-serif);
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.2em;
  color: var(--cinnabar);
}
.geo-radical-list { margin-top: 10px; display: grid; gap: 7px; }
.geo-radical-list li {
  display: flex; gap: 9px; align-items: baseline;
  font-size: 13.5px; line-height: 1.8;
  color: var(--paper-ink);
}
.geo-radical-list li i { font-style: normal; color: var(--cinnabar); flex: none; }

/* ================= 图形（四行点阵） ================= */
.geo-fig {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 12px 6px 10px;
  border: 1px solid rgba(150, 114, 58, 0.32);
  border-radius: var(--radius-sm);
  background: rgba(255, 253, 246, 0.72);
  min-width: 0;
}
.geo-fig-label {
  font-family: var(--font-serif);
  font-size: 11px; letter-spacing: 0.12em;
  color: var(--paper-ink-soft);
  white-space: nowrap;
}
.geo-fig-dots { display: flex; flex-direction: column; gap: 5px; align-items: center; }
.geo-fig-row { display: flex; gap: 8px; justify-content: center; height: 7px; }
.geo-fig-row b {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--paper-ink);
}
.geo-fig-dots.sm .geo-fig-row { gap: 5px; height: 5px; }
.geo-fig-dots.sm { gap: 3px; }
.geo-fig-dots.sm .geo-fig-row b { width: 5px; height: 5px; }
.geo-fig-name {
  font-family: var(--font-serif);
  font-size: 14px; font-weight: 700; letter-spacing: 0.08em;
  color: var(--paper-ink);
  white-space: nowrap;
}
.geo-fig-sub {
  font-size: 10.5px; letter-spacing: 0.04em;
  color: var(--paper-ink-soft);
  white-space: nowrap;
}
.geo-fig.tone-good { border-color: rgba(150, 114, 58, 0.55); }
.geo-fig.tone-good .geo-fig-name { color: var(--gold-700); }
.geo-fig.tone-bad { border-color: rgba(179, 58, 44, 0.4); }
.geo-fig.tone-bad .geo-fig-name { color: var(--cinnabar); }
.geo-fig-judge { border-width: 2px; border-color: var(--gold-600); box-shadow: 0 8px 22px rgba(150, 114, 58, 0.2); }
.geo-fig-lg .geo-fig-row b { width: 9px; height: 9px; }
.geo-fig-lg .geo-fig-row { height: 9px; gap: 10px; }
.geo-fig-lg .geo-fig-name { font-size: 17px; }

/* ================= 盾牌盘 ================= */
.geo-shield-panel { max-width: 980px; margin: 0 auto; }
.geo-panel-cap {
  font-family: var(--font-serif);
  font-size: 15px; font-weight: 700; letter-spacing: 0.22em;
  color: var(--paper-ink);
  margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.geo-panel-cap span { font-size: 12px; font-weight: 400; letter-spacing: 0.08em; color: var(--paper-ink-soft); }
.geo-shield {
  border: 1px solid rgba(150, 114, 58, 0.35);
  border-radius: var(--radius-lg);
  background: rgba(255, 253, 246, 0.5);
  box-shadow: 0 14px 36px rgba(60, 48, 22, 0.1);
  padding: 18px;
  display: grid; gap: 10px;
}
.geo-sh-row { display: grid; gap: 10px; }
.geo-sh-r1 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.geo-sh-r2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.geo-sh-r3 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 62%; margin: 0 auto; width: 100%; }
.geo-sh-r4 {
  grid-template-columns: repeat(2, minmax(120px, 180px));
  justify-content: center;
}
.geo-sh-r4:has(> :only-child) { grid-template-columns: minmax(140px, 200px); }

/* ================= 判官庭 ================= */
.geo-court {
  position: relative;
  max-width: 980px;
  margin: 26px auto 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(150, 114, 58, 0.45);
  background:
    radial-gradient(ellipse 130% 90% at 50% -20%, rgba(212, 175, 106, 0.12), transparent 58%),
    linear-gradient(160deg, var(--ink-800), var(--ink-950));
  box-shadow: 0 28px 70px rgba(20, 16, 8, 0.3);
  padding: 36px 40px 36px;
}
.geo-court::before {
  content: "";
  position: absolute; inset: 10px;
  border: 1px solid rgba(212, 175, 106, 0.16);
  border-radius: calc(var(--radius-lg) - 8px);
  pointer-events: none;
}
.geo-court-head { text-align: center; position: relative; }
.geo-court-eyebrow {
  font-family: var(--font-serif);
  font-size: 13px; letter-spacing: 0.4em; text-indent: 0.4em;
  color: var(--gold-500);
}
.geo-court-axis {
  margin: 6px 0 0; text-align: center;
  font-size: 12px; letter-spacing: 0.1em; color: var(--text-low);
}
.geo-court-band {
  margin-top: 12px;
  font-family: var(--font-serif);
  font-size: clamp(21px, 3.2vw, 28px); font-weight: 800;
  letter-spacing: 0.1em; text-indent: 0.1em;
  background: linear-gradient(168deg, #f4e3b8 8%, var(--gold-400) 40%, var(--gold-600) 95%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--gold-400);
}
.geo-court-note {
  margin-top: 10px;
  font-size: 13.5px; letter-spacing: 0.06em; line-height: 1.9;
  color: var(--text-mid);
}
.geo-court-trio {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 18px;
  align-items: end;
  position: relative;
}
.geo-trio-cell { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.geo-trio-cell .geo-fig { background: rgba(240, 234, 214, 0.07); border-color: rgba(212, 175, 106, 0.3); width: 100%; }
.geo-trio-cell .geo-fig-name { color: #f0ead6; }
.geo-trio-cell .geo-fig-sub { color: rgba(240, 234, 214, 0.55); }
.geo-trio-cell .geo-fig-row b { background: #f0ead6; }
.geo-trio-cell.judge .geo-fig { border-color: var(--gold-500); box-shadow: 0 0 24px rgba(212, 175, 106, 0.22); }
.geo-trio-cap {
  font-family: var(--font-serif);
  font-size: 12.5px; letter-spacing: 0.14em;
  color: var(--text-mid);
}
.geo-tone-seal {
  display: inline-grid; place-items: center;
  min-width: 44px; height: 26px; padding: 0 10px;
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em; text-indent: 0.14em;
}
.geo-tone-seal.good { color: #fdf3d9; background: rgba(150, 114, 58, 0.55); border: 1px solid var(--gold-500); }
.geo-tone-seal.mid { color: #e7e2d2; background: rgba(240, 234, 214, 0.12); border: 1px solid rgba(240, 234, 214, 0.35); }
.geo-tone-seal.bad { color: #f2b3a7; background: rgba(179, 58, 44, 0.28); border: 1px solid rgba(217, 106, 87, 0.55); }

.geo-perf { margin-top: 26px; text-align: center; }
.geo-perf-lead {
  font-family: var(--font-serif);
  font-size: 15.5px; font-weight: 700; line-height: 1.9; letter-spacing: 0.04em;
}
.geo-court .geo-perf-lead { color: var(--gold-300); }
.geo-perf-line {
  margin-top: 8px;
  font-size: 13px; line-height: 1.85; letter-spacing: 0.05em;
  color: var(--text-mid);
}
.geo-chips-row {
  margin-top: 20px;
  display: flex; flex-wrap: wrap; gap: 9px;
  justify-content: center;
}
.geo-vchip {
  padding: 6px 13px;
  border: 1px solid rgba(212, 175, 106, 0.35);
  border-radius: 999px;
  font-size: 12px; letter-spacing: 0.06em;
  color: rgba(240, 234, 214, 0.8);
  background: rgba(240, 234, 214, 0.05);
}
.geo-vchip.on { color: var(--gold-300); border-color: var(--gold-500); background: rgba(212, 175, 106, 0.12); }

/* ================= 宫位盘 + 侧栏 ================= */
.geo-board {
  max-width: 980px;
  margin: 26px auto 0;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 26px;
  align-items: start;
}
.geo-houses-panel, .geo-side-panel { min-width: 0; }
.geo-hgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(96px, auto));
  gap: 7px;
  border: 1px solid rgba(150, 114, 58, 0.35);
  border-radius: var(--radius-lg);
  background: rgba(255, 253, 246, 0.5);
  box-shadow: 0 14px 36px rgba(60, 48, 22, 0.1);
  padding: 12px;
}
.geo-hcell {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 8px 4px 7px;
  border: 1px solid rgba(150, 114, 58, 0.25);
  border-radius: var(--radius-sm);
  background: rgba(255, 253, 246, 0.68);
  min-width: 0;
}
.geo-hcell.primary { border-color: var(--gold-600); border-width: 1.6px; box-shadow: 0 6px 18px rgba(150, 114, 58, 0.18); }
.geo-hcell.asc { background: rgba(212, 175, 106, 0.12); }
.geo-hno { display: flex; align-items: baseline; gap: 5px; }
.geo-hno b {
  font-family: var(--font-serif);
  font-size: 13px; color: var(--gold-700);
}
.geo-hno span { font-size: 10.5px; color: var(--paper-ink-soft); }
.geo-hfig {
  font-family: var(--font-serif);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.06em;
  color: var(--paper-ink);
  white-space: nowrap;
}
.geo-hrole { font-size: 10px; color: var(--gold-700); letter-spacing: 0.06em; }
.geo-hcenter {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  border: 1px solid rgba(150, 114, 58, 0.4);
  border-radius: var(--radius-md);
  background:
    radial-gradient(ellipse 120% 100% at 50% 0%, rgba(212, 175, 106, 0.16), transparent 70%),
    linear-gradient(165deg, var(--ink-800), var(--ink-950));
}
.geo-hcenter-cap {
  font-family: var(--font-serif);
  font-size: 12px; letter-spacing: 0.34em; text-indent: 0.34em;
  color: var(--gold-500);
}
.geo-hcenter-sign {
  font-family: var(--font-serif);
  font-size: 26px; font-weight: 800; letter-spacing: 0.1em;
  color: var(--gold-300);
}
.geo-hcenter .geo-fig-row b { background: #f0ead6; }
.geo-hcenter-fig { font-family: var(--font-serif); font-size: 13px; color: #f0ead6; }
.geo-hcenter-note { font-size: 11px; letter-spacing: 0.08em; color: rgba(240, 234, 214, 0.6); }

.geo-side-panel { display: grid; gap: 16px; }
.geo-duo-card {
  border: 1px solid rgba(150, 114, 58, 0.35);
  border-radius: var(--radius-md);
  background: rgba(255, 253, 246, 0.7);
  padding: 18px 22px;
  box-shadow: 0 10px 26px rgba(60, 48, 22, 0.08);
}
.geo-duo-cap {
  font-family: var(--font-serif);
  font-size: 14px; font-weight: 700; letter-spacing: 0.26em;
  color: var(--paper-ink);
  padding-bottom: 9px; margin-bottom: 11px;
  border-bottom: 1px solid rgba(150, 114, 58, 0.25);
}
.geo-duo-card .geo-perf-lead.good { color: var(--gold-700); }
.geo-duo-card .geo-perf-lead.bad { color: var(--cinnabar); }
.geo-duo-card .geo-perf-lead.even { color: var(--paper-ink); }
.geo-duo-line {
  margin-top: 8px;
  font-size: 13px; line-height: 1.85; letter-spacing: 0.04em;
  color: var(--paper-ink-soft);
}
.geo-flow-line {
  display: flex; align-items: baseline; gap: 10px;
  padding: 5px 0;
}
.geo-flow-line i {
  font-style: normal; font-family: var(--font-serif);
  font-size: 12px; letter-spacing: 0.14em;
  color: var(--paper-ink-soft);
  flex: none;
}
.geo-flow-line b {
  font-family: var(--font-serif);
  font-size: 15px; letter-spacing: 0.06em;
  color: var(--paper-ink);
}
.geo-seed-line { display: flex; align-items: baseline; gap: 10px; }
.geo-seed-line i {
  font-style: normal; font-family: var(--font-serif);
  font-size: 12px; letter-spacing: 0.14em;
  color: var(--paper-ink-soft);
}
.geo-seed-line b {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 18px; letter-spacing: 0.06em;
  color: var(--gold-700);
}

.geo-again { margin-top: 30px; text-align: center; }

/* ================= 法门源流 ================= */
.geo-lore { padding-bottom: 110px; }
.geo-lore-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
}
.geo-lore-card {
  position: relative;
  border: 1px solid rgba(150, 114, 58, 0.35);
  border-radius: var(--radius-md);
  background: rgba(255, 253, 246, 0.66);
  padding: 26px 26px 24px;
  box-shadow: 0 10px 26px rgba(60, 48, 22, 0.08);
}
.geo-lore-seal {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  font-family: var(--font-serif);
  font-size: 19px; font-weight: 700;
  color: #fdf8ea;
  border-radius: 10px;
  background: linear-gradient(150deg, var(--ink-700), var(--ink-950));
  box-shadow: 0 6px 14px rgba(13, 20, 38, 0.25);
}
.geo-lore-card h3 {
  margin-top: 14px;
  font-family: var(--font-serif);
  font-size: 17px; font-weight: 700; letter-spacing: 0.14em;
  color: var(--paper-ink);
}
.geo-lore-card p {
  margin-top: 10px;
  font-size: 13.5px; line-height: 2; letter-spacing: 0.04em;
  color: var(--paper-ink-soft);
}

/* ================= 吸顶快导条（克隆 bazi-chart.css .bzc-nav，成熟盘面页同形） ================= */
.geoc-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);
}
.geoc-nav-inner { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; justify-content: safe center; }
.geoc-nav-inner::-webkit-scrollbar { display: none; }
.geoc-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;
}
.geoc-nav-link:hover { color: var(--gold-700); background: rgba(212, 175, 106, 0.14); }
.geoc-nav-link:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 2px; }
#geoShieldPanel, #geoAltBoard, #geoCourt, #geoHousesPanel, #geoTiming, #geoFlow, #geoDetail { scroll-margin-top: calc(var(--nav-h) + 60px); }

/* ================= 桌面各面板补齐（2026-09-03「桌面有的这里都要有」） ================= */
/* 图卡角标：租客品级 / 三角 / 调解奇偶 */
.geo-fig { position: relative; }
.geo-fig-badge { position: absolute; top: 4px; right: 4px; font-style: normal; font-size: 10px; line-height: 1; padding: 3px 5px; border-radius: 999px; border: 1px solid rgba(150, 114, 58, 0.4); background: rgba(250, 247, 239, 0.92); color: var(--gold-700); cursor: help; }
.geo-fig-badge.geo-tri { top: auto; bottom: 4px; right: 4px; }
.geo-fig-badge.geo-parity { left: 4px; right: auto; }
.geo-ten-full { border-color: #3f6350; color: #3f6350; }
.geo-ten-assist { border-color: var(--gold-700); }
.geo-ten-stall { border-color: #8f3f36; color: #8f3f36; }
.geo-ten-weak { opacity: 0.6; }
.geo-tri.tone-good { color: #3f6350; border-color: #3f6350; } .geo-tri.tone-bad { color: #8f3f36; border-color: #8f3f36; }
.geo-shield-note { margin: 10px 0 0; font-size: 12.5px; color: var(--paper-ink-soft); text-align: center; cursor: help; }
/* 首图检验块增件 */
.geo-halt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 0 0 12px; padding: 10px 14px; border-radius: 10px; background: rgba(155, 59, 50, 0.08); border: 1px solid rgba(155, 59, 50, 0.4); font-size: 13px; }
.geo-halt b { font-family: var(--font-serif); letter-spacing: 0.2em; color: #8f3f36; }
.geo-rules { margin-top: 10px; font-size: 12.5px; color: var(--paper-ink-soft); }
.geo-rules summary { cursor: pointer; letter-spacing: 0.06em; color: var(--gold-700); }
.geo-rules ul { margin: 6px 0 0; padding-left: 18px; }
.geo-rules li.hit { color: #8f3f36; }
.geo-rules li b { font-weight: 600; margin-right: 4px; }
.geo-adv-echo { margin-top: 10px; }
.geo-vchip.t-good { border-color: rgba(74, 107, 87, 0.45); color: #3f6350; } .geo-vchip.t-bad { border-color: rgba(155, 59, 50, 0.45); color: #8f3f36; }
/* 传本模式盘 */
.geo-alt-board { margin: 22px 0 0; padding: 18px 20px 16px; border: 1px solid rgba(150, 114, 58, 0.3); border-radius: var(--radius-lg); background: var(--paper-50); }
.geo-sik-strip { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 4px; margin-top: 10px; overflow-x: auto; }
.geo-sik-col { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 2px; border-radius: 6px; border: 1px solid rgba(150, 114, 58, 0.22); background: rgba(250, 247, 239, 0.7); min-width: 0; }
.geo-sik-col i { font-style: normal; font-size: 10px; color: var(--paper-ink-soft); }
.geo-sik-col b { font-size: 11px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.geo-sik-col.red { border-color: rgba(155, 59, 50, 0.6); background: rgba(155, 59, 50, 0.08); }
.geo-sik-col small { font-size: 9px; color: var(--paper-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.geo-sik-strip.red { outline: 1px solid rgba(155, 59, 50, 0.45); outline-offset: 3px; border-radius: 8px; }
.geo-rules li b { white-space: nowrap; }   /* 375 实拍「第 5 则」被折成两行 */
.geo-buyut-list { margin: 8px 0 0; padding-left: 22px; font-size: 13.5px; line-height: 1.8; }
.geo-kv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px 14px; margin-top: 8px; }
.geo-kv { display: grid; grid-template-columns: auto 1fr; gap: 8px; font-size: 13px; padding: 4px 0; border-bottom: 1px dashed rgba(150, 114, 58, 0.18); }
.geo-kv b { color: var(--gold-700); font-weight: 500; }
/* 十二宫标签行 / 元素供给 */
.geo-htag { margin: 2px 0 0; font-size: 10.5px; color: var(--gold-700); letter-spacing: 0.02em; }
.geo-es-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.geo-es-cell { text-align: center; padding: 8px 4px; border-radius: 8px; border: 1px solid rgba(150, 114, 58, 0.25); background: rgba(250, 247, 239, 0.7); font-size: 12px; }
.geo-es-cell b { display: block; font-family: var(--font-serif); font-size: 16px; }
.geo-es-cell.fire b { color: #b3402f; } .geo-es-cell.water b { color: #2f5b8f; } .geo-es-cell.air b { color: #7a6a2c; } .geo-es-cell.earth b { color: #5a5240; }
/* 详表（留影之外） */
.geo-detail { display: grid; gap: 18px; margin-top: 26px; }
.geo-detail-card { padding: 22px 24px 20px; border: 1px solid rgba(150, 114, 58, 0.3); border-radius: var(--radius-lg); background: var(--paper-50); min-width: 0; }
.geo-detail-card .geo-panel-cap b { cursor: help; }
.geo-sub { display: block; font-family: var(--font-serif); font-size: 13px; letter-spacing: 0.08em; color: var(--gold-700); margin: 12px 0 4px; }
.geo-dim { color: var(--paper-ink-soft); opacity: 0.8; }
.geo-tw { margin-top: 8px; }
.geo-tw .md-table { font-size: 12.5px; }
.geo-tw th { cursor: help; }
/* 高级传本选项（表单内折叠区） */
.geo-advanced { margin-top: 26px; border: 1px dashed rgba(150, 114, 58, 0.45); border-radius: 12px; padding: 0 16px 4px; background: rgba(250, 247, 239, 0.5); }
.geo-advanced > summary { cursor: pointer; list-style: none; padding: 12px 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.geo-advanced > summary::-webkit-details-marker { display: none; }
.geo-advanced > summary b { font-family: var(--font-serif); font-size: 13.5px; letter-spacing: 0.24em; color: var(--gold-700); }
.geo-advanced > summary span { font-size: 12.5px; color: var(--paper-ink-soft); }
.geo-advanced > summary::before { content: ""; flex: none; align-self: center; width: 8px; height: 8px; margin-right: 4px; border-right: 1.5px solid var(--gold-700); border-bottom: 1.5px solid var(--gold-700); transform: rotate(-45deg); transition: transform .25s var(--ease-out); }
.geo-advanced[open] > summary::before { transform: rotate(45deg); }
.geo-adv-cluster { padding: 6px 0 12px; border-top: 1px dashed rgba(150, 114, 58, 0.25); }
.geo-adv-cluster .geo-field-label-2 { margin-top: 8px; }
.geo-adv-key { display: block; font-size: 12px; color: var(--paper-ink-soft); margin: 10px 0 4px; letter-spacing: 0.06em; }
.geo-adv-chips .geo-chip { font-size: 12.5px; padding: 6px 11px; }
.geo-adv-check { display: inline-flex; align-items: center; gap: 6px; margin: 10px 18px 0 0; font-size: 13px; cursor: pointer; }
.geo-adv-check input { width: 16px; height: 16px; accent-color: var(--gold-700); }
.geo-adv-select { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; font-size: 13px; }
.geo-adv-select select { min-width: 160px; }
/* 绣色皮 */
html[data-theme="xiu"] .geo-detail-card, html[data-theme="xiu"] .geo-alt-board, html[data-theme="xiu"] .geo-advanced { border-color: rgba(88, 74, 133, 0.35); }
html[data-theme="xiu"] .geo-sub, html[data-theme="xiu"] .geo-advanced > summary b, html[data-theme="xiu"] .geo-fig-badge { color: var(--zi-700, #584a85); }

/* ================= 盘式与记号（2026-09-03 波次三：桌面中央舞台十式移植） ================= */
/* 记号四态（内核 settings.mark_style；此前恒画点，india_ramal/hakata/ifa 三档记号形同虚设） */
.geo-fig-dots .geo-fig-row { align-items: center; }
.geo-fig-dots.is-lines .geo-fig-row b.geo-mk-line { width: 20px; height: 2px; border-radius: 1px; background: var(--paper-ink); }
.geo-fig-dots.is-lines .geo-fig-row b.geo-mk-line.half { width: 8.5px; }
.geo-fig-dots.sm.is-lines .geo-fig-row b.geo-mk-line { width: 14px; }
.geo-fig-dots.sm.is-lines .geo-fig-row b.geo-mk-line.half { width: 6px; }
.geo-fig-dots.is-bindu .geo-fig-row b.geo-mk-rekha { width: 20px; height: 2px; border-radius: 1px; background: var(--paper-ink); }
.geo-fig-dots.sm.is-bindu .geo-fig-row b.geo-mk-rekha { width: 14px; }
.geo-fig-dots.is-tablets .geo-fig-row b.geo-mk-tablet { width: 20px; height: 7px; border-radius: 2px; background: transparent; border: 1px solid var(--paper-ink); }
.geo-fig-dots.is-tablets .geo-fig-row b.geo-mk-tablet.open { background: var(--paper-ink); }
.geo-fig-dots.sm.is-tablets .geo-fig-row b.geo-mk-tablet { width: 14px; height: 5px; }
/* SVG 版记号（金字塔/圆盘盘内） */
.geo-svg-dot { fill: var(--paper-ink); }
.geo-svg-line { fill: var(--paper-ink); }
.geo-svg-tablet { fill: none; stroke: var(--paper-ink); stroke-width: 1; }
.geo-svg-tablet.open { fill: var(--paper-ink); }

/* 盘式 chip 条与舞台 */
/* `.geo-shield` 与 `.geo-board-mount` 各自带 display，作者样式压过 UA 的 `[hidden]{display:none}`——
   盘式切换靠 hidden 属性，故此处显式让位（护盾方盘与另一盘式同时现形＝盘式钮看着没反应） */
.geo-shield[hidden], .geo-board-mount[hidden], .geo-poly-cell[hidden] { display: none !important; }
/* 盘式眉的术名不参与收缩：`.geo-panel-cap` 是 flex，裸文本成匿名弹性项，375 下「盘 面」被折成两行 */
.geo-panel-cap > b { flex: none; white-space: nowrap; font-weight: inherit; }
.geo-board-switch { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 0 14px; }
.geo-board-stage { min-width: 0; }
.geo-board-mount { min-width: 0; }
.geo-planet-hint, .geo-scope-note {
  margin: 0 0 12px; padding: 8px 14px; border-radius: 8px;
  border: 1px dashed rgba(150, 114, 58, 0.4); background: rgba(250, 247, 239, 0.6);
  font-size: 12.5px; line-height: 1.7; color: var(--paper-ink-soft); text-align: center;
}
.geo-board-miss { padding: 40px 0; text-align: center; font-size: 13.5px; color: var(--text-low); }
.geo-board-foot { margin: 10px 0 0; font-size: 12px; line-height: 1.75; color: var(--paper-ink-soft); text-align: center; }
.geo-warn { color: #8f3f36; }

/* ① 十二宫圆盘 / 行星地占盘（三环几何：外环黄道、中环宫号与落星、内圆盘心） */
.geo-wheel { max-width: 560px; margin: 0 auto; }
.geo-wheel-svg { display: block; width: 100%; height: auto; }
.geo-wheel-ring { fill: none; stroke: var(--gold-600); stroke-width: 1.1; opacity: 0.75; }
.geo-wheel-spoke { stroke: rgba(150, 114, 58, 0.45); stroke-width: 0.9; }
.geo-wheel-sign { fill: var(--gold-700); font-size: 22px; }
.geo-wheel-sign.is-zh { font-size: 14px; font-family: var(--font-serif); }
.geo-wheel-num { fill: var(--paper-ink-soft); font-size: 15px; font-family: var(--font-serif); }
.geo-wheel-greek { fill: var(--gold-700); font-size: 11px; }
.geo-wheel-figure { fill: var(--paper-ink); font-size: 17px; font-family: var(--font-serif); }
.geo-wheel-figure.is-sig { fill: var(--gold-700); font-weight: 700; }
.geo-wheel-planet { fill: var(--cinnabar); font-size: 16px; font-family: var(--font-serif); }
.geo-wheel-center-title { fill: var(--gold-700); font-size: 15px; font-family: var(--font-serif); letter-spacing: 0.1em; }
.geo-wheel-center-sub { fill: var(--paper-ink-soft); font-size: 13px; }

/* ② 金字塔盘（生成树四层） */
.geo-pyramid { min-width: 0; }
/* 比例恒 1（不缩放）：html-to-image 不跟 CSS 缩放，缩了留影就裁边——窄屏改横滚不改缩放 */
/* 上限＝viewBox 宽：放大后 html-to-image 会按内在尺寸裁掉右缘（女四/甥四 齐腰断，2026-09-04 实拍） */
.geo-pyr-svg { display: block; width: 100%; max-width: 960px; height: auto; margin-inline: auto; }
.geo-pyramid { overflow-x: auto; scrollbar-width: thin; }
.geo-pyr-box { fill: rgba(255, 253, 246, 0.85); stroke: rgba(150, 114, 58, 0.45); stroke-width: 1.2; }
.geo-pyr-node.is-good .geo-pyr-box { stroke: rgba(122, 92, 30, 0.7); }
.geo-pyr-node.is-bad .geo-pyr-box { stroke: rgba(160, 58, 44, 0.6); }
.geo-pyr-node.is-onpath .geo-pyr-box { stroke: var(--gold-600); stroke-width: 2.4; fill: rgba(212, 175, 106, 0.16); }
.geo-pyr-tag { fill: var(--paper-ink-soft); font-size: 13px; font-family: var(--font-serif); }
.geo-pyr-name { fill: var(--paper-ink); font-size: 16px; font-family: var(--font-serif); font-weight: 700; }
.geo-pyr-node.is-good .geo-pyr-name { fill: var(--gold-700); }
.geo-pyr-node.is-bad .geo-pyr-name { fill: var(--cinnabar); }
.geo-pyr-link { fill: none; stroke: rgba(150, 114, 58, 0.4); stroke-width: 1.4; }
.geo-pyr-link.is-onpath { stroke: var(--gold-600); stroke-width: 2.6; }
.geo-pyr-lines { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 10px; }
.geo-pyr-line.is-miss { opacity: 0.45; }
.geo-pyr-recon { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; font-size: 13px; }
.geo-pyr-recon b { font-family: var(--font-serif); font-size: 15px; color: var(--paper-ink); }

/* ③ 多边形宫盘（北印度式 / 中世纪盘）：SVG 线框 + 按重心绝对定位的 HTML 宫格 */
.geo-poly-chart { max-width: 560px; margin: 0 auto; min-width: 0; }
.geo-poly-board { position: relative; width: 100%; aspect-ratio: 1 / 1; }
.geo-poly-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.geo-poly-lines rect, .geo-poly-lines polygon, .geo-poly-lines line {
  fill: none; stroke: var(--gold-600); stroke-width: 0.5; vector-effect: non-scaling-stroke; opacity: 0.8;
}
.geo-poly-lines polygon.geo-poly-sig { fill: rgba(212, 175, 106, 0.18); stroke: none; }
.geo-poly-cell {
  position: absolute; transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  width: 23%; text-align: center; cursor: help;
}
.geo-poly-head { display: flex; align-items: center; justify-content: center; gap: 3px; }
.geo-poly-num { font-style: normal; font-size: 11px; color: var(--gold-700); font-family: var(--font-serif); }
.geo-poly-sign { font-style: normal; font-size: 11px; color: var(--paper-ink-soft); }
.geo-poly-greek { font-style: normal; font-size: 10px; color: var(--gold-700); }
.geo-poly-name { font-family: var(--font-serif); font-size: 12px; color: var(--paper-ink); white-space: nowrap; }
.geo-poly-cell.tone-good .geo-poly-name { color: var(--gold-700); }
.geo-poly-cell.tone-bad .geo-poly-name { color: var(--cinnabar); }
.geo-poly-cell.is-sig .geo-poly-name { font-weight: 700; }
.geo-poly-planets { font-size: 11px; color: var(--cinnabar); letter-spacing: 0.08em; }
/* 中心提要（中世纪盘）：判官居中，两证居上、调解者居下 */
.geo-board-center {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 46%; display: grid; grid-template-columns: 1fr 1fr; gap: 3px 6px;
  justify-items: center; align-items: center; text-align: center;
}
.geo-center-mini, .geo-center-judge { display: flex; flex-direction: column; align-items: center; gap: 1px; font-size: 10.5px; }
.geo-board-center .geo-fig-dots.sm { gap: 2px; }
.geo-center-mini b, .geo-center-judge b { font-family: var(--font-serif); font-size: 12px; color: var(--paper-ink); white-space: nowrap; }
.geo-center-judge { grid-column: 1 / -1; }
.geo-center-judge b { color: var(--gold-700); font-size: 13px; }
.geo-center-mini.is-bc { grid-column: 1 / -1; }
.geo-center-tag { font-size: 9.5px; letter-spacing: 0.08em; color: var(--paper-ink-soft); }
.geo-center-asc { grid-column: 1 / -1; font-size: 10.5px; color: var(--gold-700); letter-spacing: 0.06em; }

/* ④ 地占三角（两派释义） */
.geo-triangles { margin-top: 18px; padding-top: 14px; border-top: 1px dashed rgba(150, 114, 58, 0.3); }
.geo-tri-schools { justify-content: center; margin: 8px 0 10px; }
.geo-triangle-row {
  display: grid; grid-template-columns: 76px minmax(0, 340px) minmax(0, 1fr); gap: 6px 14px;
  align-items: baseline; padding: 7px 0; border-bottom: 1px dashed rgba(150, 114, 58, 0.18);
  font-size: 12.5px; line-height: 1.7; cursor: help;
}
.geo-tri-label { font-family: var(--font-serif); color: var(--gold-700); letter-spacing: 0.06em; }
.geo-tri-expr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
.geo-tri-expr em, .geo-tri-expr strong { font-style: normal; }
.geo-tri-expr i { font-style: normal; color: var(--paper-ink-soft); }
.geo-tri-expr .t-good { color: var(--gold-700); } .geo-tri-expr .t-bad { color: var(--cinnabar); } .geo-tri-expr .t-mid { color: var(--paper-ink-soft); }
.geo-tri-mean { color: var(--paper-ink); }

/* ⑤ 成事方向细则 */
.geo-perfdir { margin-top: 18px; padding-top: 14px; border-top: 1px dashed rgba(150, 114, 58, 0.3); }
.geo-perfdir .geo-perf-line i { font-style: normal; color: var(--gold-700); margin-right: 8px; }
.geo-perfdir .geo-perf-line b { font-weight: 500; }

/* ⑥ 盾位十六宫「所主」 */
.geo-shield16-row {
  display: grid; grid-template-columns: 84px minmax(0, 190px) minmax(0, 1fr); gap: 4px 14px;
  align-items: baseline; padding: 7px 0; border-bottom: 1px dashed rgba(150, 114, 58, 0.18);
  font-size: 12.5px; line-height: 1.7;
}
.geo-shield16-num { font-family: var(--font-serif); color: var(--gold-700); letter-spacing: 0.04em; }
.geo-shield16-fig { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.geo-shield16-fig b { font-weight: 500; color: var(--paper-ink); }
.geo-shield16-fig em { font-style: normal; font-size: 11px; padding: 1px 6px; border-radius: 999px; border: 1px solid rgba(150, 114, 58, 0.4); color: var(--gold-700); cursor: help; }
.geo-shield16-mean { color: var(--paper-ink-soft); }

/* ⑦ 落星卡三节 / 文化边界声明 / 伊法对照 / 图目增件 */
.geo-pp-sec { margin-top: 4px; }
.geo-pp-sec.is-active { padding-left: 10px; border-left: 2px solid var(--gold-600); }
.geo-pp-sec.is-active .geo-sub { color: var(--gold-700); }
.geo-culture-notice {
  margin: 0 0 14px; padding: 12px 16px; border-radius: 8px;
  border: 1px solid rgba(150, 114, 58, 0.45); background: rgba(212, 175, 106, 0.1);
  font-size: 12.5px; line-height: 1.85; color: var(--paper-ink);
}
.geo-ifa-cols { display: flex; justify-content: center; gap: 26px; margin-top: 10px; }
.geo-ifa-col { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.geo-ifa-ref { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 5px 10px; margin-top: 6px; }
.geo-ifa-refcell { display: flex; align-items: baseline; gap: 5px; font-size: 11.5px; color: var(--paper-ink-soft); }
.geo-ifa-refcell i { font-style: normal; color: var(--gold-700); }
.geo-ifa-refcell b { font-weight: 500; color: var(--paper-ink); }
.geo-ifa-refcell em { font-style: normal; }
.geo-cat-more { margin: 10px 0 0; font-size: 12.5px; }
.geo-cat-more summary { cursor: pointer; color: var(--paper-ink-soft); }
.geo-cat-more .geo-cat-imagery { margin-top: 6px; }
.geo-cat-uni { margin: 8px 0 0; font-size: 20px; letter-spacing: 0.1em; color: var(--gold-700); cursor: help; }
.geo-cat-uni-toggle { justify-content: center; }
.geo-chip.is-follow { font-style: normal; }

/* ⑧ 纸底面板的字色纠偏（2026-09-03 真渲染实锤）：`.geo-perf-line`（--text-mid）与 `.geo-vchip`
   （rgba(240,234,214,.8) 近白）本是判官庭**深底**上的配色，被留影外的纸底卡（详表／首图检验／传本盘／
   盘式面板）原样复用，于是「诸家参证」的 chip 与「转宫盘／落星卡」的行在白纸上近乎隐形。
   判官庭一处仍走原深底色，纸底四处就地改深字。`:not(.t-good):not(.t-bad)` 让上文两枚语义色不被本条盖掉。 */
.geo-detail-card .geo-perf-line, .geo-radical .geo-perf-line, .geo-alt-board .geo-perf-line,
.geo-shield-panel .geo-perf-line, .geo-triangles .geo-perf-line { color: var(--paper-ink-soft); }
.geo-detail-card .geo-perf-lead, .geo-alt-board .geo-perf-lead, .geo-shield-panel .geo-perf-lead { color: var(--paper-ink); }
.geo-detail-card .geo-perf-lead.good, .geo-alt-board .geo-perf-lead.good { color: var(--gold-700); }
.geo-detail-card .geo-perf-lead.bad, .geo-alt-board .geo-perf-lead.bad { color: var(--cinnabar); }
.geo-detail-card .geo-vchip:not(.t-good):not(.t-bad),
.geo-radical .geo-vchip:not(.t-good):not(.t-bad),
.geo-alt-board .geo-vchip:not(.t-good):not(.t-bad),
.geo-shield-panel .geo-vchip:not(.t-good):not(.t-bad) {
  color: var(--paper-ink); border-color: rgba(150, 114, 58, 0.42); background: rgba(212, 175, 106, 0.08);
}
.geo-detail-card .geo-vchip.on:not(.t-good):not(.t-bad),
.geo-radical .geo-vchip.on:not(.t-good):not(.t-bad),
.geo-alt-board .geo-vchip.on:not(.t-good):not(.t-bad),
.geo-shield-panel .geo-vchip.on:not(.t-good):not(.t-bad) {
  color: var(--gold-700); border-color: var(--gold-600); background: rgba(212, 175, 106, 0.18);
}

/* 绣色皮 */
html[data-theme="xiu"] .geo-wheel-ring { stroke: var(--zi-500, #7f6fae); }
html[data-theme="xiu"] .geo-wheel-spoke { stroke: rgba(122, 104, 176, 0.4); }
html[data-theme="xiu"] .geo-wheel-sign, html[data-theme="xiu"] .geo-wheel-center-title,
html[data-theme="xiu"] .geo-wheel-greek, html[data-theme="xiu"] .geo-wheel-figure.is-sig,
html[data-theme="xiu"] .geo-poly-num, html[data-theme="xiu"] .geo-poly-greek, html[data-theme="xiu"] .geo-center-asc,
html[data-theme="xiu"] .geo-tri-label, html[data-theme="xiu"] .geo-shield16-num { color: var(--zi-700, #584a85); fill: var(--zi-700, #584a85); }
html[data-theme="xiu"] .geo-pyr-box { stroke: rgba(122, 104, 176, 0.45); }
html[data-theme="xiu"] .geo-pyr-node.is-onpath .geo-pyr-box { stroke: var(--zi-500, #7f6fae); fill: rgba(122, 104, 176, 0.12); }
html[data-theme="xiu"] .geo-pyr-link { stroke: rgba(122, 104, 176, 0.35); }
html[data-theme="xiu"] .geo-pyr-link.is-onpath { stroke: var(--zi-500, #7f6fae); }
html[data-theme="xiu"] .geo-pyr-node.is-good .geo-pyr-name { fill: var(--zi-700, #584a85); }
html[data-theme="xiu"] .geo-poly-lines polygon.geo-poly-sig { fill: rgba(122, 104, 176, 0.16); }
html[data-theme="xiu"] .geo-culture-notice, html[data-theme="xiu"] .geo-planet-hint,
html[data-theme="xiu"] .geo-scope-note { border-color: rgba(88, 74, 133, 0.4); }
html[data-theme="xiu"] .geo-poly-lines rect, html[data-theme="xiu"] .geo-poly-lines polygon,
html[data-theme="xiu"] .geo-poly-lines line { stroke: var(--zi-500, #7f6fae); }

/* ================= 手机档（375/390 实测口径） ================= */
@media (max-width: 720px) {
  .geoc-nav { top: calc(var(--nav-h) - 6px); }
  /* 三格下拉窄屏：两列 + 第三格通栏（375 下三列会把「阿拉伯沙占派」六字挤断） */
  .geo-select-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
  .geo-select-cell:last-child { grid-column: 1 / -1; }
  .geo-select-cell .geo-field-side { display: none; }
  .geo-select { letter-spacing: 0.04em; padding-left: 10px; padding-right: 26px; }
  /* G18e：新增卡/表/选项区手机缩档（375 实测口径） */
  .geo-detail-card { padding: 16px 14px 14px; }
  .geo-detail { gap: 12px; margin-top: 18px; }
  .geo-alt-board { padding: 14px 12px 12px; margin-top: 16px; }
  .geo-advanced { padding: 0 10px 2px; margin-top: 18px; }
  .geo-adv-chips .geo-chip { font-size: 12px; padding: 6px 9px; }
  .geo-sik-strip { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .geo-kv-grid { grid-template-columns: 1fr; }
  .geo-es-grid { gap: 4px; }
  .geo-es-cell { padding: 6px 2px; font-size: 11px; }
  .geo-fig-badge { font-size: 9px; padding: 2px 4px; }
  .geo-htag { display: none; }   /* 720 已隐 .geo-fig-sub 同理：格内容纳不下标签行，tip 里仍可读 */
  .geo-tw { overflow-x: auto; scrollbar-width: thin; }
  .geo-tw .md-table { font-size: 12px; min-width: 480px; }
  .geo-card-body { padding: 14px 20px 16px; }   /* 奇门 .geng-body 720 同值 */
  .geo-field-label { margin-bottom: 6px; }
  .geo-card-body textarea { min-height: 64px; }
  .geo-card-actions { margin-top: 12px; }
  /* G18e 窄屏缩档（375 实测）：帖头衬垫、十六图目录卡与 18px 图名 */
  .geo-card-head { padding: 10px 16px 8px; }
  .geo-cat-card { padding: 12px 12px 10px; }
  .geo-cat-names b { font-size: 16px; }
  .geo-card-title { display: none; }             /* 窄屏帖头只留眉标（奇门 720 只留 .geng-head-tag） */
  .geo-field-label-2 { margin-top: 10px; }
  .geo-chips { gap: 8px; }
  .geo-chip { padding: 7px 13px; font-size: 13.5px; }
  .geo-num-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; }

  .geo-shield { padding: 10px; gap: 7px; }
  .geo-sh-row { gap: 5px; }
  .geo-fig { padding: 8px 2px 7px; gap: 4px; border-radius: 8px; }
  .geo-fig-label { font-size: 9px; letter-spacing: 0.02em; }
  /* 母/女八连行：375 下卡宽≈38px，角标与位名相撞（真渲染实锤）——两者同缩到 8px 并贴角 */
  .geo-sh-r1 .geo-fig-label { font-size: 8px; letter-spacing: 0; }
  .geo-sh-r1 .geo-fig-badge { font-size: 8px; padding: 1px 3px; top: -6px; right: -5px; }   /* 位名居中占满 35px 卡宽，角标挂到卡角外（行距 7px/列距 5px 容得下） */
  .geo-fig-name { font-size: 11px; }
  .geo-fig-sub { display: none; }
  .geo-fig-row { gap: 5px; height: 5px; }
  .geo-fig-row b { width: 5px; height: 5px; }
  .geo-fig-lg .geo-fig-row { gap: 7px; height: 7px; }
  .geo-fig-lg .geo-fig-row b { width: 7px; height: 7px; }
  .geo-fig-lg .geo-fig-name { font-size: 14px; }
  .geo-sh-r3 { max-width: 80%; }

  .geo-court { padding: 24px 14px 26px; }
  .geo-court::before { inset: 7px; }
  .geo-court-trio { gap: 8px; }
  .geo-trio-cap { font-size: 10.5px; letter-spacing: 0.04em; }

  /* G18e 盘式诸件窄屏缩档（375 实测口径）：chip 条不换行挤成两行、圆盘等比缩、
     金字塔盘八列在 375 下必横滚（宽 1010 的生成树无从压缩），多边形格隐图名只留宫号与点阵 */
  .geo-board-switch { gap: 6px; margin-bottom: 10px; }
  .geo-planet-hint, .geo-scope-note { padding: 7px 10px; font-size: 11.5px; margin-bottom: 10px; }
  .geo-board-foot { font-size: 11.5px; }
  .geo-wheel { max-width: none; }
  .geo-wheel-sign { font-size: 26px; }
  .geo-wheel-num { font-size: 18px; }
  .geo-wheel-figure { font-size: 20px; }
  .geo-wheel-planet { font-size: 19px; }
  .geo-wheel-center-title { font-size: 18px; }
  .geo-wheel-center-sub { font-size: 15px; }
  .geo-pyr-svg { min-width: 560px; }   /* 窄屏横滚看全 */
  .geo-pyr-lines { gap: 6px; }
  .geo-poly-chart { max-width: none; }
  .geo-poly-cell { width: 26%; }
  .geo-poly-name { display: none; }   /* 375 下格宽≈24px，图名必压线；点阵与宫号仍在，tip 里可读全 */
  .geo-poly-num { font-size: 12px; }
  .geo-board-center { width: 52%; }
  .geo-center-mini b, .geo-center-judge b { font-size: 11px; }
  .geo-triangles { margin-top: 14px; padding-top: 10px; }
  .geo-triangle-row { grid-template-columns: 1fr; gap: 2px; padding: 8px 0; font-size: 12px; }
  .geo-shield16-row { grid-template-columns: 1fr; gap: 2px; padding: 8px 0; font-size: 12px; }
  .geo-shield16-mean { font-size: 11.5px; }
  .geo-perfdir { margin-top: 14px; padding-top: 10px; }
  .geo-culture-notice { padding: 10px 12px; font-size: 12px; margin-bottom: 10px; }
  .geo-ifa-cols { gap: 16px; }
  .geo-ifa-ref { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
  .geo-pp-sec.is-active { padding-left: 8px; }
  .geo-cat-uni { font-size: 18px; }

  .geo-board { grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
  .geo-hgrid { grid-template-rows: repeat(4, minmax(84px, auto)); gap: 5px; padding: 8px; }
  .geo-hcell { padding: 6px 2px 5px; gap: 3px; }
  .geo-hfig { font-size: 11px; }
  .geo-hcenter-sign { font-size: 20px; }
  .geo-lore-grid { grid-template-columns: 1fr; gap: 16px; }
  .geo-lore { padding-bottom: 70px; }
  /* 入口引导头手机不显示（阁主 2026-09-03 令，与 horary.css 同则）：页级作用域，勿进 base.css；
     #result 的 .section-head 不在此列；打印（A4≈688px<720）同样生效，与成熟页一致。 */
  #ask .section-head { display: none; }
  .geo-catalog { padding-top: 40px; }
}

/* ================= 绣色（xiu）皮 ================= */
html[data-theme="xiu"] .geo-card,
html[data-theme="xiu"] .geo-fig,
html[data-theme="xiu"] .geo-shield,
html[data-theme="xiu"] .geo-hgrid,
html[data-theme="xiu"] .geo-duo-card,
html[data-theme="xiu"] .geo-lore-card { border-color: rgba(88, 74, 133, 0.35); }
html[data-theme="xiu"] .geo-fig.tone-good .geo-fig-name,
html[data-theme="xiu"] .geo-hno b,
html[data-theme="xiu"] .geo-seed-line b { color: var(--zi-700, #584a85); }
html[data-theme="xiu"] .geo-court { border-color: rgba(122, 104, 176, 0.5); }
html[data-theme="xiu"] .geo-fig-judge { border-color: var(--zi-500, #7f6fae); }
/* 复审 V6：xiu 皮此前漏了屏上数量最大的两组（目录 16 卡 / 宫位 12 格）与四组行件——紫框卡里嵌金框卡 */
html[data-theme="xiu"] .geo-cat-card, html[data-theme="xiu"] .geo-hcell,
html[data-theme="xiu"] .geo-sik-col, html[data-theme="xiu"] .geo-es-cell { border-color: rgba(88, 74, 133, 0.32); }
html[data-theme="xiu"] .geo-kv, html[data-theme="xiu"] .geo-triangle-row,
html[data-theme="xiu"] .geo-shield16-row { border-bottom-color: rgba(88, 74, 133, 0.28); }
html[data-theme="xiu"] .geoc-nav { border-color: rgba(88, 74, 133, 0.4); }
html[data-theme="xiu"] .geo-malagasy, html[data-theme="xiu"] .geo-flow-step { border-color: rgba(88, 74, 133, 0.3); }

/* 马达加斯加名录（sikidy 传本盘下；details 收起，不占盘面） */
.geo-malagasy { margin-top: 10px; padding: 8px 12px; border: 1px dashed rgba(150, 114, 58, 0.3); border-radius: 8px; }
.geo-malagasy > summary { cursor: pointer; font-size: 12.5px; letter-spacing: 0.06em; color: var(--paper-ink-soft); }
.geo-malagasy-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 12px; margin-top: 8px; }
.geo-malagasy-item { display: flex; flex-direction: column; font-size: 12px; line-height: 1.5; }
.geo-malagasy-item b { font-family: var(--font-serif); letter-spacing: 0.02em; }
.geo-malagasy-item i { font-style: normal; color: var(--paper-ink-soft); font-size: 11.5px; }
.geo-malagasy-item.is-lunar b::after { content: " ☾"; font-size: 10px; opacity: 0.7; }
@media (max-width: 720px) { .geo-malagasy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 判读流程 · 12 步（桌面 renderFlowChecklist 同源：每步实际判定 + ✔/✘） */
.geo-flow-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.geo-flow-step { display: grid; grid-template-columns: 26px 96px minmax(0, 1fr) 22px; gap: 8px; align-items: baseline; padding: 7px 10px; border: 1px solid rgba(150, 114, 58, 0.22); border-radius: 8px; background: rgba(255, 253, 246, 0.6); font-size: 13px; line-height: 1.7; }
.geo-flow-step .geo-flow-idx { font-family: var(--font-serif); font-weight: 700; color: var(--gold-700); text-align: center; }
.geo-flow-step .geo-flow-label { font-weight: 600; letter-spacing: 0.04em; }
.geo-flow-step .geo-flow-val { color: var(--paper-ink-soft); overflow-wrap: anywhere; }   /* 1280 截图实锤：--text-mid 是夜底变量，纸底上几乎不可见 */
.geo-flow-step .geo-flow-mark { text-align: center; font-weight: 700; }
.geo-flow-step.is-ok .geo-flow-mark { color: var(--jade-700); }
.geo-flow-step.is-no .geo-flow-mark { color: var(--cinnabar-soft); }
.geo-flow-step.is-no { border-color: rgba(143, 63, 54, 0.28); }
@media (max-width: 720px) { .geo-flow-step { grid-template-columns: 22px minmax(0, 1fr) 22px; } .geo-flow-step .geo-flow-val { grid-column: 2 / 3; } .geo-flow-step .geo-flow-label { grid-column: 2 / 3; } }

/* ================= 打印 ================= */
/* ===== 触屏（G18）——置于文件末、print 前（同权重后源即胜，勿放回 .geo-input 基础规则之前） ===== */
@media (pointer: coarse) {
  .geo-select { font-size: 16px; min-height: 44px; }   /* 下拉触屏档：≥16px 防 iOS 聚焦缩放、≥44px 命中区（G18） */
  .geo-chip { min-height: 42px; padding-block: 9px; }
  .geo-card-body textarea { font-size: 16px; }
  .geo-input { font-size: 16px; min-height: 44px; }
  .geo-adv-select select { font-size: 16px; min-height: 44px; }   /* 高级选项宫号下拉：外层 13px 会被继承，触屏聚焦放大 */
  /* 盘式切换 / 四线寻源 / 三角两派：三处新钮都是 .geo-chip，触控高随上条；图目 Unicode 勾选盒放大 */
  .geo-board-switch .geo-chip, .geo-pyr-lines .geo-chip, .geo-tri-schools .geo-chip { min-height: 42px; padding-block: 9px; }
  .geo-cat-uni-toggle input { width: 20px; height: 20px; }
}

@media print {
  .geo-court, .geo-hcenter {
    background: #fff !important;
    border-color: #b9a06a;
    box-shadow: none;
  }
  .geo-court-band { -webkit-text-fill-color: initial; color: #7a5c1e; background: none; }
  .geo-court-note, .geo-trio-cap, .geo-perf-line, .geo-vchip { color: #444; }
  .geo-court .geo-perf-lead { color: #7a5c1e; }
  .geo-trio-cell .geo-fig-name, .geo-hcenter-fig { color: #333; }
  .geo-trio-cell .geo-fig-row b, .geo-hcenter .geo-fig-row b { background: #333; }
  .geo-hcenter-sign, .geo-hcenter-cap { color: #7a5c1e; }
  .geo-hcenter-note { color: #666; }
  .geo-tone-seal.good { color: #7a5c1e; background: none; }
  .geo-tone-seal.mid { color: #555; background: none; }
  .geo-tone-seal.bad { color: #a03a2c; background: none; }
}

/* 打印补遗（2026-09-03 波次三）：盘式诸件的描边与字色一律改实色 —— SVG 用 currentColor/变量在白纸上近隐；
   chip 条与四线钮属交互件，上纸即多余（留影已由 data-shot-skip 剔除，打印另走这条）。 */
@media print {
  .geo-board-switch, .geo-pyr-lines, .geo-tri-schools, .geo-cat-uni-toggle { display: none !important; }
  .geo-wheel-ring { stroke: #b9a06a !important; opacity: 1; }
  .geo-wheel-spoke { stroke: #c8b48a !important; }
  .geo-wheel-sign, .geo-wheel-center-title, .geo-wheel-greek { fill: #7a5c1e !important; }
  .geo-wheel-num, .geo-wheel-center-sub { fill: #555 !important; }
  .geo-wheel-figure { fill: #333 !important; }
  .geo-wheel-figure.is-sig { fill: #7a5c1e !important; }
  .geo-wheel-planet { fill: #a03a2c !important; }
  .geo-pyr-box { fill: #fff !important; stroke: #b9a06a !important; }
  .geo-pyr-node.is-onpath .geo-pyr-box { stroke: #7a5c1e !important; fill: #f6efe0 !important; }
  .geo-pyr-link { stroke: #c8b48a !important; }
  .geo-pyr-link.is-onpath { stroke: #7a5c1e !important; }
  .geo-pyr-tag { fill: #666 !important; } .geo-pyr-name { fill: #333 !important; }
  .geo-svg-dot, .geo-svg-line { fill: #333 !important; }
  .geo-svg-tablet { stroke: #333 !important; } .geo-svg-tablet.open { fill: #333 !important; }
  .geo-poly-lines rect, .geo-poly-lines polygon, .geo-poly-lines line { stroke: #b9a06a !important; opacity: 1; }
  .geo-poly-lines polygon.geo-poly-sig { fill: #f1e6cd !important; stroke: none !important; }
  .geo-poly-name, .geo-center-mini b, .geo-center-judge b { color: #333 !important; }
  .geo-poly-num, .geo-poly-greek, .geo-center-asc, .geo-tri-label, .geo-shield16-num { color: #7a5c1e !important; }
  .geo-poly-planets { color: #a03a2c !important; }
  .geo-fig-dots.is-lines .geo-fig-row b.geo-mk-line,
  .geo-fig-dots.is-bindu .geo-fig-row b.geo-mk-rekha { background: #333 !important; }
  .geo-fig-dots.is-tablets .geo-fig-row b.geo-mk-tablet { border-color: #333 !important; }
  .geo-fig-dots.is-tablets .geo-fig-row b.geo-mk-tablet.open { background: #333 !important; }
  .geo-tri-mean, .geo-shield16-mean, .geo-board-foot, .geo-planet-hint, .geo-scope-note { color: #555 !important; }
  .geo-culture-notice { background: #fff !important; border-color: #b9a06a; color: #333; }
  .geo-triangles, .geo-perfdir, .geo-poly-chart, .geo-pyramid, .geo-wheel { break-inside: avoid; }
}

/* 打印补遗（2026-09-02 九术复审）：判官庭眉与读向说明曾留 --gold-500/--text-low 屏色（白纸近隐） */
@media print {
  .geo-court-eyebrow, .geo-court-axis { color: #7a5c1e; }
  .geo-trio-cell .geo-fig-sub { color: #666; }   /* 判官庭三联的五行·行星副标曾是深底上的半透明浅字，白纸近隐 */
  .geo-vchip.on { color: #7a5c1e; border-color: #7a5c1e; background: rgba(212, 175, 106, 0.18); }   /* 命中判据 chip 曾 --gold-300 白纸 1.6:1 */
}

/* ===== 2026-09-04 复审（V1/V2/V4/A3/U1/A7）===== */
/* V1 判官庭深底上语义色 chip 与 .geo-dim 行对比度 2.7:1／3.1:1 → 亮色覆盖 */
.geo-court .geo-vchip.t-good { color: #9cd0ae; border-color: rgba(156, 208, 174, 0.45); }
.geo-court .geo-vchip.t-bad { color: #f2b3a7; border-color: rgba(242, 179, 167, 0.45); }
.geo-court .geo-dim, .geo-court .geo-perf-line.geo-dim { color: rgba(236, 229, 214, 0.78); }
/* 指示星同图警示（U1）与问类常数分组眉（A7） */
.geo-coincide { padding: 8px 12px; border-radius: 8px; border: 1px dashed rgba(184, 73, 62, 0.45); background: rgba(184, 73, 62, 0.06); }
.geo-coincide b { font-family: var(--font-serif); letter-spacing: 0.12em; color: var(--cinnabar); margin-right: 8px; }
.geo-vchip-cap { border: 0 !important; background: transparent !important; padding-left: 0; color: var(--paper-ink-soft); letter-spacing: 0.06em; }
/* 四片盘（A3） */
.geo-hakata { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0; }
.geo-hakata-tab { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 12px; min-width: 56px; border-radius: 10px; border: 1px solid rgba(150, 114, 58, 0.35); background: rgba(255, 253, 246, 0.8); }
.geo-hakata-tab i { font-style: normal; width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 12px; color: #fff8e6; background: linear-gradient(150deg, #7a5c1e, #4a3812); }
.geo-hakata-tab.open i { background: linear-gradient(150deg, #b8914b, #7a5c1e); }
.geo-hakata-tab b { font-family: var(--font-serif); font-size: 13px; letter-spacing: 0.08em; }
/* V4 低读盘范围下十二宫面板隐藏时不留 382px 空栏 */
.geo-board:has(> #geoHousesPanel[hidden]) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) {
  /* V2 两证/判官/调解卡角标压位名：r1 已修，r3/r4 同法 */
  .geo-sh-r3 .geo-fig-badge, .geo-sh-r4 .geo-fig-badge { top: -6px; right: -5px; }
}
@media (pointer: coarse) {
  .geo-num { min-height: 44px; }
  .geo-adv-check { min-height: 44px; }
  .geo-adv-check input { width: 20px; height: 20px; }
  .geo-chip { min-height: 44px; }
}
