/* ============================================================
   符文谷论坛 · 样式（复用站点 CSS 变量）
   ============================================================ */

/* 页面标题下的一行说明（论坛页等使用） */
.section-desc{
  margin:-6px 0 16px;font-size:13px;color:var(--text-secondary);line-height:1.8;
}

.forum-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;margin-bottom:16px;
}
.forum-boards{display:flex;gap:6px;flex-wrap:wrap;}
.forum-board{
  padding:6px 14px;font-size:13px;cursor:pointer;white-space:nowrap;
  border:1px solid var(--border);border-radius:99px;background:var(--card);color:var(--text-secondary);
  transition:background .2s,color .2s,border-color .2s;
}
.forum-board:hover{border-color:var(--accent);color:var(--text);}
.forum-board.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;}

.forum-user{display:flex;align-items:center;gap:8px;}
.forum-uname{font-size:13.5px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:6px;}
.forum-badge{
  font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:4px;
  background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);
}
.forum-sm{padding:5px 12px;font-size:12.5px;border-radius:7px;}

/* ---- 工具条 ---- */
.forum-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-wrap:wrap;margin-bottom:10px;
}
.forum-count{font-size:12px;color:var(--text-secondary);}
.forum-sort{display:flex;gap:4px;}
.forum-sortbtn{
  padding:4px 11px;font-size:12px;cursor:pointer;border-radius:7px;
  border:1px solid transparent;background:transparent;color:var(--text-secondary);
}
.forum-sortbtn:hover{color:var(--text);}
.forum-sortbtn.on{background:var(--accent-soft);color:var(--accent);font-weight:600;}

/* ---- 帖子列表 ---- */
.forum-post{
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:13px 16px;margin-bottom:9px;cursor:pointer;
  box-shadow:var(--shadow);transition:border-color .2s,transform .2s;
}
.forum-post:hover{border-color:var(--accent);transform:translateY(-1px);}
.forum-post.pinned{border-left:3px solid var(--accent);}
.forum-post-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.forum-post-title{font-size:15px;font-weight:700;color:var(--text);}
.forum-post-snippet{
  margin:6px 0 0;font-size:12.5px;color:var(--text-secondary);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.forum-post-meta{
  display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;
  font-size:11.5px;color:var(--text-secondary);
}
.forum-post-board{
  padding:1px 8px;border-radius:4px;font-size:11px;
  background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);
}
.forum-flag{
  font-size:10.5px;padding:1px 7px;border-radius:4px;font-weight:600;white-space:nowrap;
}
.forum-flag.pin{background:var(--accent);color:var(--on-accent);}
.forum-flag.lock{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);}

/* ---- 空态 / 提示 ---- */
.forum-empty{
  padding:44px 20px;text-align:center;font-size:13.5px;color:var(--text-secondary);
  background:var(--card);border:1px dashed var(--border);border-radius:12px;line-height:1.9;
}
.forum-err{color:var(--danger);}

/* ---- 分页 ---- */
.forum-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;}
.forum-pageno{font-size:12.5px;color:var(--text-secondary);}

/* ---- 帖子详情 ---- */
.forum-back{margin-bottom:12px;}
.forum-thread{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px;box-shadow:var(--shadow);
}
.forum-thread-title{font-size:19px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.forum-thread-h{padding-bottom:14px;border-bottom:1px solid var(--border);}
.forum-thread-h .forum-post-meta{margin-top:9px;}
.forum-thread-body{
  padding:16px 0 6px;font-size:14.5px;line-height:1.9;color:var(--text);
  word-break:break-word;   /* 换行由 JS 转 <br>，别用 pre-wrap，否则双倍换行 */
}
.forum-thread-foot{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border);}
.forum-thread-foot .btn.liked{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.forum-danger:hover{border-color:var(--danger);color:var(--danger);}

/* ---- 回复区 ---- */
.forum-replies{padding-top:6px;}
.forum-reply{padding:13px 0;border-bottom:1px dashed var(--border);}
.forum-reply:last-of-type{border-bottom:none;}
.forum-reply-h{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);}
.forum-floor{font-size:11px;color:var(--text-secondary);}
.forum-reply-time{font-size:11px;color:var(--text-secondary);margin-left:auto;}
.forum-x{
  border:none;background:transparent;color:var(--text-secondary);cursor:pointer;
  font-size:12px;padding:2px 6px;border-radius:4px;
}
.forum-x:hover{color:var(--danger);background:var(--bg);}
.forum-reply-body{margin-top:5px;font-size:13.5px;line-height:1.8;color:var(--text);word-break:break-word;}
.forum-noreply,.forum-lockedtip{
  padding:16px 0;font-size:13px;color:var(--text-secondary);text-align:center;
}
.forum-replyform{display:flex;gap:8px;margin-top:12px;align-items:flex-start;}
.forum-replyform textarea{
  flex:1;min-height:64px;resize:vertical;padding:9px 12px;font-size:13.5px;
  border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);
  font-family:inherit;line-height:1.7;
}
.forum-replyform textarea:focus{outline:none;border-color:var(--accent);}

/* ---- 发帖编辑器 ---- */
.forum-editor{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px;
}
.forum-editor label{
  display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--text);
}
.forum-editor input,.forum-editor textarea,.forum-sel{
  border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);
  padding:9px 12px;font-size:14px;font-family:inherit;
}
.forum-editor textarea{min-height:180px;resize:vertical;line-height:1.8;}
.forum-editor input:focus,.forum-editor textarea:focus,.forum-sel:focus{outline:none;border-color:var(--accent);}
.forum-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;}

/* ---- 登录 / 注册弹窗 ---- */
.forum-lock{overflow:hidden;}
.forum-authmask{
  /* 980：用户主动打开的登录框，必须压过自动弹出的广告（970） */
  position:fixed;inset:0;z-index:980;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(15,23,42,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
/* 内容超一屏时内部滚动（底部 .rv-grip 可拖高），不靠整页滚动 */
.forum-auth{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  width:min(380px,100%);padding:26px 24px 0;max-height:min(86vh,720px);
  background:var(--card);border:1px solid var(--border);border-radius:16px;
  box-shadow:0 30px 70px rgba(15,23,42,.28);
}
.forum-auth form{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:22px;}
.forum-authtabs{flex:none;}
.forum-authx{
  position:absolute;right:11px;top:9px;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--border);background:transparent;color:var(--text-secondary);
  font-size:14px;line-height:1;cursor:pointer;
}
.forum-authx:hover{color:var(--danger);border-color:var(--danger);}
/* 验证方式（邮箱 / 手机）切换 */
.forum-typesel{display:flex;gap:6px;}
.forum-typesel button{
  flex:1;padding:7px 0;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:8px;
  border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);
}
.forum-typesel button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.forum-coderow{display:flex;gap:8px;}
.forum-coderow input{flex:1;letter-spacing:3px;text-align:center;}
.forum-coderow .btn{flex:0 0 auto;white-space:nowrap;}

.forum-link{
  border:none;background:none;padding:0;font-size:12px;font-family:inherit;color:var(--accent);
  cursor:pointer;text-decoration:underline;
}
.forum-authtabs{display:flex;gap:6px;margin-bottom:16px;}
.forum-authtabs button{
  flex:1;padding:8px 0;font-size:13.5px;font-weight:600;cursor:pointer;
  border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text-secondary);
}
.forum-authtabs button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.forum-auth form{display:flex;flex-direction:column;gap:12px;}
.forum-auth label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--text);}
.forum-auth input{
  border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);
  padding:9px 12px;font-size:14px;font-family:inherit;
}
.forum-auth input:focus{outline:none;border-color:var(--accent);}
.forum-autherr{margin:0;font-size:12px;color:var(--danger);min-height:16px;}
.forum-authgo{width:100%;}

@media(max-width:560px){
  .forum-thread{padding:16px 14px;}
  .forum-editor{padding:16px 14px;}
  .forum-post-meta{gap:9px;}
  .forum-reply-time{display:none;}
}
