/* ============================================================
   融业云 社区(BBS) 样式  /static/css/forum.css
   ============================================================ */
.fb-wrap { max-width: 1200px; margin: 24px auto; padding: 0 16px; display: flex; gap: 20px; align-items: flex-start; }
.fb-main { flex: 1; min-width: 0; }
.fb-side { width: 260px; flex-shrink: 0; position: sticky; top: 20px; }

/* 面包屑 */
.fb-crumb { font-size: 13px; color: #999; margin-bottom: 14px; }
.fb-crumb a { color: #667eea; text-decoration: none; }
.fb-crumb a:hover { text-decoration: underline; }

/* 卡片通用 */
.fb-card { background: #fff; border: 1px solid #eef0f4; border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.fb-card h2.fb-h { font-size: 17px; margin: 0 0 14px; display: flex; align-items: center; gap: 8px; }

/* 社区首页：频道块 */
.fb-channel { margin-bottom: 22px; }
.fb-channel-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.fb-channel-head h2 { font-size: 18px; margin: 0; }
.fb-channel-head a { font-size: 13px; color: #667eea; text-decoration: none; }
.fb-boards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.fb-board { display: block; background: #fff; border: 1px solid #eef0f4; border-radius: 10px; padding: 14px; text-decoration: none; color: #333; transition: .15s; }
.fb-board:hover { border-color: #667eea; box-shadow: 0 6px 18px rgba(102,126,234,.12); transform: translateY(-2px); }
.fb-board .fb-board-name { font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.fb-board .fb-board-meta { font-size: 12px; color: #999; }

/* 父栏目页：子栏目网格 */
.fb-parent-hero { background: linear-gradient(135deg,#667eea,#764ba2); color:#fff; border-radius:14px; padding:28px; margin-bottom:18px; }
.fb-parent-hero h1 { margin:0 0 8px; font-size:24px; }
.fb-parent-hero p { margin:0; opacity:.9; font-size:14px; line-height:1.7; }

/* 子栏目列表：帖子卡片（图文） */
.fb-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px,1fr)); gap: 14px; }
.fb-post { background:#fff; border:1px solid #eef0f4; border-radius:10px; overflow:hidden; text-decoration:none; color:#333; transition:.15s; display:block; }
.fb-post:hover { box-shadow:0 8px 22px rgba(0,0,0,.08); transform:translateY(-2px); }
.fb-post .fb-post-cover { width:100%; height:140px; object-fit:cover; display:block; background:#f2f3f7; }
.fb-post .fb-post-cover-empty { width:100%; height:140px; display:flex; align-items:center; justify-content:center; font-size:32px; background:#f2f3f7; }
.fb-post .fb-post-body { padding:12px; }
.fb-post .fb-post-title { font-size:14px; line-height:1.5; height:42px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin-bottom:8px; }
.fb-post .fb-post-meta { font-size:12px; color:#aaa; display:flex; justify-content:space-between; }
.fb-badge-top { background:#ff4d4f; color:#fff; font-size:11px; padding:1px 6px; border-radius:4px; margin-right:6px; }
.fb-badge-global { background:#722ed1; color:#fff; font-size:11px; padding:1px 6px; border-radius:4px; margin-right:6px; }
.fb-tops { border:1px solid #efe6ff; background:#faf7ff; border-radius:10px; padding:8px 14px; margin-bottom:16px; }
.fb-topline { display:flex; align-items:center; padding:7px 0; border-bottom:1px dashed #ececec; font-size:14px; }
.fb-topline:last-child { border-bottom:none; }
.fb-toplink { color:#333; text-decoration:none; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fb-toplink:hover { color:#667eea; }
.fb-post { position:relative; }
.fm-mod-btn { background:#fff; border:1px solid #e3e6ee; border-radius:6px; cursor:pointer; font-size:12px; color:#666; padding:2px 7px; }
.fb-post .fm-mod-btn { position:absolute; top:8px; right:8px; z-index:3; opacity:0; transition:.15s; }
.fb-post:hover .fm-mod-btn { opacity:.95; }
.fm-mod-mini { margin-left:8px; flex:none; opacity:.9; }
.fm-del-btn { margin-left:8px; flex:none; background:#fff; border:1px solid #f56c6c; border-radius:6px; cursor:pointer; font-size:12px; color:#f56c6c; padding:2px 9px; }
.fm-del-btn:hover { background:#fef0f0; }
.fb-mod-audit { margin-top:12px; display:flex; gap:10px; }

/* ===== 社区首页 PC（仿大疆社区 / Discuz）===== */
.sc-page { max-width:1240px; margin:22px auto 50px; padding:0 20px; box-sizing:border-box;
           display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.sc-main { min-width:0; }
.sc-side { min-width:0; }

/* 头条卡片：左大图 + 右侧两列文章 */
.sc-hero-card { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:18px;
                display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:18px; margin-bottom:20px; }
.sc-hero-left { position:relative; min-width:0; }
.sc-hero-left a { text-decoration:none; color:#222; display:block; }
.sc-hero-img { width:100%; height:212px; object-fit:cover; border-radius:10px; display:block; background:#f2f3f7; }
.sc-hero-empty { height:212px; display:flex; align-items:center; justify-content:center; font-size:44px; }
.sc-hero-caption { font-size:16px; font-weight:700; line-height:1.5; margin-top:10px; overflow:hidden;
                   display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sc-mod { position:absolute; top:8px; right:8px; z-index:3; opacity:0; transition:.15s; }
.sc-hero-left:hover .sc-mod { opacity:.95; }

.sc-hero-col { min-width:0; display:flex; flex-direction:column; }
.sc-mini { text-decoration:none; color:#333; display:block; padding:8px 0; border-bottom:1px dashed #eee; }
.sc-mini:last-child { border-bottom:none; }
.sc-mini-title { font-size:13.5px; font-weight:600; line-height:1.45; margin-bottom:4px;
                 overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-mini-summary { font-size:12px; color:#aaa; line-height:1.5; overflow:hidden; display:-webkit-box;
                   -webkit-line-clamp:2; -webkit-box-orient:vertical; }

/* 版块分组：3列版块卡片 */
.sc-block { margin-bottom:26px; }
.sc-block-title { font-size:17px; font-weight:700; color:#222; margin:0 0 12px; }
.sc-board-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.sc-board-card { display:flex; gap:12px; align-items:center; background:#fff; border:1px solid #eef0f4;
                 border-radius:10px; padding:12px; text-decoration:none; color:#333; min-width:0; }
.sc-board-card:hover { border-color:#c3cdf5; box-shadow:0 4px 12px rgba(0,0,0,.05); }
.sc-board-card-icon { width:48px; height:48px; border-radius:10px; overflow:hidden; background:#f2f3f7;
                      display:flex; align-items:center; justify-content:center; font-size:22px; flex:none; }
.sc-board-card-icon img { width:100%; height:100%; object-fit:cover; }
.sc-board-card-body { min-width:0; flex:1; }
.sc-board-card-name { font-size:14px; font-weight:600; margin-bottom:3px;
                      overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-board-card-time { font-size:11px; color:#aaa; margin-bottom:2px;
                      overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-board-card-stats { font-size:11px; color:#999; }

/* 右侧栏 */
.sc-side-box { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:16px; margin-bottom:16px; }
.sc-side-title { font-size:15px; font-weight:700; margin:0 0 12px; color:#222; }
.sc-btn-primary { background:#3b5bdb; color:#fff; padding:9px 16px; border-radius:8px; font-size:14px; text-decoration:none; }
.sc-btn-primary:hover { background:#3651c5; }
.sc-block-btn { display:block; text-align:center; margin-bottom:10px; }
.sc-side-links { display:flex; justify-content:space-between; gap:8px; font-size:13px; }
.sc-side-links a { color:#555; text-decoration:none; }
.sc-side-links a:hover { color:#3b5bdb; }
.sc-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; text-align:center; }
.sc-stat { background:#f7f8fb; border-radius:8px; padding:10px 4px; }
.sc-stat b { display:block; font-size:18px; color:#222; }
.sc-stat span { font-size:12px; color:#999; }
.sc-rank { display:flex; align-items:flex-start; gap:8px; padding:7px 0; text-decoration:none; border-bottom:1px dashed #f0f0f0; }
.sc-rank:last-child { border-bottom:none; }
.sc-rank-no { width:20px; height:20px; line-height:20px; text-align:center; font-size:12px; color:#bbb; flex:none; }
.sc-rank-no.hot { background:#ff4d4f; color:#fff; border-radius:5px; }
.sc-rank-text { font-size:13px; color:#444; line-height:1.5; flex:1; min-width:0; overflow:hidden;
                text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sc-user-rank { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px dashed #f0f0f0; font-size:13px; }
.sc-user-rank:last-child { border-bottom:none; }
.sc-user-name { flex:1; min-width:0; color:#444; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-user-pts { color:#3b5bdb; font-weight:600; flex:none; }

/* 响应式：窄屏退化（≥1100 两栏，以下堆叠）*/
@media (max-width:1100px) { .sc-page { grid-template-columns:1fr; } }
@media (max-width:900px) { .sc-hero-card { grid-template-columns:1fr; } .sc-board-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .sc-board-grid { grid-template-columns:1fr; } }

/* 详情页 */
.fb-detail-head { margin-bottom: 14px; }
.fb-detail-head h1 { font-size: 24px; line-height:1.4; margin:0 0 12px; }
.fb-detail-meta { font-size:13px; color:#999; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.fb-detail-meta img { width:28px;height:28px;border-radius:50%; }
.fb-detail-content { line-height:1.85; font-size:15px; color:#2b2f38; word-break:break-word; }
.fb-detail-content img { max-width:100%; border-radius:8px; margin:10px 0; }
.fb-detail-content video { max-width:100%; border-radius:8px; }
.fb-detail-gallery { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.fb-detail-gallery img { width:200px; border-radius:8px; cursor:zoom-in; }
.fb-detail-video { width:100%; border-radius:10px; margin:14px 0; background:#000; }

/* 互动条 */
.fb-action-bar { display:flex; gap:10px; align-items:center; padding:14px 0; border-top:1px solid #f0f1f5; border-bottom:1px solid #f0f1f5; margin:18px 0; }
.fb-btn { display:inline-flex; align-items:center; gap:6px; border:1px solid #e3e6ee; background:#fff; border-radius:20px; padding:7px 16px; font-size:14px; cursor:pointer; color:#555; transition:.15s; }
.fb-btn:hover { border-color:#667eea; color:#667eea; }
.fb-btn.active { background:#667eea; border-color:#667eea; color:#fff; }
.fb-btn svg { width:16px;height:16px; }

/* 回帖 */
.fb-reply { display:flex; gap:12px; padding:16px 0; border-bottom:1px solid #f3f4f8; }
.fb-reply img.fb-reply-avatar { width:40px;height:40px;border-radius:50%;flex-shrink:0; }
.fb-reply .fb-reply-main { flex:1; min-width:0; }
.fb-reply .fb-reply-head { font-size:13px; margin-bottom:5px; }
.fb-reply .fb-reply-head .name { font-weight:600; color:#444; }
.fb-reply .fb-reply-head .time { color:#aaa; margin-left:8px; }
.fb-reply .fb-reply-content { font-size:14px; line-height:1.7; word-break:break-word; }
.fb-reply .fb-reply-content img { max-width:100%; border-radius:6px; margin:6px 0; }
.fb-reply .fb-reply-foot { margin-top:6px; }
.fb-audit-tag { font-size:12px; padding:1px 8px; border-radius:4px; margin-left:8px; }
.fb-audit-pending { background:#fff7e6; color:#fa8c16; }
.fb-audit-reject { background:#fff1f0; color:#f5222d; }

/* 回帖编辑器 */
.fb-reply-form { margin:18px 0; }
.fb-reply-form textarea { width:100%; border:1px solid #e3e6ee; border-radius:8px; padding:10px; font-size:14px; resize:vertical; min-height:90px; box-sizing:border-box; }
.fb-reply-tools { display:flex; gap:8px; margin:8px 0; }
.fb-reply-tools label { cursor:pointer; font-size:13px; color:#667eea; }
.fb-reply-tools input { display:none; }
.fb-reply-submit { text-align:right; }

/* 发帖页 */
.fb-post-form label.fb-label { display:block; font-size:14px; color:#555; margin:14px 0 6px; }
.fb-post-form input[type=text], .fb-post-form select { width:100%; padding:10px 12px; border:1px solid #e3e6ee; border-radius:8px; font-size:14px; box-sizing:border-box; }
.fb-editor { border:1px solid #e3e6ee; border-radius:8px; z-index:1; }
.fb-toolbar-row { display:flex; gap:8px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.fb-douyin-box { display:flex; gap:8px; }
.fb-douyin-box input { flex:1; padding:10px 12px; border:1px solid #e3e6ee; border-radius:8px; font-size:14px; }
.fb-douyin-btn { background:#161827; color:#fff; border:none; border-radius:8px; padding:0 18px; cursor:pointer; font-size:14px; white-space:nowrap; }
.fb-douyin-btn:disabled { opacity:.6; cursor:wait; }

/* 侧边栏 */
.fb-side-box { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:14px 16px; margin-bottom:14px; }
.fb-side-box h3 { font-size:14px; margin:0 0 10px; color:#333; }
.fb-side-nav { max-height: 340px; overflow-y:auto; }
.fb-side-nav a { display:block; padding:6px 8px; font-size:13px; color:#555; text-decoration:none; border-radius:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fb-side-nav a:hover { background:#f5f6fb; color:#667eea; }
.fb-side-nav a.lv2 { padding-left:22px; color:#888; font-size:12.5px; }
.fb-side-btn { display:block; text-align:center; padding:10px; border-radius:8px; text-decoration:none; font-size:14px; margin-bottom:8px; }
.fb-side-btn.primary { background:#667eea; color:#fff; }
.fb-side-btn.ghost { border:1px solid #e3e6ee; color:#555; }

/* 我的页面：Tab */
.fb-tabs { display:flex; gap:6px; border-bottom:1px solid #eee; margin-bottom:16px; flex-wrap:wrap; }
.fb-tabs button { border:none; background:none; padding:10px 16px; font-size:14px; cursor:pointer; color:#666; border-bottom:2px solid transparent; }
.fb-tabs button.active { color:#667eea; border-bottom-color:#667eea; font-weight:600; }
.fb-tab-pane { display:none; }
.fb-tab-pane.active { display:block; }
.fb-my-item { padding:12px 0; border-bottom:1px solid #f3f4f8; font-size:14px; }
.fb-my-item .t { display:flex; justify-content:space-between; gap:10px; }
.fb-my-item .t a { color:#333; text-decoration:none; font-weight:500; }
.fb-my-item .m { font-size:12px; color:#aaa; margin-top:5px; display:flex; gap:12px; flex-wrap:wrap; }
.fb-notice-item { padding:12px; border-radius:8px; margin-bottom:8px; background:#f8f9fc; font-size:14px; }
.fb-notice-item.unread { background:#eef1ff; }
.fb-notice-item .nt { font-weight:600; margin-bottom:4px; display:flex; justify-content:space-between; }
.fb-notice-item .nc { color:#666; font-size:13px; line-height:1.6; }

/* 分页 */
.fb-pager { display:flex; gap:6px; justify-content:center; margin-top:22px; }
.fb-pager a, .fb-pager span { padding:6px 12px; border:1px solid #e3e6ee; border-radius:6px; font-size:13px; text-decoration:none; color:#555; }
.fb-pager .cur { background:#667eea; color:#fff; border-color:#667eea; }

/* 遮罩弹窗（游客限制 / 需登录） */
.fb-mask { position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; z-index:9999; padding:20px; }
.fb-mask.show { display:flex; }
.fb-mask-box { background:#fff; border-radius:14px; padding:30px; max-width:420px; text-align:center; }
.fb-mask-box .ic { font-size:46px; margin-bottom:10px; }
.fb-mask-box h3 { margin:0 0 10px; font-size:19px; }
.fb-mask-box p { color:#777; font-size:14px; line-height:1.7; margin:0 0 20px; }
.fb-mask-box .btns { display:flex; gap:10px; justify-content:center; }
.fb-mask-box .btns a { flex:1; padding:10px; border-radius:8px; text-decoration:none; font-size:14px; }
.fb-mask-box .btns .p { background:#667eea; color:#fff; }
.fb-mask-box .btns .g { border:1px solid #e3e6ee; color:#555; }

/* 空状态 */
.fb-empty { text-align:center; color:#aaa; padding:50px 20px; font-size:14px; }

@media (max-width: 900px) {
  .fb-wrap { flex-direction:column; }
  .fb-side { width:100%; position:static; order:2; }
}

/* ===== 社区列表页 PC（参考 Comiis）===== */
.lc-wrap { max-width:1240px; margin:18px auto 50px; padding:0 20px; box-sizing:border-box; }
.lc-crumb { margin-bottom:14px; }
.lc-banner { position:relative; border-radius:14px; overflow:hidden; height:240px; margin-bottom:20px; }
.lc-banner-img { width:100%; height:100%; object-fit:cover; display:block; }
.lc-banner-card { position:absolute; left:24px; right:24px; bottom:18px; background:rgba(255,255,255,.96);
  border-radius:12px; padding:14px 20px; display:flex; align-items:center; gap:16px; box-shadow:0 8px 24px rgba(15,40,90,.12); }
.lc-banner-icon { width:56px; height:56px; border-radius:12px; overflow:hidden; background:#eef3ff;
  display:flex; align-items:center; justify-content:center; font-size:26px; flex:none; }
.lc-banner-icon img { width:100%; height:100%; object-fit:cover; }
.lc-banner-info { flex:1; min-width:0; }
.lc-banner-info h1 { font-size:21px; font-weight:700; color:#1c2b45; margin:0 0 4px; }
.lc-banner-meta { font-size:13px; color:#8a94a8; }
.lc-banner-actions { flex:none; }
.lc-btn-primary { background:#2f6fe0; color:#fff; padding:10px 24px; border-radius:9px; font-size:14px;
  text-decoration:none; display:inline-block; }
.lc-btn-primary:hover { background:#2860c4; }

.lc-body { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.lc-main { min-width:0; }
.lc-side { min-width:0; }

.lc-tops { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:6px 16px; margin-bottom:16px; }
.lc-topline { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px dashed #eef0f4; }
.lc-topline:last-child { border-bottom:none; }
.lc-toplink { flex:1; min-width:0; font-size:14px; color:#2f6fe0; text-decoration:none;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fm-mod-mini { opacity:.4; font-size:12px; }
.lc-topline:hover .fm-mod-mini { opacity:.9; }

.lc-list { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:4px 18px; }
.lc-item { position:relative; display:flex; gap:16px; padding:18px 0; border-bottom:1px solid #f1f3f7; }
.lc-item:last-child { border-bottom:none; }
.lc-mod { position:absolute; top:14px; right:4px; opacity:0; transition:.15s; z-index:3; }
.lc-item:hover .lc-mod { opacity:.9; }
.lc-item-cover { position:relative; width:200px; height:132px; flex:none; border-radius:10px; overflow:hidden;
  background:#f2f4f8; display:block; }
.lc-item-cover img { width:100%; height:100%; object-fit:cover; }
.lc-cover-empty { height:100%; display:flex; align-items:center; justify-content:center; font-size:34px; color:#c2cad6; }
.lc-img-num { position:absolute; right:6px; bottom:6px; background:rgba(0,0,0,.62); color:#fff; font-size:12px;
  padding:1px 7px; border-radius:6px; }
.lc-item-body { flex:1; min-width:0; display:flex; flex-direction:column; }
.lc-item-title { font-size:17px; font-weight:700; color:#1c2b45; text-decoration:none; line-height:1.4; margin-bottom:7px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lc-item-summary { font-size:13px; color:#98a0ae; line-height:1.65; margin-bottom:10px;
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lc-item-foot { margin-top:auto; display:flex; align-items:center; gap:16px; font-size:12.5px; color:#98a0ae; flex-wrap:wrap; }
.lc-author { display:flex; align-items:center; gap:6px; color:#5b6675; }
.lc-author img { width:22px; height:22px; border-radius:50%; object-fit:cover; }
.lc-author-dot { font-size:15px; }
.lc-date { color:#aab2bf; }
.lc-stats { display:flex; gap:14px; margin-left:auto; }
.lc-stats span { color:#8a94a8; }

.lc-pager { margin-top:18px; display:flex; justify-content:center; gap:6px; }
.lc-pager a,.lc-pager .cur { padding:6px 12px; border:1px solid #e3e7ef; border-radius:7px; font-size:13px;
  color:#5b6675; text-decoration:none; background:#fff; }
.lc-pager .cur { background:#2f6fe0; color:#fff; border-color:#2f6fe0; }

.lc-side-box { background:#fff; border:1px solid #eef0f4; border-radius:12px; padding:16px; margin-bottom:16px; }
.lc-side-box h3 { font-size:15px; font-weight:700; color:#1c2b45; margin:0 0 12px; }
.lc-about { font-size:13px; color:#7a8394; line-height:1.7; margin:0; }
.lc-hot-main { display:block; position:relative; border-radius:10px; overflow:hidden; text-decoration:none; margin-bottom:12px; }
.lc-hot-main img { width:100%; height:150px; object-fit:cover; display:block; }
.lc-hot-main-title { position:absolute; left:0; right:0; bottom:0; padding:22px 10px 8px; color:#fff; font-size:13px;
  line-height:1.45; background:linear-gradient(transparent,rgba(0,0,0,.72));
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lc-hot-side { display:flex; gap:10px; align-items:center; padding:8px 0; text-decoration:none; border-bottom:1px dashed #eef0f4; }
.lc-hot-side:last-child { border-bottom:none; }
.lc-hot-side img { width:64px; height:48px; object-fit:cover; border-radius:7px; flex:none; }
.lc-hot-side-info { min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }
.lc-hot-side-title { font-size:12.5px; color:#3d485c; line-height:1.4;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lc-hot-side-meta { font-size:11px; color:#aab2bf; }
.lc-rec { display:flex; align-items:flex-start; gap:9px; padding:7px 0; text-decoration:none; border-bottom:1px dashed #eef0f4; }
.lc-rec:last-child { border-bottom:none; }
.lc-rank-no { width:20px; height:20px; line-height:20px; text-align:center; font-size:12px; color:#c2cad6; flex:none; }
.lc-rank-no.hot { background:#ff4d4f; color:#fff; border-radius:5px; }
.lc-rec-text { font-size:13px; color:#485266; line-height:1.5; flex:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }

@media (max-width:1100px) { .lc-body { grid-template-columns:1fr; } }
@media (max-width:700px) {
  .lc-banner { height:200px; }
  .lc-banner-card { left:14px; right:14px; bottom:12px; padding:10px 14px; gap:12px; }
  .lc-banner-icon { width:44px; height:44px; font-size:20px; }
  .lc-banner-info h1 { font-size:17px; }
  .lc-banner-actions .lc-btn-primary { padding:8px 14px; }
  .lc-item { flex-direction:column; gap:10px; }
  .lc-item-cover { width:100%; height:180px; }
  .lc-stats { margin-left:0; }
}

/* ============================================
   手机端 H5 响应式深化（2026-10-11 批次3：论坛）
   ============================================ */
@media (max-width: 768px) {
  /* 论坛首页：头条卡片压缩 */
  .sc-hero-card { padding: 12px; gap: 12px; }
  .sc-hero-img, .sc-hero-empty { height: 180px; }
  .sc-hero-caption { font-size: 15px; }
  .sc-board-card { padding: 10px; }
  .sc-board-card-icon { width: 42px; height: 42px; }

  /* 详情页：标题/正文/图集/卡片 */
  .fb-card { padding: 14px; }
  .fb-detail-head h1 { font-size: 20px; line-height: 1.4; }
  .fb-detail-content { font-size: 16px; line-height: 1.75; }
  .fb-detail-gallery img { width: calc(50% - 5px); }

  /* 互动条按钮触控 */
  .fb-action-bar .fb-btn { padding: 9px 18px; }

  /* 回帖表单 */
  .fb-reply-form textarea { min-height: 80px; font-size: 15px; }
  .fb-reply-submit .fb-btn { min-height: 44px; padding: 10px 24px; }

  /* 发帖页：编辑器/抖音框/提交按钮 */
  #editor { height: 320px !important; }
  #toolbar .w-e-toolbar { overflow-x: auto; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; }
  .fb-douyin-box { flex-direction: column; }
  .fb-douyin-btn { padding: 12px 0; width: 100%; }
  .fb-post-form input[type=text], .fb-post-form select { font-size: 15px; padding: 12px; }
  .fb-post-form .fb-btn { min-height: 44px; }

  /* 分页触控 ≥44px */
  .fb-pager a, .fb-pager span,
  .lc-pager a, .lc-pager .cur { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }

  /* 列表页卡片间距/封面高度 */
  .lc-item { padding: 14px 0; }
  .lc-item-cover { height: 160px; }
  .lc-item-title { font-size: 16px; }
  .lc-item-summary { font-size: 13px; }

  /* 论坛首页发帖按钮全宽触控 */
  .sc-btn-primary, .sc-block-btn { display: block; text-align: center; padding: 12px 0; }
}
