/* ==========================================================================
   哔哩卡片 · 视频社区主题 —— 主样式
   参照哔哩哔哩 Web 端（bilibili.com）2026 年的排版与界面风格：
     白底顶栏 + #f6f7f8 页面底 + 品牌粉 #fb7299 / 强调蓝 #00aeec
     圆角卡片、封面为主体的网格、悬浮轻抬升
   变量由 hook/header_link_after.htm 输出到 :root（--bl-*），本文件只消费变量。
   命名统一 bl- 前缀，避免与核心 / 其它插件样式打架。
   ========================================================================== */

/* ---------- 基础 ---------- */
:root{
	/* 兜底值：正常情况下 hook/header_link_after.htm 会按后台配色覆盖这几个变量；
	   万一函数库没编译进来（刚启用未清 tmp/），这里也能让页面是 B 站粉而不是一片黑字 */
	--bl-primary:#fb7299;
	--bl-primary-rgb:251,114,153;
	--bl-primary-hover:#f25d87;
	--bl-blue:#00aeec;
	--bl-blue-rgb:0,174,236;
	--bl-ink:#18191c;          /* 主文字（B 站 #18191c） */
	--bl-ink-2:#61666d;        /* 次文字 */
	--bl-ink-3:#9499a0;        /* 弱文字 */
	--bl-line:#e3e5e7;         /* 分割线 */
	--bl-line-2:#f1f2f3;       /* 更浅的底 */
	--bl-surface:#ffffff;      /* 卡片面 */
	--bl-surface-2:#f6f7f8;    /* 页面底 */
	--bl-radius:8px;
	--bl-cols:5;
	--bl-shadow:0 1px 2px rgba(0,0,0,.04);
	--bl-shadow-h:0 6px 18px rgba(0,0,0,.08);
}

body{
	background-color:var(--bl-body-bg, var(--bl-surface-2));
	color:var(--bl-ink);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
}
a{color:inherit;}
a:hover{color:var(--bl-primary);text-decoration:none;}
#body > .container{max-width:1400px;}
img{max-width:100%;}

/* 通用按钮 */
.bl-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:6px;
	height:36px;padding:0 16px;border:0;border-radius:18px;
	background:var(--bl-line-2);color:var(--bl-ink-2);
	font-size:14px;line-height:1;cursor:pointer;transition:background .2s,color .2s;
	white-space:nowrap;
}
.bl-btn:hover{background:#e3e5e7;color:var(--bl-ink);}
.bl-btn-pri{background:var(--bl-primary);color:#fff;}
.bl-btn-pri:hover{background:var(--bl-primary-hover);color:#fff;}
.bl-btn-sm{height:32px;padding:0 14px;font-size:13px;}
.bl-icon-btn{
	display:inline-flex;align-items:center;justify-content:center;
	width:38px;height:38px;border:0;border-radius:50%;
	background:transparent;color:var(--bl-ink-2);font-size:17px;cursor:pointer;
	transition:background .2s,color .2s;
}
.bl-icon-btn:hover{background:var(--bl-line-2);color:var(--bl-primary);}

/* ---------- 顶栏 ---------- */
.bl-nav{
	position:sticky;top:0;z-index:1030;
	background-color:var(--bl-nav-bg, var(--bl-surface));
	box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.bl-nav-in{
	display:flex;align-items:center;gap:8px;
	max-width:1400px;height:64px;margin:0 auto;padding:0 16px;
}
.bl-nav-toggle{
	display:none;width:38px;height:38px;border:0;border-radius:50%;
	background:transparent;color:var(--bl-ink-2);font-size:18px;cursor:pointer;
}
.bl-logo{display:flex;align-items:center;gap:8px;flex:none;margin-right:8px;}
.bl-logo img{height:32px;width:auto;display:block;}
.bl-logo-t{font-size:19px;font-weight:700;color:var(--bl-ink);letter-spacing:.5px;}
.bl-logo:hover .bl-logo-t{color:var(--bl-primary);}

.bl-channels{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;}
.bl-channels::-webkit-scrollbar{display:none;}
.bl-chn{
	position:relative;display:inline-flex;align-items:center;height:64px;padding:0 12px;
	font-size:15px;color:var(--bl-ink-2);white-space:nowrap;transition:color .2s;
}
.bl-chn:hover{color:var(--bl-primary);}
.bl-chn.on{color:var(--bl-primary);font-weight:600;}
.bl-chn.on::after{
	content:"";position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
	width:18px;height:3px;border-radius:2px;background:var(--bl-primary);
}

.bl-search{
	display:flex;align-items:center;flex:0 1 320px;height:40px;margin:0 8px;
	background:var(--bl-line-2);border-radius:20px;padding:0 4px 0 14px;
	transition:background .2s,box-shadow .2s;
}
.bl-search:focus-within{background:#fff;box-shadow:0 0 0 2px rgba(var(--bl-primary-rgb),.22);}
.bl-search input{
	flex:1 1 auto;min-width:0;height:36px;border:0;background:transparent;
	font-size:14px;color:var(--bl-ink);outline:none;
}
.bl-search input::placeholder{color:var(--bl-ink-3);}
.bl-search button{
	width:34px;height:34px;border:0;border-radius:50%;background:transparent;
	color:var(--bl-ink-2);font-size:15px;cursor:pointer;
}
.bl-search button:hover{color:var(--bl-primary);}

.bl-nav-r{display:flex;align-items:center;gap:8px;flex:none;}
/* 顶栏右侧插件 li 容器（消息铃铛 / 签到移动端入口 / 颜色模式下拉等）：
   必须包在 ul 里，否则裸 li 在 div 里渲染出 list-marker（黑点） */
.bl-nav-list{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;}
.bl-nav-list li{list-style:none;}
.bl-nav-list .nav-link{display:inline-flex;align-items:center;gap:4px;padding:.3rem .55rem;border-radius:17px;font-size:14px;color:var(--bl-ink-2);white-space:nowrap;}
.bl-nav-list .nav-link:hover{background:var(--bl-line-2);color:var(--bl-primary);text-decoration:none;}
.bl-nav-list .badge{font-size:11px;line-height:16px;padding:0 6px;}
.bl-user-a{display:flex;}
.bl-user-ava{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid var(--bl-line);}
.bl-user .dropdown-menu{border:0;border-radius:10px;box-shadow:var(--bl-shadow-h);font-size:14px;}
.bl-user .dropdown-item{padding:8px 14px;}
.bl-user .dropdown-item i{margin-right:6px;color:var(--bl-ink-3);width:14px;text-align:center;}

/* 移动端：频道收起成抽屉 */
@media (max-width:991px){
	.bl-nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
	.bl-channels{
		display:none;position:absolute;left:0;right:0;top:64px;
		flex-direction:column;align-items:stretch;gap:0;
		background:var(--bl-nav-bg, var(--bl-surface));
		box-shadow:0 8px 18px rgba(0,0,0,.08);
		padding:6px 12px 12px;max-height:70vh;overflow-y:auto;
	}
	.bl-channels.open{display:flex;}
	.bl-chn{height:44px;padding:0 8px;font-size:15px;border-radius:8px;}
	.bl-chn.on{background:rgba(var(--bl-primary-rgb),.08);}
	.bl-chn.on::after{display:none;}
	.bl-only-pc{display:none !important;}
	.bl-search{flex:1 1 auto;margin:0 4px;}
}
@media (max-width:575px){
	.bl-search{display:none;}
	.bl-nav-in{height:56px;}
	.bl-channels{top:56px;}
}
.bl-only-m{display:none;}
@media (max-width:991px){ .bl-only-m{display:inline-flex;} }

/* ---------- 页面骨架 ---------- */
.bl-wrap{max-width:1400px;margin:0 auto;padding:16px 16px 40px;}
.bl-layout{display:flex;align-items:flex-start;gap:16px;}
.bl-main{flex:1 1 auto;min-width:0;}
.bl-aside{flex:0 0 300px;max-width:300px;}

/* 左侧分区导航 */
.bl-rail{
	flex:0 0 152px;max-width:152px;
	position:sticky;top:80px;
	background:var(--bl-surface);border-radius:var(--bl-radius);
	box-shadow:var(--bl-shadow);padding:8px 6px;
}
.bl-rail-t{font-size:12px;color:var(--bl-ink-3);padding:10px 10px 6px;}
.bl-rail-i{
	display:flex;align-items:center;gap:8px;
	height:36px;padding:0 10px;border-radius:8px;
	font-size:14px;color:var(--bl-ink-2);min-width:0;
}
.bl-rail-i i{width:18px;text-align:center;font-size:15px;color:var(--bl-ink-3);}
.bl-rail-i span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bl-rail-i em{font-style:normal;font-size:12px;color:var(--bl-ink-3);}
.bl-rail-i:hover{background:var(--bl-line-2);color:var(--bl-ink);}
.bl-rail-i.on{background:rgba(var(--bl-primary-rgb),.1);color:var(--bl-primary);font-weight:600;}
.bl-rail-i.on i{color:var(--bl-primary);}
.bl-rail-ico{width:18px;height:18px;border-radius:4px;object-fit:cover;}

/* 首页横幅 */
.bl-hero{
	display:flex;align-items:center;justify-content:space-between;gap:20px;
	margin-bottom:16px;padding:26px 28px;border-radius:16px;
	background:
		radial-gradient(1200px 200px at 0% 0%, rgba(var(--bl-primary-rgb),.16), transparent 70%),
		linear-gradient(100deg, rgba(var(--bl-blue-rgb),.12), rgba(var(--bl-primary-rgb),.10));
	border:1px solid rgba(var(--bl-primary-rgb),.14);
}
.bl-hero-in{flex:1 1 auto;min-width:0;}
.bl-hero-t{margin:0 0 8px;font-size:26px;font-weight:700;letter-spacing:.5px;}
.bl-hero-d{margin:0 0 12px;font-size:14px;color:var(--bl-ink-2);line-height:1.7;max-width:640px;}
.bl-hero-nums{display:flex;gap:22px;font-size:12px;color:var(--bl-ink-3);}
.bl-hero-nums b{display:block;font-size:18px;color:var(--bl-ink);font-variant-numeric:tabular-nums;}
.bl-hero-act{display:flex;gap:10px;flex:none;}

/* 区块标题条 */
.bl-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;position:relative;}
.bl-bar-t{margin:0;font-size:17px;font-weight:600;color:var(--bl-ink);}
.bl-bar-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bl-tip{font-size:12px;color:var(--bl-ink-3);}

/* 列表排序按钮组（无刷新切换，见 js/theme.js 末段） */
.bl-tabs{display:inline-flex;align-items:center;gap:2px;background:var(--bl-line-2);border-radius:17px;padding:2px;}
.bl-tab{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:15px;font-size:13px;color:var(--bl-ink-2);transition:background .15s,color .15s;}
.bl-tab:hover{color:var(--bl-primary);text-decoration:none;}
.bl-tab.on{background:var(--bl-surface);color:var(--bl-primary);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06);}

/* AJAX 换内容时的半透明提示 */
.bl-feed-loading{opacity:.55;pointer-events:none;transition:opacity .15s;}

/* 签到插件按钮（iqismart_com_sign）：原样输出带 position:absolute;right:10px 的内联样式，
   在本主题布局里会飘出容器盖住别的内容 —— 收进标题条内变为普通 flex 项 */
.bl-bar-r #sg_sign,
.bl-bar-r #sg_signed{position:static !important;margin:0 !important;}
.bl-bar-r #sg_sign a,
.bl-bar-r #sg_signed a{border-radius:15px;font-size:13px;height:26px;display:inline-flex;align-items:center;line-height:1;}
.bl-sort{display:inline-flex;align-items:center;}
.bl-sort-t{font-size:13px;color:var(--bl-ink-2);}
.bl-sort-t:hover{color:var(--bl-primary);text-decoration:none;}

/* 内容面板（白卡） */
.bl-panel{
	background:var(--bl-surface);border-radius:var(--bl-radius);
	box-shadow:var(--bl-shadow);padding:16px;
}

/* ---------- 卡片网格 ---------- */
.bl-grid{
	display:grid;
	grid-template-columns:repeat(var(--bl-cols,5),minmax(0,1fr));
	gap:20px 16px;
	margin:0;padding:0;list-style:none;
}
.bl-item{position:relative;min-width:0;}

.bl-cover{
	position:relative;display:block;width:100%;height:0;
	padding-bottom:var(--bl-pb,56.25%);        /* ★ 后台设置的封面比例 */
	border-radius:var(--bl-radius);overflow:hidden;
	background:linear-gradient(135deg,#eef1f5 0%,#e3e8ef 100%);
}
.bl-cover img{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
	transition:transform .35s ease;
}
.bl-item:hover .bl-cover img{transform:scale(1.045);}
.bl-ph{
	position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
	color:rgba(255,255,255,.9);
	background:linear-gradient(135deg, rgba(var(--bl-blue-rgb),.55) 0%, rgba(var(--bl-primary-rgb),.55) 100%);
}
.bl-ph i{font-size:26px;opacity:.85;}
.bl-ph b{font-size:13px;font-weight:500;opacity:.9;}

.bl-tag{
	position:absolute;z-index:2;display:inline-flex;align-items:center;gap:3px;
	padding:1px 6px;border-radius:4px;font-size:12px;line-height:18px;color:#fff;
	background:rgba(0,0,0,.45);backdrop-filter:blur(2px);
}
.bl-tag-view{left:6px;bottom:6px;}
.bl-tag-rep{right:6px;bottom:6px;}
.bl-tag-top{left:6px;top:6px;background:var(--bl-primary);}

.bl-title{
	margin:8px 0 4px;font-size:14px;font-weight:500;line-height:20px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	min-height:40px;word-break:break-word;
}
.bl-title a{color:var(--bl-ink);}
.bl-item:hover .bl-title a{color:var(--bl-primary);}
.bl-title i{font-size:12px;color:var(--bl-ink-3);}

.bl-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--bl-ink-3);}
.bl-up{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--bl-ink-3);}
.bl-up:hover{color:var(--bl-primary);}
.bl-ava{width:20px;height:20px;border-radius:50%;object-fit:cover;}
.bl-upname{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* 只在卡片模式下把日期推到行尾；行列表的时间要紧跟用户名居左（不限作用域会波及行列表） */
.bl-item .bl-date{margin-left:auto;}
.bl-acts{display:inline-flex;align-items:center;gap:10px;}
.bl-act{display:inline-flex;align-items:center;gap:3px;}
/* 卡片模式：封面角标已经有浏览量/回复数，这里的重复计数收起来，但保留插件钩子输出的内容（如点赞数） */
.bl-item .bl-acts .bl-act:not(.bl-act-like){display:none;}

/* 每行卡片数随屏幕降 */
@media (max-width:1200px){ .bl-grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:991px){ .bl-grid{grid-template-columns:repeat(3,minmax(0,1fr));} .bl-rail{display:none;} .bl-aside{display:none;} }
@media (max-width:767px){
	.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;}
	.bl-wrap{padding:12px 10px 32px;}
	.bl-hero{flex-direction:column;align-items:flex-start;padding:20px;}
	.bl-hero-t{font-size:21px;}
	.bl-panel{padding:10px;border-radius:10px;}
	.bl-title{font-size:13px;line-height:19px;min-height:38px;}
	.bl-tag{font-size:11px;line-height:16px;padding:0 5px;}
}
@media (max-width:420px){
	.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.bl-upname{max-width:64px;}
}

/* ---------- 行列表（图文关闭时的紧凑模式） ---------- */
.bl-rows{list-style:none;margin:0;padding:0;}
.bl-rows .bl-row{
	display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--bl-line-2);
}
.bl-rows .bl-row:first-child{padding-top:0;}
.bl-rows .bl-row:last-child{border-bottom:0;padding-bottom:0;}
.bl-row-cover{
	flex:0 0 168px;width:168px;height:96px;border-radius:6px;overflow:hidden;
	background:linear-gradient(135deg,#eef1f5,#e3e8ef);
}
.bl-row-cover img{width:100%;height:100%;object-fit:cover;}
.bl-row-body{flex:1 1 auto;min-width:0;}
.bl-row-t{font-size:15px;font-weight:500;line-height:22px;margin-bottom:4px;}
.bl-row-t a{color:var(--bl-ink);}
.bl-row-t a:hover{color:var(--bl-primary);}
.bl-row-desc{
	font-size:13px;color:var(--bl-ink-3);line-height:19px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	margin-bottom:6px;
}
.bl-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--bl-ink-3);}
.bl-row-forum{color:var(--bl-primary);background:rgba(var(--bl-primary-rgb),.09);padding:1px 7px;border-radius:4px;}
.bl-dot{opacity:.5;}
.bl-row-acts{display:inline-flex;align-items:center;gap:10px;margin-left:auto;}
@media (max-width:767px){
	.bl-row-cover{flex:0 0 112px;width:112px;height:68px;}
	.bl-row-t{font-size:14px;line-height:20px;}
	.bl-row-desc{-webkit-line-clamp:1;}
	.bl-row-acts{margin-left:0;}
}

/* ---------- 右栏卡片 ---------- */
.bl-card{
	background:var(--bl-surface);border-radius:var(--bl-radius);
	box-shadow:var(--bl-shadow);padding:14px 16px;margin-bottom:16px;
}
.bl-card-h{
	margin:0 0 10px;font-size:15px;font-weight:600;color:var(--bl-ink);
	display:flex;align-items:center;justify-content:space-between;
}
.bl-card-hs{font-size:12px;color:var(--bl-ink-3);font-weight:400;}
/* 排行榜卡片的标题（bl_rank.inc.htm 用的是 h2.bl-card-ht，不带 .bl-card-h 的 flex） */
.bl-card-ht{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--bl-ink);}
.bl-rank-list{list-style:none;margin:0;padding:0;}
.bl-rank-i{display:flex;align-items:center;gap:8px;padding:7px 0;min-width:0;}
.bl-rank-no{
	flex:none;width:18px;font-size:13px;font-weight:700;color:var(--bl-ink-3);
	font-variant-numeric:tabular-nums;text-align:center;
}
.bl-rank-no.top{color:var(--bl-primary);}
.bl-rank-t{flex:1 1 auto;min-width:0;font-size:13px;color:var(--bl-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bl-rank-t:hover{color:var(--bl-primary);}
.bl-rank-v{font-style:normal;font-size:12px;color:var(--bl-ink-3);flex:none;}
.bl-site-brief{font-size:13px;color:var(--bl-ink-2);line-height:1.7;}
.bl-site .bl-card-ht{margin-bottom:8px;}
.bl-site-nums{display:flex;gap:18px;margin-top:12px;}
.bl-site-nums span{font-size:12px;color:var(--bl-ink-3);}
.bl-site-nums b{display:block;font-size:16px;color:var(--bl-ink);font-variant-numeric:tabular-nums;}

/* ---------- 帖子详情页（三栏） ---------- */
.bl-threadcard{margin-bottom:16px;}
.bl-threadcard .card,
.bl-repcard .card{background:transparent;box-shadow:none;border:0;margin:0;}
.bl-threadcard .card-body,
.bl-repcard .card-body{padding:0;}
.bl-repcard{margin-bottom:0;}
.bl-reptitle-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
/* haya_post_info 的旧「只看楼主 / 排序」是整页跳转链接，本主题用无刷新按钮条替代 */
.bl-main .haya-post-info-post-orderby{display:none !important;}
.bl-rsortbar{display:inline-flex;align-items:center;gap:2px;background:var(--bl-line-2);border-radius:15px;padding:2px;}
.bl-rsort{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:13px;font-size:12px;color:var(--bl-ink-2);}
.bl-rsort:hover{color:var(--bl-primary);text-decoration:none;}
.bl-rsort.on{background:var(--bl-surface);color:var(--bl-primary);font-weight:600;}
.bl-rep-only,
.bl-rep-clear{display:inline-flex;align-items:center;height:24px;padding:0 10px;font-size:12px;color:var(--bl-ink-2);}
.bl-rep-only:hover,
.bl-rep-clear:hover{color:var(--bl-primary);text-decoration:none;}
.bl-rep-only.on{color:#fff;background:var(--bl-primary);border-radius:13px;}
.bl-backbtn{display:flex;align-items:center;justify-content:center;max-width:320px;margin:16px auto 0;}
.bl-aside-post{width:100%;margin-bottom:16px;}
/* 楼主信息卡 */
.bl-usercard .avatar-5{width:72px;height:72px;border-radius:50%;object-fit:cover;}
.bl-usercard-name{margin:8px 0 0;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.bl-usercard-name a{color:var(--bl-ink);}
.bl-usercard-name a:hover{color:var(--bl-primary);}
/* 用户组徽标（用户名右侧） */
.bl-badge-g{
	display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;
	font-size:11px;font-weight:500;line-height:18px;vertical-align:middle;
	color:var(--bl-primary);background:rgba(var(--bl-primary-rgb),.1);max-width:96px;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ---------- 版块页 ---------- */
.bl-crumb{margin:0 0 12px;font-size:13px;color:var(--bl-ink-3);}
.bl-crumb ol{list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:0;flex-wrap:wrap;}
.bl-crumb li+li::before{content:"/";margin-right:8px;color:var(--bl-line);}
.bl-crumb a{color:var(--bl-ink-3);}
.bl-crumb a:hover{color:var(--bl-primary);}
.bl-crumb .on a{color:var(--bl-ink);}

.bl-fhead{
	display:flex;align-items:center;gap:16px;
	background:var(--bl-surface);border-radius:var(--bl-radius);box-shadow:var(--bl-shadow);
	padding:18px 20px;
}
.bl-fhead-ico{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none;background:var(--bl-line-2);}
.bl-fhead-body{flex:1 1 auto;min-width:0;}
.bl-fhead-t{margin:0 0 4px;font-size:20px;font-weight:600;}
.bl-fhead-d{font-size:13px;color:var(--bl-ink-3);line-height:1.6;margin-bottom:6px;}
.bl-fhead-nums{display:flex;gap:16px;font-size:12px;color:var(--bl-ink-3);}
.bl-fhead-nums b{color:var(--bl-ink);font-size:14px;}
.bl-fhead-post{flex:none;}
@media (max-width:767px){
	.bl-fhead{flex-wrap:wrap;gap:12px;padding:14px;}
	.bl-fhead-ico{width:48px;height:48px;border-radius:10px;}
	.bl-fhead-t{font-size:17px;}
	.bl-fhead-post{width:100%;}
}
.bl-mods{display:flex;flex-wrap:wrap;gap:10px;}
.bl-mod-u{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--bl-ink-2);}
.bl-mod-u img{border-radius:50%;}
.bl-mod-t{font-size:13px;font-weight:600;margin:0 0 6px;color:var(--bl-ink);}
.bl-mod-sec+.bl-mod-sec{margin-top:12px;}
.bl-mod-c{color:var(--bl-ink-2);line-height:1.7;}
/* 卡片里的审核勾选框（原核心模板用 bootstrap 的 mt-3 mr-2，卡片布局下会顶出格）
   绝对定位到左上角，平时半透明，hover 卡片才完全显现 */
.bl-modcb{
	position:absolute;left:8px;top:8px;z-index:3;margin:0;
	width:16px;height:16px;cursor:pointer;opacity:.55;transition:opacity .15s;
}
.bl-item:hover .bl-modcb{opacity:1;}

/* ---------- 分页 ---------- */
.bl-pager{margin:18px 0 0;}
.bl-pager .pagination{margin:0;}
.bl-pager .page-link{
	border:0;border-radius:8px;margin:0 3px;color:var(--bl-ink-2);
	background:var(--bl-surface);min-width:34px;text-align:center;font-size:13px;
}
.bl-pager .page-link:hover{background:rgba(var(--bl-primary-rgb),.1);color:var(--bl-primary);}
.bl-pager .page-item.active .page-link{background:var(--bl-primary);color:#fff;}

/* ---------- 空态 / 返回顶部 / 页脚注 ---------- */
.bl-empty{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
	padding:56px 0;color:var(--bl-ink-3);font-size:14px;
}
.bl-empty i{font-size:34px;opacity:.5;}

.bl-top{
	position:fixed;right:24px;bottom:28px;z-index:1030;
	width:44px;height:44px;border:0;border-radius:50%;
	background:var(--bl-surface);color:var(--bl-ink-2);
	box-shadow:0 4px 14px rgba(0,0,0,.12);font-size:18px;cursor:pointer;
	display:none;
}
.bl-top.show{display:flex;align-items:center;justify-content:center;}
.bl-top:hover{color:var(--bl-primary);}
.bl-footnote{max-width:1400px;margin:0 auto 20px;padding:0 16px;font-size:12px;color:var(--bl-ink-3);text-align:right;}

/* ---------- 个人中心（复用核心 my 模板，只换皮） ---------- */
.bl-mynav.nav-tabs{border-bottom:1px solid var(--bl-line-2);}
.bl-mynav .nav-link{border:0;color:var(--bl-ink-2);font-size:14px;padding:8px 14px;}
.bl-mynav .nav-link.active{color:var(--bl-primary);background:transparent;border-bottom:2px solid var(--bl-primary);}
.bl-grid-my{margin-top:4px;}

/* ---------- 核心元素跟随主题 ---------- */
.card{border:0;border-radius:var(--bl-radius);box-shadow:var(--bl-shadow);background:var(--bl-surface);}
.card-header{background:transparent;border-bottom:1px solid var(--bl-line-2);}
.btn-primary{background:var(--bl-primary);border-color:var(--bl-primary);}
.btn-primary:hover,.btn-primary:focus{background:var(--bl-primary-hover);border-color:var(--bl-primary-hover);}
.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(var(--bl-primary-rgb),.25);}
.btn-outline-primary{color:var(--bl-primary);border-color:var(--bl-primary);}
.btn-outline-primary:hover{background:var(--bl-primary);border-color:var(--bl-primary);}
.nav-tabs .nav-link{color:var(--bl-ink-2);}
.nav-tabs .nav-link.active{color:var(--bl-primary);border-color:transparent transparent var(--bl-primary);background:transparent;}
.breadcrumb{background:var(--bl-surface);border-radius:var(--bl-radius);}
.form-control:focus{border-color:var(--bl-primary);box-shadow:0 0 0 .2rem rgba(var(--bl-primary-rgb),.18);}
.dropdown-menu{border:0;border-radius:10px;box-shadow:var(--bl-shadow-h);}
.alert{border-radius:var(--bl-radius);border:0;}

/* 帖子页（核心模板不覆盖，只做轻量换皮，保证与列表页同一套语言） */
#body .thread{margin-bottom:0;}
.thread .card-body{line-height:1.85;}
.message img{border-radius:6px;}
.post_list .media{padding:14px 0;border-bottom:1px solid var(--bl-line-2);}
.post_list .media:last-child{border-bottom:0;}

/* 可点击卡片（核心 .tap 用 data-href 整行跳转）保持手型 */
.bl-row.tap{cursor:pointer;}

/* 打印：隐藏导航与侧栏 */
@media print{
	.bl-nav,.bl-rail,.bl-aside,.bl-top,.bl-pager{display:none !important;}
	.bl-wrap{max-width:none;padding:0;}
}
