/* ============================================================
   步哥看天下 ･ 二级页 & 详情页样式（地名传说等）
   依赖 style.css 的设计变量（--wb-*），不改动原文件
   ============================================================ */

/* ---------- 中间内容容器 ---------- */
.wb-page {
  width: min(1240px, calc(100% - 104px));
  margin: 0 auto;
  padding-bottom: 72px;
}

/* ---------- 面包屑 ---------- */
.wb-crumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 26px 0 4px;
  font-family: var(--wb-pixel);
  font-size: 12px;
  color: var(--wb-muted);
}

.wb-crumbs a {
  color: var(--wb-muted) !important;
  text-decoration: none !important;
  transition: color .16s ease;
}

.wb-crumbs a:hover { color: var(--wb-ink) !important; }

.wb-crumbs .sep { opacity: .5; }

.wb-crumbs b { color: var(--wb-ink); font-weight: 400; }

/* ---------- 子类筛选条 ---------- */
.wb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 26px;
}

.wb-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 18px;
  border: 1px solid var(--wb-line);
  color: var(--wb-ink) !important;
  background: var(--wb-surface);
  font-size: 14px;
  font-weight: 680;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.wb-chip .hl { font-size: 17px; color: var(--wb-label-deep); }

.wb-chip:hover { transform: translate(-2px, -2px); box-shadow: 3px 3px var(--wb-ink); border-color: var(--wb-ink); }

.wb-chip.is-active {
  color: #fff !important;
  border-color: #11130e;
  background: #0d0f0a;
}

.wb-chip.is-active .hl { color: var(--wb-acid); }

/* 子类条上的篇数角标 */
.wb-chip__n {
  padding: 1px 6px;
  border: 1px solid var(--wb-line);
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 10px;
  font-style: normal;
  line-height: 1.7;
}

.wb-chip.is-active .wb-chip__n { border-color: rgba(255, 255, 255, .38); color: #fff; }

html.dark .wb-chip.is-active .wb-chip__n { border-color: rgba(255, 253, 247, .5); color: #fffdf7; }

html.dark .wb-chip.is-active { color: #fffdf7 !important; background: var(--wb-acid); }
html.dark .wb-chip.is-active .hl { color: #fffdf7; }

/* ---------- 内容卡片列表 ---------- */
.wb-postlist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
  scroll-margin-top: 96px;
}

.wb-post-card {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 22px;
  padding: 20px;
  border: 1px solid var(--wb-line);
  border-radius: 7px;
  color: var(--wb-ink) !important;
  background: var(--wb-surface);
  text-decoration: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.wb-post-card:hover {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  box-shadow: var(--wb-shadow);
}

/* 像素风几何封面 */
.wb-cover {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--wb-line);
  background: var(--wb-acid-soft);
}

.wb-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(var(--wb-line) 1px, transparent 1px),
                    linear-gradient(90deg, var(--wb-line) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .45;
}

.wb-cover .hl { position: relative; z-index: 1; color: #4f7213; opacity: .85; }

.wb-post-card__cover { min-height: 128px; }

.wb-post-card__cover .hl { font-size: 54px; }

.wb-post-card__body { display: flex; flex-direction: column; min-width: 0; }

.wb-post-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 9px;
  font-family: var(--wb-pixel);
  font-size: 10px;
  color: var(--wb-muted);
}

.wb-kind {
  padding: 2px 7px;
  color: var(--wb-on-acid, #0d0f0a);
  background: var(--wb-acid);
  font-family: var(--wb-pixel);
  font-size: 10px;
}

.wb-kind--article { color: #fff; background: #0d0f0a; }

.wb-post-card__title {
  margin: 0 0 9px;
  font-size: 19px;
  font-weight: 780;
  line-height: 1.42;
  letter-spacing: -.02em;
}

.wb-post-card__summary {
  margin: 0;
  color: var(--wb-muted);
  font-size: 14px;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wb-post-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 14px;
  color: var(--wb-muted);
  font-size: 12px;
}

.wb-post-card__go {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  color: var(--wb-ink);
}

.wb-post-card__go .hl { font-size: 17px; transition: transform .16s ease; }

.wb-post-card:hover .wb-post-card__go .hl { transform: translateX(4px); }

.wb-empty {
  grid-column: 1 / -1;
  padding: 60px 30px;
  border: 1px dashed var(--wb-line);
  border-radius: 7px;
  color: var(--wb-muted);
  text-align: center;
  font-size: 15px;
}

/* ---------- 篇数条 + 分页 ---------- */
.wb-listbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--wb-line);
}

.wb-listbar[hidden] { display: none; }

.wb-listbar__count {
  margin: 0;
  color: var(--wb-muted);
  font-size: 14px;
}

.wb-listbar__count b { color: var(--wb-ink); font-weight: 780; }

.wb-listbar__page {
  margin-left: 12px;
  font-family: var(--wb-pixel);
  font-size: 11px;
  opacity: .85;
}

.wb-pager {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.wb-pager__nums { display: inline-flex; align-items: center; gap: 8px; }

.wb-pager__btn,
.wb-pager__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 42px;
  padding: 8px 14px;
  border: 1px solid var(--wb-line);
  color: var(--wb-ink) !important;
  background: var(--wb-surface);
  font-size: 14px;
  font-weight: 680;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.wb-pager__num { padding: 8px 0; font-family: var(--wb-pixel); font-size: 13px; }

.wb-pager__btn .hl { font-size: 16px; }

.wb-pager__btn:hover,
.wb-pager__num:hover {
  transform: translate(-2px, -2px);
  box-shadow: 3px 3px var(--wb-ink);
  border-color: var(--wb-ink);
}

.wb-pager__num.is-active,
.wb-pager__btn.is-active {
  color: var(--wb-on-acid, #0d0f0a) !important;
  border-color: #0d0f0a;
  background: var(--wb-acid);
  cursor: default;
}

.wb-pager__num.is-active:hover,
.wb-pager__btn.is-active:hover { transform: none; box-shadow: none; }

.wb-pager__btn.is-disabled { opacity: .38; cursor: not-allowed; }

.wb-pager__btn.is-disabled:hover { transform: none; box-shadow: none; border-color: var(--wb-line); }

.wb-pager__gap { color: var(--wb-muted); font-size: 14px; letter-spacing: .08em; }

/* ============================================================
   详情页
   ============================================================ */

.wb-detail__head { margin-top: 20px; padding-bottom: 26px; border-bottom: 1px solid var(--wb-line); }

.wb-detail__tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
  font-family: var(--wb-pixel);
  font-size: 11px;
  color: var(--wb-muted);
}

.wb-detail__title {
  max-width: 900px;
  margin: 0 0 18px;
  font-size: clamp(28px, 3.4vw, 46px);
  font-weight: 840;
  line-height: 1.22;
  letter-spacing: -.045em;
}

.wb-detail__lede {
  max-width: 780px;
  margin: 0 0 22px;
  color: var(--wb-muted);
  font-size: 17px;
  line-height: 1.8;
}

.wb-byline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: var(--wb-muted);
}

.wb-byline__who { display: flex; align-items: center; gap: 10px; color: var(--wb-ink); font-weight: 700; }

.wb-byline__avatar {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: var(--wb-on-acid, #0d0f0a);
  background: var(--wb-acid);
  font-family: var(--wb-pixel);
  font-size: 16px;
}

.wb-byline__dot { opacity: .45; }

/* 封面 / 视频占位 */
.wb-detail__cover {
  position: relative;
  display: grid;
  height: 380px;
  margin-top: 30px;
  place-items: center;
  border: 1px solid var(--wb-line);
  background: var(--wb-acid-soft);
  overflow: hidden;
}

.wb-detail__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(var(--wb-line) 1px, transparent 1px),
                    linear-gradient(90deg, var(--wb-line) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: .45;
}

.wb-detail__cover .hl { position: relative; z-index: 1; font-size: 150px; color: #4f7213; opacity: .8; }

.wb-detail__cover .play {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  margin-top: -110px;
  border: 2px solid #0d0f0a;
  background: var(--wb-acid);
  box-shadow: var(--wb-shadow);
}

.wb-detail__cover .play::before {
  content: "";
  margin-left: 8px;
  border-style: solid;
  border-width: 18px 0 18px 30px;
  border-color: transparent transparent transparent #0d0f0a;
}

.wb-detail__cover .cap {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 8px 14px;
  color: #fff;
  background: #0d0f0a;
  font-family: var(--wb-pixel);
  font-size: 11px;
}

/* ============================================================
   详情页 ･ 视频模块（文章带 video 字段时替换掉上方封面占位）
   结构：
     .wb-video
       .wb-video__stage
         video.wb-video__player        ← preload=none，点播放才挂 src
         button.wb-video__play         ← 自定义播放大按钮（整块可点）
         span.wb-video__dur            ← 时长角标
       .wb-video__bar
         .wb-video__tag / __title / __chips
   ============================================================ */

.wb-detail__media { margin-top: 30px; }

.wb-video {
  border: 2px solid var(--wb-ink);
  background: var(--wb-surface);
  box-shadow: var(--wb-shadow);
}

.wb-video__stage {
  position: relative;
  aspect-ratio: var(--wb-video-ratio, 16 / 9);
  overflow: hidden;
  background: #0d0f0a;
}

.wb-video__player {
  display: block;
  width: 100%;
  height: 100%;
  background: #0d0f0a;
  object-fit: contain;
}

/* 整块可点的播放热区（播放后淡出，交还原生控件）
   ▸ 视觉元素收在左下角：竖屏海报人物面部在画面中央，居中大按钮会盖脸 */
.wb-video__play {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column-reverse;   /* 提示条在上、按钮贴底（reverse 主轴反向，flex-start 即贴底） */
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  padding: 16px;
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, rgba(13, 15, 10, 0) 0%, rgba(13, 15, 10, 0) 58%, rgba(13, 15, 10, .44) 100%);
  cursor: pointer;
  transition: opacity .28s ease, visibility .28s ease;
}

.wb-video__play-btn {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 2px solid #0d0f0a;
  background: var(--wb-acid);
  box-shadow: 4px 4px 0 #0d0f0a;
  transition: transform .16s ease, box-shadow .16s ease;
}

.wb-video__play:hover .wb-video__play-btn { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #0d0f0a; }

.wb-video__play:active .wb-video__play-btn { transform: translate(3px, 3px); box-shadow: 2px 2px 0 #0d0f0a; }

.wb-video__play:focus-visible { outline: 3px solid var(--wb-acid); outline-offset: -6px; }

.wb-video__play-tri {
  width: 0;
  height: 0;
  margin-left: 5px;
  border-style: solid;
  border-width: 11px 0 11px 18px;
  border-color: transparent transparent transparent #0d0f0a;
}

.wb-video__play-hint {
  padding: 4px 12px;
  color: #fff;
  background: rgba(13, 15, 10, .72);
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* 播放中 / 已开始播放：隐藏热区与角标，把画面和原生控件完整交给用户 */
.wb-video.is-playing .wb-video__play,
.wb-video.is-playing .wb-video__dur,
.wb-video.is-started .wb-video__play,
.wb-video.is-started .wb-video__dur {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.wb-video__dur {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 4;
  padding: 4px 10px;
  color: var(--wb-on-acid, #0d0f0a);
  background: var(--wb-acid);
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .06em;
  transition: opacity .28s ease, visibility .28s ease;
}

/* 视频信息条 */
.wb-video__bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 13px 18px;
  border-top: 2px solid var(--wb-ink);
}

.wb-video__tag {
  flex: none;
  padding: 3px 9px;
  color: var(--wb-on-acid, #0d0f0a);
  background: var(--wb-acid);
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .1em;
}

.wb-video__title {
  min-width: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--wb-ink);
}

.wb-video__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }

.wb-video__chip {
  padding: 2px 8px;
  border: 1px solid var(--wb-line);
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 10px;
}

/* 详情页标签上的「含视频」小徽标 */
.wb-kind--video { display: inline-flex; align-items: center; gap: 5px; }

.wb-kind--video::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent currentColor;
}

/* 正文 + 侧栏 */
.wb-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 268px;
  gap: 56px;
  margin-top: 44px;
  align-items: start;
}

.wb-prose { max-width: 740px; }

.wb-prose > * + * { margin-top: 32px; }

.wb-prose p { margin: 0; font-size: 17px; line-height: 2.1; }

/* 段落之间留出明显空隙，段与段一眼可分 */
.wb-prose > p + p { margin-top: 34px; }

/* 首字下沉：第一段第一个字放大加粗，取与全站强调色同族的深绿 */
.wb-prose > p:first-of-type::first-letter {
  float: left;
  margin: 7px 15px 3px 0;
  padding: 0;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;
  font-size: 62px;
  font-weight: 900;
  line-height: 1;
  color: var(--wb-accent-deep);
  letter-spacing: -.02em;
}

/* 小节标题：上下留白对称（上方 44 / 下方同样 44，视觉不偏不倚） */
.wb-prose h2 {
  margin: 44px 0 44px;
  padding-left: 16px;
  border-left: 6px solid var(--wb-acid);
  font-size: clamp(21px, 2.2vw, 27px);
  font-weight: 810;
  line-height: 1.4;
  letter-spacing: -.03em;
}

.wb-prose h2:last-child { margin-bottom: 0; }

.wb-prose blockquote {
  margin: 30px 0 0;
  padding: 22px 26px;
  border-left: 6px solid #0d0f0a;
  background: var(--wb-acid-soft);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.75;
}

.wb-prose ul { margin: 0; padding: 0; list-style: none; }

.wb-prose ul li { position: relative; padding-left: 26px; font-size: 16.5px; line-height: 1.9; }

.wb-prose ul li + li { margin-top: 10px; }

.wb-prose ul li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 10px;
  height: 10px;
  background: var(--wb-acid);
  border: 1px solid var(--wb-ink);
}

.wb-prose figure { margin: 30px 0 0; }

.wb-prose figure .wb-cover { height: 300px; }

.wb-prose figure .wb-cover .hl { font-size: 110px; }

.wb-prose figcaption { margin-top: 10px; color: var(--wb-muted); font-size: 13px; text-align: center; }

/* ---------- 史料原文（古籍引文卡） ----------
   用于古国详情页等处的「史料原文」附录：
   原文用宋体排印（与正文无衬线拉开气质差异），出处走像素小字，
   按语置灰缩一号；左侧一条细线 + 顶部朱色起笔标示每条引文的起点。 */
.wb-prose .wb-src {
  position: relative;
  margin: 0;
  padding: 2px 0 2px 24px;
  border-left: 1px solid var(--wb-line);
}

.wb-prose .wb-src::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 2px;
  height: 34px;
  background: var(--wb-acid);
}

.wb-prose blockquote.wb-src__text {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Songti SC", "SimSun", "Source Han Serif SC", "Noto Serif SC", "STSong", serif;
  font-size: 17.5px;
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: .015em;
  color: var(--wb-ink);
  text-align: justify;
}

.wb-prose .wb-src__from {
  margin-top: 12px;
  font-family: var(--wb-pixel);
  font-size: 11.5px;
  letter-spacing: .08em;
  color: var(--wb-label-deep);
}

.wb-prose .wb-src__note {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.95;
  color: var(--wb-muted);
}

/* 史料原文固定在全文末尾，末条引文之后留一行空白，
   免得最后一段贴住页面底边；同时给标题留出同样的呼吸位。 */
.wb-prose > figure.wb-src:last-child { margin-bottom: 1.6em; }
.wb-prose > h2 + p { margin-top: 14px; }

/* 侧栏卡片 */
.wb-aside { position: sticky; top: 96px; display: grid; gap: 22px; }

.wb-card {
  padding: 22px;
  border: 1px solid var(--wb-line);
  border-radius: 7px;
  background: var(--wb-surface);
}

.wb-card__title {
  margin: 0 0 14px;
  font-family: var(--wb-pixel);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--wb-label-moss);
}

.wb-card dl { margin: 0; display: grid; gap: 11px; }

.wb-card dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--wb-line);
}

.wb-card dl > div:last-child { padding-bottom: 0; border-bottom: 0; }

.wb-card dt { color: var(--wb-muted); font-size: 13px; white-space: nowrap; }
.wb-card dd { margin: 0; font-size: 14px; font-weight: 700; text-align: right; }

.wb-card__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }

.wb-card__list a {
  display: block;
  color: var(--wb-ink) !important;
  font-size: 14px;
  line-height: 1.6;
  text-decoration: none !important;
  transition: color .16s ease;
}

.wb-card__list a:hover { color: var(--wb-label-deep) !important; }

.wb-card__list small {
  display: block;
  margin-top: 3px;
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 10px;
}

/* 侧栏 ･ 同县区非遗：编号行式紧凑列表 */
.wb-card__title .wb-county-en {
  float: right;
  color: var(--wb-muted);
  letter-spacing: .08em;
}

.wb-county-list { display: grid; margin: 0; padding: 0; list-style: none; }

.wb-county-head {
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--wb-line);
  color: var(--wb-muted);
  font-size: 12px;
}

.wb-county-head b { color: var(--wb-label-moss); font-size: 13px; }

.wb-county-list li + li a { border-top: 1px dashed var(--wb-line); }

.wb-county-list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 9px;
  padding: 9px 2px;
  color: var(--wb-ink) !important;
  text-decoration: none !important;
  transition: color .15s ease, background-color .15s ease;
}

.wb-county-list a:hover { color: var(--wb-label-deep) !important; background-color: rgba(143, 191, 23, .07); }

.wb-county-list .wb-idx {
  font-family: var(--wb-pixel);
  font-size: 10px;
  color: var(--wb-muted);
  font-style: normal;
}

.wb-county-list a:hover .wb-idx { color: var(--wb-label-moss); }

.wb-county-list .wb-name {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.wb-county-list .wb-kind-tag {
  font-family: var(--wb-pixel);
  font-size: 10px;
  color: var(--wb-muted);
  white-space: nowrap;
}

.wb-county-empty {
  padding: 12px 2px;
  color: var(--wb-muted);
  font-size: 13px;
  line-height: 1.7;
}

.wb-county-more a {
  display: block;
  margin-top: 6px;
  padding: 10px 2px 2px;
  border-top: 1px solid var(--wb-line);
  color: var(--wb-label-moss) !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
}

.wb-county-more a:hover { color: var(--wb-label-deep) !important; }

/* 上一篇 / 下一篇 */
.wb-pager-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 52px;
  padding-top: 32px;
  border-top: 1px solid var(--wb-line);
}

.wb-pager-nav a,
.wb-pager-nav span {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 22px;
  border: 1px solid var(--wb-line);
  border-radius: 7px;
  color: var(--wb-ink) !important;
  background: var(--wb-surface);
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.wb-pager-nav a:hover { transform: translate(-3px, -3px); border-color: var(--wb-ink); box-shadow: var(--wb-shadow); }

.wb-pager-nav small { color: var(--wb-muted); font-family: var(--wb-pixel); font-size: 10px; }

.wb-pager-nav strong { font-size: 16px; line-height: 1.5; }

.wb-pager-nav .is-next { text-align: right; align-items: flex-end; }

.wb-pager-nav .is-disabled { opacity: .45; pointer-events: none; }

/* 相关推荐 */
.wb-related { margin-top: 56px; }

.wb-related .wb-postlist { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.wb-related .wb-post-card { grid-template-columns: 1fr; }

.wb-related .wb-post-card__cover { min-height: 104px; }

.wb-related .wb-post-card__cover .hl { font-size: 44px; }

/* ---------- 响应式 ---------- */
@media (max-width: 1200px) {
  .wb-page { width: calc(100% - 64px); }
  .wb-detail__layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 38px; }
}

@media (max-width: 960px) {
  .wb-postlist { grid-template-columns: 1fr; }
  .wb-detail__layout { grid-template-columns: 1fr; gap: 40px; }
  .wb-aside { position: static; }
  .wb-detail__cover { height: 280px; }
  .wb-detail__cover .hl { font-size: 110px; }
  .wb-prose { max-width: none; }
  .wb-video__play-btn { width: 50px; height: 50px; }
  .wb-video__play-tri { border-width: 10px 0 10px 16px; margin-left: 4px; }
  .wb-video__play { padding: 13px; gap: 8px; }
  .wb-related .wb-postlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .wb-page { width: calc(100% - 36px); padding-bottom: 48px; }
  .wb-post-card { grid-template-columns: 116px minmax(0, 1fr); gap: 16px; padding: 16px; }
  .wb-post-card__cover { min-height: 104px; }
  .wb-post-card__cover .hl { font-size: 40px; }
  .wb-post-card__title { font-size: 17px; }
  .wb-detail__cover { height: 200px; }
  .wb-detail__cover .hl { font-size: 84px; }
  .wb-detail__cover .play { width: 68px; height: 68px; margin-top: -80px; }
  .wb-video { box-shadow: 4px 4px 0 var(--wb-ink); }
  .wb-video__play-btn { width: 46px; height: 46px; box-shadow: 3px 3px 0 #0d0f0a; }
  .wb-video__play:hover .wb-video__play-btn { transform: none; box-shadow: 3px 3px 0 #0d0f0a; }
  .wb-video__play-tri { margin-left: 4px; border-width: 9px 0 9px 15px; }
  .wb-video__play { padding: 12px; gap: 8px; }
  .wb-video__play-hint { font-size: 9px; padding: 3px 9px; }
  .wb-video__dur { right: 8px; bottom: 8px; padding: 3px 8px; }
  .wb-video__bar { gap: 8px; padding: 11px 13px; }
  .wb-video__title { font-size: 14px; }
  .wb-video__chips { margin-left: 0; width: 100%; }
  .wb-pager-nav { grid-template-columns: 1fr; }
  .wb-prose p, .wb-prose ul li { font-size: 16px; }
  .wb-prose p { line-height: 2; }
  .wb-prose > p + p { margin-top: 28px; }
  .wb-prose > p:first-of-type::first-letter { margin: 6px 12px 2px 0; font-size: 50px; }
  .wb-prose .wb-src { padding-left: 18px; }
  .wb-prose blockquote.wb-src__text { font-size: 16px; line-height: 1.95; }
  .wb-related .wb-postlist { grid-template-columns: 1fr; }
  .wb-listbar { flex-direction: column; align-items: flex-start; gap: 14px; }
  .wb-listbar__page { display: block; margin: 6px 0 0; }
  .wb-pager { gap: 6px; }
  .wb-pager__nums { gap: 6px; }
  .wb-pager__btn, .wb-pager__num { min-width: 38px; padding: 7px 11px; font-size: 13px; }
}

/* ============================================================
   驻马店九县地名史 ･ 专题页（county.html）
   ============================================================ */

/* ---------- 专题头 ---------- */
/* 与 .wb-section 使用同一套内边距，保证与下方卡片区左右对齐 */
.wb-topic {
  width: 100%;
  padding: 36px 52px 0;
}

.wb-topic__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 272px;
  gap: 44px;
  align-items: center;
  padding: 40px 44px;
  border: 1px solid var(--wb-ink);
  border-radius: 9px;
  background: var(--wb-surface);
  box-shadow: var(--wb-shadow);
}

.wb-topic .wb-pixel-label { margin-bottom: 13px; color: var(--wb-label); }

.wb-topic h1 {
  margin: 0 0 15px;
  border: 0;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 860;
  line-height: 1.1;
  letter-spacing: -.05em;
}

.wb-topic__lede {
  max-width: 660px;
  margin: 0;
  color: var(--wb-muted);
  font-size: 16px;
  line-height: 1.9;
}

.wb-topic__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.wb-topic__stats span {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  padding: 7px 14px;
  border: 1px solid var(--wb-line);
  border-radius: 999px;
  background: var(--wb-paper);
  color: var(--wb-muted);
  font-size: 13px;
}

.wb-topic__stats b {
  color: var(--wb-ink);
  font-family: var(--wb-pixel);
  font-size: 14px;
}

/* 右侧「数字印章」 */
.wb-topic__art {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.wb-topic__seal {
  display: flex;
  flex-direction: column;
  /* 数字与文字居中（步哥 2026-10-13：桌面端与手机端统一，手机端同款规则见 style.css） */
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  min-height: 86px;
  padding: 15px 14px;
  border: 1px solid var(--wb-ink);
  border-radius: 7px;
  background: var(--wb-acid);
  color: var(--wb-on-acid, #0d0f0a);
  box-shadow: 4px 4px 0 var(--wb-ink);
}

.wb-topic__seal--wide {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  min-height: 0;
  padding: 13px 14px;
  background: var(--wb-surface);
  color: var(--wb-ink);
}
/* 注：宽印章在暖色主题下的字色修正见本文件末尾（必须放在 `html.dark .wb-topic__seal` 之后才能生效） */

.wb-topic__seal b {
  font-family: var(--wb-pixel);
  font-size: 27px;
  line-height: 1;
}

.wb-topic__seal--wide b { font-size: 17px; }

.wb-topic__seal i {
  font-style: normal;
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .04em;
  opacity: .7;
}

.wb-topic__seal--wide span { font-size: 13px; color: var(--wb-muted); }

/* ---------- 专题卡片区 ---------- */
.wb-county-feature { margin-bottom: 20px; }

.wb-county-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.wb-county-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 22px 18px;
  border: 1px solid var(--wb-line);
  border-radius: 8px;
  background: var(--wb-surface);
  color: var(--wb-ink) !important;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.wb-county-card:hover {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  box-shadow: var(--wb-shadow);
}

/* 市区：整行加宽的大卡 */
.wb-county-card.is-feature {
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  padding: 28px 34px;
  border-color: var(--wb-ink);
}

.wb-county-card.is-feature .wb-county-card__name { font-size: 40px; }
.wb-county-card.is-feature .wb-county-card__hook { font-size: 16px; }

/* 左半：序号 / 角标 / 县名 / 拼音 */
.wb-county-card__id {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px 10px;
  padding-bottom: 13px;
  border-bottom: 1px dashed var(--wb-line);
}

.wb-county-card.is-feature .wb-county-card__id { padding-bottom: 0; border-bottom: 0; }

.wb-county-card__ord {
  font-family: var(--wb-pixel);
  font-size: 13px;
  color: var(--wb-muted);
  letter-spacing: .04em;
}

.wb-county-card__badge {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid var(--wb-ink);
  border-radius: 4px;
  background: var(--wb-paper);
  color: var(--wb-ink);
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
}

.wb-county-card__name {
  grid-column: 1 / -1;
  margin-top: 5px;
  font-size: 30px;
  font-weight: 860;
  line-height: 1.12;
  letter-spacing: -.045em;
}

.wb-county-card__en {
  grid-column: 1 / -1;
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 11px;
  letter-spacing: .05em;
}

/* 右半：钩子 / 建县信息 / 关键词 / 入口 */
.wb-county-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.wb-county-card__hook {
  color: var(--wb-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
}

.wb-county-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wb-county-card__facts > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px;
  border: 1px solid var(--wb-line);
  border-radius: 999px;
  background: var(--wb-paper);
  font-size: 12px;
}

.wb-county-card__facts i {
  color: var(--wb-muted);
  font-style: normal;
  font-family: var(--wb-pixel);
  font-size: 10px;
}

.wb-county-card__facts b { font-weight: 600; }

.wb-county-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.wb-county-card__tags b {
  padding: 3px 9px;
  border: 1px solid var(--wb-line);
  border-radius: 4px;
  background: var(--wb-paper);
  color: var(--wb-muted);
  font-size: 12px;
  font-weight: 500;
}

.wb-county-card__go {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 2px;
  color: var(--wb-accent-deep);
  font-size: 13px;
  font-weight: 600;
}

/* 配视频篇目的小播放标记 */
.wb-county-card__vid {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-right: 4px;
  padding: 2px 8px;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  opacity: .9;
}

.wb-county-card__vid i {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent currentColor;
}

.wb-county-card__go .hl { font-size: 16px; transition: transform .16s ease; }
.wb-county-card:hover .wb-county-card__go .hl { transform: translateX(4px); }

/* ---------- 专题页响应式 ---------- */
@media (max-width: 1200px) {
  .wb-topic__inner { grid-template-columns: minmax(0, 1fr) 232px; gap: 32px; padding: 34px 32px; }
  .wb-county-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .wb-topic__inner { grid-template-columns: 1fr; gap: 28px; }
  .wb-topic__art { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wb-county-card.is-feature { grid-template-columns: 1fr; gap: 16px; padding: 24px 26px; }
  .wb-county-card.is-feature .wb-county-card__name { font-size: 34px; }
}

@media (max-width: 768px) {
  .wb-topic { padding: 24px 4px 0; }
  .wb-topic__inner { padding: 26px 22px; gap: 22px; }
  .wb-county-grid { grid-template-columns: 1fr; gap: 16px; }
  .wb-topic__art { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .wb-topic__seal { min-height: 74px; padding: 13px 12px; }
  .wb-county-card { padding: 20px 20px 16px; }
  .wb-county-card__name { font-size: 26px; }
}

/* ============================================================
   天中群英传 ･ 竖版视频方案
   ── 详情页「竖屏影片 + 人物档案」双栏头（wb-herofile*）
   ── 栏目页「群英谱」竖版海报墙（wb-heroes-grid / wb-hero-card*）
   ============================================================ */

/* ---------- 竖版播放器：宽度受"最大高度"反推，永不超一屏 ---------- */
.wb-video--portrait .wb-video__stage {
  width: min(100%, calc(var(--wb-reel-maxh, 78vh) * var(--wb-ratio-w, 9) / var(--wb-ratio-h, 16)));
  margin-inline: auto;
}

/* ---------- 详情页双栏头 ---------- */
.wb-herofile {
  display: grid;
  /* 列宽由 JS 依档案卡高度反推（--wb-reel-w），默认 440px；两列底边永远齐平 */
  grid-template-columns: minmax(280px, var(--wb-reel-w, 440px)) minmax(0, 1fr);
  gap: 36px;
  align-items: stretch;
  margin-top: 26px;
}

/* 竖屏播放器宽度完全跟随列宽（覆盖全局 78vh 限制，等高由 JS 保证） */
.wb-herofile .wb-video__stage { width: 100%; }

.wb-herofile__reel {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* 内容比影片高时，播放器钉底：两列「底边」永远齐平 */
  min-width: 0;
}
.wb-herofile__frame .wb-video { margin: 0; }

.wb-herofile__dossier {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--wb-ink);
  border-radius: 9px;
  background: var(--wb-surface);
  box-shadow: var(--wb-shadow);
  padding: 28px 32px 24px;
}

.wb-herofile__tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-family: var(--wb-pixel);
  font-size: 11px;
  color: var(--wb-muted);
}

.wb-kind--era { color: #fff; background: #0d0f0a; }

.wb-herofile__name {
  margin: 10px 0 0;
  font-size: clamp(42px, 4.6vw, 62px);
  font-weight: 840;
  line-height: 1.06;
  letter-spacing: -.04em;
}

.wb-herofile__sub {
  margin: 9px 0 0;
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 12px;
  letter-spacing: .14em;
}

.wb-herofile__lede {
  margin: 15px 0 0;
  padding-left: 16px;
  border-left: 4px solid var(--wb-acid);
  font-size: 16.5px;
  line-height: 1.72;
}

.wb-herofile__facts {
  margin: 16px 0 0;
  border-top: 1px solid var(--wb-line);
}

.wb-herofile__facts > div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  align-items: baseline;
  padding: 7px 2px;
  border-bottom: 1px dashed var(--wb-line);
}

.wb-herofile__facts dt { color: var(--wb-muted); font-size: 13px; }
.wb-herofile__facts dd { margin: 0; font-size: 14.5px; font-weight: 650; }

.wb-herofile__taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.wb-herofile__taglist b {
  padding: 5px 10px;
  border: 1px solid var(--wb-line);
  font-size: 12px;
  font-weight: 600;
  color: var(--wb-muted);
}

/* ---------- 档案卡扩写区：生平纪事 + 天中印记 ---------- */
.wb-herofile__block {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--wb-line);
}

/* 年表块弹性吸收卡片剩余高度：每个人物都能自动与影片列等高 */
.wb-herofile__block--tl {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.wb-herofile__sec {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}

.wb-herofile__sec i {
  font-family: var(--wb-pixel);
  font-size: 9px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: .16em;
  color: var(--wb-muted);
}

/* 年表：左侧竖线 + 酸绿节点 */
.wb-tl {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.wb-tl li {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  flex: 1 1 auto;
  padding: 0 0 7px 17px;
  font-size: 13px;
  line-height: 1.42;
}

.wb-tl li::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 8px;
  bottom: -3px;
  width: 2px;
  background: var(--wb-line);
}

.wb-tl li:last-child { padding-bottom: 0; }
.wb-tl li:last-child::before { display: none; }

.wb-tl li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--wb-ink);
  border-radius: 50%;
  background: var(--wb-acid);
}

.wb-tl li b {
  font-weight: 780;
  font-size: 13px;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap; /* 年份标签永不折行，事件文本才换行 */
  align-self: start;   /* 行被事件文本撑高时，年份仍顶对齐首行 */
}

.wb-tl li span { color: var(--wb-ink); }

/* 天中印记：地点 chip + 遗迹名 */
.wb-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wb-marks li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px 6px 8px;
  border: 1px solid var(--wb-line);
  border-radius: 5px;
  background: var(--wb-paper);
  font-size: 12.5px;
}

.wb-marks li b {
  padding: 1px 6px;
  background: var(--wb-ink);
  color: var(--wb-surface);
  font-size: 11px;
  font-weight: 600;
}

.wb-herofile__dossier .wb-byline {
  margin-top: auto; /* 钉底：署名永远贴住卡片底部，与影片列下缘对齐 */
  padding-top: 18px;
}

/* ---------- 栏目页：分类筛选 ---------- */
.wb-hero-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 24px;
}

.wb-hero-filter__btn {
  padding: 9px 16px;
  border: 2px solid var(--wb-ink);
  border-radius: 7px;
  background: var(--wb-surface);
  color: var(--wb-ink);
  font-family: var(--wb-pixel);
  font-size: 12px;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}

.wb-hero-filter__btn b { margin-left: 4px; opacity: .55; font-size: 11px; }
.wb-hero-filter__btn:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 #0d0f0a; }
.wb-hero-filter__btn.is-active {
  background: var(--wb-acid);
  color: var(--wb-on-acid, #0d0f0a);
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 #0d0f0a;
}

/* ---------- 栏目页：群英谱海报墙 ---------- */
.wb-heroes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}

.wb-hero-card {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--wb-line);          /* 常态：细线扁平，黑边+硬阴影只在悬停 */
  border-radius: 9px;
  background: var(--wb-surface);
  box-shadow: none;
  color: var(--wb-ink);
  text-decoration: none;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wb-hero-card:hover,
.wb-hero-card:focus-visible {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  box-shadow: 9px 9px 0 #0d0f0a;
}

.wb-hero-card__poster {
  position: relative;
  display: block;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #0d0f0a;
}

.wb-hero-card__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.wb-hero-card:hover .wb-hero-card__poster img { transform: scale(1.045); }

.wb-hero-card__era {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 5px 9px;
  background: rgba(13, 15, 10, .88);
  color: #fff;
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .08em;
  border: 1px solid rgba(255, 255, 255, .28);
}

.wb-hero-card__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  background: linear-gradient(to top, rgba(13, 15, 10, .45), rgba(13, 15, 10, 0) 45%);
  transition: opacity .18s ease;
}

.wb-hero-card__play i {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wb-acid);
  border: 2px solid #0d0f0a;
  box-shadow: 5px 5px 0 #0d0f0a;
}

.wb-hero-card__play i::before {
  content: "";
  margin-left: 5px;
  border-style: solid;
  border-width: 12px 0 12px 19px;
  border-color: transparent transparent transparent #0d0f0a;
}

.wb-hero-card:hover .wb-hero-card__play,
.wb-hero-card:focus-visible .wb-hero-card__play { opacity: 1; }

.wb-hero-card__dur {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  background: rgba(13, 15, 10, .86);
  color: #fff;
  font-family: var(--wb-pixel);
  font-size: 10px;
}

.wb-hero-card__dur i {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent var(--wb-acid);
}

.wb-hero-card__foot {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px 13px;
  border-top: 2px solid var(--wb-ink);
}

.wb-hero-card__name { font-size: 19px; font-weight: 800; letter-spacing: .01em; }
.wb-hero-card__sub {
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 10px;
  letter-spacing: .1em;
}

/* ---------- 占位卡：最后一行排不满时补齐（拍摄制作中） ---------- */
.wb-hero-card--pending { pointer-events: none; }

.wb-hero-card__poster--pending {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    repeating-linear-gradient(-45deg, transparent 0 12px, rgba(13, 15, 10, .05) 12px 24px),
    var(--wb-surface);
}

html.dark .wb-hero-card__poster--pending {
  background:
    repeating-linear-gradient(-45deg, transparent 0 12px, rgba(243, 245, 237, .055) 12px 24px),
    var(--wb-surface);
}

.wb-hero-card__pending {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 2px dashed var(--wb-line);
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 12px;
  letter-spacing: .16em;
  white-space: nowrap;
}

.wb-hero-card__pending i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--wb-muted);
  box-sizing: border-box;
  flex: none;
}

.wb-hero-card--pending .wb-hero-card__foot { border-top-color: var(--wb-line); }
.wb-hero-card--pending .wb-hero-card__name { color: var(--wb-muted); }

/* ---------- 群英传响应式 ---------- */
/* ≤1240 双栏太挤（竖屏影片与档案卡都高，等高代价大）：改为
   「影片在上、档案卡在下」堆叠，各自然展开，不做等高 */
@media (max-width: 1240px) {
  .wb-herofile { grid-template-columns: 1fr; gap: 26px; }
  .wb-herofile__reel { justify-content: flex-start; width: 100%; max-width: 440px; margin-inline: auto; }
  .wb-herofile__block--tl { flex: 0 0 auto; }
  .wb-herofile__dossier { padding: 24px 26px 22px; }
}

@media (max-width: 1200px) {
  .wb-heroes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .wb-heroes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}

@media (max-width: 768px) {
  .wb-herofile__dossier { padding: 22px 20px 20px; }
  .wb-herofile__name { font-size: 40px; }
  .wb-herofile__facts > div { grid-template-columns: 64px 1fr; gap: 10px; }
  .wb-tl li { grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding-left: 15px; }
  .wb-heroes-grid { gap: 14px; }
  .wb-hero-card__foot { padding: 10px 12px 11px; }
  .wb-hero-card__name { font-size: 16px; }
  .wb-hero-card__play i { width: 54px; height: 54px; }
}

/* ============================================================
   天中物产：货架卡片 / 物产速览 / 产地印记 / 哪里能买到
   ============================================================ */

/* ---------- 栏目页：物产货架 ---------- */
.wb-produce-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.wb-produce-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid var(--wb-line);          /* 常态：细线、无阴影（黑边+硬阴影只在悬停时出现） */
  border-radius: 9px;
  background: var(--wb-surface);
  box-shadow: none;
  color: var(--wb-ink);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wb-produce-card:hover,
.wb-produce-card:focus-visible {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  box-shadow: var(--wb-shadow);
}

/* 卡头：品类色块 + 产地标 —— 底色是浅色，字一律压深墨色，暗色模式下同样清楚 */
.wb-produce-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 16px;
  border-bottom: 2px solid var(--wb-ink);
  background: #d9e6c0;
  color: #0d0f0a;
}

.wb-produce-card[data-sub="xian"]  .wb-produce-card__top { background: #cfe3a8; }
.wb-produce-card[data-sub="liang"] .wb-produce-card__top { background: #f2d479; }
.wb-produce-card[data-sub="guo"]   .wb-produce-card__top { background: #eba96c; }
.wb-produce-card[data-sub="shui"]  .wb-produce-card__top { background: #9fd0dc; }
.wb-produce-card[data-sub="tiao"]  .wb-produce-card__top { background: #e2b184; }
.wb-produce-card[data-sub="yao"]   .wb-produce-card__top { background: #bcdca6; }

.wb-produce-card__icon { display: inline-flex; }
.wb-produce-card__icon .hl { font-size: 36px; color: #0d0f0a; }

/* 有实物图的卡片头：整条换成照片条，县区角标浮在右上角
   （照片条用 aspect-ratio 自适应，移动端不会把卡片撑高；
     必须用 object-fit:cover 的 <img>，才能吃到浏览器原生懒加载） */
.wb-produce-card__top--img {
  position: relative;
  display: block;
  padding: 0;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 10;
  background: #e6e3d5;
}

.wb-produce-card__shot {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.wb-produce-card:hover .wb-produce-card__shot { transform: scale(1.04); }

.wb-produce-card__top--img .wb-produce-card__county {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(13, 15, 10, .72);
  color: #fff;
  backdrop-filter: blur(2px);
}

.wb-produce-card__county {
  padding: 3px 9px;
  border: 1.5px solid #0d0f0a;
  border-radius: 4px;
  background: rgba(255, 255, 255, .6);
  font-family: var(--wb-pixel);
  font-size: 11px;
  letter-spacing: .04em;
  white-space: nowrap;
}

.wb-produce-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px 15px;
}

.wb-produce-card__name { font-size: 21px; font-weight: 800; letter-spacing: .01em; }

.wb-produce-card__alias {
  font-family: var(--wb-pixel);
  font-size: 10.5px;
  letter-spacing: .04em;
  color: var(--wb-muted);
}

.wb-produce-card__summary { font-size: 13.5px; line-height: 1.72; color: var(--wb-muted); }

.wb-produce-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 18px 12px;
  border-top: 1px solid var(--wb-line);
}

.wb-produce-card__cert { font-size: 11.5px; color: var(--wb-muted); }

.wb-produce-card__go {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--wb-pixel);
  font-size: 11px;
  white-space: nowrap;
}

.wb-produce-card__go .hl { font-size: 15px; }
.wb-produce-card:hover .wb-produce-card__go .hl { transform: translateX(2px); }
.wb-produce-card__go .hl { transition: transform .16s ease; }

/* ---------- 详情页：物产速览条（紧贴封面下沿） ---------- */
.wb-produce-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 36px;
  border: 2px solid var(--wb-ink);
  border-top: 0;
  background: var(--wb-surface);
}

.wb-produce-facts > div { padding: 15px 18px 16px; border-right: 2px solid var(--wb-ink); }
.wb-produce-facts > div:last-child { border-right: 0; }

.wb-produce-facts dt {
  font-family: var(--wb-pixel);
  font-size: 10.5px;
  letter-spacing: .06em;
  color: var(--wb-muted);
}

.wb-produce-facts dd { margin: 7px 0 0; font-size: 14px; font-weight: 600; line-height: 1.55; }

/* ---------- 详情页：正文尾部的物产补充块 ---------- */
.wb-produce-block { margin-top: 8px; }

.wb-produce-block__lede {
  margin-top: -20px;
  margin-bottom: 18px;
  font-size: 14px;
  color: var(--wb-muted);
}

.wb-produce-block .wb-marks { margin-top: 18px; }
.wb-produce-block .wb-marks li { font-size: 13px; }

/* ---------- 详情页：哪里能买到 ---------- */
.wb-buy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.wb-buy-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid var(--wb-ink);
  border-radius: 7px;
  background: var(--wb-surface);
  box-shadow: 4px 4px 0 var(--wb-ink);
  color: var(--wb-ink);
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}

.wb-buy-card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--wb-ink); }

.wb-buy-card__img {
  display: grid;
  aspect-ratio: 4 / 3;
  place-items: center;
  border-bottom: 2px solid var(--wb-ink);
  background: var(--wb-acid-soft);
  overflow: hidden;
}

.wb-buy-card__img img { width: 100%; height: 100%; object-fit: cover; }
.wb-buy-card__img--empty .hl { font-size: 44px; color: var(--wb-muted); }

.wb-buy-card__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 12px 14px; }

.wb-buy-card__platform {
  font-family: var(--wb-pixel);
  font-size: 10.5px;
  letter-spacing: .05em;
  color: var(--wb-muted);
}

.wb-buy-card__title { font-size: 13.5px; font-weight: 600; line-height: 1.55; }
.wb-buy-card__price { font-size: 15px; font-weight: 800; }

.wb-buy-card__go {
  padding: 9px 14px;
  border-top: 1px solid var(--wb-line);
  font-family: var(--wb-pixel);
  font-size: 11px;
}

/* ---------- 天中物产响应式 ---------- */
@media (max-width: 1200px) {
  .wb-produce-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .wb-produce-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wb-produce-facts > div:nth-child(2n) { border-right: 0; }
  .wb-produce-facts > div:nth-child(n+3) { border-top: 2px solid var(--wb-ink); }
}

@media (max-width: 768px) {
  .wb-produce-grid { grid-template-columns: 1fr; gap: 16px; }
  .wb-produce-card__name { font-size: 19px; }
}

@media (max-width: 560px) {
  .wb-produce-facts { grid-template-columns: 1fr; }
  .wb-produce-facts > div { border-right: 0; }
  .wb-produce-facts > div + div { border-top: 1px solid var(--wb-line); }
}

/* ============================================================
   卡片墙的通用视觉：天中物产（produce）与天中非遗（heritage）共用
   同一套 .wb-produce-grid / .wb-produce-card / .wb-produce-facts 规则，
   这里只按 data-sub 补足两个栏目各自的品类配色。
   ============================================================ */

/* 天中物产：新增品类 */
.wb-produce-card[data-sub="shu"]  .wb-produce-card__top { background: #e3a58a; }
.wb-produce-card[data-sub="cai"]  .wb-produce-card__top { background: #b9dd93; }
.wb-produce-card[data-sub="qin"]  .wb-produce-card__top { background: #e6c39a; }
.wb-produce-card[data-sub="gong"] .wb-produce-card__top { background: #c7cbd6; }

/* 天中非遗：按非遗门类配色 */
.wb-produce-card[data-sub="wenxue"] .wb-produce-card__top { background: #b9c8e8; }
.wb-produce-card[data-sub="yinyue"] .wb-produce-card__top { background: #f0cf78; }
.wb-produce-card[data-sub="wudao"]  .wb-produce-card__top { background: #f2b8c6; }
.wb-produce-card[data-sub="xiqu"]   .wb-produce-card__top { background: #e79aa5; }
.wb-produce-card[data-sub="quyi"]   .wb-produce-card__top { background: #c9bfe8; }
.wb-produce-card[data-sub="tiyu"]   .wb-produce-card__top { background: #f0a95e; }
.wb-produce-card[data-sub="meishu"] .wb-produce-card__top { background: #a8d8c8; }
.wb-produce-card[data-sub="jiyi"]   .wb-produce-card__top { background: #c7cbd6; }
.wb-produce-card[data-sub="yiyao"]  .wb-produce-card__top { background: #bcdca6; }
.wb-produce-card[data-sub="minsu"]  .wb-produce-card__top { background: #d9b8e0; }

/* ---------- 详情页：非遗「去哪看它」 ---------- */
.wb-visit {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  border: 2px solid var(--wb-ink);
  border-radius: 7px;
  background: var(--wb-surface);
}

.wb-visit li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 13px 16px;
  font-size: 13px;
  line-height: 1.7;
}

.wb-visit li + li { border-top: 1px solid var(--wb-line); }

.wb-visit li b {
  flex: none;
  margin-top: 1px;
  padding: 2px 9px;
  border: 1.5px solid var(--wb-ink);
  border-radius: 4px;
  background: var(--wb-acid);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.wb-visit li span { color: var(--wb-muted); }

/* ============================================================
   九县地名史 ･ 第二版增补
   1) 建县年代尺 .wb-era      2) 名字盘点 .wb-notes
   3) 卡片升级：朝代徽记 .wb-county-card__era / 「还叫过」.wb-county-card__former
   ============================================================ */

/* ---------- 1. 建县年代尺 ---------- */
.wb-era__board {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wb-era__group {
  padding: 20px 26px 22px;
  border: 1px solid var(--wb-line);
  border-radius: 8px;
  background: var(--wb-surface);
}

.wb-era__head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding-bottom: 14px;
  border-bottom: 1px dashed var(--wb-line);
}

.wb-era__dyn {
  font-size: 30px;
  font-weight: 860;
  line-height: 1.1;
  letter-spacing: -.045em;
}

.wb-era__en {
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 9px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: .14em;
}

.wb-era__span {
  font-family: var(--wb-pixel);
  font-size: 11px;
  color: var(--wb-accent-deep);
  letter-spacing: .02em;
}

.wb-era__num {
  margin-left: auto;
  color: var(--wb-muted);
  font-size: 12px;
}

.wb-era__main { min-width: 0; }

/* 横向年代尺：虚线轴 + 酸绿节点 */
.wb-era__rail {
  position: relative;
  display: flex;
  gap: 12px;
  padding-top: 26px;
}

.wb-era__rail::before {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  top: 11px;
  height: 2px;
  background: repeating-linear-gradient(to right, var(--wb-line) 0 7px, transparent 7px 14px);
}

.wb-era__node {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 13px 14px 12px;
  border: 1px solid var(--wb-line);
  border-radius: 8px;
  background: var(--wb-paper);
  color: var(--wb-ink) !important;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.wb-era__node::before {
  content: "";
  position: absolute;
  left: 13px;
  top: -21px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--wb-ink);
  border-radius: 50%;
  background: var(--wb-acid);
  transition: background .16s ease;
}

.wb-era__node:hover {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  background: var(--wb-surface);
  box-shadow: var(--wb-shadow);
}

.wb-era__node:hover::before { background: var(--wb-ink); }

.wb-era__when {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 10px;
}

.wb-era__when b { font-weight: 400; }

.wb-era__vid {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent var(--wb-accent-deep);
}

.wb-era__name {
  font-size: 21px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.035em;
}

.wb-era__former {
  color: var(--wb-muted);
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.wb-era__note {
  margin: 16px 0 0;
  padding-top: 13px;
  border-top: 1px dashed var(--wb-line);
  color: var(--wb-muted);
  font-size: 12.5px;
  line-height: 1.78;
}

/* ---------- 2. 名字盘点 ---------- */
.wb-notes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.wb-note {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 26px 26px 24px;
  border: 1px solid var(--wb-ink);
  border-radius: 8px;
  background: var(--wb-surface);
}

.wb-note__no {
  position: absolute;
  top: 16px;
  right: 18px;
  color: var(--wb-note-no);
  font-family: var(--wb-pixel);
  font-size: 11px;
}

.wb-note__k {
  align-self: flex-start;
  padding: 5px 12px;
  border: 1.5px solid var(--wb-ink);
  border-radius: 6px;
  background: var(--wb-acid);
  color: var(--wb-on-acid, #11130e);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.wb-note__v {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -.02em;
}

.wb-note__d {
  margin: 0;
  color: var(--wb-muted);
  font-size: 12.5px;
  line-height: 1.82;
}

/* ---------- 3. 卡片升级 ---------- */
.wb-county-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.wb-county-card__era {
  padding: 1px 7px;
  border: 1px solid var(--wb-line);
  border-radius: 4px;
  background: var(--wb-paper);
  color: var(--wb-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}

.wb-county-card__former {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 7px 11px;
  border-left: 3px solid var(--wb-acid);
  border-radius: 0 6px 6px 0;
  background: var(--wb-acid-soft);
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.wb-county-card__former i {
  flex: none;
  color: var(--wb-accent-deep);
  font-style: normal;
  font-weight: 700;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1040px) {
  /* 年代尺改为竖向：左侧虚线轴 + 节点圆点 */
  .wb-era__rail {
    flex-direction: column;
    gap: 10px;
    padding-top: 18px;
    padding-left: 22px;
  }

  .wb-era__rail::before {
    left: 6px;
    right: auto;
    top: 20px;
    bottom: 14px;
    width: 2px;
    height: auto;
    background: repeating-linear-gradient(to bottom, var(--wb-line) 0 7px, transparent 7px 14px);
  }

  .wb-era__node { flex: none; }

  .wb-era__node::before {
    left: -22px;
    top: 15px;
  }
}

@media (max-width: 960px) {
  .wb-notes__grid { grid-template-columns: 1fr; }
  .wb-era__group { padding: 18px 20px 20px; }
}

@media (max-width: 768px) {
  .wb-era__dyn { font-size: 25px; }
  .wb-era__name { font-size: 19px; }
  .wb-note { padding: 22px 22px 20px; }
  .wb-note__k { font-size: 19px; }
}

/* ============================================================
   详情封皮 ･ 照片模式（post.cover 存在时）
   照片铺满 + 右下角像素字幕照旧；像素网格纹理压暗到 0.14 保品牌质感
   ============================================================ */
.wb-detail__cover--photo { place-items: stretch; }

.wb-detail__cover--photo::after { opacity: .06; }

.wb-detail__cover--photo .wb-cover__img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wb-detail__cover--photo .cap { z-index: 3; }

/* ============================================================
   竖版视频双列头 ･ 「本集名片」延伸阅读（wb-rel）
   群英传 herofile 骨架的复用变体：名片卡内容自动派生，
   延伸阅读链接到九县地名史 / 天中群英传的关联条目。
   ============================================================ */
.wb-rel {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wb-rel a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--wb-line);
  border-radius: 6px;
  background: var(--wb-paper);
  color: var(--wb-ink);
  text-decoration: none;
  font-size: 13px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.wb-rel a:hover {
  transform: translate(-2px, -2px);
  border-color: var(--wb-ink);
  box-shadow: var(--wb-shadow);
}

.wb-rel b {
  flex: none;
  padding: 2px 8px;
  border: 1.5px solid var(--wb-ink);
  border-radius: 4px;
  background: var(--wb-acid);
  color: var(--wb-on-acid, #11130e);
  font-size: 10.5px;
  font-weight: 700;
}

.wb-rel span {
  flex: 1;
  min-width: 0;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 名片卡纵向分布：延伸阅读与署名贴底，避免视频定高后卡片下部留白 */
.wb-herofile--duo .wb-herofile__dossier { justify-content: flex-start; }
.wb-herofile--duo .wb-herofile__block--rel { margin-top: auto; padding-top: 14px; }
.wb-herofile--duo .wb-byline { margin-top: 12px; }

/* ============================================================
   二维码关注弹层（页脚「关于步哥」四个平台共用）
   ============================================================ */
.wb-qrmodal { position: fixed; inset: 0; z-index: 900; }
.wb-qrmodal__backdrop {
  position: absolute; inset: 0;
  background: color-mix(in srgb, var(--wb-ink) 62%, transparent);
  backdrop-filter: blur(3px);
}
.wb-qrmodal__panel {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(360px, calc(100vw - 48px));
  background: var(--wb-paper);
  border: 3px solid var(--wb-ink);
  box-shadow: 10px 10px 0 var(--wb-ink);
  padding: 26px 26px 22px;
  text-align: center;
}
.wb-qrmodal__close {
  position: absolute; top: -14px; right: -14px;
  width: 34px; height: 34px;
  border: 3px solid var(--wb-ink);
  background: var(--wb-acid);
  color: var(--wb-on-acid, var(--wb-ink));
  font-size: 15px; line-height: 1;
  cursor: pointer;
  box-shadow: 3px 3px 0 var(--wb-ink);
  transition: transform .12s ease;
}
.wb-qrmodal__close:hover { transform: translate(-1px, -1px); }
.wb-qrmodal__eyebrow {
  font-family: var(--wb-pixel);
  font-size: 11px; letter-spacing: 2px;
  color: var(--wb-muted);
  margin: 0 0 6px;
}
.wb-qrmodal__eyebrow b { color: var(--wb-ink); font-weight: 400; }
.wb-qrmodal__name {
  font-size: 24px; font-weight: 800;
  color: var(--wb-ink);
  margin: 0 0 16px;
}
.wb-qrmodal__qrbox {
  width: 236px; height: 236px;
  margin: 0 auto;
  border: 3px solid var(--wb-ink);
  box-shadow: 6px 6px 0 var(--wb-ink);
  background: #fff;               /* 二维码底恒为白，保证扫码对比度 */
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.wb-qrmodal__qrbox img {
  width: 100%; height: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}
.wb-qrmodal__qrbox.is-missing::after {
  content: '二维码待放\A media/qr/ 目录';
  white-space: pre;
  font-family: var(--wb-pixel);
  font-size: 11px; line-height: 2;
  color: #9aa39a;
  padding: 12px;
}
.wb-qrmodal__hint {
  margin: 16px 0 0;
  font-size: 14px;
  color: var(--wb-muted);
}
.wb-qrmodal__hint::before {
  content: '◈ ';
  color: var(--wb-acid);
  font-size: 12px;
}
html.dark .wb-qrmodal__panel {
  background: var(--wb-paper);
  box-shadow: 10px 10px 0 var(--wb-acid);
  border-color: var(--wb-ink);
  color: var(--wb-ink);
}
html.dark .wb-qrmodal__name { color: var(--wb-acid); }
html.dark .wb-qrmodal__close { color: var(--wb-ink); }

/* ---------- 列表卡图片缩略图 ---------- */
.wb-cover--img {
  background-size: cover;
  background-position: center;
  background-color: var(--wb-acid-soft);
}
/* 有真图时不要网格纹理压在照片上 */
.wb-cover--img::after { display: none; }

/* ---------- 非遗卡图片卡头 ----------
   （实拍图卡头的完整样式统一在 .wb-produce-card__top--img 主区块里，
     那里用 aspect-ratio + <img object-fit:cover> 实现，这里不再重复定义） */

/* ============================================================
   站内搜索（search.html）
   ============================================================ */
.wb-searchbar {
  margin: 26px 52px 0;
  padding: 32px 34px 28px;
  border: 2px solid var(--wb-ink);
  border-radius: 12px;
  background: var(--wb-surface);
  box-shadow: var(--wb-shadow);
}

.wb-searchbar__title {
  margin: 10px 0 8px;
  font-size: 30px;
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--wb-ink);
}

.wb-searchbar__sub { margin: 0 0 20px; color: var(--wb-muted); font-size: 13.5px; }

.wb-searchform { display: flex; gap: 10px; max-width: 660px; margin: 0 auto; }

.wb-searchform__input {
  flex: 1;
  min-width: 0;
  padding: 13px 16px;
  border: 2px solid var(--wb-line);
  border-radius: 9px;
  background: var(--wb-surface);
  color: var(--wb-ink);
  font-family: inherit;
  font-size: 15px;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.wb-searchform__input::placeholder { color: var(--wb-muted); opacity: .85; }

.wb-searchform__input:focus {
  outline: none;
  border-color: var(--wb-ink);
  box-shadow: 3px 3px 0 var(--wb-acid);
}

.wb-searchform__btn {
  flex: none;
  padding: 13px 28px;
  border: 2px solid var(--wb-ink);
  border-radius: 9px;
  background: var(--wb-acid);
  color: var(--wb-on-acid, #11130e);
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.wb-searchform__btn:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--wb-ink); }

.wb-search-hot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 18px; }

.wb-search-hot__label {
  color: var(--wb-muted);
  font-family: var(--wb-pixel);
  font-size: 11px;
  letter-spacing: .08em;
}

.wb-search-hot__tag {
  padding: 5px 12px;
  border: 1px solid var(--wb-line);
  border-radius: 999px;
  background: transparent;
  color: var(--wb-ink);
  font-family: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease;
}

.wb-search-hot__tag:hover { border-color: var(--wb-ink); background: var(--wb-acid-soft); }

#searchMain { padding-top: 30px; }

/* 未搜索时整块结果区（栏目筛选 + 属地/排序 + 结果卡 + 分页）不展示，页面只留搜索框 */
#searchMain[hidden] { display: none; }

.wb-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.wb-filters__chips { display: flex; flex-wrap: wrap; gap: 8px; }

.wb-chip {
  padding: 7px 13px;
  border: 2px solid var(--wb-line);
  border-radius: 999px;
  background: var(--wb-surface);
  color: var(--wb-ink);
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease;
}

.wb-chip i { margin-left: 3px; color: var(--wb-muted); font-style: normal; font-size: 11px; }
.wb-chip:hover { border-color: var(--wb-ink); }
.wb-chip.is-active { border-color: var(--wb-ink); background: var(--wb-acid); font-weight: 700; }
.wb-chip.is-active i { color: #11130e; opacity: .7; }

/* ⚠️ 选中标签统一为「酸绿底 + 墨色字」。
   根因：.wb-chip.is-active 在 pages.css 里被定义过两次——
   前面「子类筛选条」那套写的是黑底白字（color:#fff !important），
   后面这套把背景改成了酸绿，却没写 color，
   于是 #fff!important 一路顺延，导致所有选中标签都是「绿底白字」（低对比、看不清），
   影响：站内搜索 / 名人速查 / 皇帝速查 / 传说页子类条。
   这里用更高优先级 + !important 显式压回墨色（与 html.dark 下的既有规则同向）。 */
.wb-chip.is-active,
.wb-chip.is-active i { color: #11130e !important; }

.wb-filters__row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

.wb-filters__field { display: inline-flex; align-items: center; gap: 7px; color: var(--wb-muted); font-size: 13px; }

.wb-filters__field select {
  padding: 7px 10px;
  border: 2px solid var(--wb-line);
  border-radius: 8px;
  background: var(--wb-surface);
  color: var(--wb-ink);
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
}

.wb-filters__field select:focus { outline: none; border-color: var(--wb-ink); }

.wb-search-count { margin: 0 0 14px; color: var(--wb-muted); font-size: 13.5px; }
.wb-search-count b { color: var(--wb-ink); font-size: 15px; }

/* 间距对齐「消失的古国」等栏目列表卡（.wb-postlist 为 gap: 22px 28px、卡内 20px） */
.wb-sr-list { display: grid; gap: 22px 28px; }

.wb-sr {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 20px;
  border: 2px solid var(--wb-line);
  border-radius: 10px;
  background: var(--wb-surface);
  color: var(--wb-ink);
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wb-sr:hover,
.wb-sr:focus-visible {
  transform: translate(-3px, -3px);
  border-color: var(--wb-ink);
  box-shadow: var(--wb-shadow);
}

.wb-sr__thumb {
  display: grid;
  place-items: center;
  width: 150px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--wb-line);
  border-radius: 7px;
  background: var(--wb-acid-soft);
}

.wb-sr__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 无封面条目的占位（文保档案 / 数字驻马店 / 天中通史，共 126 条）：
   点阵底纹 + 名称首字大字 + 右上角栏目像素图标 + 左下角品牌色像素点，
   做成一张「档案卡」，替掉原来的灰格子图标 */
.wb-sr__thumb--ph {
  position: relative;
  background:
    radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--wb-ink) 12%, transparent) 1.1px, transparent 0) 0 0 / 7px 7px,
    linear-gradient(158deg, var(--wb-acid-soft) 0%, var(--wb-paper) 96%);
}
.wb-sr__thumb--ph .wb-sr__ph-big {
  font-size: 31px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--wb-ink);
  opacity: .9;
}
.wb-sr__thumb--ph .wb-sr__ph-ic { position: absolute; top: 7px; right: 7px; line-height: 0; }
.wb-sr__thumb--ph .wb-sr__ph-ic .wb-pixel-icon { width: 16px; height: 16px; opacity: .3; }
.wb-sr__thumb--ph::after {
  content: '';
  position: absolute;
  left: 8px;
  bottom: 8px;
  width: 5px;
  height: 5px;
  background: var(--wb-brand-b);
  box-shadow: 7px 0 0 color-mix(in srgb, var(--wb-brand-b) 42%, transparent),
              14px 0 0 color-mix(in srgb, var(--wb-brand-b) 20%, transparent);
}

/* 卡内块间距：与 .wb-post-card 的 meta/title/summary 留白对齐 */
.wb-sr__body { display: grid; gap: 10px; min-width: 0; }

.wb-sr__meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; color: var(--wb-muted); font-size: 12px; }
.wb-sr__county { padding: 2px 8px; border: 1px solid var(--wb-line); border-radius: 999px; }
.wb-sr__date { font-family: var(--wb-pixel); font-size: 11px; letter-spacing: .04em; }

.wb-sr__title { font-size: 17px; line-height: 1.42; font-weight: 700; color: var(--wb-ink); }

.wb-sr__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--wb-muted);
  font-size: 13px;
  line-height: 1.6;
}

.wb-sr__tags { display: flex; flex-wrap: wrap; gap: 6px; }

.wb-sr__tags b {
  padding: 3px 8px;
  border: 1px solid var(--wb-line);
  border-radius: 999px;
  color: var(--wb-muted);
  font-size: 11.5px;
  font-weight: 500;
}

.wb-sr mark { padding: 0 2px; border-radius: 3px; background: var(--wb-acid); color: var(--wb-on-acid, #11130e); }

.wb-sr__go {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--wb-muted);
  font-size: 12.5px;
  white-space: nowrap;
}

.wb-sr__go .wb-pixel-icon { width: 14px; height: 14px; }

.wb-sr-empty {
  /* 结果区是 grid 两列（622px × 2），空态若不跨列会掉进第一列而整体偏左。
     故显式 grid-column:1/-1 跨满整行，再用 margin-inline:auto 让虚线框居中。 */
  grid-column: 1 / -1;
  margin-inline: auto;
  max-width: 640px;
  padding: 46px 26px;
  border: 2px dashed var(--wb-line);
  border-radius: 12px;
  background: var(--wb-surface);
  text-align: center;
}

.wb-sr-empty__t { margin: 0 0 8px; color: var(--wb-ink); font-size: 17px; font-weight: 700; }
.wb-sr-empty__s { margin: 0; color: var(--wb-muted); font-size: 13px; line-height: 1.7; }

.btn-reset {
  margin-top: 16px;
  padding: 9px 20px;
  border: 2px solid var(--wb-ink);
  border-radius: 8px;
  background: var(--wb-acid);
  color: var(--wb-on-acid, #11130e);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.btn-reset:hover { transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--wb-ink); }

.wb-pager__btn[disabled] { opacity: .38; cursor: not-allowed; }
.wb-pager__btn[disabled]:hover { transform: none; box-shadow: none; border-color: var(--wb-line); }

@media (max-width: 900px) {
  .wb-sr { grid-template-columns: 110px minmax(0, 1fr); gap: 13px; }
  .wb-sr__thumb { width: 110px; }
  .wb-sr__go { display: none; }
}

@media (max-width: 640px) {
  .wb-searchbar { margin: 18px 16px 0; padding: 22px 18px; }
  .wb-searchbar__title { font-size: 23px; }
  .wb-searchform { flex-direction: column; }
  .wb-searchform__btn { padding: 12px 20px; }
  #searchMain { padding: 22px 16px 0; }
  .wb-sr { grid-template-columns: 84px minmax(0, 1fr); gap: 11px; padding: 10px; }
  .wb-sr__thumb { width: 84px; }
  .wb-sr__title { font-size: 15px; }
  .wb-sr__desc { -webkit-line-clamp: 2; font-size: 12.5px; }
  .wb-sr__tags { display: none; }
}

/* 搜索结果卡重设计（手机版 ･ 2026-10-03）：标题置顶 + 图片比例修正 */
@media (max-width: 768px) {
  .wb-sr {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    align-items: stretch;
  }
  .wb-sr__body {
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .wb-sr__title { order: -1; font-size: 16px; }      /* 标题置顶 */
  .wb-sr__thumb {
    order: 2;                                          /* 图片移到下方，铺满宽度 */
    width: 100%;
    aspect-ratio: 16 / 9;                              /* 修正比例，不再留白 */
    border-radius: 8px;
  }
  .wb-sr__thumb img { width: 100%; height: 100%; object-fit: cover; }
  .wb-sr__thumb--icon { background: var(--wb-acid-soft); }
  .wb-sr__thumb--icon .wb-pixel-icon { width: 38px; height: 38px; opacity: .4; }
  .wb-sr__go { display: none; }                        /* 整卡可点，省空间 */
}

/* ============================================================
   详情页：阅读进度条 + 键盘翻篇提示
   ============================================================ */
.wb-progress {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 55;                 /* 压在吸顶导航（50）之上，弹层（900）之下 */
  background: var(--wb-acid);
  transform: scaleX(0);
  transform-origin: 0 50%;
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
  will-change: transform;
}
.wb-progress.is-on { opacity: 1; }

.wb-keyhint {
  position: fixed;
  left: 50%;
  bottom: 34px;
  z-index: 47;
  padding: 9px 16px;
  border-radius: 999px;
  background: var(--wb-chip);
  color: var(--wb-on-accent);
  font-size: 13px;
  line-height: 1;
  letter-spacing: .02em;
  opacity: 0;
  transform: translate(-50%, 10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.wb-keyhint.is-on { opacity: .95; transform: translate(-50%, 0); }

@media (max-width: 820px) {
  /* 移动端底部有固定导航，提示条上移让开 */
  .wb-keyhint { bottom: 86px; }
}
@media (prefers-reduced-motion: reduce) {
  .wb-progress, .wb-keyhint { transition: none; }
}

/* ============================================================
   深色模式 ･ 古纸配色修正：赭红底上的硬编码深字统一翻暖白
   ============================================================ */
html.dark .wb-kind,
html.dark .wb-byline__avatar,
html.dark .wb-video__play-btn,
html.dark .wb-video__dur,
html.dark .wb-video__tag,
html.dark .wb-hero-filter__btn.is-active,
html.dark .wb-note__k,
html.dark .wb-rel b,
html.dark .wb-searchform__btn,
html.dark .btn-reset,
html.dark .wb-sr mark { color: #fffdf7; }
html.dark .wb-detail__cover .play { color: #fffdf7; }
html.dark .wb-detail__cover .play::before { border-left-color: #fffdf7; }
html.dark .wb-chip.is-active i { color: #fffdf7; }

/* 深色古纸主题补充：栏目页头印章块（红底）文字翻白 */
html.dark .wb-topic__seal { color: #fffdf7; }

/* 宽印章（.wb-topic__seal--wide）是「浅底深字」牌式，与红底小印章相反。
   上面那条 `html.dark .wb-topic__seal{color:#fffdf7}` 是为红底小印章把字翻白，
   但它会一并命中宽印章 —— 暖色主题下宽印章底色是暖白 #fffdf7、字也被翻成 #fffdf7，
   白压白完全不可读（county/best/checkin/about/heritage 等 8+ 页面均受影响）。
   本条特异性相同但位置更靠后，故能夺回字色；三态分别得深墨 / 深褐 / 米白。 */
html.dark .wb-topic__seal--wide { color: var(--wb-ink); }
/* ============================================================
   2026-10-13 全站大号数字统一古典衬线体（步哥）
   做法与方志页一致：@font-face + unicode-range 只命中数字 / 千分位 / 百分号，
   汉字不受影响。按元素原本的字体家族分组接回退：
     ･ 像素/等宽系 → "WBNumSerif", var(--wb-pixel, inherit)
     ･ 正文（混合汉字）系 → "WBNumSerif", inherit
   安卓等无 Georgia 的环境自动回退到原字体，不破坏排版。
   ============================================================ */
@font-face {
  font-family: "WBNumSerif";
  font-style: normal;
  font-weight: 400 900;
  src: local("Georgia"), local("Times New Roman");
  unicode-range: U+0030-0039, U+002C, U+002E, U+002F, U+0025, U+002B,
                 U+002D, U+2013, U+2014, U+00D7;
}
/* 用 body 前缀提特异性：本文件先加载，也能压住后加载的页面专属 CSS。
   像素/等宽系：数字换新字体，其余字符仍走原像素栈（汉字不受影响）。 */
body .wb-topic__seal b,
body .wb-dyn__count b,
body .wb-best-rec__metric b,
body .wb-best-card__metric,
body .wb-kbhead__stats b,
body .wb-ck-row__no,
body .wb-num-card__gdp b,
body .wb-nf__code {
  font-family: "WBNumSerif", var(--wb-pixel, inherit);
}


/* 含汉字的标题 / 年份：数字走衬线，汉字回退到正文栈（保持原字形，不跳变）。
   ⚠️ 不能写 `font-family: "WBNumSerif", inherit` —— inherit 不能作字体栈回退项，
      整条声明会被浏览器静默丢弃（本轮踩过）。必须用 var() 接住正文栈。 */
body .wb-note__k,
body .wb-best-rec__name,
body .wb-post-card__title,
body .wb-section__heading h2 {
  font-family: "WBNumSerif", var(--wb-body, inherit);
}

/* ============================================================
   「消失的古国」地望舆图（栏目页 kingdom.html）
   自绘 SVG，无第三方地图依赖；只绘市内县界，不涉国界省界
   ============================================================ */
.wb-kmap {
  --km-dot: #b5342a;
  --km-cty-name: #98a08e;
  --km-halo: #f5f7f0;
  --km-hot: #e9efdc;
  --km-line: #c3cab9;
  margin: 0 0 30px;
  padding: 22px 22px 16px;
  background: var(--wb-surface);
  border: 1px solid var(--wb-line);
  box-shadow: 4px 4px 0 var(--wb-line);
}
html.dark .wb-kmap { --km-dot: #8c2f28; --km-cty-name: #a09580; --km-halo: #f6f1e7; --km-hot: #f3ead9; --km-line: #cfc2a6; }
html.ink .wb-kmap { --km-dot: #cf5b4e; --km-cty-name: #8f969d; --km-halo: #15171a; --km-hot: #242a2f; --km-line: #3f464e; }
html.ink .wb-kmap { box-shadow: 4px 4px 0 #000; }

.wb-kmap__head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.wb-kmap__title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--wb-ink);
}
.wb-kmap__sub {
  margin: 0;
  font-size: 13px;
  color: var(--wb-muted);
}
.wb-kmap__sub-m { display: none; }
.wb-kmap__toggles {
  display: flex;
  gap: 7px;
  margin-left: auto;
}
.wb-kmap__tg {
  padding: 5px 13px;
  font: inherit;
  font-size: 12.5px;
  color: var(--wb-muted);
  background: transparent;
  border: 1px solid var(--wb-line);
  border-radius: 0;
  cursor: pointer;
  transition: background .16s, color .16s, border-color .16s;
}
.wb-kmap__tg:hover { border-color: var(--wb-ink); }
.wb-kmap__tg[aria-pressed="true"] {
  color: var(--wb-on-acid);
  background: var(--wb-acid);
  border-color: var(--wb-ink);
}

.wb-kmap__stage {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 8px 0;
  background: var(--wb-paper);
  border: 1px solid var(--wb-line);
  overflow: hidden;
}
.wb-kmap__svg { display: block; width: 100%; max-width: 860px; height: auto; }

.wb-kmap__cty {
  fill: var(--wb-surface);
  stroke: var(--km-line);
  stroke-width: 1.15;
  transition: fill .18s;
}
.wb-kmap__cty.is-hot { fill: var(--km-hot); }

.wb-kmap__cty-name {
  font-family: "Songti SC", "SimSun", "Source Han Serif SC", "Noto Serif SC", "STSong", serif;
  font-size: 15px;
  letter-spacing: 4px;
  fill: var(--km-cty-name);
  stroke: var(--km-halo);
  stroke-width: 4;
  paint-order: stroke;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.wb-kmap__k { cursor: pointer; outline: none; }
.wb-kmap__hit { fill: transparent; }
.wb-kmap__dot {
  fill: var(--km-dot);
  stroke: var(--km-halo);
  stroke-width: 2;
  transition: transform .16s;
  transform-box: fill-box;
  transform-origin: center;
}
.wb-kmap__k.is-on .wb-kmap__dot,
.wb-kmap__k:hover .wb-kmap__dot { transform: scale(1.45); }
.wb-kmap__k:focus-visible .wb-kmap__dot { stroke: var(--wb-ink); stroke-width: 3; }
.wb-kmap__k.is-dim { opacity: .26; }
.wb-kmap__kname {
  font-family: "Songti SC", "SimSun", "Source Han Serif SC", "Noto Serif SC", "STSong", serif;
  font-size: 18px;
  font-weight: 600;
  fill: var(--wb-ink);
  stroke: var(--km-halo);
  stroke-width: 4.5;
  paint-order: stroke;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.wb-kmap__panel {
  display: flex;
  align-items: center;
  min-height: 84px;
  padding-top: 14px;
}
.wb-kmap__hint {
  margin: 0;
  font-size: 13px;
  color: var(--wb-muted);
}
.wb-kmap__card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 18px;
  width: 100%;
}
.wb-kmap__card-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.wb-kmap__card-name {
  font-family: "Songti SC", "SimSun", "Source Han Serif SC", "Noto Serif SC", "STSong", serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--wb-ink);
}
.wb-kmap__card-date {
  font-size: 11.5px;
  letter-spacing: .5px;
  color: var(--wb-label-deep);
  padding: 1px 6px;
  border: 1px solid currentColor;
}
.wb-kmap__card-now {
  font-size: 12.5px;
  color: var(--wb-muted);
}
.wb-kmap__card-line {
  grid-column: 1;
  margin: 2px 0 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--wb-ink);
}
.wb-kmap__card-go {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  font-size: 13px;
  color: var(--wb-on-acid);
  background: var(--wb-acid);
  border: 1px solid var(--wb-ink);
  text-decoration: none;
  white-space: nowrap;
}
.wb-kmap__card-go:hover { background: var(--wb-acid-strong); }
.wb-kmap__note {
  margin: 12px 0 0;
  font-size: 11.5px;
  color: var(--wb-muted);
  letter-spacing: .3px;
}

@media (max-width: 720px) {
  .wb-kmap { padding: 16px 14px 12px; margin-bottom: 24px; box-shadow: 3px 3px 0 var(--wb-line); }
  .wb-kmap__head { gap: 6px 12px; }
  .wb-kmap__title { font-size: 15.5px; }
  .wb-kmap__sub { font-size: 12px; width: 100%; }
  .wb-kmap__sub-d { display: none; }
  .wb-kmap__sub-m { display: inline; }
  .wb-kmap__toggles { margin-left: 0; }
  .wb-kmap__stage { justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .wb-kmap__svg { width: 640px; min-width: 640px; max-width: none; }
  .wb-kmap__kname { font-size: 23px; stroke-width: 5.5; }
  .wb-kmap__cty-name { font-size: 18px; letter-spacing: 3px; stroke-width: 5; }
  .wb-kmap__panel { min-height: 0; padding-top: 12px; }
  .wb-kmap__card { grid-template-columns: 1fr; gap: 6px; }
  .wb-kmap__card-go { grid-row: auto; grid-column: 1; justify-self: start; margin-top: 4px; }
}

/* ============================================================
   无 JS 兜底：栏目页静态篇目列表（<noscript> 内）
   只在不执行 JavaScript 的浏览器/爬虫里渲染，正常浏览时完全不可见。
   目的：让不跑 JS 的抓取程序也能读到 14 篇文章的真实内链。
   ============================================================ */
.wb-noscript {
  max-width: 760px;
  margin: 32px auto;
  padding: 22px 24px;
  border: 1px solid rgba(160, 130, 70, .28);
  border-radius: 6px;
  background: rgba(250, 246, 236, .6);
}
.wb-noscript > p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.9;
  color: #6f6553;
}
.wb-noscript ul { margin: 0; padding: 0; list-style: none; }
.wb-noscript li {
  position: relative;
  padding: 9px 0 9px 16px;
  font-size: 14px;
  line-height: 1.85;
  color: #5c5344;
  border-top: 1px dashed rgba(160, 130, 70, .18);
}
.wb-noscript li:first-child { border-top: 0; }
.wb-noscript li::before {
  content: "";
  position: absolute;
  left: 0; top: 19px;
  width: 5px; height: 5px;
  background: #b08d4e;
  transform: rotate(45deg);
}
.wb-noscript a {
  color: #8a6a20;
  text-decoration: none;
  font-weight: 600;
  margin-right: 2px;
}
.wb-noscript a:hover { text-decoration: underline; }
.wb-noscript li > span { color: #7a705d; }
