/* —— 首页专属 —— */
.hero-card { background:
    radial-gradient(130% 120% at 100% 0, rgba(184,134,11,.08), transparent 58%),
    var(--c-paper-card); }
.hero-top { display:flex; gap:var(--sp-5); padding:var(--sp-5); align-items:center; flex-wrap:wrap; }
.hero-date { text-align:center; flex:none; }
.hero-date .day { font-family:var(--font-serif); font-weight:900; color:var(--c-primary); font-size:var(--t-hero); line-height:1; }
.hero-date .ym { font-size:var(--t-sm); color:var(--c-ink-2); margin-top:6px; }
.hero-date .week { display:inline-block; margin-top:8px; font-size:var(--t-xs); background:var(--c-primary-soft); color:var(--c-primary-deep); padding:3px 10px; border-radius:var(--radius-pill); }
.hero-date .nong { margin-top:8px; font-family:var(--font-serif); font-size:15px; color:var(--c-ink); }
.hero-date .nong span { color:var(--c-gold); }
.hero-yiji { flex:1; min-width:240px; border-left:1px dashed var(--c-line); padding-left:var(--sp-5); display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.hero-yiji h3 { display:flex; align-items:center; gap:8px; font-size:var(--t-h2); margin-bottom:10px; }
.hero-yiji .badge { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:#fff; font-family:var(--font-serif); font-size:17px; flex:none; }
.hero-yiji .yi .badge { background:var(--c-yi); }
.hero-yiji .ji .badge { background:var(--c-ji); }
.hero-cta { display:flex; gap:10px; padding:0 var(--sp-5) var(--sp-5); flex-wrap:wrap; }
@media (max-width:560px){ .hero-yiji { border-left:0; padding-left:0; border-top:1px dashed var(--c-line); padding-top:var(--sp-4); grid-template-columns:1fr 1fr; } }

/* 五行穿衣 */
.wuxing-row { display:flex; gap:var(--sp-5); align-items:center; flex-wrap:wrap; }
.wuxing-row .pill-row { flex:1; min-width:200px; }
.wuxing-swatches { display:flex; gap:6px; }
.wuxing-swatches i { width:26px; height:26px; border-radius:50%; display:block; border:2px solid #fff; box-shadow:var(--shadow-sm); }

/* 运势卡 */
.fortune-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
@media (max-width:680px){ .fortune-grid { grid-template-columns:1fr; } }
.fortune-card .ft-hd { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fortune-card .ft-sym { width:46px; height:46px; flex:none; border-radius:12px; display:grid; place-items:center; font-family:var(--font-serif); font-size:22px; color:#fff; background:linear-gradient(160deg,var(--c-primary),var(--c-primary-deep)); box-shadow:inset 0 0 0 1.5px var(--c-gold-light); }
.fortune-card .ft-sym.cst { background:linear-gradient(160deg,var(--c-gold-light),var(--c-gold)); color:#4a3403; }
.fortune-card .ft-hd b { font-family:var(--font-serif); font-size:17px; }
.fortune-card .ft-hd .sub { font-size:var(--t-xs); color:var(--c-ink-3); }
.star-list { display:grid; gap:8px; }
.star-row { display:flex; align-items:center; font-size:var(--t-sm); }
.star-row .lbl { color:var(--c-ink-2); width:48px; flex:none; }
.star-row .stars { letter-spacing:2px; color:var(--c-luck); font-size:14px; }
.star-row .stars .off { color:var(--c-line); }

/* 工具宫格 */
.tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); }
@media (max-width:560px){ .tool-grid { grid-template-columns:repeat(2,1fr); } }
.tool-cell { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:var(--sp-4) var(--sp-2); background:#fff; border:1px solid var(--c-line); border-radius:var(--radius); transition:.18s; }
.tool-cell:hover { border-color:var(--c-primary); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.tool-cell .ic { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-family:var(--font-serif); font-size:22px; color:var(--c-primary-deep); background:var(--c-primary-soft); }
.tool-cell b { font-family:var(--font-serif); font-size:15px; color:var(--c-ink); }
.tool-cell span { font-size:var(--t-xs); color:var(--c-ink-3); line-height:1.4; }

/* 侧栏热门词条 */
.hot-list a { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px dashed var(--c-line); font-size:var(--t-sm); }
.hot-list a:last-child { border-bottom:0; }
.hot-list a:hover { color:var(--c-primary); }
.hot-list .rk { width:20px; height:20px; flex:none; border-radius:5px; display:grid; place-items:center; font-size:12px; font-family:var(--font-mono); background:var(--c-line); color:var(--c-ink-2); }
.hot-list a:nth-child(-n+3) .rk { background:var(--c-primary); color:#fff; }

/* —— 访客洞察：世界热点地图 + 搜索词云 —— */
.insight-panel { margin-top:var(--sp-4); }
.geo-toggle { margin-left:auto; display:inline-flex; border:1px solid var(--c-line); border-radius:var(--radius-pill); overflow:hidden; background:#fff; }
.geo-toggle button { border:0; background:transparent; padding:5px 12px; font-size:var(--t-xs); color:var(--c-ink-2); cursor:pointer; font-family:var(--font-sans); }
.geo-toggle button + button { border-left:1px solid var(--c-line); }
.geo-toggle button.on { background:var(--c-primary); color:#fff; }
.geo-map { width:100%; height:440px; }
.word-cloud { width:100%; height:340px; position:relative; overflow:hidden; }
.insight-empty { width:100%; height:100%; min-height:160px; display:grid; place-items:center; color:var(--c-ink-3); font-size:var(--t-sm); }

/* 访客热点·热门城市 TOP5，置于地图下方（单列） */
.geo-top { display:grid; grid-template-columns:1fr; gap:14px; margin-top:14px; max-width:420px; }
.geo-top-col { border:1px solid var(--c-line); border-radius:var(--radius); background:#fff; padding:10px 12px; }
.geo-top-hd { margin:0 0 8px; font-family:var(--font-serif); font-size:var(--t-sm); color:var(--c-ink); }
.geo-top-note { font-size:var(--t-xs); color:var(--c-ink-3); font-weight:400; }
.geo-top-list { list-style:none; margin:0; padding:0; }
.geo-top-list li { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:var(--t-sm); color:var(--c-ink-2); border-top:1px dashed var(--c-line); }
.geo-top-list li:first-child { border-top:0; }
.geo-top-list .gt-rank { flex:0 0 20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--c-primary-soft); color:var(--c-primary); font-size:var(--t-xs); font-family:var(--font-mono); }
.geo-top-list li:nth-child(1) .gt-rank { background:var(--c-primary); color:#fff; }
.geo-top-list li:nth-child(2) .gt-rank, .geo-top-list li:nth-child(3) .gt-rank { background:var(--c-gold); color:#fff; }
.geo-top-list .gt-name { flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.geo-top-list .gt-val { flex:0 0 auto; font-family:var(--font-mono); color:var(--c-ink-3); }
.geo-top-list .geo-top-empty { justify-content:center; color:var(--c-ink-3); }

/* —— 文章正文 / 赏析 / 每日推荐 —— */
.article-body { font-size:16px; line-height:2; color:var(--c-ink); }
.article-body p { margin:0 0 14px; }
.article-body h2, .article-body h3 { font-family:var(--font-serif); margin:18px 0 10px; }
.article-body blockquote { margin:0 0 14px; padding:8px 14px; border-left:3px solid var(--c-gold); background:var(--c-paper-card); color:var(--c-ink-2); }
.article-appreciation { margin-top:6px; background:var(--c-primary-soft); border-radius:var(--radius); padding:14px 16px; font-size:15px; line-height:1.9; color:var(--c-ink-2); }
.article-appreciation p { margin:0 0 10px; }
.daily-article-link { display:block; }
.daily-article-title { font-family:var(--font-serif); font-size:17px; color:var(--c-ink); }
.daily-article-link:hover .daily-article-title { color:var(--c-primary); }
.daily-article-excerpt { margin-top:8px; font-size:var(--t-sm); color:var(--c-ink-2); line-height:1.8; }

/* 3D 旋转球形词云（.tagsphere 加在 .word-cloud 容器上，复用其尺寸；勿再设 height 否则覆盖 340px） */
.tagsphere { position:relative; }
.ts-tag { position:absolute; left:0; top:0; white-space:nowrap; text-decoration:none; font-family:var(--font-serif); line-height:1; cursor:pointer; transition:color .15s; will-change:transform,opacity,font-size; }
.ts-tag:hover { color:var(--c-primary)!important; font-weight:700; }
.ts-num { font-style:normal; font-size:.62em; opacity:.55; margin-left:3px; font-family:var(--font-mono); }
.insight-note { margin-top:8px; font-size:var(--t-xs); color:var(--c-ink-3); }
@media (max-width:560px){ .geo-map { height:300px; } .word-cloud { height:260px; } .geo-top { grid-template-columns:1fr; } }

/* —— 首屏前部：H1 + 结论先行简介 + 大号全站搜索 + 热门搜索内链 —— */
.search-hero { display:flex; flex-direction:column; gap:10px; }
.portal-h1 { margin:0; font-family:var(--font-serif); font-weight:900; color:var(--c-ink); font-size:clamp(22px,4.4vw,32px); line-height:1.2; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; }
.portal-h1-sub { font-size:clamp(12px,2.2vw,15px); font-weight:400; color:var(--c-ink-3); font-family:var(--font-sans); letter-spacing:.5px; }
.portal-intro { margin:0; font-size:clamp(13px,2.4vw,15px); line-height:1.85; color:var(--c-ink-2); max-width:64ch; }
.site-search-lg input { padding:14px 18px; font-size:16px; }
.site-search-lg button { padding:0 26px; font-size:16px; font-family:var(--font-serif); }
.search-hot { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; font-size:var(--t-sm); }
.search-hot-lbl { color:var(--c-ink-3); font-family:var(--font-serif); }
.search-hot a { color:var(--c-ink-2); text-decoration:none; }
.search-hot a:hover { color:var(--c-primary); }

/* —— 全站搜索框（首页面板 + 搜索结果页通用）—— */
.site-search { display:flex; gap:8px; }
.site-search input { flex:1; min-width:0; padding:10px 14px; border:1px solid var(--c-line); border-radius:var(--radius-pill); font-size:var(--t-base,15px); background:#fff; color:var(--c-ink); }
.site-search input:focus { outline:0; border-color:var(--c-primary); box-shadow:0 0 0 3px var(--c-primary-soft); }
.site-search button { flex:none; padding:0 20px; border:0; border-radius:var(--radius-pill); background:var(--c-primary); color:#fff; font-family:var(--font-serif); cursor:pointer; }
.site-search button:hover { background:var(--c-primary-deep); }

/* —— 搜索结果页 —— */
.search-tip { margin-top:14px; }
.search-group { margin-top:var(--sp-4); }
.search-group-hd { font-size:var(--t-sm); color:var(--c-primary-deep); font-family:var(--font-serif); padding-bottom:6px; border-bottom:1px solid var(--c-line); }
.search-list { list-style:none; margin:0; padding:0; }
.search-item { display:block; padding:11px 0; border-bottom:1px dashed var(--c-line); }
.search-item:hover .search-item-title { color:var(--c-primary); }
.search-item-title { display:block; font-family:var(--font-serif); font-size:16px; color:var(--c-ink); }
.search-item-snip { display:block; margin-top:3px; font-size:var(--t-sm); color:var(--c-ink-3); line-height:1.5; }

/* 学道文化 · 各文章栏目最新 6 篇 */
.culture-cols{margin-top:14px;border-top:1px dashed var(--c-line,#ece7dd);padding-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.culture-col{background:#fff;border:1px solid var(--c-line,#ece7dd);border-radius:12px;padding:12px 14px}
.culture-col-hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--c-line,#f0ebe2)}
.culture-col-name{font-family:var(--font-serif);font-weight:700;font-size:15px;color:var(--c-ink,#333);text-decoration:none}
.culture-col-name:hover{color:var(--c-primary,#c0392b)}
.culture-col-more{font-size:12px;color:var(--c-gold-ink,#8a6d1f);text-decoration:none;white-space:nowrap}
.culture-col-list{list-style:none;margin:0;padding:0}
.culture-col-list li{margin:0;line-height:1.9}
.culture-col-list a{font-size:13px;color:var(--c-ink-2,#555);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.culture-col-list a:hover{color:var(--c-primary,#c0392b)}
.culture-col-list li{display:flex;align-items:center;gap:6px}
.culture-col-list li a{flex:1;min-width:0}
.cc-meta{flex:none;font-size:11px;color:var(--c-ink-3,#999)}
.cc-au{color:var(--c-gold-ink,#8a6d1f)}

/* —— 自适应断点：PC / 平板(PAD) / 手机，兼顾真人使用与触控 —— */
/* 宽屏（PC）：子站宫格 4 列，充分利用横向空间 */
@media (min-width:1000px){ .tool-grid { grid-template-columns:repeat(4,1fr); } }
/* 平板（PAD）：学道文化栏目收敛为 2 列，更聚焦易读 */
@media (max-width:900px){ .culture-cols { grid-template-columns:repeat(2,1fr); } }
/* 手机：单列 + 触控目标≥44px + 防 iOS 聚焦缩放 + 收紧留白 */
@media (max-width:560px){
  .culture-cols { grid-template-columns:1fr; }
  .site-search-lg input { font-size:16px; }
  .site-search-lg button { min-height:48px; }
  .tool-cell { min-height:94px; justify-content:center; }
  .portal-intro { line-height:1.8; }
}
@media (max-width:400px){ .tool-grid { grid-template-columns:repeat(2,1fr); } .hero-yiji { grid-template-columns:1fr; } }

/* 首页底部「关于」介绍块：舒适阅读排版 */
.portal-about .panel-bd { padding-top:6px; }
.portal-about p { margin:0 0 10px; font-size:clamp(13px,2.3vw,14.5px); line-height:1.9; color:var(--c-ink-2); }
.portal-about p:last-child { margin-bottom:0; }
.portal-about p b { color:var(--c-ink); }
.portal-about p.muted b { color:inherit; }

/* 每日一句 + 每日推荐 */
.daily-sentence{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:10px;margin:14px 0;padding:12px 18px;background:linear-gradient(180deg,#fbf7ee,#fff);border:1px solid #efe7d6;border-radius:12px;text-decoration:none;text-align:center}
.daily-sentence .ds-text{font-size:clamp(15px,3vw,19px);color:#5a4b2a;letter-spacing:1px;font-family:var(--font-serif,serif)}
.daily-sentence .ds-from{font-size:.82rem;color:#b09256}
.daily-sentence:hover .ds-text{color:#8a1a1a}
.daily-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.dp-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #f0e2e2;border-radius:12px;background:#fff;text-decoration:none;transition:.18s}
.dp-card:hover{border-color:#d99;box-shadow:0 4px 16px rgba(160,26,26,.1);transform:translateY(-2px)}
.dp-label{font-size:.72rem;color:#c0392b;background:#fbeeee;border-radius:999px;padding:2px 10px;align-self:flex-start}
.dp-title{font-size:.92rem;color:#333;line-height:1.5}

/* 会员足迹卡 */
#memberFootprint .mf-list{display:flex;flex-wrap:wrap;gap:8px}
.mf-item{display:inline-block;max-width:220px;padding:7px 13px;border:1px solid #f0e2e2;border-radius:999px;background:#fff;text-decoration:none;color:#8b1a1a;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-item:hover{border-color:#d99;background:#fdf6f6}

/* 各版收录量看板 */
.stat-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin:12px 0 6px}
.stat-cell{text-align:center;padding:12px 6px;background:linear-gradient(180deg,#fbf7ee,#fff);border:1px solid #efe7d6;border-radius:10px}
.stat-n{display:block;font-size:1.35rem;font-weight:800;color:#8a1a1a;line-height:1.1;font-family:var(--font-mono,monospace)}
.stat-l{font-size:.78rem;color:#8a744a}

/* 首页十二星座今日运势入口（xingzuo.js 渲染，自带样式不依赖 xingzuo.css） */
.xz-pick{ display:flex; flex-wrap:wrap; gap:8px; }
.xz-pick-btn{ cursor:pointer; }
#xzFortune .xz-fortune{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
#xzFortune .xz-ft-item{ display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:#faf7f0; border:1px solid #ece3d2; border-radius:8px; padding:.4em .7em; }
#xzFortune .xz-ft-label{ color:#6b5327; font-weight:600; }
#xzFortune .xz-stars .on{ color:#d4a017; }
#xzFortune .xz-stars .off{ color:#d8ccb4; }
#xzFortune .xz-ft-note{ margin:12px 0 0; color:#7a6a4f; line-height:1.7; }
