/* ==========================================================================
   AIHotTool Forum Broadsheet — 论坛皮肤
   --------------------------------------------------------------------------
   唯一新增的样式文件。硬约束（与父主题 design-system/aihottool-editorial 一致）：
     · 颜色、字号、间距、字体、动效全部取自父主题 assets/css/tokens.css；
       本文件不出现任何十六进制颜色字面量（白色用 var(--card)，纸白用 var(--paper)）；
     · 形状语言：直角（--radius: 0）+ 1px 细线 + 零投影；胶囊只用于徽章（--radius-pill）；
     · 品红 --accent 只用于非文字信息（细线、点、色块、边框），
       承载正文级文字一律用 --accent-deep（6:1 对比度）；
     · 不使用 !important（bbPress 自带样式已在 inc/setup.php 里整体关闭）。
   类名前缀：论坛特有部分是 forum-，其余优先复用父主题的通用类。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 外壳与页头
   -------------------------------------------------------------------------- */

.forum-main {
	min-width: 0;
}

.forum-crumbs {
	padding-top: var(--space-5);
}

.forum-hero .breadcrumbs {
	margin-bottom: var(--space-4);
}

.forum-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
}

/* 论坛页脚链接区在窄屏堆叠，宽屏四栏（父主题已给出四栏栅格，这里只补窄屏节奏） */
.forum-drawer__note {
	margin: var(--space-5) 0 0;
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

/* 头部通知入口：图标按钮 + 未读徽章 */
.forum-notify {
	position: relative;
}

.forum-badge {
	position: absolute;
	top: -0.35rem;
	right: -0.35rem;
	min-width: 1.25rem;
	padding: 0 0.3rem;
	background: var(--accent);
	border-radius: var(--radius-pill);
	color: var(--card);
	font-family: var(--font-mono);
	font-size: 0.65rem;
	line-height: 1.25rem;
	text-align: center;
}

/* 侧栏里的徽章是行内元素，不能绝对定位 */
.forum-me__links .forum-badge,
.forum-aside .forum-badge {
	position: static;
	display: inline-block;
	margin-left: var(--space-2);
	vertical-align: middle;
}

/* 头部 CTA 在 375px 会让一行放不下（品牌 + 通知 + 搜索 + 汉堡已经占满），
   小屏收进抽屉，48rem 起显示。 */
.forum-header-cta {
	display: none;
}

@media (min-width: 48rem) {
	.forum-header-cta {
		display: inline-flex;
	}
}

/* --------------------------------------------------------------------------
   2. 刊头与首页区块
   -------------------------------------------------------------------------- */

.forum-masthead__side {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}

.forum-masthead__hint {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

/* 版块索引：窄屏单列、768px 起两列 */
.forum-index {
	display: grid;
	gap: var(--space-5);
}

@media (min-width: 48rem) {
	.forum-index {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-6);
	}
}

.forum-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	height: 100%;
	padding: var(--space-5);
	background: var(--card);
	border: var(--hairline);
	transition: border-color var(--dur) var(--ease);
}

.forum-card:hover {
	border-color: var(--ink-strong);
}

.forum-card__head {
	display: flex;
	gap: var(--space-3);
	align-items: baseline;
	justify-content: space-between;
}

.forum-card__title {
	margin: 0;
	font-size: var(--fs-h4);
	letter-spacing: var(--ls-tight);
}

.forum-card__desc {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-card__desc > * + * {
	margin-top: var(--space-3);
}

.forum-card__subs {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--hairline);
}

.forum-card__sub {
	margin: 0;
	border-bottom: var(--hairline);
}

.forum-card__sub a {
	display: flex;
	gap: var(--space-3);
	align-items: baseline;
	justify-content: space-between;
	padding-block: var(--space-2);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-card__sub a:hover {
	color: var(--accent-deep);
}

.forum-card__subs-count {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.forum-card__stats {
	display: flex;
	gap: var(--space-5);
	margin: auto 0 0;
	padding-top: var(--space-3);
	border-top: var(--hairline);
}

.forum-card__stat {
	display: flex;
	gap: var(--space-2);
	align-items: baseline;
}

.forum-card__stat dt {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-card__stat dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-variant-numeric: tabular-nums;
}

.forum-card__last {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

.forum-card__last-label {
	margin-right: var(--space-2);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.forum-card__last-meta,
.forum-card__last-author {
	color: var(--ink-mute);
}

/* 发帖指引：三栏模板 */
.forum-guide {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 48rem) {
	.forum-guide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 80rem) {
	.forum-guide {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.forum-guide__col {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.forum-guide__title {
	margin: 0;
	padding-bottom: var(--space-3);
	border-bottom: var(--hairline-ink);
	font-size: var(--fs-h4);
}

.forum-guide__tpl {
	margin: 0;
	font-size: var(--fs-small);
	white-space: pre-wrap;
}

.forum-guide__note {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

/* --------------------------------------------------------------------------
   3. 主题列表（行式索引，报纸目录感）
   -------------------------------------------------------------------------- */

.forum-topic-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--hairline);
}

.forum-topic-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-3);
	margin: 0;
	padding: var(--space-5) 0;
	border-bottom: var(--hairline);
	transition: background-color var(--dur) var(--ease);
}

@media (min-width: 48rem) {
	.forum-topic-row {
		grid-template-columns: minmax(0, 1fr) 5rem 9rem;
		gap: var(--space-5);
		align-items: start;
	}
}

.forum-topic-row:hover {
	background: var(--card);
}

/* 未读：左侧品红细线（非文字信息，允许使用 --accent） */
.forum-topic-row.is-unread {
	border-left: 2px solid var(--accent);
	padding-left: var(--space-4);
}

.forum-topic-row__main {
	min-width: 0;
}

.forum-topic-row__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-items: center;
	margin-bottom: var(--space-2);
}

.forum-topic-row__title {
	margin: 0 0 var(--space-2);
	font-size: var(--fs-h4);
	line-height: 1.35;
	letter-spacing: var(--ls-tight);
}

.forum-topic-row__meta {
	margin: 0;
}

.forum-topic-row__count,
.forum-topic-row__fresh {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-items: baseline;
}

.forum-topic-row__figure {
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.forum-topic-row__label {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-topic-row__fresh {
	flex-direction: column;
	gap: var(--space-1);
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

.forum-topic-row__fresh-author {
	color: var(--ink-soft);
}

.forum-topic-row__actions,
.forum-card__row-actions {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
}

.forum-topic-row__actions a {
	color: var(--ink-mute);
}

.forum-topic-row__actions a:hover {
	color: var(--accent-deep);
}

/* --------------------------------------------------------------------------
   4. 主题页头（标题 + 元信息 + 订阅 / 版主工具）
   -------------------------------------------------------------------------- */

.forum-topic-head {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-bottom: var(--space-5);
	border-bottom: var(--hairline-ink);
}

.forum-topic-head__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-items: center;
}

.forum-topic-head__title {
	margin: 0;
	font-size: var(--fs-h1);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-display);
	text-wrap: balance;
}

.forum-topic-head__meta {
	margin: 0;
}

.forum-topic-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: 0.04em;
}

.forum-topic-head__actions a {
	color: var(--ink-mute);
	border-bottom: 1px solid var(--rule);
}

.forum-topic-head__actions a:hover {
	color: var(--accent-deep);
	border-bottom-color: var(--accent-deep);
}

/* --------------------------------------------------------------------------
   5. 楼层（「读者来信」：左作者列 + 右正文）
   -------------------------------------------------------------------------- */

.forum-replies {
	margin-top: var(--space-7);
	border-top: var(--hairline);
}

.forum-replies .forum-post,
.bbp-replies-list .forum-post {
	border-bottom: var(--hairline);
}

/* 盖楼模式：bbPress 的 walker 会插入 .bbp-threaded-replies */
.bbp-replies-list,
.bbp-threaded-replies {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bbp-threaded-replies {
	margin-left: var(--space-5);
	padding-left: var(--space-4);
	border-left: var(--hairline);
}

@media (max-width: 47.99rem) {
	.bbp-threaded-replies {
		margin-left: var(--space-3);
		padding-left: var(--space-3);
	}
}

.forum-post {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-4);
	padding-block: var(--space-6);
}

@media (min-width: 48rem) {
	.forum-post {
		grid-template-columns: 10rem minmax(0, 1fr);
		gap: var(--space-6);
	}
}

@media (min-width: 80rem) {
	.forum-post {
		grid-template-columns: 12rem minmax(0, 1fr);
	}
}

/* 首帖：抬头位置给一层纸面与更重的上边线，作为整页的「头条」 */
.forum-post--lead {
	margin-top: var(--space-6);
	padding: var(--space-6) var(--space-5);
	background: var(--card);
	border: var(--hairline);
	border-top: 3px solid var(--ink-strong);
}

@media (min-width: 48rem) {
	.forum-post--lead {
		padding: var(--space-7) var(--space-6);
	}
}

.forum-post--lead .forum-post__content {
	font-size: var(--fs-body-lg);
}

/* 未读楼层：左侧品红细线 + 楼层号加粗，颜色之外还有形状差异 */
.forum-post.is-unread {
	border-left: 2px solid var(--accent);
	padding-left: var(--space-4);
}

.forum-post.is-unread .forum-post__floor {
	color: var(--accent-deep);
	font-weight: 600;
}

.forum-post__body {
	min-width: 0;
}

.forum-post__head {
	margin-bottom: var(--space-3);
}

.forum-post__meta {
	margin: 0;
}

.forum-post__floor {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--ink-mute);
}

.forum-post__anchor {
	display: inline-flex;
	align-items: center;
	color: var(--ink-mute);
}

.forum-post__anchor .icon {
	width: 0.9rem;
	height: 0.9rem;
}

.forum-post__anchor:hover {
	color: var(--accent-deep);
}

.forum-post__content {
	max-width: var(--measure);
}

.forum-post__content > * + * {
	margin-top: var(--space-5);
}

/* 引用块（[quote] 或 <blockquote>）在楼层里更像信纸上的摘录 */
.forum-post__content blockquote {
	margin-inline: 0;
	padding: var(--space-4) var(--space-5);
	background: var(--paper);
	border-left: 2px solid var(--rule);
	font-family: var(--font-sans);
	font-size: var(--fs-small);
	font-style: normal;
	color: var(--ink-soft);
}

.forum-post__content blockquote cite {
	color: var(--ink-mute);
}

/* 长引用折叠：高度由 forum.js 通过 --forum-quote-limit 传入（唯一的动态值写法），
   没有 JS 时不会有 data-aihot-collapsed 属性，引用完整可见。 */
.forum-post__content blockquote[data-aihot-collapsed="true"] {
	max-height: var(--forum-quote-limit, 16rem);
	overflow: hidden;
}

.forum-quote-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-2);
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ink-strong);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}

.forum-quote-toggle:hover {
	color: var(--accent-deep);
	border-bottom-color: var(--accent-deep);
}

.forum-post__ip {
	margin-top: var(--space-2);
	font-family: var(--font-mono);
	font-size: 0.7rem;
	color: var(--ink-mute);
}

/* 作者列 */
.forum-author {
	display: flex;
	gap: var(--space-3);
	align-items: center;
	min-width: 0;
}

@media (min-width: 48rem) {
	.forum-author {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}
}

.forum-author__avatar {
	flex: none;
}

.forum-author__avatar img {
	width: 3rem;
	height: 3rem;
	border: var(--hairline);
	/* 直角头像：与父主题「直角 + 细线」的形状语言一致（不跟风圆形头像） */
	border-radius: var(--radius);
	object-fit: cover;
}

@media (min-width: 48rem) {
	.forum-author__avatar img {
		width: 3.5rem;
		height: 3.5rem;
	}
}

.forum-author__name {
	margin: 0;
	font-size: var(--fs-small);
	font-weight: 600;
	/* break-word 而非 anywhere：窄列里拉丁用户名会被拦腰截断（实测 Aloon → Aloo / n） */
	overflow-wrap: break-word;
}

.forum-author__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1);
	margin: 0;
}

.forum-author__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	color: var(--ink-mute);
}

@media (min-width: 48rem) {
	.forum-author__stats {
		flex-direction: column;
		gap: var(--space-1);
	}
}

.forum-author__stat {
	display: flex;
	gap: var(--space-2);
	align-items: baseline;
}

.forum-author__stat dt {
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.forum-author__stat dd {
	margin: 0;
	color: var(--ink-soft);
}

/* 操作条 */
.forum-post__foot {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	justify-content: space-between;
	margin-top: var(--space-5);
	padding-top: var(--space-3);
	border-top: var(--hairline);
}

.forum-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-items: center;
}

.forum-action {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 2rem;
	padding: 0.25rem 0.6rem;
	background: none;
	border: var(--hairline);
	border-radius: var(--radius);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: 0.04em;
	color: var(--ink-mute);
	cursor: pointer;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease),
		background-color var(--dur) var(--ease);
}

.forum-action .icon {
	width: 0.9rem;
	height: 0.9rem;
}

.forum-action:hover {
	border-color: var(--ink-strong);
	color: var(--ink);
}

.forum-action[aria-pressed="true"] {
	background: var(--accent-wash);
	border-color: var(--accent);
	color: var(--accent-deep);
}

.forum-action[disabled],
.forum-action[aria-disabled="true"] {
	cursor: not-allowed;
	color: var(--ink-mute);
	opacity: 0.6;
}

.forum-action__count {
	font-variant-numeric: tabular-nums;
	color: var(--ink-soft);
}

.forum-action--link {
	text-decoration: none;
}

/* 版主工具（bbPress 输出的 edit / trash / spam 等链接） */
.forum-post__foot .bbp-admin-links,
.forum-topic-head__actions .bbp-admin-links {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: 0.04em;
}

.forum-post__foot .bbp-admin-links a,
.forum-topic-head__actions .bbp-admin-links a {
	color: var(--ink-mute);
}

.forum-post__foot .bbp-admin-links a:hover,
.forum-topic-head__actions .bbp-admin-links a:hover {
	color: var(--accent-deep);
}

/* 举报浮层（forum.js 注入，无 JS 时不存在） */
.forum-report {
	margin-top: var(--space-4);
	padding: var(--space-5);
	background: var(--card);
	border: var(--hairline-ink);
}

.forum-report__title {
	margin: 0 0 var(--space-3);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.forum-report__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
}

/* 屏幕阅读器播报区（点赞/举报的结果） */
.forum-live {
	margin-top: var(--space-3);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-live.is-error {
	color: var(--danger);
}

/* @提及下拉（forum.js 注入，无 JS 时不存在） */
.forum-mention-menu {
	z-index: var(--z-overlay);
	max-height: 16rem;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
	background: var(--card);
	border: var(--hairline-ink);
}

.forum-mention-menu__item {
	margin: 0;
	padding: var(--space-2) var(--space-4);
	font-size: var(--fs-small);
	cursor: pointer;
}

.forum-mention-menu__item + .forum-mention-menu__item {
	border-top: var(--hairline);
}

.forum-mention-menu__item.is-active,
.forum-mention-menu__item:hover {
	background: var(--accent-wash);
	color: var(--accent-deep);
}

/* 通知列表里的已读态（forum.js 打上 .is-read） */
[data-aihot-notification].is-read {
	color: var(--ink-mute);
	background: var(--paper);
}

/* --------------------------------------------------------------------------
   6. 版块信息条与表单
   -------------------------------------------------------------------------- */

.forum-view__bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: center;
	justify-content: space-between;
	padding-bottom: var(--space-4);
	margin-bottom: var(--space-6);
	border-bottom: var(--hairline);
}

.forum-view__stats {
	display: flex;
	gap: var(--space-5);
	margin: 0;
}

.forum-view__stats > div {
	display: flex;
	gap: var(--space-2);
	align-items: baseline;
}

.forum-view__stats dt {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-view__stats dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-variant-numeric: tabular-nums;
}

.forum-view__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	font-family: var(--font-mono);
	font-size: var(--fs-label);
}

.forum-view__actions a:not(.btn) {
	color: var(--ink-mute);
	border-bottom: 1px solid var(--rule);
}

.forum-view__actions a:not(.btn):hover {
	color: var(--accent-deep);
	border-bottom-color: var(--accent-deep);
}

/* 表单 */
.forum-form {
	margin-top: var(--space-7);
}

.forum-form__form {
	margin: 0;
}

.forum-form__fieldset,
.bbp-form {
	margin: 0;
	padding: var(--space-5);
	background: var(--card);
	border: var(--hairline);
	border-top: 3px solid var(--ink-strong);
}

.forum-form__legend,
.bbp-form legend {
	display: block;
	width: 100%;
	margin-bottom: var(--space-4);
	padding: 0 0 var(--space-3);
	border-bottom: var(--hairline);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	font-weight: 500;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-form__body > * + * {
	margin-top: var(--space-4);
}

.forum-form__row {
	display: grid;
	gap: var(--space-4);
}

@media (min-width: 48rem) {
	.forum-form__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.forum-form__revisions {
	margin-top: var(--space-4);
	padding: var(--space-4);
	background: var(--paper);
	border: var(--hairline);
	border-top: var(--hairline);
}

.forum-form__revisions legend {
	margin-bottom: var(--space-2);
	border-bottom: 0;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--font-sans);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-form__submit {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: center;
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: var(--hairline);
}

/* 编辑器容器：给 WP 编辑器一个与纸面一致的边框 */
.forum-form__editor .wp-editor-container,
.forum-form__editor .bbp-the-content-wrapper {
	border: var(--hairline);
	background: var(--card);
}

.forum-form__editor .wp-editor-tools,
.forum-form__editor .quicktags-toolbar {
	border-bottom: var(--hairline);
	background: var(--paper);
}

.forum-form__editor textarea {
	border: 0;
	min-height: 12rem;
}

.forum-form__editor .wp-editor-tabs .wp-switch-editor {
	border-radius: var(--radius);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
}

/* 取消「回复某楼」的链接 */
.bbp-cancel-reply-to-link {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: 0.04em;
	color: var(--ink-mute);
	border-bottom: 1px solid var(--rule);
}

.bbp-cancel-reply-to-link:hover {
	color: var(--accent-deep);
	border-bottom-color: var(--accent-deep);
}

/* bbPress 的搜索表单（论坛搜索 / 成员主题搜索 / 回复搜索） */
.forum-search-form,
.bbp-search-form {
	margin-bottom: var(--space-6);
	max-width: 32rem;
}

.bbp-search-form .button {
	min-height: 2.75rem;
	padding: 0.6rem 1.1rem;
	background: var(--ink-strong);
	border: 1px solid var(--ink-strong);
	border-radius: var(--radius);
	color: var(--card);
	font-family: var(--font-sans);
	font-size: var(--fs-small);
	font-weight: 600;
	cursor: pointer;
}

.bbp-search-form .button:hover {
	background: var(--accent-deep);
	border-color: var(--accent-deep);
}

.form-allowed-tags {
	margin-bottom: var(--space-4);
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

/* 匿名发帖 / 登录表单（bbPress 默认部件，本主题只做容器级适配） */
.bbp-login-form .bbp-username,
.bbp-login-form .bbp-password,
.bbp-login-form .bbp-remember-me {
	margin-bottom: var(--space-4);
}

.bbp-login-form label {
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.bbp-login-form .bbp-remember-me label {
	display: flex;
	gap: var(--space-3);
	align-items: center;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--font-sans);
	font-size: var(--fs-small);
}

.bbp-login-form .bbp-submit-wrapper {
	margin-top: var(--space-4);
}

.bbp-login-form .button.submit {
	min-height: 2.75rem;
	padding: 0.65rem 1.3rem;
	background: var(--ink-strong);
	border: 1px solid var(--ink-strong);
	border-radius: var(--radius);
	color: var(--card);
	font-weight: 600;
	cursor: pointer;
}

.bbp-login-form .button.submit:hover {
	background: var(--accent-deep);
	border-color: var(--accent-deep);
}

/* --------------------------------------------------------------------------
   7. 成员页
   -------------------------------------------------------------------------- */

.forum-user__head {
	display: grid;
	gap: var(--space-5);
	padding-bottom: var(--space-6);
	border-bottom: var(--hairline-ink);
}

@media (min-width: 48rem) {
	.forum-user__head {
		grid-template-columns: 10rem minmax(0, 1fr);
		align-items: start;
	}
}

.forum-user__avatar img {
	width: 6rem;
	height: 6rem;
	border: var(--hairline);
	border-radius: var(--radius);
	object-fit: cover;
}

.forum-user__name {
	margin: 0 0 var(--space-3);
	font-size: var(--fs-h1);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-display);
}

.forum-user__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-4);
}

.forum-user__stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-6);
	margin: 0 0 var(--space-4);
}

.forum-user__stats > div {
	display: flex;
	gap: var(--space-2);
	align-items: baseline;
}

.forum-user__stats dt {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-user__stats dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-variant-numeric: tabular-nums;
}

.forum-user__bio {
	max-width: var(--measure);
	margin: 0 0 var(--space-3);
	color: var(--ink-soft);
}

.forum-user__site {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	overflow-wrap: anywhere;
}

.forum-user__nav {
	margin-top: var(--space-5);
	border-bottom: var(--hairline);
}

.forum-user__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.forum-user__nav li {
	margin: 0;
}

.forum-user__nav a {
	display: inline-block;
	padding-block: var(--space-3);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
	border-bottom: 2px solid transparent;
}

.forum-user__nav a:hover {
	color: var(--ink);
}

.forum-user__nav a[aria-current="page"] {
	color: var(--ink);
	border-bottom-color: var(--accent);
}

.forum-user__body {
	margin-top: var(--space-7);
}

.forum-user-view__head {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: var(--space-5);
}

.forum-user-view__title {
	margin: 0;
	font-size: var(--fs-h3);
}

.forum-user-view__head .bbp-search-form,
.forum-user-view__head .forum-search-form {
	margin-bottom: 0;
}

.forum-profile__section {
	margin-bottom: var(--space-7);
}

.forum-profile__title {
	margin: 0 0 var(--space-4);
	padding-bottom: var(--space-3);
	border-bottom: var(--hairline-ink);
	font-size: var(--fs-h4);
}

.forum-profile__facts {
	display: grid;
	gap: var(--space-4);
	margin: 0;
}

@media (min-width: 48rem) {
	.forum-profile__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.forum-profile__facts dt {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-profile__facts dd {
	margin: var(--space-1) 0 0;
	font-size: var(--fs-small);
}

.forum-profile__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--hairline);
}

.forum-profile__list li {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-4);
	align-items: baseline;
	justify-content: space-between;
	margin: 0;
	padding-block: var(--space-3);
	border-bottom: var(--hairline);
}

.forum-profile__list-meta {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.forum-profile__more {
	margin: var(--space-4) 0 0;
}

.forum-profile__actions {
	margin-top: var(--space-5);
}

/* --------------------------------------------------------------------------
   8. 搜索与空状态
   -------------------------------------------------------------------------- */

.forum-search-results {
	border-top: var(--hairline);
}

.forum-search-results .search-result:last-child {
	border-bottom: var(--hairline);
}

.forum-view .empty-state {
	border-top: var(--hairline);
}

/* --------------------------------------------------------------------------
   9. 侧栏（复用父主题 .aside-block，只补论坛专属列表）
   -------------------------------------------------------------------------- */

.forum-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.forum-nav__item {
	margin: 0;
	border-bottom: var(--hairline);
}

.forum-nav__link {
	display: flex;
	gap: var(--space-3);
	align-items: baseline;
	justify-content: space-between;
	padding-block: var(--space-3);
	font-size: var(--fs-small);
	font-weight: 500;
}

.forum-nav__count {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
	font-variant-numeric: tabular-nums;
}

.forum-nav__sub {
	margin: 0 0 var(--space-3);
	padding: 0 0 0 var(--space-4);
	list-style: none;
	border-left: var(--hairline);
}

.forum-nav__sub li {
	margin: 0;
}

.forum-nav__sub a {
	display: block;
	padding-block: var(--space-1);
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

.forum-nav__sub a:hover {
	color: var(--accent-deep);
}

.forum-me {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	margin-bottom: var(--space-4);
}

.forum-me__avatar {
	width: 2.5rem;
	height: 2.5rem;
	border: var(--hairline);
	border-radius: var(--radius);
}

.forum-me__name {
	margin: 0;
	font-size: var(--fs-small);
	font-weight: 600;
}

.forum-me__role {
	margin: 0;
}

.forum-me__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.forum-me__links li {
	margin: 0;
	padding-block: var(--space-2);
	border-bottom: var(--hairline);
}

.forum-me__links a {
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-me__links a:hover {
	color: var(--accent-deep);
}

.forum-aside__text {
	margin: 0 0 var(--space-4);
	font-size: var(--fs-small);
	color: var(--ink-mute);
}

.forum-aside__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.forum-aside__list {
	margin: 0 0 var(--space-4);
	padding-left: 1.2em;
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.forum-aside__more {
	margin: 0;
}

.forum-stats-mini {
	margin: 0;
}

.forum-stats-mini__row {
	display: flex;
	gap: var(--space-3);
	align-items: baseline;
	justify-content: space-between;
	padding-block: var(--space-2);
	border-bottom: var(--hairline);
}

.forum-stats-mini dt {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--ink-mute);
}

.forum-stats-mini dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   10. 分页与提示
   -------------------------------------------------------------------------- */

.forum-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: center;
	justify-content: space-between;
}

.forum-pagination__count {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	letter-spacing: 0.04em;
	color: var(--ink-mute);
}

/* bbPress 自己的分页容器（成员页与论坛搜索未覆写的部件） */
.bbp-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: center;
	justify-content: space-between;
	margin-block: var(--space-5);
	padding-top: var(--space-4);
	border-top: var(--hairline);
}

.bbp-pagination-count {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.bbp-pagination-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.bbp-pagination-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0 var(--space-3);
	border: var(--hairline);
	font-family: var(--font-mono);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.bbp-pagination-links .page-numbers:hover {
	border-color: var(--ink-strong);
	color: var(--ink);
}

.bbp-pagination-links .page-numbers.current {
	background: var(--ink-strong);
	border-color: var(--ink-strong);
	color: var(--card);
}

/* bbPress 默认提示条（未覆写部件仍会输出，做中性化处理） */
.bbp-template-notice {
	margin-block: var(--space-4);
	padding: var(--space-4) var(--space-5);
	background: var(--card);
	border: var(--hairline);
	border-left: 3px solid var(--ink-strong);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.bbp-template-notice.error {
	border-left-color: var(--danger);
	color: var(--danger);
}

.bbp-template-notice.info {
	border-left-color: var(--accent);
	background: var(--accent-wash);
}

.bbp-template-notice ul {
	margin: 0;
	padding-left: 1.2em;
}

/* --------------------------------------------------------------------------
   11. bbPress 未覆写部件的兜底
   --------------------------------------------------------------------------
   只做「不写就会难看/不可用」的最小修正，不复制 bbPress 自带皮肤的排版。
   涉及部件：form-user-login、form-protected、form-anonymous、form-allowed-tags、
   user-subscriptions、user-engagements、form-user-edit、pagination-search、
   form-topic-search、form-reply-search、alert-topic-lock。
   -------------------------------------------------------------------------- */

.bbp-breadcrumb {
	margin-bottom: var(--space-4);
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.bbp-breadcrumb a {
	color: inherit;
}

.bbp-author-avatar img,
.avatar {
	border-radius: var(--radius);
}

.bbp-topic-tags,
.bbp-topic-meta,
.bbp-row-actions,
.bbp-topic-pagination,
.bbp-admin-links,
.bbp-reply-permalink,
.bbp-topic-permalink {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.bbp-topic-tags a,
.bbp-topic-meta a {
	color: var(--ink-soft);
}

.bbp-topic-tags a:hover,
.bbp-topic-meta a:hover {
	color: var(--accent-deep);
}

.bbp-topic-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-3);
	align-items: baseline;
	margin: var(--space-2) 0 0;
}

.bbp-user-section > * + * {
	margin-top: var(--space-5);
}

.bbp-user-section h3,
.bbp-user-section .entry-title {
	margin: 0 0 var(--space-4);
	font-size: var(--fs-h4);
}

.bbp-user-profile h3 {
	margin-top: var(--space-5);
}

.bbp-user-profile hr {
	margin-block: var(--space-6);
}

.bbp-user-description,
.bbp-user-website,
.bbp-user-forum-role,
.bbp-user-last-activity,
.bbp-user-topic-count,
.bbp-user-reply-count {
	margin: 0 0 var(--space-2);
	font-size: var(--fs-small);
	color: var(--ink-soft);
}

.bbp-author-topics-started .entry-title,
.bbp-author-replies-created .entry-title {
	margin: 0 0 var(--space-5);
}

.bbp-reply-header,
.bbp-topic-header {
	font-family: var(--font-mono);
	font-size: var(--fs-label);
	color: var(--ink-mute);
}

.bbp-reply-ip,
.bbp-topic-ip {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	color: var(--ink-mute);
}

.bbp-no-reply,
.bbp-no-topic,
.bbp-forum-closed {
	margin-top: var(--space-6);
}

/* 主题锁定提示（alert-topic-lock 部件） */
.bbp-topic-lock {
	margin-top: var(--space-5);
}

/* --------------------------------------------------------------------------
   12. 响应式收尾（375 / 768 / 1280 三档）
   -------------------------------------------------------------------------- */

@media (max-width: 47.99rem) {
	/* 楼层改单列后，作者列变成横向一行，头像与徽章不再占据整列 */
	.forum-post {
		padding-block: var(--space-5);
	}

	.forum-post__author {
		padding-bottom: var(--space-3);
		border-bottom: var(--hairline);
	}

	.forum-topic-row__fresh {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: var(--space-2);
	}

	.forum-topic-head__title {
		font-size: var(--fs-h2);
	}

	.forum-pagination {
		justify-content: flex-start;
	}

	.forum-user__nav ul {
		gap: var(--space-4);
	}
}

@media (min-width: 80rem) {
	/* 宽屏：正文栏更宽，侧栏保持 4 栏宽（父主题的 page-layout--aside 栅格） */
	.forum-post__content {
		max-width: 44rem;
	}
}

/* 窄屏下侧栏折到正文之后（父主题 .entry-aside 已 order: 2），
   这里只把侧栏内容做成两列，避免一长条单列滚动。 */
@media (min-width: 48rem) and (max-width: 63.99rem) {
	.entry-aside .aside-block {
		display: inline-block;
		width: calc(50% - var(--space-3));
		margin-right: var(--space-5);
		vertical-align: top;
	}
}

/* --------------------------------------------------------------------------
   13. 打印：只留正文与楼层
   -------------------------------------------------------------------------- */

@media print {
	.forum-actions,
	.forum-post__foot,
	.forum-form,
	.forum-user__nav,
	.entry-aside,
	.forum-topic-head__actions,
	.forum-badge,
	.forum-header-cta,
	.forum-notify {
		display: none;
	}

	.forum-post,
	.forum-post--lead {
		border: 0;
		background: none;
		padding-inline: 0;
	}

	.forum-post__content {
		max-width: none;
	}
}

/* 窄屏作者行：统计换行到下一行，避免把用户名挤到逐字断行（实测 390px 下 "Aloon" 被断成两行） */
@media (max-width: 47.99rem) {
	.forum-author {
		flex-wrap: wrap;
	}

	.forum-author__stats {
		flex-basis: 100%;
	}
}