/* 论坛扩展独立样式：不依赖博客主题，自带页面骨架与明暗两套配色
   配色遵循 WCAG AA：实色按钮/徽章的前景统一走 --bbs-on-solid，暗色主题下自动切回深色前景 */
:root{
	--bbs-bg:#f5f6f8;
	--bbs-card:#ffffff;
	--bbs-text:#2b3240;
	--bbs-muted:#66707f;
	--bbs-line:#e4e7ec;
	--bbs-accent:#4e6d97;
	--bbs-accent-soft:rgba(78,109,151,.12);
	--bbs-warn:#c99a3d;
	/* 实色填充（按钮/徽章/头像）：明暗两套都用白字，深色底由 solid 系列保证对比度 */
	--bbs-solid:#4e6d97;
	--bbs-solid-hover:#405d82;
	--bbs-solid-danger:#c0554d;
	--bbs-on-solid:#ffffff;
	--bbs-on-warn:#1c1f26;
}
@media (prefers-color-scheme:dark){
	:root{
		--bbs-bg:#16181d;
		--bbs-card:#1f232b;
		--bbs-text:#dde2ea;
		--bbs-muted:#98a1b0;
		--bbs-line:#2e3440;
		--bbs-accent:#87a7d0;
		--bbs-accent-soft:rgba(135,167,208,.14);
		--bbs-warn:#d8b26a;
		--bbs-solid:#4a6f9e;
		--bbs-solid-hover:#3f5f8a;
		--bbs-solid-danger:#a4544e;
		--bbs-on-solid:#ffffff;
		--bbs-on-warn:#1c1f26;
	}
}
*{box-sizing:border-box;}
body.bbs-body{margin:0;background:var(--bbs-bg);color:var(--bbs-text);font:15px/1.7 -apple-system,"Segoe UI","Microsoft YaHei",sans-serif;}
/* 链接默认继承正文颜色。用 :where(a) 让这条规则特异性为 0，否则它会盖过下面所有单类组件（按钮/头像/标签）的配色 */
.bbs-body :where(a){color:inherit;text-decoration:none;transition:color .15s;}
.bbs-body :where(a):hover{color:var(--bbs-accent);}
/* 实色底组件必须钉住前景色（含 hover），否则文字会与底色同色 */
.bbs-body a.bbs-btn:hover{color:var(--bbs-text);}
.bbs-body a.bbs-btn-primary,.bbs-body a.bbs-btn-primary:hover{color:var(--bbs-on-solid);}
.bbs-body a.bbs-avatar,.bbs-body a.bbs-avatar:hover,.bbs-body a.bbs-uc-avatar,.bbs-body a.bbs-uc-avatar:hover{color:var(--bbs-on-solid);}
.bbs-body a.bbs-tag:hover{color:var(--bbs-on-solid);}
.bbs-body a.bbs-tab-active:hover{color:var(--bbs-accent);}
.bbs-body a.bbs-nav-user:hover,.bbs-body a.bbs-post-author:hover{color:var(--bbs-accent);}
.bbs-body input:focus-visible,.bbs-body textarea:focus-visible,.bbs-body button:focus-visible,.bbs-body select:focus-visible{outline:2px solid var(--bbs-accent);outline-offset:1px;}
.bbs-header{position:sticky;top:0;z-index:10;background:var(--bbs-card);border-bottom:1px solid var(--bbs-line);}
.bbs-header-inner{max-width:1000px;margin:0 auto;padding:0 16px;min-height:54px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;}
.bbs-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px;}
.bbs-logo-mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:var(--bbs-solid);color:var(--bbs-on-solid);font-size:14px;}
.bbs-header-nav{display:flex;align-items:center;gap:14px;font-size:14px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
.bbs-header .bbs-search{margin-left:0;}
.bbs-nav-user{font-weight:600;color:var(--bbs-accent);}
.bbs-flash{max-width:1000px;margin:12px auto 0;padding:10px 16px;background:var(--bbs-accent-soft);border:1px solid var(--bbs-accent);border-radius:10px;color:var(--bbs-accent);font-size:14px;cursor:pointer;}
.bbs-container{max-width:1000px;margin:0 auto;padding:16px;}
.bbs-footer{margin-top:40px;border-top:1px solid var(--bbs-line);background:var(--bbs-card);}
.bbs-footer-inner{max-width:1000px;margin:0 auto;padding:16px;font-size:13px;color:var(--bbs-muted);}
.bbs-stat{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;color:var(--bbs-muted);font-size:13px;padding:2px 2px 12px;}
.bbs-forum-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bbs-forum-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bbs-card);border:1px solid var(--bbs-line);border-radius:12px;transition:border-color .15s;}
.bbs-forum-card:hover{border-color:var(--bbs-accent);}
.bbs-forum-icon{flex:0 0 auto;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bbs-accent-soft);color:var(--bbs-accent);font-weight:700;}
.bbs-forum-info{flex:1 1 auto;min-width:0;}
.bbs-forum-name{font-weight:700;}
.bbs-forum-intro{font-size:12.5px;color:var(--bbs-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-forum-stat{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--bbs-muted);text-align:right;}
.bbs-block-title{margin:24px 0 10px;font-size:16px;font-weight:700;border-left:3px solid var(--bbs-accent);padding-left:8px;}
.bbs-panel{background:var(--bbs-card);border:1px solid var(--bbs-line);border-radius:12px;padding:4px 0;}
.bbs-panel.bbs-form,.bbs-panel.bbs-profile,.bbs-panel.bbs-login-hint,.bbs-panel.bbs-profile-rows{padding:16px;}
.bbs-latest-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--bbs-line);}
.bbs-latest-row:last-child{border-bottom:none;}
.bbs-latest-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-latest-from{flex:0 0 auto;font-size:12.5px;color:var(--bbs-muted);}
.bbs-empty{padding:18px 16px;color:var(--bbs-muted);font-size:14px;margin:0;}
.bbs-crumb{font-size:13px;color:var(--bbs-muted);margin-bottom:12px;display:flex;gap:6px;flex-wrap:wrap;}
.bbs-crumb a:hover{color:var(--bbs-accent);}
.bbs-forum-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.bbs-forum-head-name{margin:0;font-size:19px;}
.bbs-forum-head-intro{margin:2px 0 0;font-size:13px;color:var(--bbs-muted);}
.bbs-tabs{display:flex;gap:8px;margin-bottom:10px;}
.bbs-tab{padding:5px 14px;border-radius:99px;font-size:13.5px;color:var(--bbs-muted);border:1px solid transparent;}
.bbs-tab:hover{color:var(--bbs-accent);}
.bbs-tab-active{background:var(--bbs-card);border-color:var(--bbs-line);color:var(--bbs-accent);font-weight:600;}
.bbs-thread-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--bbs-line);}
.bbs-thread-row:last-child{border-bottom:none;}
.bbs-thread-main{flex:1 1 auto;min-width:0;}
.bbs-thread-title{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-badge{display:inline-block;font-size:11px;line-height:1;padding:3px 6px;border-radius:5px;background:var(--bbs-accent-soft);color:var(--bbs-accent);vertical-align:2px;margin-right:4px;}
.bbs-badge-top{color:var(--bbs-on-solid);background:var(--bbs-solid-danger);}
.bbs-badge-dig{color:var(--bbs-on-solid);background:var(--bbs-solid);}
.bbs-badge-audit{color:var(--bbs-on-warn);background:var(--bbs-warn);}
.bbs-thread-meta{font-size:12.5px;color:var(--bbs-muted);margin-top:2px;}
.bbs-thread-counts{flex:0 0 auto;display:flex;flex-direction:column;font-size:12.5px;color:var(--bbs-muted);text-align:center;min-width:56px;}
.bbs-thread-last{flex:0 0 auto;display:flex;flex-direction:column;font-size:12px;color:var(--bbs-muted);text-align:right;min-width:90px;}
.bbs-thread-head{margin-bottom:14px;}
.bbs-thread-head-title{margin:0 0 4px;font-size:20px;}
.bbs-thread-head-meta{font-size:13px;color:var(--bbs-muted);}
.bbs-posts{display:flex;flex-direction:column;gap:12px;}
.bbs-post{display:flex;gap:14px;background:var(--bbs-card);border:1px solid var(--bbs-line);border-radius:12px;padding:16px;}
.bbs-post:target{border-color:var(--bbs-accent);}
.bbs-post-side{flex:0 0 84px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.bbs-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--bbs-solid);color:var(--bbs-on-solid);font-size:20px;font-weight:700;}
.bbs-avatar-sm{width:44px;height:44px;font-size:17px;}
.bbs-post-author{font-size:13.5px;font-weight:600;color:var(--bbs-accent);}
.bbs-post-main{flex:1 1 auto;min-width:0;}
.bbs-post-meta{font-size:12.5px;color:var(--bbs-muted);margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--bbs-line);}
.bbs-floor{display:inline-block;margin-right:10px;font-weight:700;color:var(--bbs-accent);}
.bbs-post-content{word-break:break-word;}
.bbs-post-content p{margin:0;}
.bbs-locked,.bbs-login-hint{margin-top:14px;text-align:center;color:var(--bbs-muted);font-size:14px;}
.bbs-locked{background:var(--bbs-card);border:1px solid var(--bbs-line);border-radius:12px;padding:14px;}
.bbs-reply-form,.bbs-post-form{margin-top:8px;}
.bbs-form{display:flex;flex-direction:column;gap:14px;}
.bbs-auth{max-width:420px;margin:40px auto;background:var(--bbs-card);padding:28px;border:1px solid var(--bbs-line);border-radius:14px;}
.bbs-auth-title{text-align:center;font-size:19px;margin:0 0 20px;}
.bbs-form-item{display:flex;flex-direction:column;gap:6px;}
.bbs-form-item label{font-size:13px;color:var(--bbs-muted);}
.bbs-form-item input,.bbs-form-item textarea,.bbs-form > textarea{width:100%;padding:9px 12px;border:1px solid var(--bbs-line);border-radius:9px;background:var(--bbs-bg);color:var(--bbs-text);font-size:14.5px;font-family:inherit;}
.bbs-form-item input:focus,.bbs-form-item textarea:focus,.bbs-form > textarea:focus{outline:none;border-color:var(--bbs-accent);}
.bbs-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:5px 6px;background:var(--bbs-bg);border:1px solid var(--bbs-line);border-bottom:none;border-radius:9px 9px 0 0;}
/* 与下方输入框拼成一块：负 margin 抵掉父容器的 flex 间隙；接缝由输入框自己的上边框负责，聚焦时四条边才能一起变色 */
.bbs-form-item > .bbs-toolbar + textarea{margin-top:-6px;border-top:1px solid var(--bbs-line);border-radius:0 0 9px 9px;}
.bbs-form > .bbs-toolbar + textarea{margin-top:-14px;border-top:1px solid var(--bbs-line);border-radius:0 0 9px 9px;}
/* 输入框聚焦时工具栏外框一起高亮（:has 不支持时退化为只有输入框高亮，不影响使用） */
.bbs-toolbar:has(+ textarea:focus){border-color:var(--bbs-accent);}
.bbs-toolbar button{min-width:32px;padding:4px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--bbs-text);cursor:pointer;font-size:13px;font-family:inherit;}
.bbs-toolbar button:hover{border-color:var(--bbs-accent);color:var(--bbs-accent);}
.bbs-form-vcode{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;}
.bbs-form-vcode .vcode-input{flex:1 1 100px;min-width:90px;}
.bbs-form-vcode .vcode-img{height:36px;border-radius:7px;cursor:pointer;}
.bbs-form-actions{display:flex;gap:10px;align-items:center;}
.bbs-form-tip{font-size:13px;color:var(--bbs-muted);display:flex;justify-content:space-between;gap:10px;margin:0;}
.bbs-btn{display:inline-block;padding:8px 18px;border:1px solid var(--bbs-line);border-radius:9px;background:var(--bbs-card);color:var(--bbs-text);cursor:pointer;font-size:14px;font-family:inherit;}
.bbs-btn:hover{border-color:var(--bbs-accent);color:var(--bbs-accent);}
.bbs-btn-primary{border-color:var(--bbs-solid);background:var(--bbs-solid);color:var(--bbs-on-solid);}
.bbs-btn-primary:hover{background:var(--bbs-solid-hover);border-color:var(--bbs-solid-hover);color:var(--bbs-on-solid);}
.bbs-btn-sm{padding:5px 12px;font-size:13px;}
.bbs-btn-block{width:100%;}
.bbs-uc{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.bbs-profile-head{display:flex;align-items:center;gap:14px;}
.bbs-profile-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bbs-profile-name{margin:0;font-size:19px;}
.bbs-level{font-size:12px;padding:2px 9px;border-radius:99px;border:1px solid var(--bbs-accent);color:var(--bbs-accent);}
.bbs-profile-intro{margin:12px 0 0;font-size:14px;color:var(--bbs-muted);}
.bbs-profile-rows p{margin:4px 0;font-size:13.5px;color:var(--bbs-muted);}
.bbs-body .paging{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:18px 0;}
.bbs-body .paging a{padding:5px 12px;border:1px solid var(--bbs-line);border-radius:8px;background:var(--bbs-card);font-size:13.5px;}
.bbs-body .paging a:hover{border-color:var(--bbs-accent);}
.bbs-body .paging .paging-active{border-color:var(--bbs-solid);background:var(--bbs-solid);color:var(--bbs-on-solid);}
.bbs-body .paging .paging-disabled{opacity:.45;}
.bbs-body .paging span{padding:5px 8px;color:var(--bbs-muted);}
@media (max-width:768px){
	.bbs-forum-list{grid-template-columns:1fr;}
	.bbs-uc{grid-template-columns:1fr;}
	.bbs-thread-counts .bbs-thread-views{display:none;}
	.bbs-thread-last{display:none;}
	.bbs-post-side{flex-basis:56px;}
	.bbs-avatar-sm{width:36px;height:36px;font-size:14px;}
	.bbs-post-author{font-size:12px;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
	.bbs-header-inner{padding:8px 12px;row-gap:8px;}
	.bbs-header-inner .bbs-logo{order:1;}
	.bbs-header-inner .bbs-header-nav{order:2;}
	.bbs-header-inner .bbs-search{order:3;flex:1 1 100%;margin-left:0;}
	.bbs-search input{flex:1 1 auto;width:auto;min-width:0;}
	.bbs-logo-text{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
@media (max-width:480px){
	.bbs-logo-text{display:none;}
	.bbs-header-nav{gap:10px;font-size:13px;}
}
/* M3：引用块 / 代码块 / 图片 / 楼层跳转 / 操作区 */
.bbs-quote{margin:8px 0;padding:10px 14px;background:var(--bbs-accent-soft);border-left:3px solid var(--bbs-accent);border-radius:0 8px 8px 0;font-size:14px;}
.bbs-quote cite{display:block;font-style:normal;font-weight:600;color:var(--bbs-accent);margin-bottom:4px;font-size:13px;}
.bbs-quote p{margin:0;}
.bbs-code{margin:8px 0;padding:12px 14px;background:var(--bbs-bg);border:1px dashed var(--bbs-line);border-radius:8px;overflow-x:auto;font-size:13.5px;line-height:1.6;}
.bbs-code code{font-family:Consolas,Menlo,monospace;}
.bbs-post-img{max-width:100%;border-radius:8px;margin:6px 0;}
.bbs-floor-jump{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--bbs-muted);}
.bbs-floor-jump select{padding:5px 10px;border:1px solid var(--bbs-line);border-radius:8px;background:var(--bbs-card);color:var(--bbs-text);font-size:13px;max-width:220px;}
.bbs-post-ops{margin-left:auto;display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;white-space:nowrap;}
.bbs-post-ops a{color:var(--bbs-muted);font-size:12.5px;}
.bbs-post-ops a:hover{color:var(--bbs-accent);}
.bbs-post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bbs-post-time,.bbs-edited{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-edited{color:var(--bbs-muted);}
@media (max-width:768px){
	/* #楼层、时间、引用/编辑/删除 强制同一行：文字项可压缩省略，操作区永不换行 */
	.bbs-post-meta{flex-wrap:nowrap;gap:8px;}
	.bbs-floor{flex:0 0 auto;margin-right:0;}
	.bbs-post-ops{gap:12px;}
	.bbs-post-ops a{font-size:12px;}
}
/* sx.alert / SX.confirm 弹层与动画（独立布局下自带，风格与页头一致） */
.bbs-body .alert{position:fixed;top:0;left:0;z-index:99990;width:100%;height:100%;display:flex;align-items:center;}
.bbs-body .alert-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);}
.bbs-body .alert-box{position:relative;margin:auto;inset:0;width:min(340px,88vw);background:var(--bbs-card);color:var(--bbs-text);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);z-index:1;}
.bbs-body .alert-content{padding:24px 22px;font-size:15px;text-align:center;line-height:1.7;}
.bbs-body .alert-footer{border-top:1px solid var(--bbs-line);padding:12px 16px;text-align:right;}
.bbs-body .alert-footer > div{display:inline-block;padding:6px 20px;margin-left:10px;border-radius:9px;cursor:pointer;font-size:14px;}
.bbs-body .alert-cancel{color:var(--bbs-muted);}
.bbs-body .alert-cancel:hover{background:var(--bbs-bg);}
.bbs-body .alert-confirm{background:var(--bbs-solid);color:var(--bbs-on-solid);}
.bbs-body .alert-confirm:hover{background:var(--bbs-solid-hover);}
/* 弹窗居中靠 transform，而进出场动画同样要写 transform（会覆盖静态值），所以给 .pop 专用关键帧，动画里一并带上 -50% 位移 */
.bbs-body .pop{position:fixed;top:18%;left:50%;transform:translateX(-50%);z-index:99999;background:var(--bbs-card);color:var(--bbs-text);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.18);padding:12px 22px;font-size:14px;text-align:center;max-width:86vw;pointer-events:none;}
.bbs-body .pop.ani-up-in{animation:bbs-pop-in .22s ease-out both;}
.bbs-body .pop.ani-down-out{animation:bbs-pop-out .4s ease-in forwards;}
@keyframes bbs-pop-in{from{opacity:0;transform:translate(-50%,16px);}to{opacity:1;transform:translate(-50%,0);}}
@keyframes bbs-pop-out{from{opacity:1;transform:translate(-50%,0);}to{opacity:0;transform:translate(-50%,16px);}}
@keyframes bbs-up-in{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes bbs-down-out{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(16px);}}
.bbs-body .ani-up-in{animation:bbs-up-in .22s ease-out both;}
.bbs-body .ani-down-out{animation:bbs-down-out .4s ease-in forwards;}
/* M4：标签与搜索 */
.bbs-tags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0;}
.bbs-tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:99px;background:var(--bbs-accent-soft);color:var(--bbs-accent);}
.bbs-tag:hover{background:var(--bbs-solid);color:var(--bbs-on-solid);}
.bbs-cloud{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px;}
.bbs-search{display:flex;gap:6px;align-items:center;}
.bbs-search input{width:150px;padding:5px 10px;border:1px solid var(--bbs-line);border-radius:8px;background:var(--bbs-bg);color:var(--bbs-text);font-size:13px;}
.bbs-search input:focus{outline:none;border-color:var(--bbs-accent);}
.bbs-list-title{margin:0 0 12px;font-size:18px;}
.bbs-excerpt{font-size:13px;color:var(--bbs-muted);margin-top:4px;}
/* M7 新增组件：头衔徽章 / 头像行 / 发送验证码 */
.bbs-level-badge{font-size:11px;color:var(--bbs-muted);border:1px solid var(--bbs-line);border-radius:99px;padding:1px 8px;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-post-side .bbs-level-badge{font-size:10.5px;padding:0 6px;}
.bbs-avatar-row{display:flex;gap:12px;align-items:center;}
.bbs-avatar-md{flex:0 0 auto;width:56px;height:56px;font-size:22px;object-fit:cover;}
.bbs-avatar-inputs{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.bbs-avatar-inputs input{width:100%;}
.bbs-profile-sub{font-size:12px;color:var(--bbs-muted);}
.bbs-uc-card .bbs-avatar{width:56px;height:56px;font-size:22px;}
.bbs-sendmail{flex:0 0 auto;}
/* 五档响应式：大屏 ≥1600 / 常规 / 平板 ≤992 / 手机横 ≤768(上方) / 手机竖 ≤480 */
@media (min-width:1600px){
	.bbs-container,.bbs-header-inner,.bbs-footer-inner,.bbs-flash{max-width:1240px;}
	.bbs-forum-list{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:992px){
	.bbs-container{padding:12px;}
	.bbs-thread-head-title{font-size:18px;}
}
@media (max-width:480px){
	.bbs-body{font-size:14px;}
	.bbs-header-nav{gap:10px;font-size:13px;}
	.bbs-search input{width:80px;}
	.bbs-post{flex-direction:column;gap:8px;padding:12px;}
	.bbs-post-side{flex-direction:row;align-items:center;gap:8px;flex-basis:auto;}
	.bbs-avatar-sm{width:30px;height:30px;font-size:13px;}
	.bbs-forum-stat{display:none;}
	.bbs-forum-icon{width:34px;height:34px;}
	.bbs-auth{margin:16px auto;padding:18px;}
	.bbs-thread-counts{min-width:44px;}
	.bbs-toolbar button{padding:4px 8px;min-width:28px;}
	.bbs-list-title{font-size:16px;}
	.bbs-floor-jump select{max-width:150px;}
}
/* D4：个人中心账号信息卡 */
.bbs-uc-card{padding:0;overflow:hidden;}
.bbs-uc-card-head{display:flex;gap:14px;align-items:center;padding:16px;}
.bbs-uc-avatar{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--bbs-solid);color:var(--bbs-on-solid);font-size:26px;font-weight:700;}
.bbs-uc-card-info{flex:1 1 auto;min-width:0;}
.bbs-uc-card-name{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;}
.bbs-uc-card-head .bbs-profile-intro{margin:4px 0 0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bbs-uc-card-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bbs-line);background:var(--bbs-bg);}
.bbs-uc-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-right:1px solid var(--bbs-line);min-width:0;}
.bbs-uc-stat:last-child{border-right:none;}
.bbs-uc-stat b{font-size:14px;color:var(--bbs-accent);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.bbs-uc-stat span{font-size:11.5px;color:var(--bbs-muted);}
@media (max-width:480px){
	.bbs-uc-card-stats{grid-template-columns:repeat(2,1fr);}
	.bbs-uc-stat{border-top:1px solid var(--bbs-line);}
	.bbs-uc-stat:nth-child(-n+2){border-top:none;}
	.bbs-uc-avatar{width:52px;height:52px;font-size:22px;}
}
.bbs-btn-disabled{background:var(--bbs-bg);border-color:var(--bbs-line);color:var(--bbs-muted);cursor:not-allowed;font-size:12.5px;max-width:min(320px,55vw);white-space:normal;text-align:right;line-height:1.5;}
.bbs-btn-disabled:hover{border-color:var(--bbs-line);color:var(--bbs-muted);}
/* F1：等级与进度条 */
.bbs-uc-grade{padding:12px 16px;border-top:1px solid var(--bbs-line);}
.bbs-uc-grade-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;}
.bbs-uc-grade-lv{font-weight:700;color:var(--bbs-accent);}
.bbs-uc-grade-next{color:var(--bbs-muted);}
.bbs-uc-grade-bar{margin-top:8px;height:6px;border-radius:99px;background:var(--bbs-line);overflow:hidden;}
.bbs-uc-grade-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--bbs-accent),var(--bbs-accent-soft,#4e6d97));transition:width .3s;}
/* 邮箱/图形验证码行：输入框与按钮同行自适应 */
.bbs-form-vcode{flex-wrap:nowrap;}
.bbs-form-vcode label{flex:0 0 auto;}
.bbs-form-vcode .mailcode-input,.bbs-form-vcode .vcode-input{flex:1 1 auto;min-width:0;}
.bbs-form-vcode .bbs-sendmail{flex:0 0 auto;white-space:nowrap;}
/* G2：登录/找回密码改版配套 */
.bbs-form-vcode{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:nowrap;}
.bbs-label-row{display:flex;justify-content:space-between;align-items:center;width:100%;}
.bbs-label-link{color:var(--bbs-accent);font-size:12px;}
.bbs-btn-block{width:100%;text-align:center;}
.bbs-auth-desc{margin:-8px 0 18px;font-size:12.5px;color:var(--bbs-muted);text-align:center;line-height:1.7;}
/* H1：身份与等级分开展示 */
.bbs-level-admin{border-color:var(--bbs-solid);background:var(--bbs-solid);color:var(--bbs-on-solid) !important;}
.bbs-post-side .bbs-level-admin{font-size:10.5px;padding:1px 8px;color:var(--bbs-on-solid);max-width:none;}
/* I：页脚统计 */
.bbs-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;}
.bbs-footer-inner p{margin:0;}
.bbs-footer-stat{display:flex;gap:14px;font-size:12px;color:var(--bbs-muted);}
@media (max-width:768px){
	.bbs-footer-inner{flex-direction:column;text-align:center;}
	.bbs-footer-stat{flex-wrap:wrap;justify-content:center;}
}
/* I：工具栏增强（分组/颜色/字号面板） */
.bbs-toolbar{position:relative;flex-wrap:wrap;}
.bbs-tb-sep{width:1px;height:18px;background:var(--bbs-line);margin:0 3px;align-self:center;}
.bbs-tb-a{background:linear-gradient(90deg,#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;}
.bbs-tb-pop{display:none;position:absolute;top:100%;left:0;z-index:20;margin-top:6px;padding:8px;background:var(--bbs-card);border:1px solid var(--bbs-line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);}
.bbs-tb-colors{display:none;grid-template-columns:repeat(5,1fr);gap:6px;width:auto;}
.bbs-tb-colors i{width:22px;height:22px;border-radius:6px;display:block;cursor:pointer;border:1px solid rgba(0,0,0,.08);}
.bbs-tb-colors i:hover{transform:scale(1.15);}
.bbs-tb-colors .bbs-tb-custom{width:auto;padding:0 8px;font-size:11px;font-style:normal;display:flex;align-items:center;justify-content:center;background:var(--bbs-bg);color:var(--bbs-muted);grid-column:span 5;}
.bbs-tb-sizes i{display:inline-block;padding:3px 12px;margin:0 2px;border-radius:7px;cursor:pointer;color:var(--bbs-text);white-space:nowrap;}
.bbs-tb-sizes i:hover{background:var(--bbs-accent-soft);}
.bbs-tb-sizes i:nth-child(1){font-size:12px;}
.bbs-tb-sizes i:nth-child(2){font-size:14px;}
.bbs-tb-sizes i:nth-child(3){font-size:17px;}
.bbs-tb-sizes i:nth-child(4){font-size:21px;}
/* I：新 bbcode 渲染 */
.bbs-post-content .bbs-size-1{font-size:.8em;}
.bbs-post-content .bbs-size-2{font-size:1em;}
.bbs-post-content .bbs-size-3{font-size:1.35em;}
.bbs-post-content .bbs-size-4{font-size:1.8em;}
.bbs-align-center{text-align:center;}
.bbs-align-right{text-align:right;}
.bbs-list{margin:6px 0;padding-left:26px;}
.bbs-list li{margin:2px 0;}
.bbs-hr{border:none;border-top:1px dashed var(--bbs-line);margin:10px 0;}
/* K：论坛关闭维护 */
.bbs-closed{text-align:center;}
.bbs-closed-icon{font-size:40px;line-height:1;margin-bottom:6px;}
.bbs-closed-msg{font-size:14px;color:var(--bbs-text);line-height:1.9;margin:0 0 18px;}
.bbs-closed-default{color:var(--bbs-muted);}
.bbs-closed-banner{max-width:1000px;margin:12px auto 0;padding:8px 16px;border-radius:10px;background:#fdf3e7;border:1px solid #e6c793;color:#a06a18;font-size:13px;}
@media (prefers-color-scheme:dark){
	.bbs-closed-banner{background:rgba(201,154,61,.12);border-color:rgba(201,154,61,.4);color:#d8b26a;}
}
/* R：注册页服务协议 */
.bbs-agree-row{flex-direction:row;align-items:center;gap:0;}
.bbs-agree-check{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--bbs-muted);cursor:pointer;line-height:1.6;}
.bbs-form-item .bbs-agree-check input[type=checkbox]{width:auto;margin:2px 0 0;flex:0 0 auto;}
.bbs-agree-check a{color:var(--bbs-accent);font-weight:600;}
.bbs-body .alert-box.bbs-agree-box{width:min(560px,92vw);padding:0 0 4px;display:flex;flex-direction:column;overflow:hidden;}
.bbs-body .bbs-agree-head{padding:18px 22px 10px;font-size:16px;font-weight:700;text-align:left;}
.bbs-body .bbs-agree-body{padding:0 22px 14px;max-height:56vh;overflow:auto;font-size:13.5px;line-height:1.85;white-space:pre-wrap;text-align:left;color:var(--bbs-text);}
