/* ═══════════════════════════════════════════════════════════════
   Origin BBS — 界面层（forum-ui.css）
   ───────────────────────────────────────────────────────────────
   这一层只做「外观与排布」，不改任何交互逻辑；forum.css 负责
   弹窗/编辑器/评论树等既有组件的骨架，本文件在其后加载，用更高
   优先级把 BBS 主界面统一成一套视觉语言：

     · 一套间距（4/8/12/16/20/24）与胶囊/卡片两档圆角
     · 顶栏 = 品牌 + 版块切换 + 一组等宽图标按钮（不再挤成一团）
     · 列表 = 白卡片面板（表头 / 搜索 / 行 / 分页同处一卡）
     · 图标一律内联 SVG 线稿，禁用 emoji（emoji 在不同系统下
       尺寸、颜色、基线全都不可控，是「不对齐」的主要来源）

   颜色全部走 ui.css 的 --reori-* 变量，深浅色自动一致。
   ═══════════════════════════════════════════════════════════════ */

/* ── 设计变量 ───────────────────────────────────────────────── */
:root {
  --bbs-gap-1: 4px;
  --bbs-gap-2: 8px;
  --bbs-gap-3: 12px;
  --bbs-gap-4: 16px;
  --bbs-gap-5: 20px;
  --bbs-gap-6: 24px;

  --bbs-r-sm: 8px;
  --bbs-r-md: 12px;
  --bbs-r-lg: 16px;
  --bbs-r-pill: 999px;

  --bbs-surface: var(--reori-surface, #fff);
  --bbs-surface-2: var(--reori-surface-2, #f6f7fa);
  --bbs-text: var(--reori-text, #22252b);
  --bbs-text-2: var(--reori-muted, #6b7280);
  --bbs-text-3: #98a0ad;
  --bbs-line: var(--reori-border, rgba(15, 23, 42, .09));
  --bbs-line-2: rgba(15, 23, 42, .06);
  --bbs-accent: var(--reori-accent, #399fff);
  --bbs-accent-soft: rgba(57, 159, 255, .1);
  --bbs-hover: rgba(15, 23, 42, .028);
  --bbs-shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);
  --bbs-shadow-md: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 28px -18px rgba(16, 24, 40, .35);
  --bbs-shadow-fab: 0 8px 24px -6px rgba(57, 159, 255, .45);
  --bbs-page: #f2f4f7;
}

[data-theme="dark"] {
  --bbs-text-3: #6f7488;
  --bbs-line-2: rgba(255, 255, 255, .05);
  --bbs-hover: rgba(255, 255, 255, .035);
  --bbs-accent-soft: rgba(57, 159, 255, .16);
  --bbs-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
  --bbs-shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 28px -18px rgba(0, 0, 0, .7);
  --bbs-page: #14151d;
}

/* ── 页面骨架 ───────────────────────────────────────────────── */
.bbs-layout {
  max-width: 900px;
  padding: 0 16px 96px;
}

/* 卡片面板：列表页与详情页共用同一外壳 */
#bbs-topic-list,
#bbs-detail {
  background: var(--bbs-surface);
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-lg);
  box-shadow: var(--bbs-shadow-md);
  overflow: hidden;
}

/* ── 顶栏 ───────────────────────────────────────────────────── */
.bbs-header {
  display: flex;
  align-items: center;
  gap: var(--bbs-gap-3);
  padding: 10px 12px;
  margin: 8px 0 var(--bbs-gap-4);
  background: var(--bbs-surface);
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-lg);
  box-shadow: var(--bbs-shadow-md);
}

.bbs-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bbs-brand-mark {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: linear-gradient(140deg, var(--bbs-accent), #2f7fd8);
  color: #fff;
  box-shadow: 0 4px 12px -4px rgba(57, 159, 255, .6);
}
.bbs-brand-mark svg { display: block; }

.bbs-brand-text {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.1px;
  color: var(--bbs-text);
  white-space: nowrap;
}

/* 版块切换：胶囊 + 下拉箭头（箭头由 JS 一起渲染，随论坛名更新） */
#bbs-forum-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 26px;
  padding: 0 8px 0 10px;
  margin: 0;
  border-radius: var(--bbs-r-pill);
  background: var(--bbs-surface-2);
  border: 1px solid var(--bbs-line);
  color: var(--bbs-text-2) !important;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
#bbs-forum-switch:hover {
  color: var(--bbs-accent) !important;
  border-color: var(--bbs-accent-soft);
  background: var(--bbs-accent-soft);
}
#bbs-forum-switch svg { flex: 0 0 auto; opacity: .7; }

/* 顶栏右侧：所有按钮统一 32×32 的点击区、统一的圆角与间距 */
.bbs-user-area {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  min-width: 0;
}

.bbs-user-area > * { flex: 0 0 auto; }

/* 图标按钮（通知 / 审核 / 控制中心 / 退出） */
.bbs-icon-btn,
.bbs-tool-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 32px;
  min-width: 32px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: var(--bbs-r-sm);
  background: transparent;
  color: var(--bbs-text-2);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.bbs-icon-btn:hover,
.bbs-tool-btn:hover {
  background: var(--bbs-surface-2);
  color: var(--bbs-text);
}
.bbs-icon-btn svg,
.bbs-tool-btn svg { display: block; }

.bbs-tool-label { white-space: nowrap; }

/* 角标：绝对定位在按钮右上角，尺寸与字号统一 */
.bbs-count-badge {
  position: absolute;
  top: 1px;
  right: 0;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: var(--bbs-r-pill);
  background: #ff3b30;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 15px;
  text-align: center;
  box-shadow: 0 0 0 2px var(--bbs-surface);
  pointer-events: none;
}
.bbs-count-badge.is-review { background: #ff9500; }

/* 用户 chip：头像 + 名字 + 退出 */
.bbs-user-badge {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 34px;
  margin-left: 4px;
  padding: 0 2px 0 3px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-pill);
  background: var(--bbs-surface);
  color: var(--bbs-text);
  font-size: 13px;
}
#bbs-user-avatar {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  border-radius: 50%;
  overflow: hidden;
}
#bbs-username {
  max-width: 120px;
  padding: 0 4px 0 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
#bbs-username:hover { color: var(--bbs-accent); }
.bbs-user-badge .bbs-logout-btn {
  width: 26px;
  height: 26px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--bbs-text-3);
  font-size: 0;          /* 文字「退出」交给 title 提示，图标替代 */
  cursor: pointer;
}
.bbs-user-badge .bbs-logout-btn:hover { background: var(--bbs-surface-2); color: #e5484d; }
.bbs-user-badge .bbs-logout-btn svg { display: block; }

/* 登录按钮 */
.bbs-login-btn {
  height: 32px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-accent);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: filter .15s, box-shadow .15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.bbs-login-btn:hover {
  /* forum.css 里的老规则会把 hover 文字改成主题色 —— 实心按钮上就是「字消失了」，这里锁死白字 */
  color: #fff;
  border-color: transparent;
  filter: brightness(1.06);
  box-shadow: 0 4px 14px -6px var(--bbs-accent);
}
[data-theme="dark"] .bbs-login-btn { color: #fff; }

/* 顶栏里 el.style.display='' 会把 inline 显示恢复成默认值，这里保证 flex 布局 */
#bbs-admin-actions { display: flex; align-items: center; gap: 2px; }
#bbs-admin-actions[style*="display: none"],
#bbs-admin-actions[style*="display:none"] { display: none !important; }

/* 维护横幅 */
#bbs-maint-banner {
  background: rgba(255, 107, 53, .07) !important;
  border: 1px solid rgba(255, 107, 53, .22) !important;
  border-radius: var(--bbs-r-md) !important;
  padding: 9px 14px !important;
  margin: 0 0 var(--bbs-gap-3) !important;
  font-size: 12.5px !important;
  color: #c84a1c !important;
  text-align: left !important;
}

/* 子论坛上下文提示条（JS 注入 #bbs-current-forum） */
#bbs-current-forum {
  margin: 0 !important;
  padding: 10px 16px !important;
  border-width: 0 0 1px 0 !important;
  border-style: solid !important;
  border-left-width: 3px !important;
  border-radius: 0 !important;
  font-size: 12.5px !important;
  background-clip: padding-box;
}

/* ── 列表页：表头 + 搜索 ────────────────────────────────────── */
.bbs-list-head {
  display: flex;
  align-items: center;
  gap: var(--bbs-gap-3);
  padding: 14px 16px;
  border-bottom: 1px solid var(--bbs-line);
  flex-wrap: wrap;
}

.bbs-list-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--bbs-text);
  letter-spacing: -.1px;
}
.bbs-list-count {
  font-size: 12px;
  font-weight: 400;
  color: var(--bbs-text-3);
  font-variant-numeric: tabular-nums;
}

/* 搜索：输入框内嵌放大镜，按钮贴在右侧 */
.bbs-search {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  height: 32px;
  padding: 0 4px 0 10px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-surface-2);
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.bbs-search:focus-within {
  border-color: var(--bbs-accent);
  background: var(--bbs-surface);
  box-shadow: 0 0 0 3px var(--bbs-accent-soft);
}
.bbs-search > svg { flex: 0 0 auto; color: var(--bbs-text-3); }
.bbs-search input {
  width: 168px;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: var(--bbs-text);
  font-size: 12.5px;
}
.bbs-search input::placeholder { color: var(--bbs-text-3); }
.bbs-search-btn {
  flex: 0 0 auto;
  height: 24px;
  padding: 0 12px;
  border: none;
  border-radius: 6px;
  background: var(--bbs-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
.bbs-search-btn:hover { filter: brightness(1.06); }

/* ── 列表行 ─────────────────────────────────────────────────── */
.bbs-topic-list { display: block; }

.bbs-topic-item {
  display: flex;
  align-items: flex-start;
  gap: var(--bbs-gap-3);
  padding: 13px 16px;
  border: none;
  border-bottom: 1px solid var(--bbs-line-2);
  background: transparent;
  cursor: pointer;
  transition: background .13s;
}
.bbs-topic-item:last-child { border-bottom: none; }
.bbs-topic-item:hover { background: var(--bbs-hover); }
.bbs-topic-item:first-child { border-top: none; }

.bbs-topic-main { flex: 1 1 auto; min-width: 0; }

.bbs-topic-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--bbs-text);
  white-space: normal;
  word-break: break-word;
}
.bbs-topic-title .bbs-role-badge {
  display: inline-block;
  position: static;
  top: 0;
  margin: 0 4px 0 0;
  vertical-align: 1px;
}

.bbs-topic-preview {
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--bbs-text-2);
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bbs-topic-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--bbs-text-3);
}
.bbs-topic-meta .bbs-author-link { color: var(--bbs-text-2); font-weight: 500; }
.bbs-topic-meta .bbs-author-link:hover { color: var(--bbs-accent); }
.bbs-topic-meta > span:first-child + .bbs-role-badge { margin-left: 0; }

/* 右侧统计：固定宽度一列，图标与数字基线对齐 */
.bbs-topic-stats {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding-top: 2px;
  font-size: 12px;
  color: var(--bbs-text-3);
  font-variant-numeric: tabular-nums;
}
.bbs-topic-stats > span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 30px;
  justify-content: flex-end;
}
.bbs-topic-stats svg { flex: 0 0 auto; opacity: .8; }

.bbs-topic-delete-btn {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--bbs-text-3);
  cursor: pointer;
  opacity: 0;
  transition: opacity .13s, color .13s, background .13s;
}
.bbs-topic-item:hover .bbs-topic-delete-btn { opacity: 1; }
.bbs-topic-delete-btn:hover { background: rgba(229, 72, 77, .1); color: #e5484d; }

.bbs-topic-pending { background: rgba(255, 149, 0, .045); }
.bbs-topic-rejected { opacity: .62; }

/* ── 空态 / 加载态 ──────────────────────────────────────────── */
.bbs-empty,
.bbs-loading {
  padding: 56px 20px;
  text-align: center;
  font-size: 13px;
  color: var(--bbs-text-3);
}
.bbs-empty svg { display: block; margin: 0 auto 10px; opacity: .5; }

/* ── 分页 ───────────────────────────────────────────────────── */
.bbs-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 16px;
  border-top: 1px solid var(--bbs-line);
  flex-wrap: wrap;
}
.bbs-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: var(--bbs-r-sm);
  background: transparent;
  color: var(--bbs-text-2);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background .13s, color .13s;
}
.bbs-page-btn:hover:not(:disabled):not(.current) { background: var(--bbs-surface-2); color: var(--bbs-text); }
.bbs-page-btn.current {
  background: var(--bbs-accent);
  border-color: var(--bbs-accent);
  color: #fff;
  font-weight: 600;
}
.bbs-page-btn:disabled { opacity: .35; cursor: default; }
.bbs-page-dots { padding: 0 2px; color: var(--bbs-text-3); font-size: 12px; }
.bbs-page-info { margin-left: 6px; font-size: 12px; color: var(--bbs-text-3); }

/* ── 发布按钮（FAB）───────────────────────────────────────── */
.bbs-fab {
  right: calc(28px + env(safe-area-inset-right));
  bottom: calc(32px + env(safe-area-inset-bottom));
  width: 52px;
  height: 52px;
  border: none;
  border-radius: 50%;
  background: var(--bbs-accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--bbs-shadow-fab);
  transition: transform .16s, filter .16s;
}
.bbs-fab:hover { transform: translateY(-1px); filter: brightness(1.05); }
.bbs-fab:active { transform: scale(.96); }

/* ── 详情页 ─────────────────────────────────────────────────── */
.bbs-detail { padding: 18px 20px 8px; }

.bbs-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 10px 0 8px;
  margin-bottom: 14px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-surface);
  color: var(--bbs-text-2);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: background .13s, color .13s;
}
.bbs-detail-back:hover { background: var(--bbs-surface-2); color: var(--bbs-text); }

.bbs-detail-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.2px;
  margin-bottom: 10px;
  color: var(--bbs-text);
}
.bbs-detail-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 14px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--bbs-line-2);
  font-size: 12.5px;
  color: var(--bbs-text-3);
}
.bbs-detail-content {
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--bbs-text);
  white-space: pre-wrap;
}

/* 互动条：窄屏吸底，长帖读到一半也能点赞/收藏 */
.bbs-interact-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 12px 0;
  margin-top: 18px;
  border-top: 1px solid var(--bbs-line-2);
}
.bbs-interact-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-pill);
  background: var(--bbs-surface);
  color: var(--bbs-text-2);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background .13s, color .13s, border-color .13s;
}
.bbs-interact-btn:hover { background: var(--bbs-surface-2); color: var(--bbs-text); }
.bbs-interact-btn.is-on { color: var(--bbs-accent); border-color: var(--bbs-accent-soft); background: var(--bbs-accent-soft); }
.bbs-interact-btn b { font-weight: 600; font-variant-numeric: tabular-nums; }
.bbs-interact-icon { display: inline-flex; align-items: center; }
.bbs-interact-icon svg { display: block; }

/* ── 个人主页 ───────────────────────────────────────────────── */
.bbs-profile { padding-bottom: 4px; }

.bbs-detail-header { padding: 0 0 4px; }

.bbs-profile-title {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  padding-bottom: 0;
  border-bottom: none;
  color: var(--bbs-text);
}
.bbs-profile-name {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
.bbs-profile-settings-btn {
  margin-left: auto;
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-surface);
  color: var(--bbs-text-2);
  font-size: 12.5px;
  cursor: pointer;
}
.bbs-profile-settings-btn:hover { background: var(--bbs-surface-2); color: var(--bbs-text); }

.bbs-profile-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 12.5px;
  color: var(--bbs-text-2);
}
.bbs-profile-id {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11.5px;
  color: var(--bbs-text-3);
}
.bbs-profile-follow {
  height: 28px;
  padding: 0 14px;
  border: 1px solid var(--bbs-accent);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-accent);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
}
/* 已关注 → 次级描边按钮，和「+ 关注」的实心态区分开 */
.bbs-profile-follow.is-on {
  background: transparent;
  border-color: var(--bbs-line);
  color: var(--bbs-text-2);
}
.bbs-profile-follow:hover { color: #fff; border-color: var(--bbs-accent); }
.bbs-profile-follow.is-on:hover {
  border-color: var(--bbs-line-2);
  background: var(--bbs-hover);
  color: var(--bbs-text-2);
}
.bbs-profile-stats {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 16px 0 4px;
  padding: 12px 0;
  border-top: 1px solid var(--bbs-line-2);
  border-bottom: 1px solid var(--bbs-line-2);
}
.bbs-profile-stat {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  border-right: 1px solid var(--bbs-line-2);
  font-size: 11.5px;
  color: var(--bbs-text-3);
  white-space: nowrap;
}
.bbs-profile-stat[onclick] { cursor: pointer; border-radius: var(--bbs-r-sm); }
.bbs-profile-stat[onclick]:hover { background: var(--bbs-surface-2); }
.bbs-profile-stat:last-child { border-right: none; }
.bbs-profile-stat b {
  font-size: 16px;
  font-weight: 700;
  color: var(--bbs-text);
  font-variant-numeric: tabular-nums;
}
.bbs-profile-last { margin-left: auto; font-size: 12px; color: var(--bbs-text-3); }

/* 主页分区标题 + 标签页 */
.bbs-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 18px 0 4px;
  border-bottom: 1px solid var(--bbs-line);
}
.bbs-tab {
  position: relative;
  height: 36px;
  padding: 0 12px;
  border: none;
  background: transparent;
  color: var(--bbs-text-2);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: color .13s;
}
.bbs-tab:hover { color: var(--bbs-text); }
.bbs-tab:first-child { padding-left: 0; }
.bbs-tab:first-child.is-active::after { left: 0; }
.bbs-tab.is-active { color: var(--bbs-text); font-weight: 600; }
.bbs-tab.is-active::after {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--bbs-accent);
}
.bbs-tab-count {
  margin-left: 4px;
  font-size: 11px;
  color: var(--bbs-text-3);
  font-variant-numeric: tabular-nums;
}

.bbs-tab-panel { padding: 2px 0 0; }
/* 面板里的行（帖子/评论/收藏）统一去掉左右内边距，与上方标签页左边缘对齐 */
#bbs-tab-panel .bbs-topic-item,
#bbs-tab-panel .bbs-fav-item { padding-left: 0; padding-right: 0; }
.bbs-tab-empty {
  padding: 40px 16px;
  text-align: center;
  font-size: 12.5px;
  color: var(--bbs-text-3);
}

/* 收藏条目复用列表行，右侧换成「取消收藏」 */
.bbs-fav-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--bbs-line-2);
  cursor: pointer;
}
.bbs-fav-item:last-child { border-bottom: none; }
/* 悬停只给底色反馈，标题不变色（避免「悬停标题变蓝」那种廉价高亮） */
.bbs-fav-item:hover { background: var(--bbs-hover); }
.bbs-fav-main { flex: 1 1 auto; min-width: 0; }
.bbs-fav-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--bbs-text);
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .13s;
}
.bbs-fav-meta { margin-top: 4px; font-size: 11.5px; color: var(--bbs-text-3); }
.bbs-fav-preview {
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--bbs-text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bbs-fav-remove {
  flex: 0 0 auto;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-sm);
  background: transparent;
  color: var(--bbs-text-2);
  font-size: 11.5px;
  cursor: pointer;
}
.bbs-fav-remove:hover { border-color: rgba(229, 72, 77, .35); color: #e5484d; background: rgba(229, 72, 77, .06); }
.bbs-fav-remove:disabled { opacity: .6; cursor: default; }

/* ── 移动端 ─────────────────────────────────────────────────── */
/* ── 默认头像首字母：字体度量让字形看起来偏下偏右，拉回视觉中心 ── */
.bbs-avatar-fb {
  line-height: 1;
  /* 兜底：JS 量不出墨迹框时才用这个经验值（正常情况会写成内联 transform） */
  transform: translateY(-0.05em);
}
/* forum.css 里给「详情页头像」写过 .bbs-detail-avatar .bbs-avatar-fb{width:48px;height:48px}，
   头像本体却是 44px，兜底层比外框大 4px，字形中心就整体右下偏 2px。
   这里统一让兜底层跟着外框走（inset:0 + auto 尺寸 = 铺满父盒）。 */
.bbs-avatar > .bbs-avatar-fb {
  inset: 0;
  width: auto;
  height: auto;
}
/* ── 详情页头部 / 互动条细节 ─────────────────────────────────── */
.bbs-detail-header { padding: 0 0 2px; }
.bbs-detail-meta { align-items: flex-start; gap: 10px; }
.bbs-detail-avatar { flex: 0 0 auto; line-height: 0; }
.bbs-detail-byline { flex: 1 1 auto; min-width: 0; }
.bbs-detail-author-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--bbs-text);
}
.bbs-detail-info-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 3px;
  font-size: 11.5px;
  color: var(--bbs-text-3);
}
.bbs-detail-info-line span { display: inline-flex; align-items: center; gap: 3px; }
/* forum.css 的老规则会给相邻 span 插一个「·」，换行后会变成行首孤儿点：改用 gap 分隔 */
.bbs-detail-info-line span + span::before { content: none; margin: 0; display: none; }
.bbs-interact-hint { font-size: 11.5px; color: var(--bbs-text-3); }
/* 已点赞/已收藏：图标填实 + 主题色，状态一眼能看出 */
.bbs-interact-btn.is-on .bbs-interact-icon svg { fill: currentColor; }
.bbs-interact-btn.is-on#bbs-fav-btn {
  color: #c98a00;
  border-color: rgba(201, 138, 0, .26);
  background: rgba(245, 166, 35, .12);
}
/* 标签页空态 */
.bbs-tab-empty svg { display: block; margin: 0 auto 8px; opacity: .45; }
.bbs-tab-empty-hint { margin-top: 6px; font-size: 11.5px; color: var(--bbs-text-3); }
/* 列表里的小时间：图标与文字基线对齐 */
.bbs-topic-time { display: inline-flex; align-items: center; gap: 3px; }
.bbs-topic-meta svg { display: block; }
/* 主页行上的「来源论坛」小标签 */.bbs-forum-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 18px;
  padding: 0 7px;
  border-radius: var(--bbs-r-pill);
  background: var(--bbs-surface-2);
  color: var(--bbs-text-2);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.bbs-forum-chip-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--bbs-accent);
  flex: 0 0 auto;
}
/* 线稿图标替换 emoji 之后的通用对齐兜底 */
.bbs-chevron { display: inline-flex; align-items: center; transition: transform .15s ease; }
.bbs-chevron svg { display: block; }
.bbs-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--bbs-text-3);
  background: transparent;
  transition: background .15s ease, border-color .15s ease;
}
.bbs-dot.is-on { border-color: #34c759; background: #34c759; }

/* ── 全屏独立页（设置 / 通知 / 控制中心 / 选择论坛）──
   这些页的标题栏是通栏、正文却各自居中在 560~820px，看起来就是「标题贴左边、内容飘在
   右边」。统一成同一条居中列：每个 overlay 给一个 --bbs-sheet-w，标题栏和正文共用它。 */
.bbs-post-header,
.bbs-post-body {
  padding-left: max(20px, calc((100% - var(--bbs-sheet-w, 660px)) / 2));
  padding-right: max(20px, calc((100% - var(--bbs-sheet-w, 660px)) / 2));
}
#bbs-settings-overlay { --bbs-sheet-w: 780px; }
#bbs-forums-overlay { --bbs-sheet-w: 640px; }
#bbs-notif-overlay { --bbs-sheet-w: 600px; }
#bbs-cc-overlay { --bbs-sheet-w: 880px; }
#bbs-post-modal { --bbs-sheet-w: 860px; }

/* 这些页原来的毛病：① 标题栏通栏、正文各自居中在 560~820px，「标题贴左、内容飘右」；
   ② 底色纯白，和正文的白卡片糊成一片，没有层次；③ 内容全靠分隔线分组，行距大又散。
   统一成：灰底 → 一条居中列 → 白卡片。 */
.bbs-post-overlay { background: var(--bbs-page); }
.bbs-post-header {
  height: 56px;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: 1px solid var(--bbs-line);
  background: var(--bbs-page);
}
.bbs-post-header-title {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: var(--bbs-text);
}
.bbs-post-header-actions { align-items: center; }
.bbs-post-header-btn {
  height: 30px;
  padding: 0 13px;
  border-radius: var(--bbs-r-sm);
  font-size: 12.5px;
  line-height: 1;
}
.bbs-post-body { padding-top: 16px; padding-bottom: 20px; }

/* 控制中心：原来是「一条条分隔线 + 大留白」，改成纵向卡片流（单列，避免按钮组在窄卡里溢出） */
.bbs-cc-sections {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: none;
  margin: 0;
  padding: 0;
}
.bbs-cc-section {
  margin: 0;
  padding: 13px 16px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-surface);
  box-shadow: var(--bbs-shadow-sm);
}
.bbs-cc-section:last-child { margin-bottom: 0; }
.bbs-cc-section-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--bbs-text);
}
.bbs-cc-row { gap: 10px; justify-content: flex-start; }
.bbs-cc-btns { gap: 6px; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.bbs-cc-btn {
  height: 28px;
  padding: 0 12px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-surface);
  font-size: 12.5px;
  color: var(--bbs-text-2);
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.bbs-cc-btn:hover {
  border-color: var(--bbs-accent);
  color: var(--bbs-accent);
  background: var(--bbs-accent-soft);
}
.bbs-cc-forum-switch {
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-accent-soft);
}
.bbs-settings-card {
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-surface);
  box-shadow: var(--bbs-shadow-sm);
}

/* 子论坛用户列表里的用户名：可点进主页 */
.bbs-user-link { cursor: pointer; text-decoration: none; }
.bbs-user-link:hover { text-decoration: underline; text-underline-offset: 2px; }

/* 设置页「浏览的论坛」行 */
/* 设置页：左侧分区导航 + 右侧卡片 */
.bbs-set-wrap {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  align-items: start;
}
.bbs-set-nav {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 2px;
}
.bbs-set-nav-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  font-family: inherit;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--bbs-text-2);
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
}
.bbs-set-nav-item:hover { background: var(--bbs-surface-2); color: var(--bbs-text); }
.bbs-set-nav-item.is-active { background: var(--bbs-accent-soft); color: var(--bbs-accent); font-weight: 600; }
.bbs-set-main { min-width: 0; }

/* 额度说明气泡：原来的 left:0 会让它向右溢出卡片并被裁切，改成右对齐向左长 */
.bbs-agent-quota-wrap:hover::after {
  left: auto;
  right: 0;
  top: 100%;
  margin-top: 7px;
  max-width: min(300px, 76vw);
  z-index: 90;
}

.bbs-set-forum {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-surface-2);
}
.bbs-set-forum-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bbs-ok, #2f9e63);
}
.bbs-set-forum-main { flex: 1 1 auto; min-width: 0; }
.bbs-set-forum-name { font-size: 13px; font-weight: 600; color: var(--bbs-text); }
.bbs-set-forum-desc {
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--bbs-text-3);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* ── 子论坛管理页：与控制中心同一套界面（页面外壳 + 卡片分区） ───── */
#bbs-forum-manage-modal { --bbs-sheet-w: 880px; }
.bbs-fm-wrap { width: 100%; max-width: 880px; margin: 0 auto; }
.bbs-fm-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
#bbs-settings-forum .bbs-fm-switch { margin: 10px 0 0; }
.bbs-cc-hint {
  font-size: 12px;
  color: var(--bbs-text-3);
  line-height: 1.6;
  margin-top: 6px;
}
.bbs-fm-base {
  padding: 14px 16px;
  border: 1px solid var(--bbs-line);
  border-left: 3px solid var(--bbs-accent);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-surface);
  box-shadow: var(--bbs-shadow-sm);
}
.bbs-fm-base-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--bbs-text);
  margin-bottom: 12px;
}
.bbs-fm-base-id { font-size: 12px; font-weight: 400; color: var(--bbs-text-3); }
.bbs-fm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
#bbs-forum-manage-modal .bbs-fm-sec {
  margin-top: 12px;
  padding: 14px 16px;
  border: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-md);
  background: var(--bbs-surface);
  box-shadow: var(--bbs-shadow-sm);
}
#bbs-forum-manage-modal .bbs-fm-sec-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--bbs-text);
  margin-bottom: 10px;
}
#bbs-forum-manage-modal .bbs-fm-field { font-size: 11.5px; color: var(--bbs-text-3); margin-bottom: 4px; }
#bbs-forum-manage-modal .bbs-fm-input {
  width: 100%;
  padding: 7px 9px;
  border: 1px solid var(--bbs-line-2);
  border-radius: var(--bbs-r-sm);
  background: var(--bbs-surface-2);
  color: var(--bbs-text);
  font-size: 13px;
  box-sizing: border-box;
  outline: none;
}
#bbs-forum-manage-modal .bbs-fm-input:focus { border-color: var(--bbs-accent); }
@media (max-width: 768px) {
  .bbs-fm-grid { grid-template-columns: 1fr; }
}

/* ── 切换论坛：不再整页接管，改成顶栏下方浮起的一张卡片 ───────── */
#bbs-forums-overlay {
  background: rgba(15, 23, 42, .3);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  padding: 64px 16px 24px;
  align-items: center;
  overflow-y: auto;
  /* 可能从控制中心里的「切换论坛」打开，要压在控制中心之上 */
  z-index: 10020;
}
#bbs-forums-overlay > .bbs-post-header,
#bbs-forums-overlay > .bbs-post-body {
  width: 420px;
  max-width: 100%;
  flex: 0 0 auto;
  box-sizing: border-box;
  /* 这两页不用「居中列」那套百分比 padding，否则会和 width 互相打架把内容挤成一条 */
  padding-left: 14px;
  padding-right: 14px;
  background: var(--bbs-surface);
  border-left: 1px solid var(--bbs-line);
  border-right: 1px solid var(--bbs-line);
  box-shadow: 0 30px 70px -32px rgba(16, 24, 40, .55);
}
#bbs-forums-overlay > .bbs-post-header {
  height: 50px;
  padding-top: 0;
  padding-bottom: 0;
  border-top: 1px solid var(--bbs-line);
  border-bottom: 1px solid var(--bbs-line);
  border-radius: var(--bbs-r-lg) var(--bbs-r-lg) 0 0;
}
#bbs-forums-overlay .bbs-post-header-btn {
  height: 26px;
  padding: 0 10px;
  font-size: 12px;
}
#bbs-forums-overlay > .bbs-post-body {
  border-bottom: 1px solid var(--bbs-line);
  border-radius: 0 0 var(--bbs-r-lg) var(--bbs-r-lg);
  padding-top: 10px;
  padding-bottom: 12px;
  max-height: min(62vh, 540px);
  overflow-y: auto;
}
#bbs-forums-overlay .bbs-post-body > div { max-width: none !important; }
.bbs-fsw-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 2px 8px 10px;
  font-size: 12px;
  color: var(--bbs-text-2);
  cursor: pointer;
  user-select: none;
}
.bbs-fsw-toggle input {
  accent-color: var(--bbs-accent);
  width: 14px;
  height: 14px;
  margin: 0;
}
.bbs-fsw-list { display: flex; flex-direction: column; gap: 2px; }
.bbs-fsw-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: none;
  border-radius: var(--bbs-r-sm);
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  color: var(--bbs-text);
  transition: background .12s ease;
}
.bbs-fsw-item:hover { background: var(--bbs-hover); }
.bbs-fsw-item.is-current { background: var(--bbs-accent-soft); }
.bbs-fsw-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.bbs-fsw-head {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.bbs-fsw-name {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bbs-fsw-tag {
  flex: 0 0 auto;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.7;
  padding: 0 6px;
  border-radius: var(--bbs-r-pill);
}
.bbs-fsw-desc {
  font-size: 11.5px;
  color: var(--bbs-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bbs-fsw-act {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: var(--bbs-accent);
}
.bbs-fsw-empty {
  padding: 20px 8px;
  text-align: center;
  font-size: 12.5px;
  color: var(--bbs-text-3);
}

@media (max-width: 768px) {
  /* 设置页：窄屏把左侧导航变成可横向滚动的胶囊条 */
  .bbs-set-wrap { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bbs-set-nav {
    position: static;
    flex-direction: row;
    gap: 6px;
    overflow-x: auto;
    padding: 0 0 2px;
    -webkit-overflow-scrolling: touch;
  }
  .bbs-set-nav::-webkit-scrollbar { display: none; }
  .bbs-set-nav-item {
    width: auto;
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--bbs-surface-2);
    white-space: nowrap;
  }
  /* 控制中心：窄屏把按钮组换到下一行并占满整行，避免第 4 个按钮被裁掉 */
  .bbs-cc-row { flex-wrap: wrap; }
  .bbs-cc-btns { flex: 1 1 100%; width: 100%; margin-left: 0; justify-content: flex-start; }
  /* 「论坛设置」只有一颗按钮，留在标题行右侧更顺眼 */
  #bbs-settings-forum .bbs-cc-btns { flex: 0 0 auto; width: auto; margin-left: auto; justify-content: flex-end; }
  .bbs-cc-section { padding: 12px 14px; }
  .bbs-layout { padding: 0 10px 88px; max-width: 100%; }
  .bbs-header {
    gap: 8px;
    padding: 8px 10px;
    margin: 6px 0 10px;
    border-radius: var(--bbs-r-md);
  }
  .bbs-brand { gap: 8px; }
  .bbs-brand-mark { width: 28px; height: 28px; border-radius: 8px; }
  .bbs-brand-text { font-size: 14px; }
  #bbs-forum-switch {
    max-width: 92px;
    height: 24px;
    padding: 0 6px 0 8px;
    font-size: 11.5px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bbs-tool-label { display: none; }
  .bbs-tool-btn { min-width: 30px; width: 30px; padding: 0; }
  .bbs-icon-btn { min-width: 30px; width: 30px; height: 30px; padding: 0; }
  .bbs-user-badge { height: 30px; margin-left: 2px; }
  #bbs-username { display: none; }
  .bbs-user-badge .bbs-logout-btn { width: 24px; height: 24px; }
  .bbs-login-btn { height: 30px; padding: 0 12px; font-size: 12.5px; }

  #bbs-topic-list, #bbs-detail { border-radius: var(--bbs-r-md); }

  /* 详情页作者行：头像 + 两行文字挤在一行，别让头像单独占一行 */
  .bbs-detail-meta { flex-wrap: nowrap; gap: 8px; }
  .bbs-detail-avatar .bbs-avatar,
  .bbs-detail-avatar img { width: 38px !important; height: 38px !important; }
  .bbs-detail-title { font-size: 18px; }

  .bbs-list-head { padding: 12px; gap: 8px; }
  .bbs-list-title { font-size: 14px; }
  .bbs-search { width: 100%; margin-left: 0; }
  .bbs-search input { width: auto; flex: 1 1 auto; }

  .bbs-topic-item { padding: 12px; gap: 8px; }
  .bbs-topic-title { font-size: 14px; }
  .bbs-topic-preview { -webkit-line-clamp: 2; }
  .bbs-topic-stats { padding-top: 1px; }
  .bbs-topic-stats > span { min-width: 24px; }
  .bbs-topic-delete-btn { opacity: 1; }

  .bbs-pagination { padding: 10px 12px; gap: 2px; }
  .bbs-page-info { width: 100%; margin: 6px 0 0; text-align: center; }

  .bbs-fab { width: 48px; height: 48px; right: 16px; bottom: calc(20px + env(safe-area-inset-bottom)); }

  .bbs-detail { padding: 14px 14px 6px; }
  .bbs-detail-title { font-size: 18px; }
  .bbs-detail-content { font-size: 14px; }

  /* 互动条吸底：滚动到正文中段时仍可点赞/收藏 */
  .bbs-interact-bar {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 14px -14px 0;
    padding: 8px 14px calc(8px + env(safe-area-inset-bottom));
    background: var(--bbs-surface);
    border-top: 1px solid var(--bbs-line);
    backdrop-filter: blur(8px);
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .bbs-interact-bar::-webkit-scrollbar { display: none; }
  .bbs-interact-btn { flex: 0 0 auto; height: 30px; padding: 0 10px; font-size: 12px; }

  .bbs-profile-title { gap: 10px; margin-bottom: 10px; }
  .bbs-profile-name { font-size: 16px; }
  /* 统计条在窄屏保持一行 7 列（换行会把「被收藏」挤成第二行，反而更乱） */
  .bbs-profile-stats { flex-wrap: nowrap; margin: 12px 0 2px; padding: 10px 0; }
  .bbs-profile-stat { flex: 1 1 0; padding: 0 1px; font-size: 10px; gap: 2px; }
  .bbs-profile-stat b { font-size: 14px; }
  .bbs-profile-last { margin-left: 0; width: 100%; }
  .bbs-tabs { margin-top: 14px; overflow-x: auto; scrollbar-width: none; }
  .bbs-tabs::-webkit-scrollbar { display: none; }
  .bbs-tab { padding: 0 10px; white-space: nowrap; }

  /* 控制中心在窄屏回到单列 */
  .bbs-cc-sections { gap: 8px; }
  .bbs-cc-section { padding: 12px 13px; }
  .bbs-post-header { height: 50px; }
  .bbs-post-header-btn { height: 28px; padding: 0 10px; font-size: 12px; }
  .bbs-post-body { padding-top: 12px; }
}

@media (max-width: 420px) {
  .bbs-brand-mark { width: 26px; height: 26px; }
  #bbs-forum-switch { max-width: 84px; }
  .bbs-topic-stats { font-size: 11px; }
  .bbs-topic-stats > span { min-width: 0; }
  /* 7 项统计在 390px 下每列只剩 ~46px，「被收藏」会被挤变形 —— 改成 4 列换行 */
  .bbs-profile-stats { flex-wrap: wrap; row-gap: 12px; }
  .bbs-profile-stat { flex: 0 0 25%; border-right: none; font-size: 10.5px; }
}

@media (max-width: 360px) {
  .bbs-brand-text { display: none; }
  .bbs-topic-stats { display: none; }   /* 极窄屏：只保留标题/摘要/作者 */
}
