/* ═══════════════════════════════════════════════════════════════
   bz-jiexi 共享样式（Web + Mob）
   配色：亮色显式值 / 暗色 html[data-theme="dark"] 覆盖
   不依赖 CSS 变量跨模式继承，避免动态 DOM 上 var() 解析异常
   ═══════════════════════════════════════════════════════════════ */

/* ================================================================
   一、表单 & 输入
   ================================================================ */
.card {
  background:var(--color-pan); border:1px solid var(--color-brand); border-radius:8px;
  padding:10px 14px; margin-bottom:16px; box-shadow:0 1px 6px rgba(0,0,0,.08);
}
html[data-theme="dark"] .card { background:#100922; border-color:#2a1f4a; }

.form-row        { display:flex; align-items:center; gap:6px; margin-bottom:6px; flex-wrap:wrap; font-size:13px; }
.form-row:last-child { margin-bottom:0; }
.lbl             { color:#004099; font-weight:600; white-space:nowrap; min-width:60px; }
html[data-theme="dark"] .lbl { color:#b894d8; }

.seeker-input    { padding:4px 8px; border:1px solid #ccc; border-radius:4px; font-size:13px; width:120px; background:#fff; color:#333; }
.date-input      { padding:4px 6px; border:1px solid #ccc; border-radius:4px; font-size:13px; text-align:center; width:40px; background:#fff; color:#333; }
.date-input.year { width:55px; }
html[data-theme="dark"] .seeker-input,
html[data-theme="dark"] .date-input { background:#181230; color:#e8ddf5; border-color:#2a1f4a; }

.date-input.input-error { border-color:#c0392b; background:#fff0ef; }
html[data-theme="dark"] .date-input.input-error { background:#2a1030; }

.btn-cal {
  padding:2px 8px; font-size:11px; border:1px solid #ccc; background:#fff;
  color:#888; border-radius:3px; cursor:pointer; margin-left:2px;
}
html[data-theme="dark"] .btn-cal { background:#181230; color:#5a4e78; border-color:#2a1f4a; }
.btn-cal.active { background:#004099; color:#fff; border-color:#004099; }
html[data-theme="dark"] .btn-cal.active { background:#b894d8; border-color:#b894d8; }

.zty-select { font-size:12px; padding:2px 4px; border:1px solid #ccc; border-radius:4px; max-width:150px; background:#fff; color:#333; }
html[data-theme="dark"] .zty-select { background:#181230; color:#e8ddf5; border-color:#2a1f4a; }

.bz-desc-text { flex:1; font-size:10px; color:#ccc; }
html[data-theme="dark"] .bz-desc-text { color:#5a4e78; }

.btn-me {
  color:#c0392b; border:1.5px solid #c0392b; background:#fff; font-weight:bold;
  font-size:11px; border-radius:50%; width:24px; height:24px;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; margin-right:6px;
}
html[data-theme="dark"] .btn-me { background:#181230; }

.btn-bz-submit { background:#333; color:#d4af37; border:none; height:24px; padding:3px 12px; font-size:12px; font-family:"MiSans",sans-serif; font-weight:400; }
.bz-btn-group   { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.bz-card-row    { display:flex; align-items:flex-end; justify-content:space-between; }

#surname        { width:80px; }
.lbl-indent     { margin-left:8px; }
.gender-label   { font-size:13px; }
.gender-label+.gender-label { margin-left:4px; }
.btn-reset      { margin-left:8px; }
.leap-label     { display:none; font-size:11px; margin-left:4px; }

/* ================================================================
   二、认证弹窗
   ================================================================ */
#auth-modal           { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:10000; align-items:center; justify-content:center; }
#auth-modal.active    { display:flex; }
.auth-box             { background:#fff; border-radius:12px; width:380px; max-width:calc(100vw - 32px); padding:28px 28px 20px; box-shadow:0 20px 60px rgba(0,0,0,.3); position:relative; }
html[data-theme="dark"] .auth-box { background:#181230; }

.auth-close           { position:absolute; top:14px; right:16px; font-size:22px; cursor:pointer; color:#ccc; border:none; background:none; padding:0; }
html[data-theme="dark"] .auth-close { color:#5a4e78; }
.auth-close:hover     { color:#333; }
html[data-theme="dark"] .auth-close:hover { color:#e8ddf5; }

.auth-tabs            { display:flex; border-bottom:2px solid #eee; margin-bottom:20px; }
html[data-theme="dark"] .auth-tabs { border-bottom-color:#1f1638; }
.auth-tab             { flex:1; text-align:center; padding:8px 0; font-size:14px; font-family:"MiSans",sans-serif; font-weight:300; cursor:pointer; color:#ccc; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
html[data-theme="dark"] .auth-tab { color:#5a4e78; }
.auth-tab.active      { color:#8B4513; border-bottom-color:#8B4513; }
html[data-theme="dark"] .auth-tab.active { color:#b894d8; border-bottom-color:#b894d8; }

.auth-panel           { display:none; }
.auth-panel.active    { display:block; }

.auth-sub-tabs        { display:flex; gap:8px; margin-bottom:16px; }
.auth-sub-tab         { padding:4px 14px; border-radius:20px; font-size:12px; font-family:"MiSans",sans-serif; font-weight:300; cursor:pointer; color:#888; border:1px solid #ccc; background:none; transition:all .2s; }
html[data-theme="dark"] .auth-sub-tab { color:#5a4e78; border-color:#2a1f4a; }
.auth-sub-tab.active  { background:#8B4513; color:#fff; border-color:#8B4513; }
html[data-theme="dark"] .auth-sub-tab.active { background:#b894d8; border-color:#b894d8; }

.auth-form-group            { margin-bottom:12px; }
.auth-form-group input      { width:100%; padding:10px 12px; border:1px solid #ccc; border-radius:6px; font-size:14px; font-family:"MiSans",sans-serif; outline:none; box-sizing:border-box; background:#fff; color:#333; }
html[data-theme="dark"] .auth-form-group input { background:#181230; color:#e8ddf5; border-color:#2a1f4a; }
.auth-form-group input:focus { border-color:#8B4513; }
html[data-theme="dark"] .auth-form-group input:focus { border-color:#d4a8e8; }

.auth-code-row    { display:flex; gap:8px; align-items:center; }
.auth-code-row input { flex:1; }
.auth-btn-code     { flex-shrink:0; white-space:nowrap; padding:10px; background:#8B4513; color:#fff; border:none; border-radius:6px; font-size:12px; font-family:"MiSans",sans-serif; font-weight:300; cursor:pointer; }
html[data-theme="dark"] .auth-btn-code { background:#b894d8; }
.auth-btn-code:disabled { opacity:.5; cursor:default; }
.auth-btn-submit   { width:100%; padding:12px; background:linear-gradient(135deg,#8B4513,#8B4513); color:#fff; border:none; border-radius:6px; font-size:15px; font-family:"MiSans",sans-serif; font-weight:300; cursor:pointer; margin-top:4px; }
html[data-theme="dark"] .auth-btn-submit { background:linear-gradient(135deg,#b894d8,#b894d8); }

.auth-divider      { text-align:center; color:#ccc; font-size:12px; margin:14px 0 12px; }
html[data-theme="dark"] .auth-divider { color:#5a4e78; }
.auth-btn-wechat   { width:100%; padding:10px; background:#f5f5f5; color:#ccc; border:1px solid #ccc; border-radius:6px; font-size:13px; font-family:"MiSans",sans-serif; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px; }
html[data-theme="dark"] .auth-btn-wechat { background:#201840; color:#5a4e78; border-color:#2a1f4a; }

/* ================================================================
   三、解析结果容器
   ================================================================ */
.result-card {
  background:#FEFFF9; border:1px solid #d4af37; border-radius:8px;
  padding:16px 20px; margin:10px 0 16px; box-shadow:0 1px 6px rgba(0,0,0,.08);
  display:none; line-height:1.7; color:#333;
}
html[data-theme="dark"] .result-card { background:#100922; color:#e8ddf5; border-color:#2a1f4a; }
.result-card.visible { display:block; }

#jiexiResultRow        { display:none; }
#jiexiResultRow.visible { display:flex; }
#bzjiexiAIResult       { margin-top:0; flex:1; }
#bzjiexiAIResult.visible { display:block; }
#bzPreviewLock {}

/* ================================================================
   四、结果 - 顶部栏 & 评分
   ================================================================ */
.hh-top-bar      { display:flex; align-items:center; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.hh-type-badge   { background:#004099; color:#fff; font-size:12px; padding:2px 10px; border-radius:12px; font-weight:600; }
html[data-theme="dark"] .hh-type-badge { background:#4a3080; }
.hh-method-badge { background:#faf7f0; color:#8B4513; font-size:12px; padding:2px 10px; border-radius:12px; }
html[data-theme="dark"] .hh-method-badge { background:#1c1430; color:#b894d8; }
.hh-pair         { font-size:14px; color:#333; margin-left:auto; }
html[data-theme="dark"] .hh-pair { color:#e8ddf5; }
.hh-pair b       { color:#d4af37; }
html[data-theme="dark"] .hh-pair b { color:#d4a8e8; }

.hh-score-card            { text-align:center; padding:18px 0; border-radius:10px; margin-bottom:16px; }
.hh-score-card.grade-ss   { background:linear-gradient(135deg,#FFF,#fff176); border:2px solid #f9a825; }
.hh-score-card.grade-s    { background:linear-gradient(135deg,#f5f5f5,#a5d6a7); border:2px solid #2D8A2D; }
.hh-score-card.grade-ms   { background:linear-gradient(135deg,#e3f2fd,#90caf9); border:2px solid #0074E5; }
.hh-score-card.grade-m    { background:linear-gradient(135deg,#e3f2fd,#bbdefb); border:2px solid #0074E5; }
.hh-score-card.grade-mx   { background:linear-gradient(135deg,#fff3e0,#ffcc80); border:2px solid #ef6c00; }
.hh-score-card.grade-x    { background:linear-gradient(135deg,#ffebee,#ef9a9a); border:2px solid #e53935; }
html[data-theme="dark"] .hh-score-card.grade-ss { background:linear-gradient(135deg,#2a1f10,#3a2a10); border-color:#8a7020; }
html[data-theme="dark"] .hh-score-card.grade-s  { background:linear-gradient(135deg,#102a18,#1a3020); border-color:#2a6a2a; }
html[data-theme="dark"] .hh-score-card.grade-ms { background:linear-gradient(135deg,#101a30,#182030); border-color:#2a5090; }
html[data-theme="dark"] .hh-score-card.grade-m  { background:linear-gradient(135deg,#101a30,#182838); border-color:#2a5090; }
html[data-theme="dark"] .hh-score-card.grade-mx { background:linear-gradient(135deg,#2a1a10,#3a2010); border-color:#a05020; }
html[data-theme="dark"] .hh-score-card.grade-x  { background:linear-gradient(135deg,#2a1018,#3a1820); border-color:#a03030; }
.hh-big-score             { font-size:52px; font-weight:700; color:#333; line-height:1; }
html[data-theme="dark"] .hh-big-score { color:#e8ddf5; }
.hh-big-score span        { font-size:18px; font-weight:300; color:#555; margin-left:2px; }
html[data-theme="dark"] .hh-big-score span { color:#9a8ab8; }
.hh-grade-text            { font-size:16px; color:#555; margin-top:4px; font-weight:600; }
html[data-theme="dark"] .hh-grade-text { color:#9a8ab8; }

/* ================================================================
   五、区块 & 分析容器
   ================================================================ */
.hh-section       { margin-bottom:16px; }
.hh-section-title { font-size:14px; font-weight:700; color:#004099; border-bottom:2px solid #d4af37; padding-bottom:4px; margin-bottom:10px; }
html[data-theme="dark"] .hh-section-title { color:#b894d8; border-bottom-color:#d4a8e8; }

.hh-ana-block     { background:#faf7f0; border:1px solid #e0d5c1; border-radius:8px; padding:12px 16px; margin-bottom:12px; font-size:13px; color:#555; line-height:1.8; }
html[data-theme="dark"] .hh-ana-block { background:#1c1430; border-color:#4a3a5a; color:#9a8ab8; }
.hh-ana-person    { color:#333; }
html[data-theme="dark"] .hh-ana-person { color:#e8ddf5; }

.hh-compare-box   { background:#FEFFF9; border-left:4px solid #d4af37; padding:10px 14px; margin-top:8px; border-radius:0 6px 6px 0; font-size:12px; color:#555; line-height:1.8; }
html[data-theme="dark"] .hh-compare-box { background:#100922; border-left-color:#d4a8e8; color:#9a8ab8; }

.hh-type-sec      { margin-bottom:10px; background:#FEFFF9; border:1px solid #eee; border-radius:6px; padding:10px 12px; }
html[data-theme="dark"] .hh-type-sec { background:#100922; border-color:#4a3a5a; }
.hh-ts-title      { font-size:12px; font-weight:700; color:#8B4513; margin-bottom:4px; }
html[data-theme="dark"] .hh-ts-title { color:#b894d8; }
.hh-ts-content    { font-size:12px; color:#555; line-height:1.8; }
html[data-theme="dark"] .hh-ts-content { color:#9a8ab8; }

.hh-sihua-box     { background:#faf7f0; border-radius:6px; padding:8px 12px; margin-top:8px; font-size:12px; color:#555; line-height:1.7; }
html[data-theme="dark"] .hh-sihua-box { background:#1c1430; color:#9a8ab8; }

.hh-palace-block  { background:#FEFFF9; border:1px solid #e0d5c1; border-radius:8px; padding:10px 14px; margin-bottom:10px; }
html[data-theme="dark"] .hh-palace-block { background:#100922; border-color:#4a3a5a; }
.hh-pb-title      { font-size:14px; font-weight:700; color:#004099; margin-bottom:8px; border-bottom:1px solid #faf7f0; padding-bottom:6px; display:flex; justify-content:space-between; align-items:center; }
html[data-theme="dark"] .hh-pb-title { color:#b894d8; border-bottom-color:#1c1430; }
.hh-pb-title>span { font-weight:700; }
.hh-pb-title>span span { font-size:11px; color:#999; font-weight:300; margin-left:4px; }
html[data-theme="dark"] .hh-pb-title>span span { color:#6e6290; }
.hh-pb-row        { display:flex; align-items:center; gap:8px; margin-bottom:4px; font-size:13px; }
.hh-pb-label      { color:#8B4513; font-weight:600; min-width:50px; font-size:12px; }
html[data-theme="dark"] .hh-pb-label { color:#b894d8; }
.hh-pb-star       { display:flex; flex-wrap:wrap; gap:5px 6px; align-items:center; color:#333; font-weight:600; }
html[data-theme="dark"] .hh-pb-star { color:#e8ddf5; }
.hh-pb-interp     { font-size:11px; color:#555; line-height:1.6; padding:2px 0 2px 12px; border-left:2px solid #faf7f0; margin:2px 0 2px 6px; }
html[data-theme="dark"] .hh-pb-interp { color:#9a8ab8; border-left-color:#1c1430; }
.hh-pb-interp b   { color:#004099; }
html[data-theme="dark"] .hh-pb-interp b { color:#b894d8; }

.hh-palace-meaning { background:#faf7f0; border-radius:6px; padding:8px 12px; margin-bottom:8px; font-size:11px; color:#555; line-height:1.7; }
html[data-theme="dark"] .hh-palace-meaning { background:#1c1430; color:#9a8ab8; }
.hh-pm-item        { margin-bottom:2px; }
.hh-pm-item b      { color:#8B4513; }
html[data-theme="dark"] .hh-pm-item b { color:#b894d8; }

.hh-overlap-item   { background:#FEFFF9; border-left:3px solid #0074e5; padding:8px 12px; margin-bottom:6px; border-radius:0 4px 4px 0; font-size:12px; color:#555; line-height:1.7; }
html[data-theme="dark"] .hh-overlap-item { background:#100922; border-left-color:#d4a8e8; color:#9a8ab8; }
.hh-overlap-item b { color:#004099; }
html[data-theme="dark"] .hh-overlap-item b { color:#b894d8; }

.hh-advice         { background:linear-gradient(135deg,#FFF,#fff3e0); border:1px solid #d4af37; border-radius:8px; padding:12px 16px; font-size:13px; color:#555; line-height:1.8; margin-top:8px; }
html[data-theme="dark"] .hh-advice { background:linear-gradient(135deg,#1c1430,#2a1a10); border-color:#d4a8e8; color:#9a8ab8; }
.hh-advice strong  { color:#8B4513; }
html[data-theme="dark"] .hh-advice strong { color:#b894d8; }

.hh-disclaimer     { background:#f0f7ff; border:1px solid #90caf9; border-radius:6px; padding:10px 14px; font-size:12px; color:#333; text-align:center; margin-top:8px; line-height:1.6; }
html[data-theme="dark"] .hh-disclaimer { background:#101830; border-color:#2a4080; color:#e8ddf5; }

.hh-ending-quote   { background:#faf7f0; border:1px solid #e0d5c1; border-radius:8px; padding:14px 18px; font-size:12px; color:#8B4513; text-align:center; margin-top:10px; line-height:2; font-style:italic; }
html[data-theme="dark"] .hh-ending-quote { background:#1c1430; border-color:#4a3a5a; color:#d4a8e8; }

.qm-info-bar       { display:flex; align-items:center; gap:6px; font-size:12px; color:#555; padding:4px 12px; background:#faf7f0; border-radius:6px; margin-bottom:14px; }
html[data-theme="dark"] .qm-info-bar { background:#1c1430; color:#9a8ab8; }
.qm-info-bar b     { color:#004099; font-weight:600; }
html[data-theme="dark"] .qm-info-bar b { color:#b894d8; }
.qm-sep            { color:#ccc; }

b.hh-nick          { color:#004099; font-weight:700; }
html[data-theme="dark"] b.hh-nick { color:#b894d8; }

/* ================================================================
   六、对比表格
   ================================================================ */
.hh-compare-table                  { width:100%; border-collapse:collapse; font-size:12px; border:1px solid #e0d5c1; background:#FEFFF9; }
html[data-theme="dark"] .hh-compare-table { background:#100922; border-color:#4a3a5a; }
.hh-compare-table thead td         { background:#faf7f0; color:#d4af37; font-weight:700; text-align:center; padding:6px 8px; font-size:11px; }
html[data-theme="dark"] .hh-compare-table thead td { background:#201840; color:#d4a8e8; }
.hh-compare-table td               { padding:6px 8px; border-bottom:1px solid #eee; vertical-align:middle; }
html[data-theme="dark"] .hh-compare-table td { border-bottom-color:#1f1638; }
.hh-compare-table .hh-pal-name     { color:#004099; font-weight:600; white-space:nowrap; width:60px; }
html[data-theme="dark"] .hh-compare-table .hh-pal-name { color:#b894d8; }
.hh-compare-table .hh-pal-star     { color:#333; font-weight:600; text-align:center; }
html[data-theme="dark"] .hh-compare-table .hh-pal-star { color:#e8ddf5; }
.hh-compare-table .hh-pal-desc     { color:#999; font-size:11px; }
html[data-theme="dark"] .hh-compare-table .hh-pal-desc { color:#6e6290; }
.hh-compare-table .hh-extra-row td { color:#888; font-size:11px; }
html[data-theme="dark"] .hh-compare-table .hh-extra-row td { color:#5a4e78; }
.hh-compare-table .hh-extra-row td:first-child { color:#8B4513; }
html[data-theme="dark"] .hh-compare-table .hh-extra-row td:first-child { color:#b894d8; }

/* ================================================================
   七、星曜标签
   ================================================================ */
.sb-star-tag               { display:inline-flex; align-items:baseline; gap:2px; padding:3px 9px; border-radius:4px; font-size:14px; font-weight:bold; line-height:1.4; }
.sb-star-tag.t-main        { background:#fff0ef; color:#CC2200; border:1px solid #ffcccc; }
html[data-theme="dark"] .sb-star-tag.t-main { background:#2a1030; color:#d4a8e8; border-color:#3a1840; }
.sb-star-tag.t-ji          { background:#f3f0ff; color:#710078; border:1px solid #ddd0ff; }
html[data-theme="dark"] .sb-star-tag.t-ji   { background:#201a30; color:#d4a8e8; border-color:#2a2040; }
.sb-star-tag.t-sha         { background:#f5f5f5; color:#555; border:1px solid #ccc; }
html[data-theme="dark"] .sb-star-tag.t-sha  { background:#201840; color:#d4a8e8; border-color:#2a1f4a; }
.sb-star-tag.t-aux         { background:#f0f7ff; color:#0074e5; border:1px solid #c8dfff; }
html[data-theme="dark"] .sb-star-tag.t-aux  { background:#1a1830; color:#d4a8e8; border-color:#2a2840; }
.sb-star-tag .st-status    { font-size:11px; color:#999; font-weight:normal; margin-left:1px; }
html[data-theme="dark"] .sb-star-tag .st-status { color:#6e6290; }
.sb-star-tag .st-sihua      { font-size:12px; color:#CC2200; font-weight:bold; margin-left:1px; }
html[data-theme="dark"] .sb-star-tag .st-sihua { color:#e898b8; }

/* ================================================================
   八、评分徽章
   ================================================================ */
.hh-score-badge                    { display:inline-block; font-size:11px; padding:1px 6px; border-radius:10px; margin-left:4px; vertical-align:middle; }
.hh-score-badge.hh-score-good      { background:#f5f5f5; color:#2D8A2D; border:1px solid #a5d6a7; }
html[data-theme="dark"] .hh-score-badge.hh-score-good { background:#102a18; color:#d4a8e8; border-color:#2a6a2a; }
.hh-score-badge.hh-score-mid       { background:#fff; color:#f57f17; border:1px solid #ffe082; }
html[data-theme="dark"] .hh-score-badge.hh-score-mid  { background:#2a1f10; color:#d4a8e8; border-color:#6a5020; }
.hh-score-badge.hh-score-low       { background:#ffebee; color:#CC2200; border:1px solid #ef9a9a; }
html[data-theme="dark"] .hh-score-badge.hh-score-low  { background:#2a1018; color:#d4a8e8; border-color:#6a3030; }

/* ================================================================
   九、AI 解析内容
   ================================================================ */
.hh-ai-content                     { font-size:13px; color:#555; line-height:1.9; font-weight:300; }
html[data-theme="dark"] .hh-ai-content { color:#9a8ab8; }
.hh-ai-content h2,.hh-ai-content h3,.hh-ai-content h4,
.hh-ai-content strong,.hh-ai-content b { font-weight:400; }
.hh-ai-content .hh-section-title   { font-size:14px; font-weight:700; color:#004099; border-bottom:2px solid #d4af37; padding-bottom:4px; margin-bottom:10px; margin-top:16px; }
html[data-theme="dark"] .hh-ai-content .hh-section-title { color:#b894d8; border-bottom-color:#d4a8e8; }
.hh-ai-content .hh-section-title:first-child { margin-top:0; }
.hh-ai-content .hh-ana-block       { background:#faf7f0; border-radius:6px; padding:10px 14px; margin-bottom:10px; font-size:12px; color:#555; line-height:1.8; }
html[data-theme="dark"] .hh-ai-content .hh-ana-block { background:#1c1430; color:#9a8ab8; }
.hh-ai-content .hh-advice          { background:linear-gradient(135deg,#FFF,#fff3e0); border:1px solid #d4af37; border-radius:8px; padding:12px 16px; font-size:13px; color:#555; line-height:1.8; margin-top:10px; }
html[data-theme="dark"] .hh-ai-content .hh-advice { background:linear-gradient(135deg,#1c1430,#2a1a10); border-color:#d4a8e8; color:#9a8ab8; }
.hh-ai-content .hh-advice strong   { color:#8B4513; }
html[data-theme="dark"] .hh-ai-content .hh-advice strong { color:#b894d8; }
.hh-ai-signature                   { text-align:right; color:#d4af37; margin-top:16px; font-size:11px; }
html[data-theme="dark"] .hh-ai-signature { color:#d4a8e8; }

.hh-ai-h2     { font-size:16px; font-weight:700; color:#1A3D63; background:#faf7f0; padding:8px 14px; border-radius:6px; margin:18px 0 10px; border-left:4px solid #d4af37; overflow-wrap:break-word; word-break:break-word; }
html[data-theme="dark"] .hh-ai-h2 { color:#d4a8e8; background:#1c1430; border-left-color:#d4a8e8; }
.hh-ai-h3     { font-size:15px; font-weight:700; color:#1A3D63; border-left:3px solid #8a9bb5; padding:4px 10px; margin:14px 0 8px; overflow-wrap:break-word; word-break:break-word; }
html[data-theme="dark"] .hh-ai-h3 { color:#d4a8e8; border-left-color:#d4a8e8; }
.hh-ai-h4     { font-size:14px; font-weight:600; color:#1A3D63; margin:10px 0 6px; padding-left:4px; }
html[data-theme="dark"] .hh-ai-h4 { color:#d4a8e8; }
.hh-ai-hr     { border:0; height:1px; background:linear-gradient(to right,#e0d5c1,transparent); margin:16px 0; }
.hh-ai-li     { font-size:12px; color:#555; padding:2px 0 2px 16px; line-height:1.7; }
html[data-theme="dark"] .hh-ai-li { color:#9a8ab8; }

/* ================================================================
   十、八字解析专属 - 区块卡片
   ================================================================ */
.bz-section-card {
  background:#FEFFF9; border:1px solid #e0d5c1; border-radius:8px;
  padding:0; margin-bottom:12px; overflow:hidden;
}
html[data-theme="dark"] .bz-section-card { background:#100922; border-color:#4a3a5a; }

.bz-section-card-title {
  font-size:13px; font-weight:700; color:#1a3d63; padding:8px 12px;
  border-bottom:1px solid #faf7f0; display:flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,#faf7f0,#faf7f0);
}
html[data-theme="dark"] .bz-section-card-title { color:#d4a8e8; background:linear-gradient(135deg,#1c1430,#1c1430); border-bottom-color:#1c1430; }
.bz-section-card-title::before { content:''; display:inline-block; width:4px; height:16px; background:#d4af37; border-radius:2px; flex-shrink:0; }
html[data-theme="dark"] .bz-section-card-title::before { background:#d4a8e8; }

.bz-section-card-body {
  padding:12px 16px; font-size:13px; color:#555; line-height:1.9;
}
html[data-theme="dark"] .bz-section-card-body { color:#9a8ab8; }
.bz-section-card-body .bz-text     { font-size:13px; margin-bottom:4px; color:#555; }
html[data-theme="dark"] .bz-section-card-body .bz-text { color:#9a8ab8; }
.bz-section-card-body .bz-kv       { padding:2px 0; }
.bz-section-card-body .bz-list li  { margin:6px 0; line-height:1.9; }
.bz-section-card-body b            { color:#1A3D63; font-weight:600; }
html[data-theme="dark"] .bz-section-card-body b { color:#d4a8e8; }

/* -- accent 变体标题色 -- */
.bz-section-card.accent-gold .bz-section-card-title   { color:#8B4513; background:linear-gradient(135deg,#FEFFF9,#faf7f0); }
html[data-theme="dark"] .bz-section-card.accent-gold .bz-section-card-title   { color:#b894d8; background:linear-gradient(135deg,#100922,#1c1430); }
.bz-section-card.accent-gold .bz-section-card-title::before { background:#d4af37; }
html[data-theme="dark"] .bz-section-card.accent-gold .bz-section-card-title::before { background:#d4a8e8; }
.bz-section-card.accent-blue .bz-section-card-title   { color:#1a3d63; background:linear-gradient(135deg,#f5f5f5,#f5f5f5); }
html[data-theme="dark"] .bz-section-card.accent-blue .bz-section-card-title   { color:#d4a8e8; background:linear-gradient(135deg,#201840,#201840); }
.bz-section-card.accent-blue .bz-section-card-title::before { background:#3a6fb5; }
html[data-theme="dark"] .bz-section-card.accent-blue .bz-section-card-title::before { background:#d4a8e8; }
.bz-section-card.accent-teal .bz-section-card-title  { color:#2D8A2D; background:linear-gradient(135deg,#f3f9f7,#f5f5f5); }
html[data-theme="dark"] .bz-section-card.accent-teal .bz-section-card-title   { color:#5ab85a; background:linear-gradient(135deg,#102a20,#201840); }
.bz-section-card.accent-teal .bz-section-card-title::before { background:#2D8A2D; }
html[data-theme="dark"] .bz-section-card.accent-teal .bz-section-card-title::before { background:#5ab85a; }
.bz-section-card.accent-purple .bz-section-card-title { color:#3d2060; background:linear-gradient(135deg,#f7f4fa,#f1ebf6); }
html[data-theme="dark"] .bz-section-card.accent-purple .bz-section-card-title { color:#c098e0; background:linear-gradient(135deg,#1a1030,#201838); }
.bz-section-card.accent-purple .bz-section-card-title::before { background:#7b5ea7; }
html[data-theme="dark"] .bz-section-card.accent-purple .bz-section-card-title::before { background:#c098e0; }
.bz-section-card.accent-rose .bz-section-card-title   { color:#8B4513; background:linear-gradient(135deg,#fdf5f6,#f9edf0); }
html[data-theme="dark"] .bz-section-card.accent-rose .bz-section-card-title   { color:#b894d8; background:linear-gradient(135deg,#201020,#281828); }
.bz-section-card.accent-rose .bz-section-card-title::before { background:#c04060; }
html[data-theme="dark"] .bz-section-card.accent-rose .bz-section-card-title::before { background:#e898b8; }
.bz-section-card.accent-copper .bz-section-card-title { color:#8B4513; background:linear-gradient(135deg,#faf7f0,#faf7f0); }
html[data-theme="dark"] .bz-section-card.accent-copper .bz-section-card-title { color:#b894d8; background:linear-gradient(135deg,#1c1430,#1c1430); }
.bz-section-card.accent-copper .bz-section-card-title::before { background:#d4844a; }
html[data-theme="dark"] .bz-section-card.accent-copper .bz-section-card-title::before { background:#d4a8e8; }

/* -- 子标题 -- */
.bz-subtitle     { font-size:14px; font-weight:700; color:#1A3D63; margin:12px 0 8px; padding:4px 0 4px 10px; border-left:4px solid #3a6fb5; line-height:1.5; }
html[data-theme="dark"] .bz-subtitle { color:#d4a8e8; border-left-color:#d4a8e8; }
.bz-section-h3   { font-size:16px; font-weight:700; color:#004099; margin:16px 0 10px; padding:0 0 6px 0; border-bottom:2px solid #d4af37; }
html[data-theme="dark"] .bz-section-h3 { color:#b894d8; border-bottom-color:#d4a8e8; }
.bz-section-h2   { font-size:14px; font-weight:600; color:#333; margin:8px 0 4px; padding:0 0 4px 0; border-bottom:1px solid #e0d5c1; }
html[data-theme="dark"] .bz-section-h2 { color:#e8ddf5; border-bottom-color:#2a1f4a; }
.bz-guji-title   { font-size:13px; font-weight:700; color:#8B4513; margin:10px 0 6px; padding:4px 0 4px 10px; border-left:4px solid #d4af37; line-height:1.5; }
html[data-theme="dark"] .bz-guji-title { color:#b894d8; border-left-color:#d4a8e8; }

.bz-spacer       { height:10px; }
.bz-text         { font-size:13px; color:#555; line-height:1.85; padding:2px 0; }
html[data-theme="dark"] .bz-text { color:#9a8ab8; }
.bz-warn         { font-size:12px; color:#c0392b; background:#fff; border:1px solid #ccc; border-left:4px solid #CC2200; padding:8px 12px; border-radius:0 6px 6px 0; margin:8px 0; line-height:1.7; }
html[data-theme="dark"] .bz-warn { background:#181230; border-color:#2a1f4a; }

/* ================================================================
   十一、标签/值行 & 五行条
   ================================================================ */
.bz-kv            { display:flex; align-items:baseline; padding:3px 0; font-size:13px; line-height:1.8; }
.bz-kv-key        { color:#004099; font-weight:600; min-width:60px; flex-shrink:0; }
html[data-theme="dark"] .bz-kv-key { color:#b894d8; }
.bz-kv-key::after { content:'：'; color:#999; }
.bz-kv-val        { color:#555; }
html[data-theme="dark"] .bz-kv-val { color:#9a8ab8; }
.bz-kv-hl         { padding:6px 10px; background:#f5f5f5; border:1px solid #ccc; border-left:4px solid #004099; border-radius:0 6px 6px 0; margin:4px 0; }
html[data-theme="dark"] .bz-kv-hl { background:#201840; border-color:#2a1f4a; border-left-color:#b894d8; }
.bz-kv-hl .bz-kv-val { color:#1a3d63; font-weight:500; }
html[data-theme="dark"] .bz-kv-hl .bz-kv-val { color:#d4a8e8; }

.bz-wx-row        { display:flex; align-items:center; gap:8px; margin:3px 0; }
.bz-wx-label      { width:22px; font-size:13px; font-weight:600; color:#555; text-align:right; }
html[data-theme="dark"] .bz-wx-label { color:#9a8ab8; }
.bz-wx-bar        { flex:1; height:10px; background:#eee; border-radius:5px; overflow:hidden; }
html[data-theme="dark"] .bz-wx-bar { background:#1f1638; }
.bz-wx-fill       { height:100%; border-radius:5px; background:linear-gradient(90deg,#d4af37,#d4af37); }
html[data-theme="dark"] .bz-wx-fill { background:linear-gradient(90deg,#d4a8e8,#d4a8e8); }
.bz-wx-num        { width:18px; font-size:12px; color:#999; text-align:center; }
html[data-theme="dark"] .bz-wx-num { color:#6e6290; }

/* ================================================================
   十二、四柱行
   ================================================================ */
.bz-pillar        { display:flex; align-items:center; gap:6px; padding:4px 0; font-size:13px; flex-wrap:wrap; }
.bz-pillar-label  { color:#8B4513; font-weight:600; min-width:36px; }
html[data-theme="dark"] .bz-pillar-label { color:#b894d8; }
.bz-pillar-ganzhi { font-size:14px; font-weight:700; color:#333; background:#faf7f0; padding:1px 6px; border-radius:3px; }
html[data-theme="dark"] .bz-pillar-ganzhi { color:#e8ddf5; background:#1c1430; }
.bz-pillar-shishen { color:#004099; font-size:12px; }
html[data-theme="dark"] .bz-pillar-shishen { color:#b894d8; }
.bz-pillar-nayin   { color:#888; font-size:12px; }
html[data-theme="dark"] .bz-pillar-nayin { color:#5a4e78; }
.bz-pillar-desc    { color:#555; font-size:12px; font-style:italic; flex-basis:100%; margin-left:42px; }
html[data-theme="dark"] .bz-pillar-desc { color:#9a8ab8; }

/* ================================================================
   十三、信息卡片 & 流年卡片
   ================================================================ */
.bz-info-card    { display:inline-flex; align-items:center; background:#FEFFF9; border:1px solid #e0d5c1; border-radius:6px; padding:5px 10px; margin:3px 4px; font-size:12px; line-height:1.6; }
html[data-theme="dark"] .bz-info-card { background:#100922; border-color:#4a3a5a; }
.bz-info-label   { color:#8B4513; font-weight:600; margin-right:6px; min-width:28px; }
html[data-theme="dark"] .bz-info-label { color:#b894d8; }
.bz-info-label::after { content:'：'; color:#ccc; }
.bz-info-val     { color:#333; font-weight:500; }
html[data-theme="dark"] .bz-info-val { color:#e8ddf5; }
.bz-info-val b   { color:#004099; font-size:14px; }
html[data-theme="dark"] .bz-info-val b { color:#b894d8; }
.bz-info-sub     { color:#999; font-size:11px; margin-left:6px; }
html[data-theme="dark"] .bz-info-sub { color:#6e6290; }

.bz-year-card    { background:#FEFFF9; border:1px solid #e0d5c1; border-radius:8px; padding:8px 12px; margin:4px 0; line-height:1.9; }
html[data-theme="dark"] .bz-year-card { background:#100922; border-color:#4a3a5a; }
.bz-year-head    { font-size:13px; font-weight:600; color:#333; padding-bottom:4px; margin-bottom:2px; }
html[data-theme="dark"] .bz-year-head { color:#e8ddf5; }
.bz-year-head b  { color:#004099; }
html[data-theme="dark"] .bz-year-head b { color:#b894d8; }

/* ================================================================
   十四、四柱表格
   ================================================================ */
.bz-tbl-row            { display:flex; align-items:center; border-bottom:1px solid #e0d5c1; font-size:11px; line-height:1.3; }
html[data-theme="dark"] .bz-tbl-row { border-bottom-color:#2a1f4a; }
.bz-tbl-row:first-child { background:#faf7f0; font-weight:600; border-radius:4px 4px 0 0; font-size:10px; }
html[data-theme="dark"] .bz-tbl-row:first-child { background:#1c1430; }
.bz-tbl-cell            { flex:1; text-align:center; padding:3px 6px; color:#555; min-width:50px; }
html[data-theme="dark"] .bz-tbl-cell { color:#9a8ab8; }
.bz-tbl-label           { flex:0.5; min-width:38px; text-align:left; color:#8B4513; font-weight:600; padding:3px 6px; }
html[data-theme="dark"] .bz-tbl-label { color:#b894d8; }

/* ================================================================
   十五、摘要行
   ================================================================ */
.bz-summary-row        { display:flex; align-items:center; gap:6px 10px; flex-wrap:wrap; padding:4px 0; margin:2px 0; }
.bz-summary            { display:inline-flex; align-items:baseline; gap:2px; font-size:12px; white-space:nowrap; }
.bz-summary-key        { color:#8B4513; font-weight:600; }
html[data-theme="dark"] .bz-summary-key { color:#b894d8; }
.bz-summary-key::after { content:'：'; color:#ccc; }

/* ================================================================
   十六、彩色标签 & 阶段标签
   ================================================================ */
.bz-tag           { display:inline-flex; align-items:center; padding:2px 10px; border-radius:12px; font-size:12px; font-weight:500; margin:2px 4px; white-space:nowrap; }
.bz-tag-good      { background:#f5f5f5; color:#2D8A2D; border:1px solid #a5d6a7; }
html[data-theme="dark"] .bz-tag-good { background:#102a18; color:#d4a8e8; border-color:#2a6a2a; }
.bz-tag-bad       { background:#ffebee; color:#CC2200; border:1px solid #ef9a9a; }
html[data-theme="dark"] .bz-tag-bad { background:#2a1018; color:#d4a8e8; border-color:#6a3030; }
.bz-tag-warn      { background:#fff3e0; color:#CC2200; border:1px solid #ffcc80; }
html[data-theme="dark"] .bz-tag-warn { background:#2a1a10; color:#d4a8e8; border-color:#6a4a20; }
.bz-tag-info      { background:#e3f2fd; color:#0074E5; border:1px solid #90caf9; }
html[data-theme="dark"] .bz-tag-info { background:#101a30; color:#d4a8e8; border-color:#2a5090; }
.bz-tag-neutral   { background:#f5f5f5; color:#555; border:1px solid #ccc; }
html[data-theme="dark"] .bz-tag-neutral { background:#201840; color:#d4a8e8; border-color:#2a1f4a; }

.bz-stage-tag     { display:inline-block; padding:2px 10px; border-radius:12px; font-size:11px; font-weight:600; margin-right:6px; vertical-align:middle; }
.bz-stage-early   { background:#e3f2fd; color:#0074E5; border:1px solid #90caf9; }
html[data-theme="dark"] .bz-stage-early { background:#101a30; color:#d4a8e8; border-color:#2a5090; }
.bz-stage-youth   { background:#f5f5f5; color:#2D8A2D; border:1px solid #a5d6a7; }
html[data-theme="dark"] .bz-stage-youth { background:#102a18; color:#d4a8e8; border-color:#2a6a2a; }
.bz-stage-mid     { background:#fff3e0; color:#CC2200; border:1px solid #ffcc80; }
html[data-theme="dark"] .bz-stage-mid { background:#2a1a10; color:#d4a8e8; border-color:#6a4a20; }
.bz-stage-late    { background:#f3e5f5; color:#4a148c; border:1px solid #ce93d8; }
html[data-theme="dark"] .bz-stage-late { background:#1a1030; color:#d4a8e8; border-color:#4a3080; }

/* ================================================================
   十七、列表条目
   ================================================================ */
.bz-list                     { margin:4px 0; padding-left:18px; list-style:none; }
.bz-list li                  { font-size:13px; color:#555; line-height:1.85; padding:3px 8px; margin:2px 0; position:relative; border-radius:0 4px 4px 0; }
html[data-theme="dark"] .bz-list li { color:#d4a8e8; }
.bz-list li::before          { content:''; position:absolute; left:-14px; top:10px; width:5px; height:5px; background:#d4af37; border-radius:50%; }
html[data-theme="dark"] .bz-list li::before { background:#d4a8e8; }
.bz-list li.bz-li-good       { background:#f5f5f5; border-left:3px solid #2D8A2D; }
html[data-theme="dark"] .bz-list li.bz-li-good { background:#102a18; border-left-color:#3a6a3a; }
.bz-list li.bz-li-bad        { background:#fff3e0; border-left:3px solid #ff9800; }
html[data-theme="dark"] .bz-list li.bz-li-bad { background:#2a1018; border-left-color:#5a2838; }
.bz-list li.bz-li-info       { background:#e3f2fd; border-left:3px solid #0074E5; }
html[data-theme="dark"] .bz-list li.bz-li-info { background:#101a30; border-left-color:#2a4070; }
.bz-list li.bz-li-warn       { background:#ffebee; border-left:3px solid #E53935; }
html[data-theme="dark"] .bz-list li.bz-li-warn { background:#2a1018; border-left-color:#5a2838; }

/* ================================================================
   十八、状态消息 & 错误提示
   ================================================================ */
.bz-status-loading   { text-align:center; padding:40px; color:#999; }
html[data-theme="dark"] .bz-status-loading { color:#6e6290; }
.bz-status-error     { text-align:center; padding:40px; color:#c0392b; }
.bz-status-ai-loading { color:#999; }
html[data-theme="dark"] .bz-status-ai-loading { color:#6e6290; }
.bz-ai-error         { color:#c0392b; }
.bz-ai-interrupted   { color:#c0392b; }
.bz-error-detail     { color:#999; word-break:break-all; }
html[data-theme="dark"] .bz-error-detail { color:#6e6290; }

/* ================================================================
   十九、合盘布局
   ================================================================ */
.hehun-result-row               { display:flex; gap:8px; align-items:flex-start; }
.hehun-result-row .hehun-left   {}
.hehun-result-row .hehun-right  {}
@media(max-width:900px) { .hehun-result-row { flex-direction:column; } }

/* ================================================================
   二十、价格弹窗（仅局部覆盖，完整样式见 common.css）
   ================================================================ */
.bz-price-body { padding:8px 14px 14px; }
