/* —— 首页专属 —— */
.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); }

/* 访客热点 TOP10 榜（国家 + 城市），置于地图下方 */
.geo-top { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.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; } }
