/* ============================================================
   版块页（默认模板 category-default.php，步骤48）：作用域 .qh-bbs（模板外层 .jinsom-bbs-版块ID 上加的），页面专用 class 一律 qh-bbs- 前缀
   - 版块头部和公告放进左栏最上面（模板里挪的）；头部、置顶区、帖子列表都是基线卡片
   - 帖子行（post/list/bbs/bbs-list-1.php「简约」，置顶区和列表共用）：版块内帖子连在一起，一张卡片里细分割线分开
   - 不改主题的 HTML 结构和功能（关注、发表、切换排序、搜索、分页 / 加载更多、管理设置都是主题原来的），只重新排版
   - 每个版块后台「自定义 CSS」写的规则（如 .jinsom-bbs-header-info 半透明底、文字阴影）会被这里盖掉：选择器以 html .qh-bbs 开头，强度高一级
   规范：_优化补丁/前端设计基线.md 6.14
   ============================================================ */
html .qh-bbs { font-family: var(--qh-font); }

/* ---- 卡片：头部、置顶区（含分类筛选栏、子版块）、帖子列表 ---- */
html .qh-bbs .jinsom-bbs-header,
html .qh-bbs .jinsom-bbs-box:not(.grid-style) {
  box-sizing: border-box;
  width: auto;
  margin: 0 0 12px !important;   /* 模板里写了行内 margin-bottom */
  border: 1px solid var(--qh-s-edge);
  border-radius: var(--qh-r-card);
  background: var(--qh-s-card);
  box-shadow: var(--qh-s-shadow);
  color: var(--qh-s-text);
  --qh-ring-gap: var(--qh-s-card);
}

/* ============================================================
   版块头部：版块图标 64px、版块名 + 关注数 / 内容数、简介；右边「关注」「群聊」「发表」
   ============================================================ */
html .qh-bbs .jinsom-bbs-header { position: relative; overflow: hidden; padding: 0; }
/* 后台设置了版块背景图：做成卡片顶部 110px 的横幅；没有背景图：只剩管理员的设置齿轮，放在卡片右上角 */
html .qh-bbs .jinsom-bbs-header-bg:not([style*="background-image"]) {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none !important;
}
html .qh-bbs .jinsom-bbs-header-bg[style*="background-image"] {
  position: relative;
  height: 110px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
html .qh-bbs .jinsom-bbs-header-bg i {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--qh-s-sunken);
  color: var(--qh-s-muted);
  font-size: 15px;
  text-shadow: none;
  transition: background-color .15s, color .15s;
}
html .qh-bbs .jinsom-bbs-header-bg i:hover { background: var(--qh-s-hover); color: var(--qh-s-text); }
html .qh-bbs .jinsom-bbs-header-bg[style*="background-image"] i { top: 8px; right: 8px; background: rgba(0, 0, 0, .38); color: #fff; }

html .qh-bbs .jinsom-bbs-header-info {
  display: grid;
  grid-template-columns: 80px auto auto minmax(0, 1fr) auto auto auto;   /* 图标 64px + 间距 16px */
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 0;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 0;
  background: none;
  text-shadow: none;
}
html .qh-bbs .jinsom-bbs-header-info::after, html .qh-bbs .jinsom-bbs-header-info-btn::after, html .qh-bbs .jinsom-bbs-header-info-desc::after { display: none; }
html .qh-bbs .jinsom-bbs-header-info-avatar {
  grid-column: 1;
  grid-row: 1 / 3;
  position: relative;
  float: none;
  left: auto;
  z-index: 1;
  width: 64px;
  height: 64px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: none;
}
html .qh-bbs .jinsom-bbs-header-info-avatar > a { display: block; }
html .qh-bbs .jinsom-bbs-header-info-avatar img { display: block; width: 64px; height: 64px; margin: 0; padding: 0; border: 0; border-radius: 14px; object-fit: cover; background: var(--qh-s-sunken); }
/* 子版块：父版块图标右下角叠一个子版块的小图标 */
html .qh-bbs .jinsom-bbs-header-info-avatar > span { right: -6px; bottom: -6px; width: 28px; height: 28px; padding: 0; border: 2px solid var(--qh-s-card); border-radius: 8px; background: var(--qh-s-card); }
html .qh-bbs .jinsom-bbs-header-info-avatar > span img { width: 28px; height: 28px; border-radius: 6px; }
html .qh-bbs .jinsom-bbs-header-info-btn { display: contents; }
html .qh-bbs .jinsom-bbs-header-info-btn .name {
  grid-column: 2;
  grid-row: 1;
  float: none;
  margin: 0 6px 0 0;
  color: var(--qh-s-text) !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: none;
}
html .qh-bbs .jinsom-bbs-header-info-btn child { grid-column: 3; grid-row: 1; float: none; margin-right: 6px; color: var(--qh-s-text2); font-size: 16px; line-height: 1.3; }
html .qh-bbs .jinsom-bbs-follow-info { grid-column: 4; grid-row: 1; display: flex; gap: 14px; float: none; margin: 0 0 0 8px; color: var(--qh-s-muted) !important; font-size: 13px; line-height: 1.3; }
html .qh-bbs .jinsom-bbs-follow-info span { margin: 0; color: var(--qh-s-muted) !important; text-shadow: none; }
html .qh-bbs .jinsom-bbs-follow-info span m { color: var(--qh-s-text) !important; font-weight: 600; font-variant-numeric: tabular-nums; }
html .qh-bbs .jinsom-bbs-header-info-desc {
  grid-column: 2 / 5;
  grid-row: 2;
  margin: 6px 0 0;
  color: var(--qh-s-text2) !important;
  font-size: 14px;
  line-height: 1.6;
  text-shadow: none;
}
/* 关注 / 群聊 / 发表：右边一排按钮（跨两行垂直居中） */
html .qh-bbs .jinsom-bbs-header-info-btn .follow,
html .qh-bbs .jinsom-bbs-header-info-btn .chat,
html .qh-bbs .jinsom-bbs-header-publish-btn {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  float: none;
  width: auto;
  height: 36px;
  margin: 0 0 0 8px;
  padding: 0 16px;
  border: 0;
  border-radius: var(--qh-r-btn);
  font-size: 14px !important;
  font-weight: 500;
  line-height: 36px;
  white-space: nowrap;
  text-shadow: none;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
html .qh-bbs .jinsom-bbs-header-info-btn .follow { grid-column: 5; background: var(--qh-s-sunken); color: var(--qh-s-text2); }
html .qh-bbs .jinsom-bbs-header-info-btn .follow:hover { background: var(--qh-s-hover); color: var(--qh-s-text); }
html .qh-bbs .jinsom-bbs-header-info-btn .follow.had { color: var(--qh-s-muted); }
html .qh-bbs .jinsom-bbs-header-info-btn .chat { grid-column: 6; background: var(--qh-s-sunken); color: var(--qh-s-text2) !important; }
html .qh-bbs .jinsom-bbs-header-info-btn .chat:hover { background: var(--qh-s-hover); color: var(--qh-s-text) !important; }
html .qh-bbs .jinsom-bbs-header-publish-btn { grid-column: 7; background: var(--qh-accent); color: #fff; }
html .qh-bbs .jinsom-bbs-header-publish-btn:hover { background-image: linear-gradient(rgba(0, 0, 0, .08), rgba(0, 0, 0, .08)); opacity: 1; }
/* 按钮里的图标：16px 线条图标（关注是「＋」、已关注是「✓」，发表是笔，群聊是气泡） */
html .qh-bbs .jinsom-bbs-header-info-btn .follow i,
html .qh-bbs .jinsom-bbs-header-info-btn .chat i,
html .qh-bbs .jinsom-bbs-header-publish-btn i {
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  font-size: 0;
  line-height: 0;
  vertical-align: 0;
  -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
  mask-position: center; mask-size: contain; mask-repeat: no-repeat;
}
html .qh-bbs .jinsom-bbs-header-info-btn .follow i::before,
html .qh-bbs .jinsom-bbs-header-info-btn .chat i::before,
html .qh-bbs .jinsom-bbs-header-publish-btn i::before { content: none; }
html .qh-bbs .jinsom-bbs-header-info-btn .follow i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-header-info-btn .follow.had i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-header-info-btn .chat i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v6a2.5 2.5 0 0 1-2.5 2.5H9.2Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v6a2.5 2.5 0 0 1-2.5 2.5H9.2Z'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-header-publish-btn i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13 7l4 4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13 7l4 4'/%3E%3C/svg%3E"); }

/* ============================================================
   公告（后台「版块公告」HTML）：主题色浅底；里面写死的红色 / 黄色字统一成正文色，加粗用主题色，图标用主题色
   ============================================================ */
html .qh-bbs .jinsom-bbs-notice-bar {
  box-sizing: border-box;
  width: auto;
  margin: 0 0 12px;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--qh-r-card);
  background: var(--qh-s-tint) !important;
  color: var(--qh-s-text) !important;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: normal !important;
  text-shadow: none !important;
  cursor: default;
}
html .qh-bbs .jinsom-bbs-notice-bar * { color: inherit !important; background: none !important; text-shadow: none !important; font-size: inherit !important; letter-spacing: normal !important; }
html .qh-bbs .jinsom-bbs-notice-bar strong,
html .qh-bbs .jinsom-bbs-notice-bar b,
html .qh-bbs .jinsom-bbs-notice-bar strong *,
html .qh-bbs .jinsom-bbs-notice-bar b * { color: var(--qh-accent) !important; font-weight: 600; }
html .qh-bbs .jinsom-bbs-notice-bar .fa { margin-right: 6px; color: var(--qh-accent) !important; }
html .qh-bbs .jinsom-bbs-notice-bar a { text-decoration: none; }
html .qh-bbs .jinsom-bbs-notice-bar a:hover { color: var(--qh-accent) !important; }

/* ---- 「版块顶部广告」改成中性提示条：后台填 <div class="qh-bbs-tip"><i class="fa fa-info-circle"></i><p>…</p></div> ---- */
.qh-bbs-tip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px 16px;
  border: 1px solid var(--qh-s-edge);
  border-radius: var(--qh-r-card);
  background: var(--qh-s-card);
  box-shadow: var(--qh-s-shadow);
  color: var(--qh-s-text2);
  font-family: var(--qh-font);
  font-size: 14px;
  line-height: 1.7;
}
.qh-bbs-tip > .fa { flex: none; margin-top: 4px; color: var(--qh-s-muted); font-size: 15px; }
.qh-bbs-tip p { margin: 0; }
.qh-bbs-tip a { color: var(--qh-accent); font-weight: 500; }

/* ============================================================
   置顶区（.jinsom-bbs-box 里的 .commend）：一行一条，标记 + 标题 + 评论数 / 浏览数
   ============================================================ */
html .qh-bbs .jinsom-bbs-box:has(> .commend) { padding: 10px 20px; }
html .qh-bbs .jinsom-bbs-post-list.commend { margin: 0 -10px; }
html .qh-bbs .commend .jinsom-bbs-list-1 {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--qh-r-item);
  background: none;
  transition: background-color .15s;
}
html .qh-bbs .commend .jinsom-bbs-list-1:hover { background: var(--qh-s-sunken); }
html .qh-bbs .commend .jinsom-bbs-list-1 > .left { display: none; }
html .qh-bbs .commend .jinsom-bbs-list-1 > .right { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0; }
html .qh-bbs .commend .jinsom-bbs-list-1 > .right::before { display: none; }
html .qh-bbs .commend .jinsom-bbs-list-1 .mark { order: 1; flex: none; display: flex; align-items: center; gap: 6px; }
html .qh-bbs .commend .jinsom-bbs-list-1 h2 { order: 2; flex: 1; min-width: 0; max-width: none; margin: 0; font-size: 14px; font-weight: 500; line-height: 1.5; }
html .qh-bbs .commend .jinsom-bbs-list-1 .num { order: 3; }
html .qh-bbs .commend .jinsom-bbs-list-1 .jinsom-bbs-list-1-info { order: 4; flex: none; padding: 0; }
html .qh-bbs .commend .jinsom-bbs-list-1-info-left > span:not(:nth-child(3)),
html .qh-bbs .commend .jinsom-bbs-list-1-info-left > .from,
html .qh-bbs .commend .jinsom-bbs-list-1-info-right,
html .qh-bbs .commend .mark > .jinsom-bbs-post-type-img,
html .qh-bbs .commend .mark > .jinsom-bbs-post-type-file,
html .qh-bbs .commend .mark:has(> .jinsom-post-mark) > .jinsom-bbs-post-type-up { display: none; }   /* 有标记就只显示标记；没有标记显示「置顶」 */
html .qh-bbs .commend .jinsom-bbs-list-1 .num,
html .qh-bbs .commend .jinsom-bbs-list-1-info-left > span:nth-child(3) { display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 0; border: 0; background: none; color: var(--qh-s-muted); font-size: 13px; }

/* ============================================================
   帖子列表
   ============================================================ */
html .qh-bbs .jinsom-bbs-box:has(> .jinsom-bbs-list-box) { padding: 16px 20px 18px; }
/* ---- 排序切换（回复 / 最新 / 精华…）：分段切换；右边「搜索本版块」 ---- */
html .qh-bbs .jinsom-bbs-box-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 6px; }
html .qh-bbs .jinsom-bbs-box-header::after { display: none; }
html .qh-bbs .jinsom-bbs-box-header .left { flex: none; display: flex; padding: 3px; border-radius: 9px; background: var(--qh-s-sunken); }
html .qh-bbs .jinsom-bbs-box-header .left li {
  height: 28px;
  margin: 0;
  padding: 0 12px;
  border-radius: 7px;
  background: none;
  color: var(--qh-s-text2);
  font-size: 14px;
  font-weight: 500;
  line-height: 28px;
  list-style: none;
  transition: background-color .15s, color .15s;
}
html .qh-bbs .jinsom-bbs-box-header .left li:hover { background: none; color: var(--qh-s-text); }
html .qh-bbs .jinsom-bbs-box-header .left li.on { background: var(--qh-s-card); color: var(--qh-s-text); box-shadow: 0 1px 2px rgba(0, 0, 0, .12); }
.theme-dark .qh-bbs .jinsom-bbs-box-header .left li.on { background: rgba(255, 255, 255, .1); box-shadow: none; }
html .qh-bbs .jinsom-bbs-box-header .left li::after { display: none; }
html .qh-bbs .jinsom-bbs-box-header .right {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 220px;
  height: 34px;
  box-sizing: border-box;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: var(--qh-r-btn);
  background: var(--qh-s-sunken);
  transition: border-color .15s, background-color .15s;
}
html .qh-bbs .jinsom-bbs-box-header .right:focus-within { border-color: rgba(var(--qh-accent-rgb), .55); background: var(--qh-s-card); }
html .qh-bbs .jinsom-bbs-box-header .right i {
  order: -1;
  flex: none;
  width: 16px;
  height: 16px;
  padding: 0;
  background: var(--qh-s-muted);
  font-size: 0;
  line-height: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
html .qh-bbs .jinsom-bbs-box-header .right i::before { content: none; }
html .qh-bbs .jinsom-bbs-box-header .right input {
  flex: 1;
  min-width: 0;
  width: auto;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--qh-s-text);
  font: 13px var(--qh-font);
  outline: none;
}
html .qh-bbs .jinsom-bbs-box-header .right input::placeholder { color: var(--qh-s-muted); }

/* ---- 帖子行（简约）：36px 头像 | 标题 + 小标签 / 作者 · 时间 · 浏览 | 评论数气泡 ---- */
html .qh-bbs .jinsom-bbs-list-box { min-height: 0; margin: 0 -20px; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 14px 20px;
  border: 0;
  border-top: 1px solid var(--qh-s-line);
  border-radius: 0;
  background: none;
  transition: background-color .15s;
}
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1:first-child { border-top: 0; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1:hover { background: var(--qh-s-sunken); }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left { flex: none; float: none; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left::after { display: none; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left a { position: relative; display: block; float: none; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left ls { display: contents; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left x,
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left .jinsom-vip-icon { display: none; }   /* 36px 不显示头像框 */
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left img { display: block; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%; object-fit: cover; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left a > i.jinsom-verify,
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .left ls ~ i.jinsom-verify { right: -4px; bottom: -4px; transform: scale(.66); transform-origin: 100% 100%; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .right {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, max-content) 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 6px;
  width: auto;
  padding: 0;
}
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 > .right::before { display: none; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 h2 { grid-column: 1; grid-row: 1; float: none; max-width: none; margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 .mark { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 .num { grid-column: 3; grid-row: 1 / 3; margin-left: 8px; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1-info { grid-column: 1 / 3; grid-row: 2; display: flex; align-items: center; margin-top: 4px; padding: 0; }
/* 标题：单行省略；后台标题颜色照旧，夜间提亮（--qh-tc-d，由 bbs-list-1.php 输出） */
html .qh-bbs .jinsom-bbs-list-1 h2 a { display: block; overflow: hidden; color: var(--qh-s-text); text-overflow: ellipsis; white-space: nowrap; transition: color .15s; }
html .qh-bbs .jinsom-bbs-list-1 h2 a:hover { color: var(--qh-accent); }
.theme-dark .qh-bbs .jinsom-bbs-list-1 h2 a[style*="--qh-tc-d"] { color: var(--qh-tc-d) !important; }
/* 标题前的子版块名（只有父版块页、帖子在子版块里时才显示；本版块的已经由模板隐藏）、游戏版本：中性小标签 */
html .qh-bbs .jinsom-bbs-list-1 h2 a > span[class^="cat-item-"] {
  position: static;
  display: inline-block;
  margin: 0 6px 0 0;
  padding: 0 7px;
  height: 20px;
  border-radius: 5px;
  background: var(--qh-s-sunken);
  color: var(--qh-s-text2);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  vertical-align: 1px;
}
html .qh-bbs .jinsom-bbs-list-1 h2 a > span[class^="cat-item-"] i { display: none; }
/* 小标签：置顶、精华、付费、悬赏 / 已解决、回复可见、标记…（底色沿用主题和后台的颜色）；有图片 / 附件是一个小图标 */
html .qh-bbs .jinsom-bbs-list-1 .mark > span {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 20px;
  margin: 0;
  padding: 0 7px;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
  vertical-align: 0;
}
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-comment,
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-login,
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-vip { background: var(--qh-s-sunken); color: var(--qh-s-text2); }
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-img,
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-file { padding: 0; background: none; color: var(--qh-s-muted); }
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-img i,
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-file i {
  display: block;
  width: 16px;
  height: 16px;
  background: currentColor;
  font-size: 0;
  line-height: 0;
  -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
  mask-position: center; mask-size: contain; mask-repeat: no-repeat;
}
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-img i::before,
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-file i::before { content: none; }
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-img i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='M20.5 16l-5-5-8 8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='M20.5 16l-5-5-8 8'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-list-1 .mark > .jinsom-bbs-post-type-file i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5l-7.8 7.8a5 5 0 0 1-7.1-7.1l8.5-8.5a3.3 3.3 0 0 1 4.7 4.7l-8.5 8.5a1.7 1.7 0 0 1-2.4-2.4l7.8-7.8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5l-7.8 7.8a5 5 0 0 1-7.1-7.1l8.5-8.5a3.3 3.3 0 0 1 4.7 4.7l-8.5 8.5a1.7 1.7 0 0 1-2.4-2.4l7.8-7.8'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-list-1 .mark:empty { display: none; }
/* 第二行：作者 · 友好时间 · 浏览数（13px；分隔点 3px 圆点；不显示「电脑端」来源和作者前的小人图标） */
html .qh-bbs .jinsom-bbs-list-1-info-left,
html .qh-bbs .jinsom-bbs-list-1-info-right { display: flex; align-items: center; float: none; overflow: visible; }
html .qh-bbs .jinsom-bbs-list-1-info span { display: inline-flex; align-items: center; margin: 0; color: var(--qh-s-muted); font-size: 13px; line-height: 1.5; }
html .qh-bbs .jinsom-bbs-list-1-info span a { color: var(--qh-s-text2); transition: color .15s; }
html .qh-bbs .jinsom-bbs-list-1-info span a:hover { color: var(--qh-accent); }
html .qh-bbs .jinsom-bbs-list-1-info-left > span:first-child > i,
html .qh-bbs .jinsom-bbs-list-1-info .from { display: none; }
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1-info-left > span + span:not(.from)::before,
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1-info-right > span:first-child::before {
  content: "";
  flex: none;
  width: 3px;
  height: 3px;
  margin: 0 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: .8;
  transform: translateY(.75px);   /* 微软雅黑的字形重心比行框中心低约 0.75px（实测），圆点跟着下移，和文字的视觉中心对齐 */
}
/* 最后回复（有数据时才有）：接在浏览数后面 */
html .qh-bbs .jinsom-bbs-list-1-info-right > span + span { margin-left: 4px; }
html .qh-bbs .jinsom-bbs-list-1-info-right > span > i { display: none; }
/* 浏览数、评论数的图标：15px 线条图标（主题字体图标的字形偏上，和数字对不齐） */
html .qh-bbs .jinsom-bbs-list-1 .num > i,
html .qh-bbs .jinsom-bbs-list-1-info-left > span > i.jinsom-liulan1 {
  display: block;
  flex: none;
  width: 15px;
  height: 15px;
  margin: 0 4px 0 0;
  background: currentColor;
  color: inherit;
  font-size: 0;
  line-height: 0;
  transform: translateY(.75px);
  -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
  mask-position: center; mask-size: contain; mask-repeat: no-repeat;
}
html .qh-bbs .jinsom-bbs-list-1 .num > i::before,
html .qh-bbs .jinsom-bbs-list-1-info-left > span > i.jinsom-liulan1::before { content: none; }
html .qh-bbs .jinsom-bbs-list-1 .num > i { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v6a2.5 2.5 0 0 1-2.5 2.5H9.2Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v6a2.5 2.5 0 0 1-2.5 2.5H9.2Z'/%3E%3C/svg%3E"); }
html .qh-bbs .jinsom-bbs-list-1-info-left > span > i.jinsom-liulan1 { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E"); }
/* 评论数气泡 */
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 .num {
  display: flex;
  align-items: center;
  justify-content: center;
  float: none;
  min-width: 56px;
  height: 30px;
  box-sizing: border-box;
  padding: 0 10px;
  border-radius: 15px;
  background: var(--qh-s-sunken);
  color: var(--qh-s-text2);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  transition: background-color .15s;
}
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1 .num > i { margin-right: 5px; transform: translateY(1.25px); }   /* 旁边的数字加粗，字形重心再低一点 */
html .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1:hover .num { background: var(--qh-s-card); }
.theme-dark .qh-bbs .jinsom-bbs-list-box .jinsom-bbs-list-1:hover .num { background: rgba(255, 255, 255, .06); }

/* ---- 翻页时（不刷新整页，取下一页的列表）：列表变淡、不能点，换好后恢复 ---- */
html .qh-bbs .jinsom-bbs-list-box { transition: opacity .15s; }
html .qh-bbs .jinsom-bbs-list-box.qh-bbs-loading { opacity: .5; pointer-events: none; }

/* ---- 分页（layui laypage）：32px 圆角按钮，当前页主题色；「上一页 / 下一页」换成箭头图标 ---- */
html .qh-bbs #jinsom-bbs-list-page { display: flex; justify-content: flex-end; margin: 4px 0 0; padding: 16px 20px 0; border-top: 1px solid var(--qh-s-line); }
html .qh-bbs #jinsom-bbs-list-page:empty { display: none; }
html .qh-bbs .layui-laypage { display: flex; align-items: center; gap: 6px; margin: 0; }
html .qh-bbs .layui-laypage a,
html .qh-bbs .layui-laypage span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 8px;
  border: 0;
  border-radius: 8px !important;
  background: var(--qh-s-sunken);
  color: var(--qh-s-text2) !important;
  font: 500 13px var(--qh-font);
  font-variant-numeric: tabular-nums;
  line-height: 32px;
  transition: background-color .15s, color .15s;
}
html .qh-bbs .layui-laypage a:hover { background: var(--qh-s-hover); color: var(--qh-s-text) !important; }
html .qh-bbs .layui-laypage .layui-laypage-curr { position: relative; overflow: hidden; background: var(--qh-accent); }
html .qh-bbs .layui-laypage .layui-laypage-curr em { color: #fff; }
html .qh-bbs .layui-laypage .layui-laypage-curr .layui-laypage-em { display: none; }
html .qh-bbs .layui-laypage .layui-laypage-spr { min-width: 0; padding: 0 2px; background: none; color: var(--qh-s-muted) !important; font-weight: 400; }
html .qh-bbs .layui-laypage .layui-disabled { opacity: .45; cursor: default; }
html .qh-bbs .layui-laypage .layui-disabled:hover { background: var(--qh-s-sunken); color: var(--qh-s-text2) !important; }
html .qh-bbs .layui-laypage-prev,
html .qh-bbs .layui-laypage-next { font-size: 0 !important; }
html .qh-bbs .layui-laypage-prev::before,
html .qh-bbs .layui-laypage-next::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6 8.5 12l6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6 8.5 12l6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
html .qh-bbs .layui-laypage-next::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 6l6 6-6 6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 6l6 6-6 6'/%3E%3C/svg%3E"); }
/* 加载更多（版块设成「加载更多」而不是分页时） */
html .qh-bbs .jinsom-bbs-list-box .jinsom-more-posts {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 40px;
  margin: 4px 20px 0;
  padding: 0;
  border-radius: var(--qh-r-btn);
  background: var(--qh-s-sunken);
  color: var(--qh-s-text2);
  font-size: 14px;
  font-weight: 500;
  transition: background-color .15s, color .15s;
}
html .qh-bbs .jinsom-bbs-list-box .jinsom-more-posts:hover { background: var(--qh-s-hover); color: var(--qh-s-text); }
html .qh-bbs .jinsom-bbs-list-box .jinsom-empty-page { padding: 60px 0; background: none; color: var(--qh-s-muted); }

/* ---- 子版块方块（父版块页、没开分类筛选栏时） ---- */
html .qh-bbs .jinsom-bbs-cat-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html .qh-bbs .full .jinsom-bbs-cat-list { grid-template-columns: repeat(3, 1fr); }
html .qh-bbs .jinsom-bbs-cat-list::after { display: none; }
html .qh-bbs .jinsom-bbs-cat-list li {
  float: none;
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px;
  border-radius: 10px;
  background: var(--qh-s-sunken);
  transition: background-color .15s;
}
html .qh-bbs .jinsom-bbs-cat-list li:hover { background: var(--qh-s-hover); }
html .qh-bbs .jinsom-bbs-cat-list li .left { float: none; margin: 0; }
html .qh-bbs .jinsom-bbs-cat-list li .left img { display: block; width: 44px; height: 44px; border: 0; border-radius: 10px; }
html .qh-bbs .jinsom-bbs-cat-list li .right { float: none; flex: 1; min-width: 0; width: auto; }
html .qh-bbs .jinsom-bbs-cat-list li .right .name a { color: var(--qh-s-text); font-size: 15px; font-weight: 600; }
html .qh-bbs .jinsom-bbs-cat-list li .right .name span { margin-left: 6px; padding: 0 6px; border-radius: 5px; background: var(--qh-s-card); color: var(--qh-s-muted); font-size: 12px; font-weight: 500; vertical-align: 1px; }
html .qh-bbs .jinsom-bbs-cat-list li .right .desc { margin-top: 4px; color: var(--qh-s-muted); font-size: 12px; line-height: 1.5; }
html .qh-bbs .commend[style*="margin-top"] { margin-top: 10px !important; }
