/* ============================================================
   如是心 · 全站标签聚合页样式（tags.css）
   ------------------------------------------------------------
   用途：把全站的标签（Tag）聚合到一张页面，按内容模块分组。
   约定与专题页一致：内容全部直接写在 HTML 里，
   jQuery（topic.js + 页面内联脚本）只负责交互。

   结构速查：
   .tg-hero        头部横幅（深色全出血 + 大字水印）
   .tg-hot         热门标签墙（上图下文大卡）
   .tg-nav         模块导航条（sticky）
   .tg-sec         模块区块（带 id，供锚点与滚动高亮）
   .tg-grid        标签卡网格
   .tg-card        标签卡（缩略图 + 标题 + 描述 + 计数）
   .tg-list        关联内容列表
   .tg-item        内容条目（有图=图文卡，无图=纯文字）
   .tg-rail        右侧栏
   ============================================================ */

/* ---------- 头部横幅 ---------- */
.tg-hero { position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 7.5rem 0 3.4rem; background: #16281F; }
.tg-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.04); animation: tgzoom 22s ease-out forwards; }
@keyframes tgzoom { to { transform: scale(1.15); } }
.tg-hero-mask { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,34,27,.72) 0%, rgba(18,34,27,.54) 40%, rgba(18,34,27,.95) 100%); }
.tg-watermark { position: absolute; right: 3%; bottom: -14%; font-family: 'Noto Serif SC', serif; font-size: 15rem; line-height: .8; color: rgba(247,243,234,.13); pointer-events: none; }
@media (max-width: 1023px) { .tg-hero { padding: 6.2rem 0 2.6rem; } .tg-watermark { font-size: 9rem; } }

.tg-kicker { font-size: .74rem; letter-spacing: .3em; color: #E4C98A; }
.tg-title { font-family: 'Noto Serif SC', serif; font-weight: 900; font-size: 2.1rem; line-height: 1.25; color: #F7F3EA; margin: .7rem 0 .9rem; }
@media (min-width: 768px) { .tg-title { font-size: 3rem; } }
.tg-lead { max-width: 46rem; font-size: .92rem; line-height: 2; color: rgba(247,243,234,.76); }
.tg-stats { display: flex; flex-wrap: wrap; gap: 2.2rem; margin: 2rem 0 0; }
.tg-stat b { display: block; font-family: 'Noto Serif SC', serif; font-size: 1.7rem; font-weight: 700; color: #E4C98A; line-height: 1.2; }
.tg-stat span { font-size: .72rem; letter-spacing: .12em; color: rgba(247,243,234,.5); }

/* ---------- 热门标签墙 ---------- */
.tg-hot { margin-top: 2.6rem; }
.tg-hot-head { font-size: .72rem; letter-spacing: .28em; color: rgba(30,58,46,.5); margin-bottom: 1rem; }
.tg-hot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
@media (min-width: 768px) { .tg-hot-grid { grid-template-columns: repeat(4, 1fr); } }

.tg-hotcard { display: block; text-decoration: none; border-radius: 1.1rem; overflow: hidden; background: #fff; border: 1px solid rgba(30,58,46,.07); transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s; }
.tg-hotcard:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -18px rgba(30,58,46,.3); }
.tg-hotcard img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; background: #E4E0D2; transition: transform .6s; }
.tg-hotcard:hover img { transform: scale(1.06); }
.tg-hotcard-body { padding: .75rem .85rem .9rem; }
.tg-hotcard-title { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .95rem; color: #1E3A2E; line-height: 1.35; }
.tg-hotcard-desc { font-size: .72rem; color: rgba(30,58,46,.55); line-height: 1.7; margin-top: .3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tg-hotcard-count { display: inline-block; margin-top: .5rem; font-size: .68rem; color: #A63D2F; letter-spacing: .05em; }

/* ---------- 模块导航条 ---------- */
.tg-nav { position: sticky; top: 80px; z-index: 30; background: rgba(247,243,234,.94); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(30,58,46,.12); }
.tg-nav-inner { display: flex; gap: .3rem; overflow-x: auto; padding: .45rem 0; scrollbar-width: none; }
.tg-nav-inner::-webkit-scrollbar { display: none; }
.tg-nav a { flex: 1 1 0; text-align: center; padding: .45rem .5rem; border-radius: .7rem; font-size: .82rem; color: rgba(30,58,46,.62); text-decoration: none; white-space: nowrap; transition: background .3s, color .3s; }
.tg-nav a i { display: block; font-style: normal; font-family: 'Noto Serif SC', serif; font-size: .68rem; opacity: .55; }
.tg-nav a:hover { color: #A63D2F; background: rgba(255,255,255,.75); }
.tg-nav a.on { color: #A63D2F; background: #fff; font-weight: 700; box-shadow: inset 0 -2px 0 #C9A45C; }

/* ---------- 模块区块 ---------- */
.tg-sec { scroll-margin-top: 152px; padding: 2.6rem 0; border-bottom: 1px solid rgba(30,58,46,.08); }
.tg-sec:last-of-type { border-bottom: 0; }
.tg-sechead { display: flex; align-items: flex-start; gap: .9rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(30,58,46,.12); }
.tg-no { flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; font-family: 'Noto Serif SC', serif; font-size: 1.15rem; font-weight: 700; background: #1E3A2E; color: #E4C98A; }
.tg-h2 { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 1.32rem; color: #1E3A2E; line-height: 1.4; }
.tg-sub { font-size: .8rem; color: rgba(30,58,46,.55); margin-top: .25rem; }

/* ---------- 标签卡网格 ---------- */
.tg-grid { display: grid; grid-template-columns: 1fr; gap: .7rem; margin-top: 1.2rem; }
@media (min-width: 768px) { .tg-grid { grid-template-columns: repeat(2, 1fr); } }

.tg-card { display: flex; gap: .85rem; padding: .8rem; border-radius: 1rem; background: rgba(255,255,255,.62); border: 1px solid rgba(30,58,46,.06); text-decoration: none; transition: background .35s, transform .35s, box-shadow .35s; }
.tg-card:hover { background: #fff; transform: translateY(-3px); box-shadow: 0 16px 32px -16px rgba(30,58,46,.28); }
.tg-thumb { flex: 0 0 4.6rem; width: 4.6rem; height: 4.6rem; border-radius: .7rem; overflow: hidden; background: #E4E0D2; }
.tg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.tg-card:hover .tg-thumb img { transform: scale(1.08); }
.tg-body { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.tg-name { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .95rem; color: #1E3A2E; line-height: 1.3; }
.tg-desc { font-size: .74rem; color: rgba(30,58,46,.55); line-height: 1.7; margin-top: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tg-meta { display: flex; align-items: center; gap: .5rem; margin-top: .45rem; font-size: .68rem; color: rgba(30,58,46,.42); }
.tg-count { color: #A63D2F; letter-spacing: .04em; }

/* ---------- 关联内容列表 ---------- */
.tg-list { margin-top: 1.5rem; }
.tg-listhead { font-size: .7rem; letter-spacing: .26em; color: rgba(30,58,46,.42); margin-bottom: .9rem; }

/* 有图：图文卡片 */
.tg-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
@media (min-width: 1024px) { .tg-items { grid-template-columns: repeat(3, 1fr); } }

.tg-icard { display: block; text-decoration: none; border-radius: 1rem; overflow: hidden; background: #fff; border: 1px solid rgba(30,58,46,.06); transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s; }
.tg-icard:hover { transform: translateY(-5px); box-shadow: 0 18px 36px -18px rgba(30,58,46,.3); }
.tg-icard-img { position: relative; overflow: hidden; background: #E4E0D2; }
.tg-icard-img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; transition: transform .6s; }
.tg-icard:hover .tg-icard-img img { transform: scale(1.06); }
.tg-icard-badge { position: absolute; left: .6rem; top: .6rem; font-size: .66rem; padding: .18rem .5rem; border-radius: .35rem; background: rgba(30,58,46,.82); color: #E4C98A; backdrop-filter: blur(4px); }
.tg-icard-body { padding: .7rem .8rem .85rem; }
.tg-icard-title { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .92rem; color: #1E3A2E; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s; }
.tg-icard:hover .tg-icard-title { color: #A63D2F; }
.tg-icard-desc { font-size: .72rem; color: rgba(30,58,46,.55); line-height: 1.75; margin-top: .3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tg-icard-foot { display: flex; align-items: center; gap: .5rem; margin-top: .55rem; font-size: .68rem; color: rgba(30,58,46,.38); }

/* 无图：纯文字条目 */
.tg-textitem { display: block; text-decoration: none; padding: .85rem .95rem; border-radius: .8rem; background: rgba(255,255,255,.42); border: 1px solid rgba(30,58,46,.05); border-left: 3px solid rgba(201,164,92,.55); margin-bottom: .6rem; transition: background .35s, transform .35s, border-color .35s; }
.tg-textitem:hover { background: #fff; transform: translateX(4px); border-left-color: #A63D2F; }
.tg-textitem-title { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .92rem; color: #1E3A2E; line-height: 1.4; transition: color .3s; }
.tg-textitem:hover .tg-textitem-title { color: #A63D2F; }
.tg-textitem-desc { font-size: .72rem; color: rgba(30,58,46,.55); line-height: 1.75; margin-top: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tg-textitem-foot { display: flex; align-items: center; gap: .5rem; margin-top: .45rem; font-size: .68rem; color: rgba(30,58,46,.38); }

/* ---------- 右侧栏 ---------- */
.tg-rail { position: sticky; top: 104px; }
.tg-box { border-radius: 1.1rem; background: rgba(255,255,255,.5); border: 1px solid rgba(30,58,46,.07); padding: 1.05rem 1.1rem 1.15rem; margin-bottom: 1rem; }
.tg-box h4 { font-family: 'Noto Serif SC', serif; font-size: .84rem; font-weight: 700; color: #1E3A2E; margin: 0 0 .75rem; letter-spacing: .06em; display: flex; align-items: center; gap: .4rem; }
.tg-box h4::before { content: ''; width: 3px; height: .8rem; border-radius: 2px; background: #C9A45C; }

.tg-index a { display: flex; align-items: center; gap: .6rem; padding: .5rem .6rem; border-radius: .6rem; text-decoration: none; transition: background .3s; }
.tg-index a:hover { background: rgba(255,255,255,.9); }
.tg-index a.on { background: #fff; box-shadow: 0 6px 16px -10px rgba(30,58,46,.4); }
.tg-index .ic { flex: 0 0 1.7rem; width: 1.7rem; height: 1.7rem; border-radius: .5rem; background: rgba(30,58,46,.07); display: flex; align-items: center; justify-content: center; font-size: .8rem; }
.tg-index .tx { min-width: 0; flex: 1; }
.tg-index .t1 { font-size: .8rem; color: rgba(30,58,46,.8); line-height: 1.3; }
.tg-index .t2 { font-size: .68rem; color: rgba(30,58,46,.42); }
.tg-index .ar { color: rgba(30,58,46,.25); font-size: .8rem; }

.tg-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.tg-pill { font-size: .72rem; padding: .26rem .62rem; border-radius: .45rem; background: rgba(92,122,102,.11); color: #3A5A48; text-decoration: none; transition: background .3s, color .3s; }
.tg-pill:hover { background: #1E3A2E; color: #E4C98A; }
.tg-pill.hot { background: rgba(166,61,47,.1); color: #A63D2F; }

/* ---------- 搜索与模块筛选 ---------- */
.tg-search { display: flex; align-items: center; gap: .5rem; border-radius: 99px; background: rgba(255,255,255,.7); border: 1px solid rgba(30,58,46,.1); padding: .5rem 1rem; }
.tg-search input { border: 0; outline: 0; background: transparent; font-size: .84rem; color: #1E3A2E; width: 100%; }
.tg-search input::placeholder { color: rgba(30,58,46,.35); }

.tg-empty { display: none; padding: 2.4rem 0; text-align: center; color: rgba(30,58,46,.4); font-size: .84rem; }
.tg-empty.on { display: block; }

/* ============================================================
   v2 聚合视图（2026-10-16 改版：单标签聚合，参照搜索聚合页）
   .tg-pillsbar  顶部标签选择条（横向滚动 pills）
   .tg-view      一个标签的聚合视图（JQ 切换显示）
   .tg-headline  主卡：左图 + 右标题 + 长描述
   .tg-relhead   「相关"XX"的内容 N 条」区块标题
   .tg-newsitem  资讯条目（纯文字：标题+简介+标签行）
   .tg-chip      主标签 chip / .tg-mtag 次级灰标签
   .tg-shopgrid  商城/酒店图文卡网格（复用 .tg-icard）
   ============================================================ */

.tg-pillsbar { background: rgba(255,255,255,.6); border: 1px solid rgba(30,58,46,.08); border-radius: 99px; padding: .4rem; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; }
.tg-pillsbar::-webkit-scrollbar { display: none; }
.tg-pillsbar button { flex: 0 0 auto; padding: .5rem 1.1rem; border-radius: 99px; font-size: .84rem; color: rgba(30,58,46,.65); border: 0; background: transparent; cursor: pointer; white-space: nowrap; transition: background .3s, color .3s; }
.tg-pillsbar button:hover { color: #A63D2F; background: rgba(255,255,255,.9); }
.tg-pillsbar button.on { background: #1E3A2E; color: #E4C98A; font-weight: 600; }

.tg-view { display: none; }
.tg-view.on { display: block; }

/* 主卡：左图 + 右标题与描述 */
.tg-headline { display: flex; flex-wrap: wrap; gap: 1.1rem; background: #fff; border: 1px solid rgba(30,58,46,.07); border-radius: 1.1rem; padding: 1.1rem; margin-top: 1.4rem; }
.tg-headline-img { flex: 0 0 8.2rem; width: 8.2rem; height: 8.2rem; border-radius: .7rem; overflow: hidden; background: #E4E0D2; }
.tg-headline-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 639px) { .tg-headline { flex-direction: column; } .tg-headline-img { width: 100%; height: auto; aspect-ratio: 3/2; flex: none; } }
.tg-headline-body { min-width: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.tg-headline-title { font-family: 'Noto Serif SC', serif; font-weight: 900; font-size: 1.45rem; color: #1E3A2E; line-height: 1.3; }
.tg-headline-desc { font-size: .85rem; line-height: 2; color: rgba(30,58,46,.68); margin-top: .55rem; }
.tg-headline-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .8rem; }
.tg-headline-meta .tg-count { font-size: .72rem; }

/* 区块标题：相关"XX"的内容 N 条 */
.tg-relhead { display: flex; align-items: baseline; gap: .55rem; margin: 1.9rem 0 .4rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(30,58,46,.1); }
.tg-relhead .ic { font-size: .9rem; }
.tg-relhead h2 { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 1.05rem; color: #1E3A2E; margin: 0; }
.tg-relhead .cnt { font-size: .78rem; color: rgba(30,58,46,.45); }

/* 资讯条目：纯文字列表（标题 + 简介 + 标签行） */
.tg-newsitem { display: flex; align-items: flex-start; gap: 1rem; text-decoration: none; padding: 1.05rem .2rem 1rem; border-bottom: 1px solid rgba(30,58,46,.07); }
.tg-newsthumb { flex: 0 0 7.2rem; width: 7.2rem; height: 5.1rem; border-radius: .55rem; object-fit: cover; background: #E4E0D2; }
.tg-newsbody { flex: 1 1 0; min-width: 0; }
@media (max-width: 639px) { .tg-newsthumb { flex-basis: 5.6rem; width: 5.6rem; height: 4.2rem; } }
.tg-newsitem:hover .tg-newstitle { color: #A63D2F; }
.tg-newstitle { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 1.02rem; color: #1E3A2E; line-height: 1.5; transition: color .3s; }
.tg-newsdesc { font-size: .8rem; color: rgba(30,58,46,.55); line-height: 1.85; margin-top: .4rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tg-newsmeta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .6rem; font-size: .7rem; color: rgba(30,58,46,.42); }
.tg-chip { font-size: .7rem; padding: .16rem .55rem; border-radius: .35rem; background: rgba(166,61,47,.09); color: #A63D2F; border: 1px solid rgba(166,61,47,.18); }
.tg-mtag { font-size: .7rem; padding: .16rem .55rem; border-radius: .35rem; background: rgba(30,58,46,.055); color: rgba(30,58,46,.5); }
.tg-newsmeta .dot, .tg-headline-meta .dot { opacity: .5; }
.tg-newsmeta .fmeta-hot, .tg-newsmeta .fmeta-time, .tg-headline-meta .fmeta-hot, .tg-headline-meta .fmeta-time { display: inline-flex; align-items: center; gap: .22rem; color: rgba(30,58,46,.5); font-size: .72rem; }
.tg-newsmeta .fmeta-hot svg, .tg-headline-meta .fmeta-hot svg, .tg-hotrow .fmeta-hot svg { flex: 0 0 auto; color: rgba(166,61,47,.9); }

/* 商城/酒店图文卡：横排网格，卡片内 图+标题+简介 */
.tg-shopgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin-top: .9rem; }
@media (min-width: 768px) { .tg-shopgrid { grid-template-columns: repeat(3, 1fr); } }
.tg-shopgrid .tg-icard-desc { -webkit-line-clamp: 2; }

/* ============================================================
   v3 双栏布局（2026-10-16：去掉大头部，右栏=热点排行/专题/标签）
   ============================================================ */

/* 热点排行（与 journal 同款） */
.tg-hotrow { display:flex; align-items:center; gap:.7rem; padding:.7rem 0; border-bottom:1px dashed rgba(30,58,46,.12); }
.tg-hotrow:last-child { border-bottom:0; }
.tg-hotno { flex:0 0 auto; align-self:flex-start; margin-top:.15rem; width:1.25rem; height:1.25rem; border-radius:.35rem; display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:700; }
.tg-hottitle { flex:1 1 0; min-width:0; align-self:flex-start; font-size:.78rem; line-height:1.55; color:rgba(30,58,46,.82); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color .25s; }
.tg-hotrow:hover .tg-hottitle { color:#A63D2F; }
.tg-hotimg { flex:0 0 auto; width:56px; height:44px; border-radius:.45rem; object-fit:cover; background:#E4E0D2; }

/* 标签切换行（替代原大头部，位于内容列顶部） */
.tg-tagrow { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; padding-bottom:.8rem; border-bottom:1px solid rgba(30,58,46,.18); box-shadow:0 1px 0 rgba(201,164,92,.2); }
.tg-tagbtn { padding:.35rem .9rem; border-radius:9999px; border:1px solid transparent; background:transparent; color:rgba(30,58,46,.7); font-size:.86rem; cursor:pointer; white-space:nowrap; transition:all .25s; }
.tg-tagbtn:hover { color:#A63D2F; }
.tg-tagbtn.on { background:#1E3A2E; color:#E4C98A; font-weight:600; }

/* 关于本站内容的声明：样式统一放 shared.css（.stdecl 系列），标签主卡内占满整行 */
.tg-headline .stdecl { flex: 1 0 100%; }

/* 本页 tag 词标色 */
.tg-mark { color: #A63D2F; font-weight: 600; }

/* 专题热度：阅读量 + 向上箭头（动效） */
.tg-topic-hot { flex:0 0 auto; display:flex; align-items:center; gap:.25rem; font-size:.68rem; font-weight:600; color:rgba(166,61,47,.85); }
.tg-topic-hot i { font-style:normal; }
.hotup { display:inline-block; animation: hotup 1.8s ease-in-out infinite; }
@keyframes hotup { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .hotup { animation: none; } }

/* ---------- 标签索引页 /tags.html ---------- */
.tg-idxhead { display: flex; align-items: baseline; gap: .8rem; margin: 1.6rem 0 1.2rem; }
.tg-idxsub { font-size: .78rem; color: rgba(30,58,46,.45); letter-spacing: .04em; }
.tg-idxgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
@media (min-width: 768px) { .tg-idxgrid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .tg-idxgrid { grid-template-columns: repeat(3, 1fr); } }
.tg-idxcard { display: flex; align-items: center; gap: .75rem; padding: .7rem .8rem; border-radius: 1rem; background: #fff; border: 1px solid rgba(30,58,46,.07); text-decoration: none; transition: transform .35s, box-shadow .35s, border-color .35s; }
.tg-idxcard:hover { transform: translateY(-3px); box-shadow: 0 14px 28px -14px rgba(30,58,46,.28); border-color: rgba(201,164,92,.5); }
.tg-idxcard img { flex: 0 0 3.4rem; width: 3.4rem; height: 3.4rem; border-radius: .6rem; object-fit: cover; background: #E4E0D2; }
.tg-idxbody { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.tg-idxname { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .95rem; color: #1E3A2E; }
.tg-idxcard:hover .tg-idxname { color: #A63D2F; }
.tg-idxmeta { font-size: .68rem; color: rgba(30,58,46,.45); display: flex; align-items: center; gap: .2rem; }
.tg-newsitem .tg-chip:hover { background:#A63D2F; color:#fff; border-color:#A63D2F; }

/* ---------- 专题列表（SEO 索引） ---------- */
.tg-seobox { margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px dashed rgba(30,58,46,.12); }
.tg-seolist { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem 1.2rem; }
@media (min-width: 1024px) { .tg-seolist { grid-template-columns: repeat(3, 1fr); } }
.tg-seolink { display: flex; align-items: baseline; gap: .5rem; padding: .45rem .6rem; border-radius: .6rem; text-decoration: none; transition: background .3s; }
.tg-seolink:hover { background: rgba(30,58,46,.05); }
.tg-seoname { font-family: 'Noto Serif SC', serif; font-weight: 600; font-size: .86rem; color: #1E3A2E; }
.tg-seolink:hover .tg-seoname { color: #A63D2F; }
.tg-seometa { font-size: .68rem; color: rgba(30,58,46,.45); white-space: nowrap; }
.tg-seometa i { font-style: normal; }

/* ---------- 标签页两栏布局 + 热点专题侧栏 ---------- */
.tg-layout { display: grid; grid-template-columns: 1fr; gap: 1.8rem; margin-top: .5rem; }
@media (min-width: 1024px) { .tg-layout { grid-template-columns: minmax(0,1fr) 320px; align-items: start; } }
.tg-hotbox { padding: 1.1rem 1.2rem; border-radius: 1.1rem; background: rgba(255,255,255,.62); border: 1px solid rgba(30,58,46,.08); }
.tg-hotlist { display: flex; flex-direction: column; gap: .7rem; }
.tg-hotitem { display: flex; gap: .7rem; align-items: flex-start; padding: .5rem; border-radius: .8rem; text-decoration: none; transition: background .3s, transform .3s; }
.tg-hotitem:hover { background: rgba(255,255,255,.95); transform: translateX(3px); }
.tg-hotthumb { flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: .55rem; object-fit: cover; background: #E4E0D2; }
.tg-hotbody { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem; line-height: 1.35; }
.tg-hotrow { display: flex; align-items: center; gap: .4rem; line-height: 1.3; padding: 0 !important; border-bottom: none !important; }
.tg-hotname { flex: 1; min-width: 0; font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .88rem; color: #1E3A2E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tg-hotitem:hover .tg-hotname { color: #A63D2F; }
.tg-hotdesc { margin-top: .06rem; font-size: .68rem; line-height: 1.25; color: rgba(30,58,46,.48); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tg-hotmeta { flex: 0 0 auto; font-size: .68rem; line-height: 1.25; font-weight: 600; color: rgba(166,61,47,.85); white-space: nowrap; }
.tg-hotup { font-style: normal; font-size: .62rem; font-weight: 700; color: #D9763B; margin-left: .05rem; }
.tg-hotflag { font-style: normal; font-size: .72rem; margin-right: .22rem; }
.tg-hotbox .tg-idxhead { margin: 0 0 .6rem; }
.tg-hotitem { padding: .35rem .4rem; }
.tg-hotlist { gap: .45rem; }
@media (min-width: 1024px) { .tg-hotbox { margin-top: 4.8rem; } }
.tg-recent { margin-top: 1.1rem; }
.tg-recenthead { font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: .95rem; color: #1E3A2E; padding-bottom: .55rem; border-bottom: 1px dashed rgba(30,58,46,.14); margin-bottom: .7rem; }
.tg-recentlist { display: flex; flex-direction: column; gap: .85rem; }
.tg-recentitem { display: flex; gap: .75rem; align-items: center; text-decoration: none; }
.tg-recentthumb { flex: 0 0 2.9rem; width: 2.9rem; height: 2.9rem; border-radius: .5rem; object-fit: cover; background: #E4E0D2; }
.tg-recentbody { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .3rem; line-height: 1.4; }
.tg-recentname { font-size: .82rem; font-weight: 400; color: #1E3A2E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tg-recentitem:hover .tg-recentname { color: #A63D2F; }
.tg-recenttime { font-size: .66rem; color: rgba(30,58,46,.45); }
.tg-pager { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.6rem; flex-wrap: wrap; }
.tg-pgnum { min-width: 2.1rem; height: 2.1rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 .5rem; border-radius: .55rem; background: #fff; border: 1px solid rgba(30,58,46,.1); font-size: .82rem; color: #1E3A2E; text-decoration: none; transition: all .25s; }
.tg-pgnum:hover { border-color: rgba(166,61,47,.45); color: #A63D2F; }
.tg-pgnum.on { background: #A63D2F; border-color: #A63D2F; color: #fff; font-weight: 700; }
.tg-pgbtn { height: 2.1rem; display: inline-flex; align-items: center; padding: 0 .9rem; border-radius: .55rem; background: #fff; border: 1px solid rgba(30,58,46,.1); font-size: .82rem; color: #1E3A2E; text-decoration: none; transition: all .25s; }
.tg-pgbtn:hover { border-color: rgba(166,61,47,.45); color: #A63D2F; }
.tg-hotbox h2 { font-size: .95rem; }
.tg-pgtotal { font-size: .78rem; color: rgba(30,58,46,.5); margin-right: .3rem; }
.tg-pgdots { min-width: 1.6rem; height: 2.1rem; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; color: rgba(30,58,46,.4); user-select: none; }
@media (max-width: 767px) {
  .tg-pgtotal { display: none; }
  .tg-pager { gap: .3rem; margin-top: 1.2rem; }
  .tg-navtxt { display: none; }
  .tg-pgbtn { padding: 0 .6rem; }
  .tg-pgnum { min-width: 1.9rem; height: 1.9rem; padding: 0 .4rem; }
  .tg-pgdots { min-width: 1.3rem; height: 1.9rem; }
}
.tg-pgarr { padding: 0 .65rem; }
