/* ===== 工具平台公共样式（八字/姓名/号码/风水多模块共用） ===== */

/* 布局 */
.bazi-layout { display: flex; gap: 24px; margin-top: 16px; align-items: flex-start; }
.bazi-main { flex: 1; min-width: 0; }

/* 筛选卡片 */
.filter-card {
    background: var(--card-bg); border-radius: var(--radius);
    padding: 20px 24px; border: 1px solid var(--border-color);
    box-shadow: 0 2px 12px rgba(0,0,0,0.04); margin-bottom: 20px;
}
.filter-card .filter-title {
    font-size: 1.2rem; font-weight: 700; color: var(--sun-red);
    margin-bottom: 14px; display: flex; align-items: center; gap: 10px;
}
.filter-card .filter-title .badge {
    font-size: 0.6rem; background: var(--sun-red-light); color: var(--sun-red);
    padding: 2px 12px; border-radius: 20px; font-weight: 400;
}
.filter-input-row {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
    padding-bottom: 12px; border-bottom: 1px dashed var(--border-color); margin-bottom: 12px;
}
/* 取消输入框/操作行的滚动条（overflow 会裁剪下拉浮层，且出现横向滚动条影响体验），
   窄屏改为自动换行展示 */
.filter-input-row.nowrap { flex-wrap: nowrap; }
.filter-group {
    display: flex; align-items: center; gap: 4px 10px; flex-wrap: nowrap;
}
.filter-group .filter-label {
    font-size: 0.85rem; font-weight: 500; color: var(--text-secondary); white-space: nowrap;
}
.filter-group .radio-group {
    display: flex; gap: 8px;
    padding: 3px 12px; border-radius: 6px; border: 1px solid var(--border-color);
}
.filter-group .radio-group label {
    display: flex; align-items: center; gap: 4px; font-size: 0.85rem;
    color: var(--text-primary); cursor: pointer; padding: 2px 0; white-space: nowrap;
}
.filter-group .radio-group input[type="radio"] {
    accent-color: var(--sun-red); width: 14px; height: 14px; margin: 0;
}
.filter-group select,
.filter-group input[type="text"],
.filter-group input[type="date"],
.filter-group input[type="datetime-local"],
.filter-group input[type="time"],
.filter-group input[type="month"],
.filter-group input[type="number"] {
    padding: 4px 10px; border: 1px solid var(--border-color); border-radius: 6px;
    font-size: 0.85rem; background: var(--bg-light); color: var(--text-primary); outline: none; height: 34px; transition: 0.2s; box-sizing: border-box;
}
.filter-group select:focus,
.filter-group input[type="text"]:focus,
.filter-group input[type="date"]:focus,
.filter-group input[type="datetime-local"]:focus,
.filter-group input[type="time"]:focus,
.filter-group input[type="month"]:focus,
.filter-group input[type="number"]:focus {
    border-color: var(--sun-red); box-shadow: 0 0 0 3px rgba(235,19,19,0.06);
}
/* 复选框 / 单选框 在筛选组内统一用朱砂强调色，与各模块一致 */
.filter-group input[type="checkbox"] {
    accent-color: var(--sun-red); width: 15px; height: 15px; margin: 0 4px 0 0; cursor: pointer; vertical-align: -2px;
}
.filter-group input[type="radio"] {
    accent-color: var(--sun-red); width: 14px; height: 14px; margin: 0 4px 0 0; cursor: pointer; vertical-align: -1px;
}
.filter-group .select-group { display: flex; align-items: center; gap: 2px; }
.filter-group .select-group select { min-width: 60px; }
.filter-group .select-group .unit { font-size: 0.75rem; color: var(--text-muted); margin-right: 2px; }
/* 择日筛选：操作按钮内联于「结束日期」行最右侧（与 bazi/analyze.html 检索栏同观感） */
.filter-actions-inline {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 6px;
    margin-left: auto; flex-shrink: 0;
}
/* 窄屏：日期行换行后，操作按钮整行右对齐，不与下拉挤压 */
@media (max-width: 1100px) {
    .filter-actions-inline { margin-left: 0; width: 100%; justify-content: flex-end; }
}
.filter-actions-row {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: 8px 12px;
    /* 与 .filter-title 的 14px 形成统一行距节奏（各工具模块搜索栏通用） */
    margin-bottom: 14px;
}
/* 宽屏同样允许换行：字段较多时按钮不再溢出裁剪（如择日筛选的「AI 择日分析」按钮） */
@media (min-width: 1101px) {
    .filter-actions-row { row-gap: 10px; }
}
/* 窄屏不再横向滚动，改为换行，保证按钮与下拉始终完整可见、可点击 */
@media (max-width: 1100px) {
    .filter-input-row.nowrap { flex-wrap: wrap; }
    .filter-actions-row { flex-wrap: wrap; }
}
.filter-actions-row .analysis-tabs { display: flex; flex-wrap: nowrap; gap: 4px; flex-shrink: 0; }
.filter-actions-row .analysis-tabs .tag-btn {
    padding: 4px 14px; border-radius: 20px; border: 1px solid var(--border-color);
    background: #fff; font-size: 0.8rem; color: var(--text-secondary); cursor: pointer;
    transition: 0.2s; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px;
    text-decoration: none; user-select: none;
}
.filter-actions-row .analysis-tabs .tag-btn:hover { border-color: var(--sun-red); color: var(--sun-red); }
.filter-actions-row .analysis-tabs .tag-btn.active { background: var(--sun-red); color: #fff; border-color: var(--sun-red); }
.analysis-tabs .tag-btn.disabled{pointer-events:none;opacity:.5}
.filter-actions-row .action-buttons { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; flex-shrink: 0; }
.btn-sm {
    padding: 5px 16px; border-radius: 30px; border: none; font-size: 0.85rem;
    font-weight: 600; cursor: pointer; transition: 0.2s; white-space: nowrap;
    height: 34px; display: inline-flex; align-items: center; gap: 4px;
    align-self: center; flex-shrink: 0;
}
.btn-sm.btn-primary { background: var(--sun-red); color: #fff; }
.btn-sm.btn-primary:hover { background: var(--sun-red-dark); transform: translateY(-1px); }
.btn-sm.btn-primary:disabled,.btn-sm.disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.btn-sm.btn-outline { background: #fff; color: var(--text-secondary); border: 1px solid var(--border-color); }
.btn-sm.btn-outline:hover { border-color: var(--sun-red); color: var(--sun-red); }
.btn-sm.btn-vip { background: linear-gradient(135deg, #f39c12, #f1c40f); color: #fff; }

/* 结果面板 */
.result-panel {
    background: var(--card-bg); border-radius: var(--radius);
    border: 1px solid var(--border-color); box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    overflow: hidden; min-height: 400px;
}
.result-panel .result-header {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
    gap: 8px; padding: 14px 20px 10px; border-bottom: 2px solid var(--border-color); background: var(--bg-light);
}
.result-panel .result-header .result-title { font-size: 1.1rem; font-weight: 700; color: var(--sun-red); display: inline-flex; align-items: center; }
.result-panel .result-header .result-count { font-size: 0.85rem; color: var(--text-muted); }
/* 结果面板：wrapper 用 flex 纵向布局，让 #resultBody 撑满面板高度，
   避免「结果框下方留一块空白」的割裂感（空态可整体垂直居中） */
.result-wrapper { padding: 16px 20px 20px; min-height: 440px; display: flex; flex-direction: column; }
.empty-state {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 40px 20px; color: var(--text-muted);
}
.empty-state .icon { font-size: 3.5rem; display: block; line-height: 1; margin-bottom: 18px; }
.empty-state .text { font-size: 1.02rem; font-weight: 600; color: var(--text-secondary); line-height: 1.8; }
.empty-state .sub { font-size: 0.88rem; color: var(--text-muted); margin-top: 4px; line-height: 1.8; }

/* ===== 易问品牌标记（替代原 emoji 图标：🧠 等） ===== */
.yw-mark {
    width: 1.2em; height: 1.2em; display: inline-block;
    vertical-align: -0.26em; margin-right: 5px;
    border-radius: 50%; flex-shrink: 0;
}
/* 空态大标记：柔和光环 + 投影，作为「品牌印章」 */
.yw-mark-lg {
    width: 76px; height: 76px; margin: 0;
    box-shadow: 0 8px 22px rgba(180, 60, 40, .16), 0 0 0 8px rgba(235, 19, 19, .045);
}
/* 与文字并排时的对齐容器（flex 行内元素，避免 emoji 基线错位） */
.yw-mark-row { display: inline-flex; align-items: center; }
/* 空态品牌署名（把 logo 与「易问」绑定，让标记不被误读） */
.empty-state .es-brand {
    display: inline-flex; align-items: center; margin-top: 16px;
    padding: 4px 14px; border-radius: 20px;
    background: rgba(235, 19, 19, .05); color: var(--sun-red-dark, #b31212);
    font-size: .76rem; letter-spacing: .3px;
}
/* 空态下让内容在结果框内垂直居中（仅当直接子元素是空态时生效，不影响 AI 流式内容） */
#resultBody:has(> .empty-state), #liveContent:has(> .empty-state) {
    display: flex; flex-direction: column; justify-content: center;
}
.ai-placeholder { text-align: center; padding: 50px 20px; color: var(--text-muted); }
.ai-placeholder .icon { font-size: 3.5rem; display: block; margin-bottom: 12px; }
.ai-placeholder .title { font-size: 1.2rem; color: var(--text-secondary); font-weight: 600; }
.ai-placeholder .desc { font-size: 0.9rem; margin-top: 4px; }

/* 流式动画 */
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ==================== AI输出HTML CSS类名体系（绝对不能删） ==================== */
.bz-wrap{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#2c2b28;line-height:1.85}
.bz-h2{font-size:1.2rem;color:#c40e0e;border-bottom:2px solid #f0e0d0;padding-bottom:8px;margin:18px 0 12px;font-weight:700}
.bz-h3{font-size:1.05rem;color:#8b4513;margin:14px 0 8px;font-weight:600}
.bz-h4{font-size:.95rem;color:#5a4a3a;margin:10px 0 6px;font-weight:600}
.bz-card{background:#fff8f5;border-radius:10px;padding:12px 16px;margin:8px 0;border:1px solid #f0e0d0;display:block}
.bz-quote{background:#fefaf5;border-left:4px solid #c8a87c;padding:8px 14px;margin:8px 0;border-radius:0 8px 8px 0;color:#5a4a3a;font-style:italic;font-size:.9rem;line-height:1.7;display:block}
.bz-table{width:100%!important;border-collapse:collapse!important;font-size:.85rem!important;margin:8px 0!important;display:table!important;table-layout:auto}
.bz-table th,.bz-table td{padding:8px 10px!important;border:1px solid #e8d8c0!important;text-align:center!important;vertical-align:middle!important;word-break:break-word}
.bz-table th{background:#f8e8d8!important;font-weight:600!important;color:#5a4a3a}
.bz-th{background:#c40e0e!important;color:#fff!important;padding:8px 10px!important;text-align:center!important;font-weight:600!important;display:table-cell!important}
.bz-td{border:1px solid #e8d8c0!important;padding:8px 10px!important;text-align:center!important;display:table-cell!important}
.bz-td-l{text-align:left!important;padding-left:12px!important;display:table-cell}
.bz-cur td,.bz-cur .bz-td{background:#e8f5e9!important;font-weight:600;color:#2e7d32}
.bz-cur .bz-th,.bz-cur th{background:#4caf50!important;color:#fff!important}
.disabled-input{background:#f5f5f5!important;color:#999!important;cursor:not-allowed!important;opacity:.7}
.bz-grid2,.bz-grid3{display:block;padding:0;border:none;background:transparent}
/* 综合评分专用 - 6列 */
.bz-score{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:#fff8f5;border-radius:10px;margin:8px 0}
.bz-score-item{flex:1;min-width:140px;background:#fff;border-radius:8px;padding:10px;text-align:center;border:1px solid #f0e0d0}
.bz-score-item .score-label{font-size:.75rem;color:#6c6a66}
.bz-score-item .score-value{font-size:1.4rem;font-weight:700;color:#c40e0e;margin:4px 0}
.bz-score-item .score-comment{font-size:.72rem;color:#64748b}
.bz-score-item.good .score-value{color:#2e7d32}
.bz-score-item.mid .score-value{color:#e65100}
.bz-score-item.bad .score-value{color:#c62828}
.bz-gi{display:flex;flex-direction:column;padding:3px 0}
.bz-gl{font-size:.75rem;color:#6c6a66}
.bz-gv{font-size:.95rem;font-weight:500;color:#2c2b28}
.bz-sy{color:#2e7d32;font-weight:600}.bz-ss{color:#1565c0;font-weight:600}.bz-sg{color:#c62828;font-weight:600}.bz-sc{color:#e65100;font-weight:600}.bz-sb{color:#6a1b9a;font-weight:600}
.bz-g{color:#2e7d32;font-weight:600}.bz-b{color:#e65100;font-weight:600}.bz-st{color:#c40e0e;font-weight:600}
.bz-hr{border:none;border-top:1px dashed #f0e0d0;margin:12px 0}
.bz-ds{margin-top:16px;padding:10px;background:#fcf8f6;border-radius:8px;text-align:center;font-size:.82rem;color:#6c6a66}
.bz-tk{margin-top:8px;padding:4px 12px;background:#f0f4f8;border-radius:20px;text-align:right;font-size:.75rem;color:#89a}
.bz-hl{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:1px solid #f39c12;border-radius:12px;padding:2px 2px;margin:14px 0}
.bz-hlt{font-size:.75rem;font-weight:700;background:#f39c12;color:#fff;padding:2px 12px;border-radius:10px;display:inline-block;margin-bottom:10px}
.bz-act{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;background:#fff;border:1px solid #f0e0d0;border-radius:10px;margin:6px 0}
.bz-ai{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}
.bz-ab{flex:1}
.bz-at{font-weight:600;color:#2c2b28;margin-bottom:4px;font-size:.9rem}
.bz-ad{font-size:.85rem;color:#64748b;line-height:1.6}
.bz-tgg{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:1px 8px;border-radius:8px;font-size:.75rem}
.bz-tgb{display:inline-block;background:#fce4ec;color:#c62828;padding:1px 8px;border-radius:8px;font-size:.75rem}
.bz-dym{display:flex;flex-wrap:wrap;gap:24px 40px;padding:8px 0 12px;border-bottom:1px dashed #f0e0d0;margin-bottom:12px}
.bz-dymi{display:flex;flex-direction:column}
.bz-dyml{font-size:.7rem;color:#6c6a66}
.bz-dymv{font-size:1rem;font-weight:600;color:#2c2b28}
.bz-psy{background:linear-gradient(135deg,#f0f4f8,#e8eef5);border:1px solid #d0dae8;border-radius:10px;padding:12px 16px;margin-bottom:8px}
.bz-psyt{font-weight:700;color:#4a6fa5;margin-bottom:6px;font-size:.95rem}
.bz-psyc{font-size:.9rem;line-height:1.7;color:#2c2b28}
.bz-gb{font-size:1.2rem;font-weight:700;color:#c40e0e}
.bz-cs{font-size:.78rem;color:#6c6a66}
.bz-ir{display:flex;flex-wrap:wrap;gap:8px 20px;padding:8px 12px;background:#fff8f5;border-radius:8px;font-size:.85rem;color:#64748b;margin-bottom:10px}
.bz-p{font-size:.9rem;margin:6px 0;line-height:1.8}
.bz-info-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px 16px;background:#fff8f5;border-radius:12px;margin-bottom:16px;border:1px solid #f0e0d0}

/* 基本信息条（流式回显，八字/姓名等模块共用） */
.bazi-header-bar {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;
    padding: 10px 16px; background: var(--bg-light); border-radius: 12px;
    margin-bottom: 16px; border: 1px solid var(--border-color);
}
.bazi-header-bar .bazi-gender { font-weight: 600; font-size: 1rem; }
.bazi-header-bar .bazi-year { color: var(--text-secondary); font-size: 0.9rem; }
.bazi-header-bar .bazi-tag { background: var(--sun-red); color: #fff; font-size: 0.7rem; padding: 2px 14px; border-radius: 12px; font-weight: 500; margin-left: auto; }

/* 侧边栏（宽度与模块首页 learn.css 统一为 340px） */
.bazi-sidebar { flex: 0 0 340px; max-width: 340px; display: flex; flex-direction: column; gap: 16px; }
.bazi-sidebar .sidebar-card {
    background: var(--card-bg); border-radius: var(--radius); padding: 16px 18px 18px;
    border: 1px solid var(--border-color); box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.bazi-sidebar .sidebar-card .card-title {
    font-size: 0.95rem; font-weight: 700; color: var(--sun-red-dark);
    margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center;
}
.bazi-sidebar .sidebar-card .card-title .more { font-size: 0.7rem; font-weight: 400; color: var(--text-muted); text-decoration: none; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.tool-grid .tool-item {
    display: flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 8px;
    border: 1px solid var(--border-color); background: var(--bg-light);
    text-decoration: none; color: var(--text-secondary); font-size: 0.78rem; transition: 0.2s;
}
.tool-grid .tool-item:hover { border-color: var(--sun-red); color: var(--sun-red); background: #fff; }
/* 多选标签样式由 naming/common.css 提供（避免冲突） */
.sidebar-list { display:flex;flex-direction:column;gap:4px; }
.bazi-list-item {
    display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;
    text-decoration:none;transition:.15s;color:var(--text-secondary);font-size:.8rem;line-height:1.5;
}
.bazi-list-item:hover { background:var(--bg-light);color:var(--sun-red); }
.bazi-list-item .list-icon { flex-shrink:0;width:20px;text-align:center;font-weight:600;color:var(--sun-red);font-size:.8rem; }
.bazi-list-item .list-text { flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

/* 响应式 */
@media (max-width: 992px) {
    .bazi-layout { flex-direction: column; }
    .bazi-sidebar { flex: none; width: 100%; flex-direction: row; flex-wrap: wrap; }
    .bazi-sidebar .sidebar-card { flex: 1; min-width: 200px; }
}
@media (max-width: 768px) {
    .filter-input-row { flex-direction: column; align-items: stretch; gap: 4px; }
    .filter-actions-row { flex-wrap: wrap; }
    .bazi-header-bar { gap: 8px 12px; padding: 8px 12px; }
    .bazi-sidebar .sidebar-card { min-width: 150px; }
    .result-wrapper { padding: 12px 14px; }
}
@media (max-width: 480px) {
    .filter-card { padding: 12px 14px; }
    .result-panel .result-header { padding: 10px 14px; }
    .bazi-sidebar .sidebar-card { min-width: 100%; }
    .filter-group .select-group select { min-width: 44px; font-size: 0.75rem; }
}

/* ==================== AI 实时生成内容排版（#resultBody / #liveContent 等容器） ==================== */
/* 容器：仿宣纸书卷底色，承载流式 HTML 片段 */
#resultBody, #liveContent, .result-body, .ai-result, .bz-wrap, .gm-ai-card {
    color: var(--text-primary);
    font-size: .92rem;
    line-height: 1.9;
    letter-spacing: .2px;
    word-break: break-word;
    overflow-wrap: anywhere;
}
#resultBody, #liveContent {
    background: linear-gradient(180deg, #fffdf9, #fdf7ee);
    border: 1px solid #f3e7d6;
    border-radius: 14px;
    /* 由 8px/14px 放宽到 14px/18px：AI 正文不再贴边，空态留白更舒展 */
    padding: 14px 18px;
    margin-top: 2px;
    /* 关键：钳制 AI 注入内容，防止整页样式被撑破 */
    position: relative;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
    /* 撑满 .result-wrapper（flex 纵向容器）剩余高度；非 flex 父级下无副作用 */
    flex: 1 1 auto;
    min-height: 220px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
}
/* 防止 AI 生成内容里的宽表格/图片/长串把整页撑宽（样式冲突根因之一） */
#resultBody *, #liveContent *, .result-body *, .ai-result *, .bz-wrap *, .gm-ai-card * {
    max-width: 100%;
    box-sizing: border-box;
}
#resultBody img, #liveContent img, #resultBody video, #liveContent video,
.result-body img, .ai-result img, .bz-wrap img, .gm-ai-card img {
    max-width: 100% !important;
    height: auto !important;
}
/* 兜底：杜绝任何 stray 绝对定位元素逃逸出结果区 */
#resultBody [style*="position:fixed"], #liveContent [style*="position:fixed"],
#resultBody [style*="position: absolute"], #liveContent [style*="position: absolute"] {
    position: static !important;
}

/* —— 标题层级：朱砂点缀 + 暖金棕，层级分明 —— */
#resultBody h1, #liveContent h1, .result-body h1, .ai-result h1, .bz-wrap h1, .gm-ai-card h1 {
    font-size: 1.5rem; font-weight: 800; color: #5a3a1a; line-height: 1.4;
    margin: 20px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--sun-red-light);
}
#resultBody h2, #liveContent h2, .result-body h2, .ai-result h2, .bz-wrap h2, .gm-ai-card h2 {
    font-size: 1.26rem; font-weight: 700; color: #6b4423; line-height: 1.45;
    margin: 18px 0 10px; padding-left: 12px; border-left: 4px solid var(--sun-red);
}
#resultBody h3, #liveContent h3, .result-body h3, .ai-result h3, .bz-wrap h3, .gm-ai-card h3 {
    font-size: 1.1rem; font-weight: 700; color: #7a5230; line-height: 1.5; margin: 15px 0 8px;
}
#resultBody h4, #liveContent h4, .result-body h4, .ai-result h4, .bz-wrap h4, .gm-ai-card h4 {
    font-size: 1rem; font-weight: 700; color: #8a6238; margin: 13px 0 6px;
}
#resultBody h5, #liveContent h5, .result-body h5, .ai-result h5, .bz-wrap h5, .gm-ai-card h5,
#resultBody h6, #liveContent h6, .result-body h6, .ai-result h6, .bz-wrap h6, .gm-ai-card h6 {
    font-size: .95rem; font-weight: 700; color: var(--text-secondary); margin: 11px 0 6px;
}

/* —— 段落 —— */
#resultBody p, #liveContent p, .result-body p, .ai-result p, .bz-wrap p, .gm-ai-card p {
    margin: 10px 0; text-align: justify; text-justify: inter-ideograph;
}

/* —— 行内强调 —— */
#resultBody strong, #resultBody b, #liveContent strong, #liveContent b,
.result-body strong, .result-body b, .ai-result strong, .ai-result b,
.bz-wrap strong, .bz-wrap b, .gm-ai-card strong, .gm-ai-card b {
    color: var(--sun-red); font-weight: 700;
}
#resultBody em, #resultBody i, #liveContent em, #liveContent i,
.result-body em, .result-body i, .ai-result em, .ai-result i,
.bz-wrap em, .bz-wrap i, .gm-ai-card em, .gm-ai-card i {
    font-style: italic; color: #8a6238;
}
/* 行内标签：AI 常以 <span> 标注五行、吉凶等关键词；带行内 color 时给予温润底色与朱砂字 */
#resultBody span, #liveContent span, .result-body span, .ai-result span, .bz-wrap span, .gm-ai-card span { color: inherit; }
#resultBody span[style*="color"], #liveContent span[style*="color"],
.result-body span[style*="color"], .ai-result span[style*="color"],
.bz-wrap span[style*="color"], .gm-ai-card span[style*="color"] {
    padding: 0 3px; border-radius: 4px; font-weight: 600; background: rgba(235,19,19,.06);
}

/* —— 链接 —— */
#resultBody a, #liveContent a, .result-body a, .ai-result a, .bz-wrap a, .gm-ai-card a {
    color: var(--sun-red); text-decoration: underline; text-underline-offset: 2px;
}

/* —— 分隔线 —— */
#resultBody hr, #liveContent hr, .result-body hr, .ai-result hr, .bz-wrap hr, .gm-ai-card hr {
    border: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--border-color), transparent);
    margin: 16px 0;
}

/* —— 行内代码 —— */
#resultBody code, #liveContent code, .result-body code, .ai-result code, .bz-wrap code, .gm-ai-card code {
    background: #f3ece2; border: 1px solid #e8d8c0; border-radius: 4px; padding: 1px 5px; font-size: .88em;
    font-family: 'SFMono-Regular', Consolas, monospace; color: #6b4423;
}

/* ==================== AI流式输出表格/列表回退样式（兼容未带 bz-table 类的裸 table，并纳入 #resultBody） ==================== */
#liveContent table, .ai-result table, .result-body table, .bz-wrap table, .gm-ai-card table, #resultBody table {
    width: 100%!important; border-collapse: collapse!important; font-size: .85rem!important;
    margin: 10px 0!important; table-layout: auto!important; display: table!important;
    background: #fff; box-shadow: 0 1px 4px rgba(120,80,40,.06); border-radius: 8px; overflow: hidden;
}
#liveContent table th, #liveContent table td,
.ai-result table th, .ai-result table td,
.result-body table th, .result-body table td,
.bz-wrap table th, .bz-wrap table td,
.gm-ai-card table th, .gm-ai-card table td,
#resultBody table th, #resultBody table td {
    padding: 8px 10px!important; border: 1px solid #e8d8c0!important;
    text-align: center!important; vertical-align: middle!important; word-break: break-word!important;
}
#liveContent table th, .ai-result table th, .result-body table th, .bz-wrap table th, .gm-ai-card table th, #resultBody table th {
    background: #f8e8d8!important; font-weight: 600!important; color: #5a4a3a!important;
}
#liveContent ul, .ai-result ul, .result-body ul, .bz-wrap ul, #resultBody ul { padding-left: 22px!important; list-style: disc!important; margin: 8px 0!important; }
#liveContent ol, .ai-result ol, .result-body ol, .bz-wrap ol, #resultBody ol { padding-left: 22px!important; list-style: decimal!important; margin: 8px 0!important; }
#liveContent li, .ai-result li, .result-body li, .bz-wrap li, #resultBody li { margin: 4px 0!important; }
#liveContent blockquote, .ai-result blockquote, .result-body blockquote, #resultBody blockquote {
    border-left: 4px solid #c8a87c!important; padding: 10px 16px!important; margin: 10px 0!important;
    background: #fefaf5!important; border-radius: 0 8px 8px 0!important; color: #5a4a3a!important; font-style: italic!important;
}

/* ===== 全站测算界面按钮统一：操作按钮(开始分析/清空/导出等)与分类 tab 同尺寸 ===== */
.filter-actions-row .analysis-tabs .tag-btn,
.gm-actions-row .analysis-tabs .tag-btn,
#filterTags .tag-btn {
    height: 30px; padding: 0 14px; border-radius: 20px;
    box-sizing: border-box; line-height: 1; font-size: 0.8rem;
    display: inline-flex; align-items: center;
}
.filter-actions-row .action-buttons .btn-sm,
.gm-actions-row .action-buttons .btn-sm,
.gm-actions-row .gm-btn-area .btn-sm {
    height: 30px; padding: 0 14px; font-size: 0.8rem; font-weight: 600;
    border-radius: 20px; box-sizing: border-box; line-height: 1;
}

/* ============================================================
   区块标题 / 底部三列（学习中心文章 · 本类型相关文件 · 本类型相关论坛）
   由 bazi-common.css 迁移而来（2026-09-08），供全部 tools 模块共享，避免跨模块 CSS 污染。
   ============================================================ */
/* ---------- 区块标题 ---------- */
.bz-section-head, .bz-relate-head { display: flex; align-items: baseline; gap: 10px; margin: 22px 0 12px; }
.bz-section-head .bz-h, .bz-relate-head .bz-h { font-size: 1.1rem; font-weight: 800; color: var(--text-primary, #1a1a1a); position: relative; padding-left: 12px; }
.bz-section-head .bz-h::before, .bz-relate-head .bz-h::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 18px; background: var(--sun-red, #eb1313); border-radius: 3px; }
.bz-section-head .bz-sub, .bz-relate-head .bz-sub { font-size: .8rem; color: var(--text-muted); }
.bz-section-head .bz-more { margin-left: auto; font-size: .8rem; color: var(--sun-red, #eb1313); text-decoration: none; }

/* ---------- 底部三列：文章 / 论坛 / 基础知识 ---------- */
.bz-bottom { margin-top: 14px; }
.bz-three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 4px; }
.bz-three-col .bz-col-card {
    background: var(--card-bg, #fff); border: 1px solid var(--border-color, #eee);
    border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column;
}
.bz-three-col .bz-col-card .card-title {
    display: flex; align-items: center; font-weight: 800; color: var(--text-primary, #1a1a1a);
    font-size: .98rem; padding-bottom: 10px; margin-bottom: 8px;
    border-bottom: 1px dashed var(--border-color, #eee);
}
.bz-three-col .bz-col-card .card-title .more { margin-left: auto; font-size: .76rem; color: var(--sun-red, #eb1313); text-decoration: none; font-weight: 600; }
.bz-link-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.bz-link-list li a { display: flex; align-items: center; gap: 9px; text-decoration: none; padding: 5px 0; transition: .15s; }
.bz-link-list li a:hover .lk-text { color: var(--sun-red, #eb1313); }
.bz-link-list .lk-idx {
    flex-shrink: 0; width: 20px; height: 20px; border-radius: 6px; font-size: .72rem; font-weight: 700;
    color: var(--sun-red, #eb1313); background: #fff4f4; display: flex; align-items: center; justify-content: center;
}
.bz-link-list .lk-text {
    flex: 1; min-width: 0; font-size: .86rem; color: var(--text-primary, #1a1a1a);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.5;
}
.bz-col-empty { padding: 22px 0; text-align: center; color: var(--text-muted); font-size: .82rem; }

@media (max-width: 1100px) {
    .bz-three-col { grid-template-columns: 1fr; }
}
