/* ===== zodiac-fortune.css — 每日运势/吉日推演/风水方位/AI问答/速览 =====
   从 zodiac.css 拆分而来，保持原始顺序
   ===== */


/* ═══════════════════════════════════════════════════ */
/*  模块8：每日运势 (df-)                             */
/* ═══════════════════════════════════════════════════ */
.df-today-info {
  margin-bottom: 16px;
}
.df-pillar-group {
  display: flex; gap: 10px; justify-content: center;
  flex-wrap: wrap;
}
.df-pillar {
  display: flex; flex-direction: column; align-items: center;
  padding: 10px 18px; border-radius: 10px;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgba(0,0,0,0.05);
  min-width: 70px;
  transition: transform 0.2s;
}
.df-pillar:hover { transform: translateY(-2px); }
.df-pillar-today {
  background: rgba(108, 92, 231, 0.08);
  border-color: rgba(108, 92, 231, 0.2);
}
.df-pillar-label {
  font-size: 11px; color: #888; margin-bottom: 4px;
}
.df-pillar-val {
  font-size: 20px; font-weight: 700; color: #333;
  font-family: 'Noto Serif SC', serif;
}
.df-pillar-sub {
  font-size: 10px; color: #aaa; margin-top: 2px;
}
.df-analyze-btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 12px 20px;
  border-radius: 10px; border: none;
  background: linear-gradient(135deg, var(--accent, #6C5CE7), #a29bfe);
  color: #fff; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(108, 92, 231, 0.25);
}
.df-analyze-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(108, 92, 231, 0.35);
}
.df-analyze-btn:active:not(:disabled) { transform: scale(0.98); }
.df-analyze-btn:disabled {
  opacity: 0.7; cursor: not-allowed;
}

/* ── 每日运势信息药丸 ── */
.df-meta-pills {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center;
  margin-top: 10px;
}
.df-meta-pill {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; color: #777; padding: 3px 10px;
  background: rgba(255,255,255,0.5); border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.04);
}
.df-meta-pill i { font-size: 12px; color: var(--accent); }
.df-meta-pill strong { color: #555; font-weight: 600; }
.df-meta-shensha { color: #b08d57; }
.df-meta-shensha i { color: #b08d57; }

/* ── 每日运势 AI 结果 (df-ai-*) ── */
.df-ai-result { animation: lf-fade-in 0.5s ease; }

.df-ai-header {
  display: flex; align-items: center; gap: 14px;
}
.df-ai-header-icon {
  width: 44px; height: 44px; border-radius: 14px;
  background: linear-gradient(135deg, rgba(245,158,11,0.12), rgba(251,191,36,0.12));
  color: #f59e0b; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.df-ai-header-title {
  font-family: 'Noto Serif SC', serif;
  font-size: 16px; font-weight: 700; color: #333;
  margin: 0; line-height: 1.3;
}
.df-ai-header-sub {
  font-size: 11px; color: #aaa; margin: 2px 0 0; letter-spacing: 0.5px;
}

.df-ai-divider {
  height: 1px; margin: 14px 0 16px;
  background: linear-gradient(to right,
    transparent, rgba(245,158,11,0.15) 20%, rgba(245,158,11,0.15) 80%, transparent);
}

/* section 容器 */
.df-ai-sections { display: flex; flex-direction: column; gap: 14px; }
.df-ai-section {
  border-radius: 12px; padding: 16px 18px;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgba(0,0,0,0.04);
  border-left: 3px solid var(--df-accent, #f59e0b);
  transition: transform 0.2s, box-shadow 0.2s;
}
.df-ai-section:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

.df-ai-section-head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
}
.df-ai-section-icon {
  width: 32px; height: 32px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.df-ai-section-title {
  font-family: 'Noto Serif SC', serif;
  font-size: 14px; font-weight: 700; color: #444; margin: 0;
}

/* section body */
.df-ai-section-body {
  font-size: 13.5px; line-height: 1.9; color: #555;
  padding-left: 42px;
}
.df-ai-section-body strong {
  color: var(--df-accent, var(--accent)); font-weight: 600;
}
.df-ai-section-body em { color: #999; font-style: italic; }
.df-ai-p { margin-bottom: 6px; }
.df-ai-h3 {
  font-size: 13px; font-weight: 700; color: #555;
  margin: 12px 0 6px; padding: 4px 10px;
  background: linear-gradient(135deg, rgba(108,92,231,0.04), rgba(245,158,11,0.04));
  border-radius: 6px; display: inline-block;
}
.df-ai-ul { margin: 6px 0; padding-left: 14px; list-style: none; }
.df-ai-li {
  position: relative; padding-left: 14px;
  margin-bottom: 4px; font-size: 13px; color: #555;
}
.df-ai-li::before {
  content: ''; position: absolute; left: 0; top: 8px;
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--df-accent, #f59e0b); opacity: 0.5;
}
.df-ai-hr {
  border: none; height: 1px; margin: 12px 0;
  background: linear-gradient(to right, transparent, rgba(0,0,0,0.06), transparent);
}

/* ── 关键词高亮 ── */
.df-stars {
  color: #f59e0b; font-size: 14px; letter-spacing: 1px;
  text-shadow: 0 1px 2px rgba(245,158,11,0.2);
}
.df-kw-time {
  font-weight: 600; color: #10b981; padding: 0 3px;
  background: rgba(16,185,129,0.06); border-radius: 3px;
}
.df-kw-ji {
  font-weight: 600; color: #27AE60; padding: 0 2px;
  background: rgba(39,174,96,0.08); border-radius: 3px;
}
.df-kw-xiong {
  font-weight: 600; color: #E74C3C; padding: 0 2px;
  background: rgba(231,76,60,0.08); border-radius: 3px;
}
.df-kw-shishen {
  font-weight: 600; color: #6c5ce7; padding: 0 2px;
  background: rgba(108,92,231,0.06); border-radius: 3px;
}
.df-kw-wx {
  font-weight: 600; color: #8D6E63;
}
.df-kw-dir {
  font-weight: 600; color: #0EA5E9; padding: 0 2px;
  background: rgba(14,165,233,0.06); border-radius: 3px;
}
.df-kw-suggest {
  font-weight: 600; color: #D4840A;
  background: rgba(212,132,10,0.06); border-radius: 3px; padding: 0 2px;
}

/* footer */
.df-ai-footer {
  display: flex; align-items: flex-start; gap: 6px;
  margin-top: 16px; padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.04);
  font-size: 11px; color: #bbb; line-height: 1.5;
}
.df-ai-footer i { font-size: 13px; margin-top: 1px; flex-shrink: 0; }

/* 响应式 */
@media (max-width: 640px) {
  .df-ai-section-body { padding-left: 0; }
  .df-ai-section { padding: 12px 14px; }
  .df-ai-header-title { font-size: 15px; }
  .df-ai-h3 { display: block; }
}
@media (max-width: 380px) {
  .df-ai-section-body { font-size: 12.5px; }
  .df-ai-section-icon { width: 28px; height: 28px; font-size: 14px; }
  .df-ai-section-title { font-size: 13px; }
  .df-ai-header-icon { width: 36px; height: 36px; font-size: 17px; }
  .df-meta-pills { gap: 4px; }
  .df-meta-pill { font-size: 10px; padding: 2px 8px; }
}
.lf-spin-icon {
  display: inline-block;
  animation: lf-spin 1s linear infinite;
}
@keyframes lf-spin {
  to { transform: rotate(360deg); }
}

/* 占位提示 */
.lf-placeholder {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 40px 20px;
}
.lf-placeholder-icon {
  width: 60px; height: 60px; border-radius: 50%;
  background: rgba(108, 92, 231, 0.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: var(--accent, #6C5CE7);
  margin-bottom: 12px;
}
.lf-placeholder-text {
  font-size: 13px; color: #999; text-align: center;
}

/* ═══════════════════════════════════════════════════ */
/*  模块9：吉日推演 (zj-) — 全面重构                    */
/* ═══════════════════════════════════════════════════ */

/* ── 引言区 ── */
.zj-intro-quote {
  font-size: 13px; color: #666; line-height: 1.6;
  font-style: italic; margin-bottom: 12px;
}
.zj-intro-src { font-style: normal; font-size: 11px; color: #aaa; margin-left: 6px; }

/* ── 统计条 ── */
.zj-stat-row {
  display: flex; gap: 12px; flex-wrap: wrap;
}
.zj-stat {
  font-size: 12px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: 8px;
}
.zj-stat-great { color: #059669; background: rgba(5,150,105,0.08); }
.zj-stat-good { color: #d97706; background: rgba(217,119,6,0.08); }
.zj-stat-fair { color: #6b7280; background: rgba(107,114,128,0.08); }
.zj-stat-bad { color: #dc2626; background: rgba(220,38,38,0.08); }

/* ── 日历网格 ── */
.zj-calendar-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

/* ── 日历格子 ── */
.zj-cal-cell {
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(12px);
  border-radius: var(--radius-md, 12px);
  border: 1.5px solid rgba(0,0,0,0.06);
  padding: 12px 10px 10px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.zj-cal-cell:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}
.zj-cal-cell.zj-cal-selected {
  border-color: var(--accent, #6C5CE7);
  box-shadow: 0 0 0 2px rgba(108,92,231,0.15), 0 4px 16px rgba(108,92,231,0.12);
}
.zj-cal-cell.zj-cal-today {
  background: rgba(108,92,231,0.04);
}

/* 吉凶等级边框 */
.zj-cal-cell.zj-lv-great { border-left: 3px solid #059669; }
.zj-cal-cell.zj-lv-good { border-left: 3px solid #d97706; }
.zj-cal-cell.zj-lv-fair { border-left: 3px solid #9ca3af; }
.zj-cal-cell.zj-lv-caution { border-left: 3px solid #f97316; }
.zj-cal-cell.zj-lv-bad { border-left: 3px solid #dc2626; }

/* 日期 */
.zj-cal-date { display: flex; align-items: baseline; gap: 3px; }
.zj-cal-day {
  font-size: 20px; font-weight: 700; color: #333;
  font-family: 'Noto Serif SC', serif; line-height: 1;
}
.zj-cal-week { font-size: 10px; color: #aaa; }

/* 干支 */
.zj-cal-gz {
  font-size: 13px; font-weight: 600; color: #555;
  font-family: 'Noto Serif SC', serif;
}

/* 建除 badge */
.zj-cal-jianchu { margin: 2px 0; }
.zj-jc-badge {
  font-size: 10px; font-weight: 600;
  padding: 1px 8px; border-radius: 6px;
  display: inline-block;
}
.zj-jc-badge.zj-lv-great { background: rgba(5,150,105,0.1); color: #059669; }
.zj-jc-badge.zj-lv-good { background: rgba(217,119,6,0.1); color: #d97706; }
.zj-jc-badge.zj-lv-fair { background: rgba(156,163,175,0.1); color: #6b7280; }
.zj-jc-badge.zj-lv-caution { background: rgba(249,115,22,0.1); color: #f97316; }
.zj-jc-badge.zj-lv-bad { background: rgba(220,38,38,0.1); color: #dc2626; }

/* 分数条 */
.zj-cal-score-bar {
  width: 100%; height: 3px; border-radius: 2px;
  background: rgba(0,0,0,0.06); overflow: hidden;
}
.zj-score-fill {
  height: 100%; border-radius: 2px;
  transition: width 0.5s ease;
}
.zj-score-fill.zj-lv-great { background: #059669; }
.zj-score-fill.zj-lv-good { background: #d97706; }
.zj-score-fill.zj-lv-fair { background: #9ca3af; }
.zj-score-fill.zj-lv-caution { background: #f97316; }
.zj-score-fill.zj-lv-bad { background: #dc2626; }

.zj-cal-score-num {
  font-size: 12px; font-weight: 700; color: #555;
}
.zj-cal-score-num small { font-size: 9px; color: #999; font-weight: 400; }
.zj-cal-level { font-size: 10px; font-weight: 600; }
.zj-lv-great > .zj-cal-level { color: #059669; }
.zj-lv-good > .zj-cal-level { color: #d97706; }
.zj-lv-fair > .zj-cal-level { color: #6b7280; }
.zj-lv-caution > .zj-cal-level { color: #f97316; }
.zj-lv-bad > .zj-cal-level { color: #dc2626; }

/* 标签 */
.zj-cal-tags {
  display: flex; flex-wrap: wrap; gap: 2px; justify-content: center;
}
.zj-tag-huang, .zj-tag-hei, .zj-tag-special, .zj-tag-he, .zj-tag-chong {
  font-size: 9px; padding: 1px 5px; border-radius: 4px; font-weight: 500;
}
.zj-tag-huang { background: rgba(234,179,8,0.12); color: #a16207; }
.zj-tag-hei { background: rgba(107,114,128,0.1); color: #6b7280; }
.zj-tag-special { background: rgba(139,92,246,0.1); color: #7c3aed; }
.zj-tag-he { background: rgba(5,150,105,0.1); color: #059669; }
.zj-tag-chong { background: rgba(220,38,38,0.1); color: #dc2626; }

/* 宜忌迷你 */
.zj-cal-yi-ji { width: 100%; margin-top: 2px; }
.zj-mini-yi, .zj-mini-ji {
  font-size: 9px; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zj-mini-yi { color: #059669; }
.zj-mini-ji { color: #dc2626; }

/* 今日标记 */
.zj-today-mark {
  position: absolute; top: 4px; right: 4px;
  font-size: 9px; font-weight: 700; color: #fff;
  background: var(--accent, #6C5CE7);
  width: 18px; height: 18px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* ═══════════ 吉日推演 AI 结果区 ═══════════ */
.zj-ai-result {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(16px);
  border-radius: var(--radius-md, 12px);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 0;
  overflow: hidden;
}

/* header */
.zj-ai-header {
  display: flex; align-items: center; gap: 12px;
  padding: 20px 24px 12px;
  background: linear-gradient(135deg, rgba(99,102,241,0.06) 0%, rgba(139,92,246,0.04) 100%);
}
.zj-ai-header-icon {
  width: 42px; height: 42px; border-radius: 12px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.zj-ai-header-title {
  font-size: 16px; font-weight: 700; color: #1f2937;
  font-family: 'Noto Serif SC', serif;
  margin: 0;
}
.zj-ai-header-sub {
  font-size: 12px; color: #9ca3af; margin-top: 2px;
}

/* pills */
.zj-ai-pills {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 8px 24px 12px;
}
.zj-ai-pill {
  font-size: 11px; font-weight: 500;
  padding: 3px 10px; border-radius: 12px;
}
.zj-pill-jc { background: rgba(99,102,241,0.08); color: #6366f1; }
.zj-pill-huang { background: rgba(234,179,8,0.12); color: #a16207; }
.zj-pill-hei { background: rgba(107,114,128,0.1); color: #6b7280; }
.zj-pill-score { background: rgba(5,150,105,0.08); color: #059669; }
.zj-pill-he { background: rgba(16,185,129,0.1); color: #047857; }
.zj-pill-chong { background: rgba(220,38,38,0.08); color: #dc2626; }
.zj-pill-special { background: rgba(139,92,246,0.1); color: #7c3aed; }

/* divider */
.zj-ai-divider {
  height: 1px; margin: 0 24px;
  background: linear-gradient(90deg, transparent, rgba(99,102,241,0.15), transparent);
}

/* sections */
.zj-ai-section {
  margin: 16px 24px;
  padding: 14px 16px;
  border-radius: 10px;
  border-left: 3px solid var(--zj-accent, #6366f1);
  background: rgba(255,255,255,0.5);
}
.zj-ai-section-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.zj-ai-section-icon { font-size: 16px; color: var(--zj-accent); }
.zj-ai-section-title {
  font-size: 14px; font-weight: 600; color: #374151;
}

/* body elements */
.zj-ai-section-body { font-size: 13px; line-height: 1.85; color: #4b5563; }
.zj-ai-p { margin: 6px 0; }
.zj-ai-h3 {
  font-size: 13px; font-weight: 600; color: var(--zj-accent, #6366f1);
  margin: 10px 0 4px; padding: 3px 10px; border-radius: 6px;
  background: rgba(99,102,241,0.06); display: inline-block;
}
.zj-ai-h4 { font-size: 13px; font-weight: 600; color: #555; margin: 8px 0 4px; }
.zj-ai-ul { padding-left: 16px; margin: 4px 0; }
.zj-ai-li { margin: 2px 0; }
.zj-ai-li::marker { color: var(--zj-accent, #6366f1); }
.zj-ai-hr { border: none; height: 1px; background: rgba(0,0,0,0.06); margin: 10px 0; }

/* keyword highlights */
.zj-kw-jc { font-weight: 600; color: #6366f1; }
.zj-kw-huang { color: #a16207; font-weight: 500; background: rgba(234,179,8,0.08); padding: 0 3px; border-radius: 3px; }
.zj-kw-hei { color: #6b7280; font-weight: 500; background: rgba(107,114,128,0.06); padding: 0 3px; border-radius: 3px; }
.zj-kw-ji { color: #059669; font-weight: 600; }
.zj-kw-xiong { color: #dc2626; font-weight: 600; }
.zj-kw-special { color: #7c3aed; font-weight: 600; }
.zj-kw-wx { font-weight: 600; }
.zj-kw-time { color: #0891b2; font-weight: 500; background: rgba(8,145,178,0.06); padding: 0 3px; border-radius: 3px; }
.zj-kw-suggest { color: #b45309; font-weight: 500; }
.zj-stars { color: #eab308; font-size: 14px; letter-spacing: 1px; }

/* footer */
.zj-ai-footer { padding: 12px 24px 16px; }
.zj-ai-disclaimer {
  font-size: 11px; color: #9ca3af; line-height: 1.6;
  display: flex; align-items: center;
}

/* ═══════════ 响应式 ═══════════ */
@media (max-width: 768px) {
  .zj-calendar-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .zj-calendar-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .zj-cal-cell { padding: 10px 6px 8px; }
  .zj-cal-day { font-size: 16px; }
  .zj-cal-gz { font-size: 11px; }
  .zj-cal-tags { gap: 1px; }
  .zj-tag-huang, .zj-tag-hei, .zj-tag-special, .zj-tag-he, .zj-tag-chong { font-size: 8px; padding: 1px 3px; }
  .zj-ai-header, .zj-ai-pills, .zj-ai-footer { padding-left: 16px; padding-right: 16px; }
  .zj-ai-section { margin: 12px 16px; padding: 10px 12px; }
  .zj-ai-divider { margin: 0 16px; }
}
@media (max-width: 380px) {
  .zj-calendar-grid { grid-template-columns: repeat(2, 1fr); }
  .zj-cal-cell { padding: 8px 4px 6px; }
  .zj-cal-day { font-size: 14px; }
  .zj-mini-yi, .zj-mini-ji { font-size: 8px; }
}

/* ═══════════════════════════════════════════════════ */
/*  模块10：风水方位 (fs-) — 10面板完整样式              */
/* ═══════════════════════════════════════════════════ */

/* ── 通用面板 ── */
.fs-panel { }
.fs-panel-title {
  font-family: 'Noto Serif SC', serif;
  font-size: 15px; font-weight: 700; color: #333;
  display: flex; align-items: center; gap: 8px; margin-bottom: 4px;
}
.fs-panel-title i { color: var(--accent); font-size: 16px; }
.fs-panel-sub {
  font-size: 11px; color: #999; margin-bottom: 12px; line-height: 1.5;
}

/* ── 面板1：命主总览 ── */
.fs-overview-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px;
}
.fs-ov-card {
  padding: 10px; border-radius: 10px;
  background: rgba(255,255,255,0.5); border: 1px solid rgba(0,0,0,0.04);
  text-align: center;
}
.fs-ov-label { font-size: 11px; color: #999; margin-bottom: 2px; }
.fs-ov-val { font-size: 16px; font-weight: 700; font-family: 'Noto Serif SC', serif; }
.fs-ov-sub { font-size: 11px; color: #777; margin-top: 2px; }
.fs-meta-pills {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center;
}
.fs-pill {
  font-size: 11px; padding: 3px 10px; border-radius: 12px; font-weight: 500;
}
.fs-pill-info { background: rgba(99,102,241,0.08); color: #6366f1; }
.fs-pill-warn { background: rgba(245,158,11,0.1); color: #d97706; }
.fs-pill-good { background: rgba(16,185,129,0.1); color: #059669; }
.fs-pill-bad { background: rgba(239,68,68,0.1); color: #dc2626; }

/* ── 面板2：八宅吉凶（九宫格罗盘式） ── */
.fs-bz-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px;
}
.fs-bz-cell {
  padding: 10px 8px; border-radius: 10px;
  background: rgba(255,255,255,0.4);
  border: 1px solid rgba(0,0,0,0.04);
  text-align: center;
  transition: box-shadow 0.2s, transform 0.2s;
}
.fs-bz-cell:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.fs-bz-ji {
  border-top: 3px solid #10b981;
  background: rgba(16,185,129,0.05);
}
.fs-bz-xiong {
  border-top: 3px solid #ef4444;
  background: rgba(239,68,68,0.05);
}
.fs-bz-center {
  background: linear-gradient(135deg, rgba(108,92,231,0.08), rgba(99,102,241,0.06));
  border: 1.5px dashed rgba(108,92,231,0.2);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
}
.fs-bz-gua-icon { font-size: 22px; color: var(--accent, #6C5CE7); }
.fs-bz-gua-name {
  font-size: 15px; font-weight: 700; color: #333;
  font-family: 'Noto Serif SC', serif;
}
.fs-bz-gua-group { font-size: 11px; color: #888; }
.fs-bz-head {
  display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 4px;
}
.fs-bz-dir {
  font-size: 13px; font-weight: 700; color: #333;
  font-family: 'Noto Serif SC', serif;
}
.fs-bz-lv {
  font-size: 9px; font-weight: 600; padding: 1px 6px; border-radius: 6px;
  white-space: nowrap;
}
.fs-bz-name {
  font-size: 13px; font-weight: 700;
  font-family: 'Noto Serif SC', serif;
}
.fs-bz-ji .fs-bz-name { color: #10b981; }
.fs-bz-xiong .fs-bz-name { color: #ef4444; }
.fs-bz-star { font-size: 10px; color: #888; margin-top: 2px; }
.fs-bz-desc { font-size: 10px; color: #999; margin-top: 3px; line-height: 1.4; }
.fs-bz-summary { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }

/* ── 面板3：九宫飞星 ── */
.fs-star-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
}
.fs-star-cell {
  padding: 8px; border-radius: 10px;
  background: rgba(255,255,255,0.4); border: 1px solid rgba(0,0,0,0.04);
  text-align: center; min-height: 80px;
}
.fs-star-center {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: rgba(108,92,231,0.04); border: 1px dashed rgba(108,92,231,0.15);
}
.fs-star-header {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;
}
.fs-star-dir { font-size: 10px; color: #888; }
.fs-star-ws { font-size: 9px; color: #666; padding: 1px 6px; border-radius: 8px; background: rgba(0,0,0,0.04); }
.fs-star-num {
  font-size: 22px; font-weight: 800; font-family: 'Noto Serif SC', serif; line-height: 1.2;
}
.fs-star-name { font-size: 11px; font-weight: 600; color: #555; }
.fs-star-nature { font-size: 10px; font-weight: 600; margin-top: 2px; }
.fs-star-desc { font-size: 9px; color: #999; margin-top: 3px; line-height: 1.3; }

/* ── 面板4：奇门风水盘 ── */
.fs-qm-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px;
}
.fs-qm-cell {
  padding: 7px; border-radius: 8px;
  background: rgba(255,255,255,0.4); border: 1px solid rgba(0,0,0,0.04);
  text-align: center; min-height: 70px; font-size: 11px;
}
.fs-qm-center {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: rgba(6,182,212,0.04); border: 1px dashed rgba(6,182,212,0.15);
}
.fs-qm-header {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 3px;
}
.fs-qm-dir { font-size: 10px; color: #888; font-weight: 600; }
.fs-qm-lv { font-size: 10px; font-weight: 700; }
.fs-qm-shen { font-size: 10px; color: #8b5cf6; font-weight: 500; }
.fs-qm-men { font-size: 11px; color: #0891b2; font-weight: 600; }
.fs-qm-star { font-size: 10px; color: #d97706; font-weight: 500; }
.fs-qm-gan { font-size: 10px; color: #555; margin-top: 2px; }
.fs-qm-geju { font-size: 9px; color: #6366f1; font-weight: 600; margin-top: 2px; }
.fs-qm-ff { font-size: 9px; color: #ef4444; }

/* ── 面板5：综合方位评分 ── */
.fs-rank-list { display: flex; flex-direction: column; gap: 8px; }
.fs-rank-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(255,255,255,0.4); border: 1px solid rgba(0,0,0,0.04);
}
.fs-rank-num {
  width: 24px; height: 24px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; font-size: 12px; font-weight: 700;
  background: color-mix(in srgb, var(--rank-color, #6b7280) 12%, transparent);
  color: var(--rank-color, #6b7280);
}
.fs-rank-body { flex: 1; min-width: 0; }
.fs-rank-head {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 4px;
}
.fs-rank-dir { font-size: 14px; font-weight: 700; color: #333; }
.fs-rank-wx { font-size: 11px; font-weight: 600; }
.fs-rank-lv {
  font-size: 10px; font-weight: 600; padding: 1px 8px; border-radius: 8px;
}
.fs-rank-score { font-size: 12px; font-weight: 700; color: #555; margin-left: auto; }
.fs-rank-bar {
  height: 6px; border-radius: 3px; background: rgba(0,0,0,0.04); overflow: hidden;
}
.fs-rank-fill {
  height: 100%; border-radius: 3px; transition: width 0.6s ease;
}
.fs-rank-detail {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;
}
.fs-rank-detail span {
  font-size: 10px; color: #888;
}

/* ── 面板6：三重验证 ── */
.fs-triple-table { border-radius: 10px; overflow: hidden; }
.fs-triple-header {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 2fr; gap: 2px;
  padding: 8px; background: rgba(108,92,231,0.06);
}
.fs-th, .fs-th-dir, .fs-th-star {
  font-size: 11px; font-weight: 600; color: #555; text-align: center;
}
.fs-th-dir { text-align: left; }
.fs-triple-row {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 2fr; gap: 2px;
  padding: 6px 8px; border-bottom: 1px solid rgba(0,0,0,0.03);
}
.fs-triple-row:last-child { border-bottom: none; }
.fs-td-dir { font-size: 12px; font-weight: 600; color: #333; }
.fs-td { font-size: 11px; text-align: center; font-weight: 600; }
.fs-tv-ji { color: #10b981; }
.fs-tv-xiong { color: #ef4444; }
.fs-tv-zhong { color: #9ca3af; }
.fs-td-star { font-size: 12px; text-align: center; color: #f59e0b; letter-spacing: 1px; }

/* ── 面板7：阳宅三要 ── */
.fs-sy-layout {
  display: flex; gap: 24px; align-items: center; justify-content: center;
  margin-bottom: 12px;
}
/* 左侧：图标阵列 */
.fs-sy-left {
  display: flex; flex-direction: column; align-items: center;
  flex-shrink: 0;
}
.fs-sy-node { display: flex; flex-direction: column; align-items: center; }
.fs-sy-circle {
  width: 54px; height: 54px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.75); border: 2.5px solid var(--sy-wx-color, #ccc);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--sy-wx-color, #ccc) 12%, transparent),
              0 2px 8px rgba(0,0,0,0.06);
  transition: transform .2s, box-shadow .2s;
}
.fs-sy-circle:hover { transform: scale(1.1); box-shadow: 0 0 0 5px color-mix(in srgb, var(--sy-wx-color, #ccc) 18%, transparent), 0 4px 12px rgba(0,0,0,0.1); }
.fs-sy-emoji { font-size: 23px; line-height: 1; }
.fs-sy-tag {
  margin-top: 5px; font-size: 12px; font-weight: 700; color: #333;
  font-family: 'Noto Serif SC', serif; letter-spacing: 2px;
}
.fs-sy-loc { font-size: 10px; color: #999; margin-top: 2px; }
.fs-sy-vline {
  width: 2px; height: 18px; margin: 5px 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.12), transparent);
  border-radius: 1px;
}
/* 右侧：关系网 */
.fs-sy-right {
  display: flex; flex-direction: column; gap: 8px; justify-content: center;
  min-width: 0; max-width: 360px;
}
.fs-sy-rel {
  padding: 10px 14px; border-radius: 10px;
  background: rgba(255,255,255,0.5); border: 1px solid rgba(0,0,0,0.04);
  border-left: 3px solid var(--sy-rel-color, #ccc);
  transition: background .15s;
}
.fs-sy-rel:hover { background: rgba(255,255,255,0.7); }
.fs-sy-rel-head {
  display: flex; align-items: center; gap: 6px; margin-bottom: 2px;
}
.fs-sy-rel-head i { font-size: 14px; flex-shrink: 0; }
.fs-sy-rel-pair { font-size: 12px; font-weight: 700; color: #333; letter-spacing: 1px; }
.fs-sy-rel-badge {
  font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 4px;
}
.fs-sy-rel-desc { font-size: 11px; color: #666; line-height: 1.5; padding-left: 20px; }
/* 底部：综合评语 */
.fs-sy-verdict {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px; border-radius: 10px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--sy-vd-color, #6b7280) 6%, white), rgba(255,255,255,0.5));
  border: 1px solid color-mix(in srgb, var(--sy-vd-color, #6b7280) 15%, transparent);
}
.fs-sy-vd-icon { font-size: 18px; flex-shrink: 0; line-height: 1; }
.fs-sy-lv {
  font-size: 15px; font-weight: 800; font-family: 'Noto Serif SC', serif;
  color: var(--sy-vd-color, #333); flex-shrink: 0;
}
.fs-sy-advice { font-size: 12px; color: #555; line-height: 1.5; }

/* ── 面板8：五行开运 ── */
.fs-ky-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
}
.fs-ky-card {
  padding: 12px 14px; border-radius: 10px;
  background: rgba(255,255,255,0.45);
}
.fs-ky-avoid { opacity: 0.7; }
.fs-ky-head {
  font-size: 14px; font-weight: 700; margin-bottom: 8px;
  font-family: 'Noto Serif SC', serif;
  display: flex; align-items: center; gap: 4px;
}
.fs-ky-head i { font-size: 13px; }
.fs-ky-body { }
.fs-ky-row {
  display: flex; gap: 6px; align-items: baseline;
  font-size: 12px; color: #555;
  padding: 2px 0; border-bottom: 1px solid rgba(0,0,0,0.03);
}
.fs-ky-row:last-child { border-bottom: none; }
.fs-ky-lb {
  font-weight: 600; color: #888; min-width: 36px; flex-shrink: 0;
}

/* ── 面板9：化煞指南 ── */
.fs-sha-list { display: flex; flex-direction: column; gap: 8px; }
.fs-sha-item {
  padding: 10px 14px; border-radius: 10px;
  background: rgba(255,255,255,0.4); border: 1px solid rgba(0,0,0,0.04);
  border-left: 3px solid #ef4444;
}
.fs-sha-name { font-size: 13px; font-weight: 700; color: #dc2626; margin-bottom: 3px; }
.fs-sha-desc { font-size: 11px; color: #666; margin-bottom: 4px; }
.fs-sha-cure {
  font-size: 11px; color: #059669; font-weight: 500;
  display: flex; align-items: center; gap: 4px;
}
.fs-sha-cure i { font-size: 13px; }

/* ── 面板10：AI详析（场景Tab + 结果） ── */
.fs-ai-intro { font-style: italic; }
.fs-ai-quote { color: #555; }
.fs-ai-src { color: #aaa; font-size: 10px; margin-left: 4px; }

.fs-ai-result { animation: lf-fade-in 0.4s ease; }
.fs-ai-header {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px; border-radius: 14px; margin-bottom: 18px; color: white;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.fs-ai-header-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; background: rgba(255,255,255,0.2);
  flex-shrink: 0;
}
.fs-ai-header-title { font-size: 16px; font-weight: 700; letter-spacing: 0.5px; }
.fs-ai-header-sub { font-size: 11px; opacity: 0.8; margin-top: 3px; }
.fs-ai-divider {
  height: 1px; margin-bottom: 18px;
  background: linear-gradient(90deg, transparent, rgba(108,92,231,0.12), transparent);
}
.fs-ai-section {
  margin-bottom: 16px; padding: 16px 18px;
  border-radius: 12px;
  background: var(--fs-ai-bg, rgba(255,255,255,0.3));
  border-left: 3px solid var(--fs-ai-accent, #6366f1);
  animation: lf-fade-in 0.4s ease both;
}
.fs-ai-section:nth-child(2) { animation-delay: 0.05s; }
.fs-ai-section:nth-child(3) { animation-delay: 0.1s; }
.fs-ai-section:nth-child(4) { animation-delay: 0.15s; }
.fs-ai-section:nth-child(5) { animation-delay: 0.2s; }
.fs-ai-sec-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
}
.fs-ai-sec-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--fs-ai-accent, #6366f1);
  flex-shrink: 0;
}
.fs-ai-sec-icon {
  font-size: 17px; color: var(--fs-ai-accent, #6366f1);
}
.fs-ai-sec-title {
  font-size: 15px; font-weight: 700; color: #222;
  font-family: 'Noto Serif SC', serif;
}
.fs-ai-sec-body { font-size: 13px; color: #444; line-height: 1.9; }
.fs-ai-strong { color: #1f2937; }
.fs-ai-p { margin-bottom: 8px; }
.fs-ai-h3 {
  font-size: 13px; font-weight: 700; color: #333; margin: 10px 0 6px;
  padding-left: 10px;
  border-left: 2px solid var(--fs-ai-accent, #6366f1);
}
.fs-ai-ul { padding-left: 16px; margin: 4px 0 8px; }
.fs-ai-li { margin-bottom: 3px; }
.fs-ai-hr {
  height: 1px; border: none; margin: 10px 0;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.06), transparent);
}
.fs-ai-footer {
  font-size: 11px; color: #aaa; padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,0.04);
  display: flex; align-items: center; gap: 4px;
}

/* 风水关键词高亮 */
.fs-kw { font-weight: 600; }
.fs-kw-dir { color: #6366f1; }
.fs-kw-ji { color: #10b981; }
.fs-kw-xiong { color: #ef4444; }
.fs-kw-jimen { color: #0891b2; }
.fs-kw-xiongmen { color: #dc2626; }
.fs-kw-advice { color: #d97706; background: rgba(245,158,11,0.08); padding: 0 3px; border-radius: 3px; }

/* ═══════════════════════════════════════════════════ */
/*  模块12：AI 命理问答 (qa-)                         */
/* ═══════════════════════════════════════════════════ */
.qa-chat-area {
  max-height: 450px; overflow-y: auto;
  padding: 12px; margin-bottom: 8px;
  border-radius: var(--radius-md, 12px);
  background: rgba(255,255,255,0.25);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(108, 92, 231, 0.08);
}
.qa-welcome {
  padding: 20px 0;
}
.qa-suggestions {
  display: flex; flex-direction: column; gap: 6px;
  align-items: center;
}
.qa-suggest-btn {
  padding: 8px 16px; border-radius: 20px;
  border: 1px solid rgba(108, 92, 231, 0.15);
  background: rgba(108, 92, 231, 0.04);
  color: var(--accent, #6C5CE7); font-size: 13px;
  cursor: pointer; transition: all 0.2s;
  max-width: 300px; width: 100%; text-align: center;
}
.qa-suggest-btn:hover {
  background: rgba(108, 92, 231, 0.1);
  border-color: rgba(108, 92, 231, 0.3);
  transform: translateY(-1px);
}
.qa-msg {
  display: flex; margin-bottom: 10px;
}
.qa-msg-user { justify-content: flex-end; }
.qa-msg-ai { justify-content: flex-start; }
.qa-msg-bubble {
  max-width: 85%; padding: 10px 14px;
  border-radius: 14px; font-size: 13px;
  line-height: 1.6; word-break: break-word;
}
.qa-bubble-user {
  background: linear-gradient(135deg, var(--accent, #6C5CE7), #a29bfe);
  color: #fff; border-bottom-right-radius: 4px;
}
.qa-bubble-ai {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(6px);
  color: #333; border: 1px solid rgba(0,0,0,0.05);
  border-bottom-left-radius: 4px;
}
.qa-bubble-ai .lf-md-h1,
.qa-bubble-ai .lf-md-h2,
.qa-bubble-ai .lf-md-h3 {
  margin-top: 8px;
}
.qa-error {
  background: rgba(231, 76, 60, 0.08) !important;
  border-color: rgba(231, 76, 60, 0.15) !important;
  color: #c0392b !important;
}

.qa-input-bar {
  display: flex; gap: 8px; padding: 0 2px;
}
.qa-input {
  flex: 1; padding: 10px 16px;
  border-radius: 24px;
  border: 1px solid rgba(108, 92, 231, 0.15);
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(8px);
  font-size: 14px; color: #333;
  outline: none; transition: border-color 0.2s, box-shadow 0.2s;
}
.qa-input:focus {
  border-color: var(--accent, #6C5CE7);
  box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.1);
}
.qa-input::placeholder { color: #bbb; }
.qa-send-btn {
  width: 44px; height: 44px; border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, var(--accent, #6C5CE7), #a29bfe);
  color: #fff; font-size: 18px;
  cursor: pointer; transition: all 0.2s;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(108, 92, 231, 0.25);
}
.qa-send-btn:hover:not(:disabled) {
  transform: scale(1.05);
  box-shadow: 0 4px 16px rgba(108, 92, 231, 0.35);
}
.qa-send-btn:disabled {
  opacity: 0.5; cursor: not-allowed;
}
.qa-context-pills {
  display: flex; flex-wrap: wrap; gap: 6px;
}

/* ── 新模块 移动端适配 ── */
@media (max-width: 640px) {
  .df-pillar-val { font-size: 18px; }
  .df-pillar { padding: 8px 14px; }
  .zj-day-header { flex-wrap: wrap; gap: 8px; }
  .zj-date-num { font-size: 14px; }
  .zj-gz-text { font-size: 14px; }
  /* 风水10面板 640px 适配 */
  .fs-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .fs-bz-grid { gap: 4px; }
  .fs-bz-cell { padding: 8px 6px; }
  .fs-bz-dir { font-size: 12px; }
  .fs-bz-name { font-size: 12px; }
  .fs-bz-desc { font-size: 9px; }
  .fs-star-grid, .fs-qm-grid { gap: 2px; font-size: 11px; }
  .fs-star-cell, .fs-qm-cell { padding: 6px 4px; }
  .fs-rank-item { padding: 10px 12px; }
  .fs-triple-table { font-size: 11px; }
  .fs-sy-layout { flex-direction: column; gap: 12px; }
  .fs-sy-left { flex-direction: row; gap: 10px; }
  .fs-sy-vline { width: 18px; height: 2px; margin: 0; background: linear-gradient(to right, transparent, rgba(0,0,0,0.12), transparent); }
  .fs-sy-circle { width: 46px; height: 46px; }
  .fs-sy-emoji { font-size: 19px; }
  .fs-sy-right { max-width: none; }
  .fs-ky-grid { grid-template-columns: 1fr; }
  .fs-ai-header { padding: 12px; }
  .fs-ai-header-icon { width: 34px; height: 34px; font-size: 17px; }
  .fs-ai-section { padding: 10px 12px; }
  .qa-msg-bubble { max-width: 90%; }
  .qa-suggest-btn { font-size: 12px; padding: 6px 12px; }
}

@media (max-width: 380px) {
  .df-pillar-group { gap: 6px; }
  .df-pillar-val { font-size: 16px; }
  .zj-day-date { min-width: auto; }
  /* 风水10面板 380px 适配 */
  .fs-overview-grid { grid-template-columns: 1fr; }
  .fs-bz-grid { gap: 3px; }
  .fs-bz-cell { padding: 6px 4px; }
  .fs-bz-dir { font-size: 11px; }
  .fs-bz-name { font-size: 11px; }
  .fs-bz-star { font-size: 9px; }
  .fs-bz-desc { display: none; }
  .fs-bz-gua-icon { font-size: 18px; }
  .fs-bz-gua-name { font-size: 13px; }
  .fs-star-grid, .fs-qm-grid { gap: 1px; }
  .fs-star-num { font-size: 18px; }
  .fs-star-name, .fs-qm-men, .fs-qm-star { font-size: 9px; }
  .fs-rank-num { width: 22px; height: 22px; font-size: 10px; }
  .fs-triple-table { display: block; overflow-x: auto; }
  .fs-sy-circle { width: 38px; height: 38px; border-width: 2px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--sy-wx-color, #ccc) 10%, transparent); }
  .fs-sy-emoji { font-size: 16px; }
  .fs-sy-tag { font-size: 10px; letter-spacing: 1px; }
  .fs-sy-loc { font-size: 9px; }
  .fs-sy-rel { padding: 8px 10px; }
  .fs-sy-rel-desc { padding-left: 0; font-size: 10px; }
  .fs-sy-verdict { padding: 8px 12px; }
  .fs-ky-card { padding: 10px 12px; }
  .fs-panel { padding: 14px 12px; }
  .fs-panel-title { font-size: 14px; }
  .qa-chat-area { max-height: 350px; }
  .qa-input { padding: 8px 12px; font-size: 13px; }
  .qa-send-btn { width: 38px; height: 38px; font-size: 16px; }
}

/* ═══════════════════════════════════════════════════
   事务分析模块（af- 前缀）
   ═══════════════════════════════════════════════════ */

/* 维度选项卡容器 */
.af-dim-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.af-dim-tabs::-webkit-scrollbar { display: none; }

/* 单个维度选项卡 */
.af-dim-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  border-radius: var(--radius-md, 12px);
  border: 1.5px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.6);
  cursor: pointer;
  transition: all 0.25s ease;
  min-width: 72px;
  flex-shrink: 0;
  position: relative;
}
.af-dim-tab:hover {
  border-color: var(--dim-color, var(--accent));
  background: color-mix(in srgb, var(--dim-color, var(--accent)) 5%, white);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.af-dim-tab.af-dim-active {
  border-color: var(--dim-color, var(--accent));
  background: color-mix(in srgb, var(--dim-color, var(--accent)) 8%, white);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--dim-color, var(--accent)) 20%, transparent);
}

/* 维度图标 */
.af-dim-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: transform 0.2s;
}
.af-dim-tab:hover .af-dim-icon,
.af-dim-tab.af-dim-active .af-dim-icon {
  transform: scale(1.1);
}

/* 维度标签 */
.af-dim-label {
  font-size: 13px;
  font-weight: 600;
  color: #555;
  white-space: nowrap;
}
.af-dim-tab.af-dim-active .af-dim-label {
  color: var(--dim-color, var(--accent));
}

/* 维度描述 */
.af-dim-desc {
  font-size: 10px;
  color: #aaa;
  white-space: nowrap;
  line-height: 1.3;
}
.af-dim-tab.af-dim-active .af-dim-desc {
  color: color-mix(in srgb, var(--dim-color, var(--accent)) 60%, #999);
}

/* 缓存状态标记 */
.af-dim-status {
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: 10px;
  color: transparent;
  transition: all 0.3s;
}
.af-dim-status.af-dim-cached {
  color: #10b981;
}

/* 占位状态 */
.af-placeholder {
  text-align: center;
  padding: 48px 24px !important;
}
.af-placeholder-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--accent-soft, rgba(108,92,231,0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--accent);
}
.af-placeholder-text {
  font-size: 13px;
  color: #999;
  line-height: 1.6;
}

/* 结果区域 */
.af-result {
  animation: lf-fade-in 0.4s ease;
}
.af-result-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.af-result-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.af-result-body {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

/* 重试按钮 */
.af-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  padding: 8px 20px;
  border-radius: 20px;
  background: var(--accent);
  color: white;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}
.af-retry-btn:hover {
  background: var(--accent-light, #A29BFE);
  transform: scale(1.03);
}

/* 响应式适配 */
@media (max-width: 640px) {
  .af-dim-tab { padding: 10px 12px; min-width: 64px; }
  .af-dim-icon { width: 32px; height: 32px; font-size: 14px; }
  .af-dim-label { font-size: 11px; }
}
@media (max-width: 380px) {
  .af-dim-tabs { gap: 6px; }
  .af-dim-tab { padding: 8px 10px; min-width: 56px; }
  .af-dim-icon { width: 28px; height: 28px; font-size: 12px; border-radius: 8px; }
}

/* （旧择日AI按钮样式已整合到zj-ai-*命名空间） */

/* ═══════════════════════════════════════════════════
   风水方位 — 场景Tab（工位/居住/商铺）
═══════════════════════════════════════════════════ */
.fs-scene-tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
}
.fs-scene-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 14px 20px 12px;
  border-radius: 14px;
  border: 1.5px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.6);
  cursor: pointer;
  transition: all 0.25s;
  min-width: 90px;
  position: relative;
}
.fs-scene-tab:hover {
  border-color: var(--scene-color, #6366f1);
  background: rgba(255,255,255,0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.fs-scene-tab.active {
  border-color: var(--scene-color, #6366f1);
  background: rgba(255,255,255,0.95);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--scene-color, #6366f1) 15%, transparent);
}
.fs-scene-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
  background: var(--scene-color, #6366f1);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--scene-color, #6366f1) 30%, transparent);
  transition: transform 0.2s;
}
.fs-scene-tab:hover .fs-scene-icon,
.fs-scene-tab.active .fs-scene-icon {
  transform: scale(1.08);
}
.fs-scene-label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.fs-scene-desc {
  font-size: 10px;
  color: #aaa;
  white-space: nowrap;
}
.fs-scene-tab.active .fs-scene-label {
  color: var(--scene-color, #6366f1);
}
.fs-scene-status {
  position: absolute;
  top: 6px;
  right: 8px;
  font-size: 12px;
}
@media (max-width: 640px) {
  .fs-scene-tabs { gap: 6px; }
  .fs-scene-tab { padding: 10px 14px 8px; min-width: 80px; }
  .fs-scene-icon { width: 34px; height: 34px; font-size: 16px; }
  .fs-scene-label { font-size: 12px; }
  .fs-scene-desc { font-size: 9px; }
}
@media (max-width: 380px) {
  .fs-scene-tabs { gap: 4px; }
  .fs-scene-tab { padding: 8px 10px 6px; min-width: 70px; }
  .fs-scene-icon { width: 30px; height: 30px; font-size: 14px; border-radius: 10px; }
  .fs-scene-label { font-size: 11px; }
  .fs-scene-desc { display: none; }
}

/* ═══════════════════════════════════════════════════════
   灵魂使命 — 专属渲染器 pl-ai-* 命名空间
   ═══════════════════════════════════════════════════════ */

/* ── 顶部元信息药丸栏 ── */
.pl-meta-pills {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px;
}

/* ── 初始解读结果容器 ── */
.pl-ai-result {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md);
  box-shadow: var(--card-shadow);
  overflow: hidden;
}

/* ── Header ── */
.pl-ai-header {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 20px;
  background: linear-gradient(135deg, #6c5ce7, #a29bfe);
  color: #fff;
}
.pl-ai-header-icon {
  width: 44px; height: 44px; border-radius: 14px;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; flex-shrink: 0;
}
.pl-ai-header-title { font-size: 16px; font-weight: 700; font-family: 'Noto Serif SC', serif; }
.pl-ai-header-sub { font-size: 11px; opacity: 0.8; margin-top: 2px; }

/* ── Divider ── */
.pl-ai-divider {
  height: 2px; margin: 0 20px;
  background: linear-gradient(90deg, transparent, var(--accent-light), transparent);
  opacity: 0.3;
}

/* ── Section Card ── */
.pl-ai-section {
  margin: 12px 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--pl-bg, rgba(108,92,231,0.04));
  border-left: 3px solid var(--pl-accent, #6c5ce7);
  position: relative;
  animation: pl-sec-in 0.4s ease-out both;
}
@keyframes pl-sec-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.pl-ai-sec-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.pl-ai-sec-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--pl-accent, #6c5ce7);
  flex-shrink: 0; box-shadow: 0 0 6px var(--pl-accent);
}
.pl-ai-sec-icon {
  font-size: 16px; color: var(--pl-accent, #6c5ce7);
}
.pl-ai-sec-title {
  font-size: 14px; font-weight: 600; color: var(--text-primary);
  font-family: 'Noto Serif SC', serif;
}
.pl-ai-sec-body {
  padding-left: 15px; font-size: 13.5px; line-height: 1.9;
  color: var(--text-secondary);
}

/* ── Markdown 元素 ── */
.pl-ai-p { margin: 0 0 6px; }
.pl-ai-h3 {
  font-size: 13px; font-weight: 600; color: var(--text-primary);
  margin: 10px 0 4px; padding-left: 8px;
  border-left: 2px solid var(--pl-accent, #6c5ce7);
  font-family: 'Noto Serif SC', serif;
}
.pl-ai-ul { padding-left: 18px; margin: 4px 0; }
.pl-ai-li { margin-bottom: 3px; }
.pl-ai-hr { border: none; height: 1px; background: rgba(0,0,0,0.06); margin: 10px 0; }

/* ── Footer ── */
.pl-ai-footer {
  padding: 12px 20px; font-size: 11.5px; color: var(--text-tertiary);
  display: flex; align-items: center; gap: 6px;
  border-top: 1px solid rgba(0,0,0,0.04);
  font-style: italic;
}
.pl-ai-footer-src {
  color: var(--text-tertiary); opacity: 0.7; font-style: normal; margin-left: 2px;
}

/* ── 关键词高亮 ── */
.pl-kw { font-weight: 500; padding: 0 1px; }
.pl-kw-level { color: #6c5ce7; background: rgba(108,92,231,0.08); border-radius: 3px; padding: 0 3px; }
.pl-kw-jie { color: #e11d48; background: rgba(225,29,72,0.08); border-radius: 3px; padding: 0 3px; }
.pl-kw-cs { color: #0891b2; }
.pl-kw-sanshi { color: #6c5ce7; font-weight: 600; }
.pl-kw-shishen { color: #6366f1; background: rgba(99,102,241,0.06); border-radius: 3px; padding: 0 2px; }
.pl-kw-wx { color: #059669; }
.pl-kw-ji { color: #059669; }
.pl-kw-xiong { color: #e11d48; }
.pl-kw-suggest { color: #d97706; font-weight: 600; }

/* ═══════════════════════════════════════════════════════
   灵魂使命 — 会话管理（控制栏 + 历史面板）
   ═══════════════════════════════════════════════════════ */

/* ── 会话控制栏 ── */
.pl-session-bar {
  display: flex; align-items: center; gap: 8px;
  margin: 0 0 10px; padding: 8px 12px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  backdrop-filter: blur(8px);
}
.pl-sess-btn {
  display: inline-flex; align-items: center; gap: 4px;
  border: 1px solid var(--glass-border); border-radius: 8px;
  padding: 5px 10px; font-size: 12px;
  color: var(--text-secondary); background: transparent;
  cursor: pointer; transition: all 0.2s ease;
  white-space: nowrap;
}
.pl-sess-btn:hover {
  background: var(--accent-soft); color: var(--accent);
  border-color: var(--accent-light);
}
.pl-sess-btn i { font-size: 14px; }
.pl-sess-new { color: var(--accent); border-color: var(--accent-light); }
.pl-sess-new:hover {
  background: var(--accent); color: #fff;
  box-shadow: 0 2px 8px rgba(108,92,231,0.2);
}
.pl-sess-clear { padding: 5px 7px; }
.pl-sess-clear:hover { color: #e11d48; border-color: #e11d48; background: rgba(225,29,72,0.06); }
.pl-sess-info {
  flex: 1; display: flex; align-items: center; gap: 8px;
  justify-content: center; min-width: 0;
}
.pl-sess-round {
  font-size: 12px; font-weight: 600; color: var(--accent);
  font-family: 'Noto Serif SC', serif;
}
.pl-sess-time { font-size: 11px; color: var(--text-tertiary); }
.pl-sess-actions { display: flex; align-items: center; gap: 4px; }

/* ── 历史记录面板 ── */
.pl-history-panel {
  margin: 0 0 10px;
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.35s ease, opacity 0.25s ease;
}
.pl-history-panel.pl-history-open {
  max-height: 350px; opacity: 1;
}
.pl-history-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.pl-history-title {
  font-size: 13px; font-weight: 600; color: var(--text-primary);
  display: flex; align-items: center; gap: 6px;
  font-family: 'Noto Serif SC', serif;
}
.pl-history-title i { color: var(--accent); font-size: 15px; }
.pl-history-close {
  width: 26px; height: 26px; border: none; border-radius: 6px;
  background: transparent; cursor: pointer; color: var(--text-tertiary);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; transition: all 0.2s;
}
.pl-history-close:hover { background: rgba(0,0,0,0.05); color: var(--text-primary); }

.pl-history-list {
  max-height: 280px; overflow-y: auto; padding: 6px 8px;
}
.pl-history-list::-webkit-scrollbar { width: 3px; }
.pl-history-list::-webkit-scrollbar-thumb { background: var(--accent-light); border-radius: 3px; }

.pl-history-item {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px; margin-bottom: 4px;
  border-radius: 8px; cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.pl-history-item:hover {
  background: var(--accent-soft); border-color: var(--accent-light);
}
.pl-history-item.pl-history-active {
  background: rgba(108,92,231,0.08); border-color: var(--accent-light);
  box-shadow: 0 0 0 1px rgba(108,92,231,0.1);
}
.pl-history-item-main { flex: 1; min-width: 0; }
.pl-history-item-preview {
  font-size: 12.5px; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  display: flex; align-items: center; gap: 4px;
}
.pl-history-item-preview i { color: var(--accent); font-size: 13px; flex-shrink: 0; }
.pl-history-item-meta {
  display: flex; gap: 10px; margin-top: 2px;
  font-size: 11px; color: var(--text-tertiary);
}
.pl-history-item-del {
  width: 24px; height: 24px; border: none; border-radius: 6px;
  background: transparent; cursor: pointer; color: var(--text-tertiary);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; flex-shrink: 0; transition: all 0.2s;
  opacity: 0;
}
.pl-history-item:hover .pl-history-item-del { opacity: 1; }
.pl-history-item-del:hover { background: rgba(225,29,72,0.08); color: #e11d48; }

.pl-history-empty {
  padding: 24px 0; text-align: center;
  color: var(--text-tertiary); font-size: 13px;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.pl-history-empty i { font-size: 28px; opacity: 0.4; }

/* ═══════════════════════════════════════════════════════
   灵魂使命 — 多轮对话区样式
   ═══════════════════════════════════════════════════════ */

/* ── 对话区分隔线 ── */
.pl-chat-divider {
  display: flex; align-items: center; gap: 12px;
  margin: 20px 0 12px;
}
.pl-chat-divider::before,
.pl-chat-divider::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-light), transparent);
  opacity: 0.3;
}
.pl-chat-divider-text {
  font-size: 12px; color: var(--accent); white-space: nowrap;
  display: flex; align-items: center; gap: 4px;
  font-family: 'Noto Serif SC', serif; font-weight: 500;
}

/* ── 对话消息区 ── */
.pl-chat-area {
  max-height: 450px; overflow-y: auto; padding: 12px 4px;
  scroll-behavior: smooth;
}
.pl-chat-area::-webkit-scrollbar { width: 4px; }
.pl-chat-area::-webkit-scrollbar-thumb { background: var(--accent-light); border-radius: 4px; }

/* ── 欢迎语 + 建议按钮 ── */
.pl-chat-welcome { padding: 8px 0; }
.pl-suggest-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
  max-width: 420px; margin: 0 auto;
}
.pl-suggest-btn {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 10px; padding: 8px 12px;
  font-size: 12px; color: var(--accent);
  cursor: pointer; text-align: center;
  transition: all 0.2s ease;
}
.pl-suggest-btn:hover {
  background: var(--accent-soft);
  border-color: var(--accent-light);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(108,92,231,0.12);
}

/* ── 回答后追加的建议按钮 ── */
.pl-chat-suggest-after {
  padding: 6px 0 2px;
  animation: pl-msg-in 0.3s ease-out;
}
.pl-chat-suggest-after .pl-suggest-grid {
  max-width: 100%; gap: 6px;
}
.pl-chat-suggest-after .pl-suggest-btn {
  padding: 5px 8px; font-size: 11px;
  border-radius: 8px; opacity: 0.8;
}
.pl-chat-suggest-after .pl-suggest-btn:hover { opacity: 1; }

/* ── 消息气泡 ── */
.pl-msg { display: flex; margin-bottom: 10px; animation: pl-msg-in 0.3s ease-out; }
@keyframes pl-msg-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.pl-msg-user { justify-content: flex-end; }
.pl-msg-ai { justify-content: flex-start; }
.pl-msg-bubble {
  max-width: 85%; padding: 10px 14px;
  border-radius: 14px; font-size: 13px; line-height: 1.7;
}
.pl-bubble-user {
  background: linear-gradient(135deg, #6c5ce7, #a29bfe);
  color: #fff; border-bottom-right-radius: 4px;
}
.pl-bubble-ai {
  background: var(--glass-bg); border: 1px solid var(--glass-border);
  color: var(--text-secondary); border-bottom-left-radius: 4px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.03);
}
.pl-msg-error { color: #e11d48 !important; }

/* ── 输入栏 ── */
.pl-chat-input-bar {
  display: flex; gap: 8px; margin-top: 8px;
}
.pl-chat-input {
  flex: 1; border: 1px solid var(--glass-border);
  border-radius: 12px; padding: 10px 14px;
  font-size: 13px; color: var(--text-primary);
  background: var(--glass-bg);
  outline: none; transition: border-color 0.2s;
}
.pl-chat-input:focus {
  border-color: var(--accent-light);
  box-shadow: 0 0 0 3px rgba(108,92,231,0.1);
}
.pl-chat-input::placeholder { color: var(--text-tertiary); }
.pl-chat-send {
  width: 42px; height: 42px; border: none;
  border-radius: 12px; cursor: pointer;
  background: linear-gradient(135deg, #6c5ce7, #a29bfe);
  color: #fff; font-size: 16px;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}
.pl-chat-send:hover { transform: scale(1.05); box-shadow: 0 2px 10px rgba(108,92,231,0.3); }
.pl-chat-send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

/* ── 对话轮次提示 ── */
.pl-chat-hint {
  text-align: center; font-size: 11px; color: var(--text-tertiary);
  margin-top: 6px; padding: 2px 0;
  display: flex; align-items: center; justify-content: center; gap: 4px;
}
.pl-chat-hint i { font-size: 12px; color: var(--accent-light); }

/* ── 响应式 ── */
@media (max-width: 640px) {
  .pl-ai-header { padding: 14px 16px; gap: 10px; }
  .pl-ai-header-icon { width: 38px; height: 38px; font-size: 18px; border-radius: 11px; }
  .pl-ai-header-title { font-size: 14px; }
  .pl-ai-section { margin: 8px 12px; padding: 10px 12px; }
  .pl-ai-sec-body { padding-left: 10px; font-size: 13px; }
  .pl-suggest-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .pl-suggest-btn { font-size: 11px; padding: 6px 8px; }
  .pl-chat-area { max-height: 380px; }
  /* 会话管理 */
  .pl-session-bar { padding: 6px 8px; gap: 6px; }
  .pl-sess-btn span { display: none; }
  .pl-sess-btn { padding: 5px 7px; }
  .pl-sess-time { display: none; }
  .pl-history-panel.pl-history-open { max-height: 300px; }
  .pl-history-item-del { opacity: 1; }
}
@media (max-width: 380px) {
  .pl-ai-header-icon { width: 32px; height: 32px; font-size: 16px; }
  .pl-ai-header-title { font-size: 13px; }
  .pl-ai-header-sub { font-size: 10px; }
  .pl-ai-section { margin: 6px 8px; padding: 8px 10px; }
  .pl-ai-sec-body { padding-left: 6px; font-size: 12px; line-height: 1.75; }
  .pl-ai-sec-icon { font-size: 14px; }
  .pl-suggest-grid { grid-template-columns: 1fr; }
  .pl-chat-area { max-height: 320px; }
  .pl-msg-bubble { max-width: 90%; font-size: 12px; }
  /* 会话管理 */
  .pl-session-bar { padding: 5px 6px; }
  .pl-sess-round { font-size: 11px; }
  .pl-history-item { padding: 6px 8px; }
  .pl-history-item-preview { font-size: 12px; }
}

/* ═══════════════════════════════════════════════════
   面板1：风水速览引导区（方案A）
   ═══════════════════════════════════════════════════ */

/* 速览区容器 */
.fs-quick-insight {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(99,102,241,0.04) 0%, rgba(245,158,11,0.03) 50%, rgba(16,185,129,0.04) 100%);
  border: 1px solid rgba(99,102,241,0.10);
  position: relative;
  overflow: hidden;
}
.fs-quick-insight::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle, rgba(245,158,11,0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.fs-quick-insight::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(99,102,241,0.05) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* 速览标题 */
.fs-qi-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.fs-qi-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  font-size: 14px;
  flex-shrink: 0;
}
.fs-qi-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #1a1a2e);
}
.fs-qi-badge {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(245,158,11,0.10);
  color: #d97706;
  font-weight: 500;
  margin-left: auto;
}

/* 方位概括行 */
.fs-qi-dirs {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.fs-qi-dir-group {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(0,0,0,0.04);
}
.fs-qi-dir-icon {
  font-size: 18px;
  flex-shrink: 0;
}
.fs-qi-dir-body {
  flex: 1;
  min-width: 0;
}
.fs-qi-dir-label {
  font-size: 10px;
  color: #999;
  margin-bottom: 1px;
}
.fs-qi-dir-val {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}
.fs-qi-dir-val.fs-qi-good { color: #059669; }
.fs-qi-dir-val.fs-qi-bad { color: #dc2626; }

/* 三场景mini卡片 */
.fs-qi-scenes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.fs-qi-scene {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border-radius: 12px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(0,0,0,0.04);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.fs-qi-scene:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border-color: var(--scene-color, #6366f1);
}
.fs-qi-scene:hover .fs-qi-scene-icon {
  transform: scale(1.08);
}
.fs-qi-scene-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 17px;
  color: #fff;
  transition: transform 0.3s ease;
}
.fs-qi-scene-icon.fs-qi-office { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.fs-qi-scene-icon.fs-qi-home { background: linear-gradient(135deg, #10b981, #059669); }
.fs-qi-scene-icon.fs-qi-shop { background: linear-gradient(135deg, #f59e0b, #d97706); }
.fs-qi-scene-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary, #1a1a2e);
}
.fs-qi-scene-desc {
  font-size: 10px;
  color: #999;
  text-align: center;
  line-height: 1.3;
}

/* CTA按钮 */
.fs-qi-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.fs-qi-cta::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.fs-qi-cta:hover::before {
  left: 100%;
}
.fs-qi-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(245,158,11,0.30);
}
.fs-qi-cta i {
  font-size: 15px;
}
.fs-qi-cta i.ri-vip-crown-2-fill {
  font-size: 17px;
  filter: drop-shadow(0 0 4px rgba(255,215,0,0.5));
  animation: fs-crown-glow 2s ease-in-out infinite;
}
@keyframes fs-crown-glow {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255,215,0,0.4)); }
  50% { filter: drop-shadow(0 0 8px rgba(255,215,0,0.8)); }
}

/* 响应式 */
@media (max-width: 600px) {
  .fs-qi-dirs { flex-direction: column; gap: 6px; }
  .fs-qi-scenes { gap: 6px; }
  .fs-qi-scene { padding: 10px 6px; }
  .fs-qi-scene-icon { width: 32px; height: 32px; font-size: 15px; }
  .fs-qi-scene-name { font-size: 11px; }
  .fs-quick-insight { padding: 12px 14px; }
}

