/* ═══════════════════════════════════════════════
 * xp-jiexi — 星盘解析 基础样式（共享）
 * ═══════════════════════════════════════════════ */

/* ── 卡片 ── */
.card { background:var(--color-panel); border-radius:8px; border:1px solid var(--color-brand); box-shadow:0 1px 6px rgba(0,0,0,.08); padding:16px; margin-bottom:12px; }
.result-card { background:var(--color-panel); border:1px solid var(--color-gold); border-radius:8px; padding:16px 20px; margin-bottom:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); line-height:1.7; color:var(--color-text); }

/* ── 表单行 ── */
.form-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.lbl { color:var(--color-brand); font-weight:300; white-space:nowrap; min-width:52px; font-size:12px; }
.seeker-input { padding:3px 6px; border:1px solid var(--color-border); border-radius:4px; font-size:13px; width:100px; }
.date-input { padding:3px 4px; border:1px solid var(--color-border); border-radius:4px; font-size:13px; text-align:center; width:36px; }
.date-input.year { width:48px; }
.dt-suf { font-size:12px; color:var(--color-text-muted); }
.btn-now { padding:3px 10px; font-size:12px; border:1px solid var(--color-brand); background:var(--color-brand); color:#fff; border-radius:4px; cursor:pointer; }

/* ── 结果区 ── */
.xpjp-result-row { max-width:780px; margin:0 auto; }
.xpjp-ai-row { max-width:780px; margin:12px auto; }

/* ── 顶部栏 ── */
.xp-top-bar { display:flex; align-items:center; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.xp-type-badge { background:var(--color-brand); color:#fff; font-size:12px; padding:2px 10px; border-radius:12px; font-weight:600; }
.xp-pair { font-size:13px; color:var(--color-text-muted); margin-left:auto; }

/* ── 总览卡片 ── */
.xp-overview-card { background:linear-gradient(135deg, var(--color-subtle), var(--color-panel)); border-radius:10px; padding:14px 18px; margin-bottom:18px; border-left:4px solid var(--color-gold); }
.xp-overview-title { font-size:15px; font-weight:700; color:var(--color-gold); margin-bottom:6px; }
.xp-overview-text { font-size:13px; color:var(--color-text-sec); line-height:1.8; }

/* ── 区块 ── */
.xp-section { margin-bottom:20px; }
.xp-section-title { font-size:15px; font-weight:700; color:var(--color-gold); border-bottom:2px solid var(--color-gold); padding-bottom:6px; margin-bottom:12px; }

/* ── 卡片 ── */
.xp-card { margin:6px 0; padding:12px 14px; background:var(--color-panel); border-radius:8px; border-left:5px solid var(--xp-accent, #3498db); box-shadow:0 1px 3px rgba(0,0,0,.04); }
.xp-card-header { font-weight:700; font-size:14px; color:var(--color-text); margin-bottom:6px; line-height:1.5; }
.xp-card-body { font-size:13px; color:var(--color-text-sec); line-height:1.9; }
.xp-card-body .xp-label { font-weight:600; color:var(--color-gold); }

/* ── 标签 ── */
.xp-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }
.xp-tag { display:inline-block; font-size:10px; padding:1px 7px; border-radius:10px; background:var(--color-subtle); color:var(--color-text-sec); border:1px solid var(--color-border-light); }

/* ── 宫位列表 ── */
.xp-houses-grid { display:flex; flex-direction:column; gap:8px; }
.xp-house-block { background:var(--color-panel); border:1px solid var(--color-border-light); border-radius:10px; padding:12px 14px; }
.xp-house-header { font-weight:700; font-size:14px; color:var(--color-brand); margin-bottom:6px; display:flex; align-items:center; gap:6px; }
.xp-house-num { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; background:var(--color-brand); color:#fff; border-radius:50%; font-size:11px; flex-shrink:0; }

/* ── 预览遮罩 ── */
.xp-preview-lock { position:relative; margin-top:-30px; }
.xp-preview-fade { padding:50px 20px 30px; text-align:center; background:linear-gradient(to bottom, transparent, var(--color-panel) 50%); border-radius:0 0 8px 8px; }
.xp-preview-fade-title { font-size:16px; font-weight:700; color:var(--color-gold); margin-bottom:8px; }
.xp-preview-fade-desc { font-size:12px; color:var(--color-text-muted); margin-bottom:14px; }
.xp-preview-fade-btns { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.xp-unlock-btn { padding:8px 20px; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; background:var(--color-brand); color:#fff; }
.xp-unlock-btn.ai { background:var(--color-btn-dark, #333); color:var(--color-gold); }
.xp-preview-more { text-align:center; font-size:12px; color:var(--color-text-muted); padding:8px; }

/* ── 免责/结语 ── */
.xp-disclaimer { font-size:11px; color:var(--color-text-muted); text-align:center; margin-top:16px; padding:10px; border-top:1px solid var(--color-border-light); }
.xp-ending { font-size:12px; color:var(--color-gold); text-align:center; margin-top:8px; padding:10px 16px; line-height:2; font-style:italic; }

/* ── VIP 弹窗 ── */
.vip-modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.45); z-index:999; }
.vip-modal-overlay.show { display:block; }
.vip-modal { display:none; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--color-panel); border-radius:12px; box-shadow:0 4px 24px rgba(0,0,0,.2); z-index:1000; width:560px; max-width:95vw; max-height:85vh; overflow-y:auto; }
.vip-modal.show { display:block; }
.vip-modal-header { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid var(--color-border-light); }
.vip-modal-header h3 { margin:0; font-size:15px; color:var(--color-gold); }
.vip-modal-close { background:none; border:none; font-size:20px; cursor:pointer; color:var(--color-text-muted); }
.vip-modal-body { padding:14px 18px; }
.vip-item { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid var(--color-border-light); gap:12px; }
.vip-item-info { flex:1; }
.vip-item-name { font-size:13px; font-weight:700; color:var(--color-text); }
.vip-item-desc { font-size:11px; color:var(--color-text-sec); margin-top:4px; line-height:1.5; }
.vip-item-right { text-align:center; min-width:80px; }
.vip-item-price { font-size:14px; font-weight:700; color:var(--color-brand); display:block; margin-bottom:4px; }
.vip-buy-btn { padding:4px 16px; border:none; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; background:var(--color-btn-dark); color:var(--color-gold); transition:all .15s; }
.vip-buy-btn:hover { background:var(--color-gold); color:var(--color-btn-dark); }
.vip-buy-btn.purchased { background:var(--color-border); color:var(--color-text-muted); cursor:default; pointer-events:none; }
.vip-buy-btn.free-switch { background:var(--color-brand); color:#fff; cursor:default; pointer-events:none; }
.vip-buy-btn:disabled { opacity:.6; cursor:default; }
.vip-footer { text-align:center; padding-top:14px; }
.vip-all-btn { padding:10px 32px; border:none; border-radius:6px; font-size:14px; font-weight:700; cursor:pointer; background:var(--color-btn-dark); color:var(--color-gold); transition:all .15s; }
.vip-all-btn:hover { background:var(--color-gold); color:var(--color-btn-dark); }
.vip-all-desc { font-size:11px; color:var(--color-text-muted); margin-top:8px; }

/* ── AI 内容 ── */
.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; }
.hh-ai-h3 { font-size:15px; font-weight:700; color:#1A3D63; border-left:3px solid #8a9bb5; padding:4px 10px; margin:14px 0 8px; }
.hh-ai-h4 { font-size:14px; font-weight:600; color:#1A3D63; margin:10px 0 6px; padding-left:4px; }
.hh-ai-hr { border:0; height:1px; background:linear-gradient(to right,#E0D5C1,transparent); margin:16px 0; }
.hh-ai-li { font-size:12px; color:var(--color-text-sec); padding:2px 0 2px 16px; line-height:1.7; }
.hh-ai-content { font-size:13px; color:var(--color-text); line-height:1.9; }

/* ── Accent 颜色 ── */
.xp-accent-fire    { --xp-accent:#e74c3c; } .xp-accent-water   { --xp-accent:#2980b9; }
.xp-accent-air     { --xp-accent:#f39c12; } .xp-accent-earth   { --xp-accent:#27ae60; }
.xp-accent-asc     { --xp-accent:#8e44ad; } .xp-accent-axis    { --xp-accent:#00897b; }
.xp-accent-house   { --xp-accent:#2e7d32; } .xp-accent-ruler   { --xp-accent:#1565c0; }
.xp-accent-aspect  { --xp-accent:#c62828; } .xp-accent-venus   { --xp-accent:#e91e63; }
.xp-accent-saturn  { --xp-accent:#5d4037; } .xp-accent-pattern { --xp-accent:#8e44ad; }
.xp-accent-default { --xp-accent:#3498db; }


/* ── 暗色模式 ── */
html[data-theme="dark"] .hh-ai-h2, html[data-theme="dark"] .hh-ai-h3, html[data-theme="dark"] .hh-ai-h4 { color:var(--color-text); }
html[data-theme="dark"] .hh-ai-h2 { background:var(--color-panel); }
html[data-theme="dark"] .hh-ai-hr { background:linear-gradient(to right, var(--color-border), transparent); }
html[data-theme="dark"] .xp-card { background:var(--color-panel); }
html[data-theme="dark"] .xp-house-block { background:var(--color-panel); border-color:var(--color-border); }
html[data-theme="dark"] .xp-overview-card { background:var(--color-parchment, #2a2520); }
html[data-theme="dark"] .xp-card-body { color:var(--color-text-sec); }
html[data-theme="dark"] .xp-tag { background:var(--color-subtle); color:var(--color-text-muted); border-color:var(--color-border); }
html[data-theme="dark"] .xp-ending { color:var(--color-gold); }
