/**
 * Front End PM — 仿古卷轴风（仅视觉覆盖，不改变 DOM/逻辑）
 * 依赖 fep-common-style、fep-ripro-style 之后加载
 */
#fep-wrapper {
	--fep-antique-paper: #f3ead8;
	--fep-antique-paper-2: #ebe0cb;
	--fep-antique-ink: #2a2218;
	--fep-antique-ink-muted: #5c4f3d;
	--fep-antique-cinnabar: #8f3a32;
	--fep-antique-cinnabar-soft: #b85c4a;
	--fep-antique-gold: #9a7349;
	--fep-antique-gold-line: #c4a574;
	--fep-antique-border: #7a6548;
	--fep-antique-shadow: rgba(42, 34, 24, 0.12);
	font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "FangSong", serif;
	color: var(--fep-antique-ink);
	box-sizing: border-box;
}

#fep-wrapper *,
#fep-wrapper *::before,
#fep-wrapper *::after {
	box-sizing: inherit;
}

/* 外框：双勾边 + 浅宣纸底；防止子项长串撑出横向滚动 */
#fep-wrapper {
	margin: 12px auto;
	max-width: min(1200px, 100%);
	padding: 0;
	overflow-x: hidden;
	background:
		linear-gradient(180deg, rgba(255, 252, 245, 0.92) 0%, rgba(243, 234, 216, 0.98) 100%),
		repeating-linear-gradient(
			90deg,
			transparent,
			transparent 2px,
			rgba(122, 101, 72, 0.03) 2px,
			rgba(122, 101, 72, 0.03) 3px
		);
	border: 1px solid var(--fep-antique-gold-line);
	outline: 1px solid var(--fep-antique-border);
	outline-offset: 3px;
	border-radius: 2px;
	box-shadow:
		0 12px 40px var(--fep-antique-shadow),
		inset 0 0 80px rgba(196, 165, 116, 0.08);
}

.fep-container {
	max-width: none;
	margin: 0;
	padding: 20px 22px 28px;
	background: transparent;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* 顶栏 */
#fep-header {
	background: linear-gradient(180deg, #faf6ec 0%, var(--fep-antique-paper) 100%);
	border: 1px solid var(--fep-antique-gold-line);
	border-radius: 2px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
	margin-bottom: 16px;
	padding: 14px 18px;
}

#fep-header strong {
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--fep-antique-ink);
}

.fep-header-welcome {
	color: var(--fep-antique-cinnabar) !important;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.fep-header-unread-text,
.fep-header-box-size {
	color: var(--fep-antique-ink-muted) !important;
}

.fep-header-avatar,
#fep-header .avatar {
	border: 2px solid var(--fep-antique-gold-line) !important;
	box-shadow: 0 2px 8px var(--fep-antique-shadow);
}

/* 头部：卷轴纸纹 + 双线框（匾额感），顶行紧凑单行 */
/* RiPro 默认 #fep-header{display:flex} + 子级 flex:1 被我们写成 flex:none 会导致子块不拉满、右侧大留白，必须改回块级铺宽 */
#fep-wrapper #fep-header.fep-table {
	--fep-header-pad-x: 16px;
	/* 左侧约 30% 偏实，右侧约 70% 宽度渐隐进纸纹 */
	--fep-strip-fade-start: 30%;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background:
		repeating-linear-gradient(0deg, transparent, transparent 1px, rgba(107, 83, 68, 0.045) 1px, rgba(107, 83, 68, 0.045) 2px),
		linear-gradient(168deg, #fffdf6 0%, var(--fep-antique-paper) 42%, #ebe0cb 100%) !important;
	border: 1px solid #5c473a !important;
	border-radius: 4px !important;
	padding: 14px var(--fep-header-pad-x) 12px !important;
	margin-bottom: 18px !important;
	box-shadow:
		inset 0 0 0 1px rgba(255, 250, 240, 0.88),
		inset 0 -2px 14px rgba(107, 83, 68, 0.06),
		0 10px 28px rgba(42, 34, 24, 0.11) !important;
	transition: box-shadow 0.25s ease;
	position: relative;
	overflow-x: hidden !important;
	overflow-y: visible !important;
}

#fep-wrapper #fep-header.fep-table::before {
	content: "";
	position: absolute;
	inset: 4px;
	border: 1px solid rgba(196, 165, 116, 0.38);
	border-radius: 2px;
	pointer-events: none;
}

/* 悬停不改变阴影/位移，避免页面「跳动」 */
#fep-wrapper #fep-header.fep-table:hover {
	transform: none !important;
	box-shadow:
		inset 0 0 0 1px rgba(255, 250, 240, 0.88),
		inset 0 -2px 14px rgba(107, 83, 68, 0.06),
		0 10px 28px rgba(42, 34, 24, 0.11) !important;
}

#fep-wrapper #fep-header.fep-table > div {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	align-items: stretch !important;
}

/*
 * style.css 中 .fep-table > div > div { display:table-cell } 会套在 #fep-header 内层，
 * table-cell 随内容撑宽，公告单行省略与 overflow 全部失效，必须改回 block。
 */
#fep-wrapper #fep-header.fep-table > div > div {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

/* 第一行：只向右侧「吃进」头部右 padding，底框铺到箭头所指内沿；左侧不动 */
#fep-wrapper #fep-header .fep-header-top-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 8px 12px !important;
	width: calc(100% + var(--fep-header-pad-x)) !important;
	max-width: none !important;
	margin: 0 calc(var(--fep-header-pad-x) * -1) 10px 0 !important;
	padding: 7px 12px 7px 10px !important;
	box-sizing: border-box !important;
	background: linear-gradient(
		to right,
		rgba(255, 252, 245, 0.6) 0%,
		rgba(255, 252, 245, 0.56) var(--fep-strip-fade-start),
		rgba(255, 252, 245, 0.32) 58%,
		rgba(255, 252, 245, 0.1) 88%,
		rgba(255, 252, 245, 0) 100%
	) !important;
	border: 1px solid rgba(122, 101, 72, 0.11) !important;
	border-radius: 6px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65) !important;
}

#fep-wrapper #fep-header .fep-header-strip--welcome {
	position: relative;
	margin-bottom: 0 !important;
	flex: 0 1 auto !important;
	flex-shrink: 1 !important;
	min-width: 0 !important;
	align-self: center !important;
	padding: 4px 10px 4px 18px !important;
	border-left: none !important;
	background: linear-gradient(90deg, rgba(143, 58, 50, 0.11) 0%, transparent 85%) !important;
	border-radius: 4px !important;
	box-shadow: inset 3px 0 0 var(--fep-antique-cinnabar) !important;
}

#fep-wrapper #fep-header .fep-header-strip--welcome strong {
	font-family: "Songti SC", "NSimSun", "SimSun", "Noto Serif SC", serif !important;
	font-size: 1.05rem !important;
	font-weight: 650 !important;
	color: var(--fep-antique-ink) !important;
	letter-spacing: 0.12em !important;
	text-shadow: none !important;
	padding-bottom: 0 !important;
}

#fep-wrapper #fep-header .fep-header-strip--welcome strong::after {
	display: none !important;
}

#fep-wrapper #fep-header .fep-header-strip--welcome::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	background: var(--fep-antique-cinnabar);
	border-radius: 1px;
	box-shadow: 0 0 0 2px rgba(196, 165, 116, 0.45);
}

/* 未读：margin-left:auto 顶到行右，整句单行不换行，内容在条内居右 */
#fep-wrapper #fep-header .fep-header-strip--unread {
	margin-bottom: 0 !important;
	margin-left: auto !important;
	flex: 1 1 0% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	text-align: right !important;
	padding: 5px 6px 5px 8px !important;
	background: linear-gradient(
		to right,
		rgba(255, 252, 247, 0.22) 0%,
		rgba(243, 234, 216, 0.18) var(--fep-strip-fade-start),
		rgba(243, 234, 216, 0.1) 58%,
		rgba(243, 234, 216, 0.03) 88%,
		transparent 100%
	) !important;
	border: 1px solid rgba(122, 101, 72, 0.09) !important;
	border-right: none !important;
	border-radius: 6px 0 0 6px !important;
	border-left: 3px solid rgba(166, 124, 82, 0.4) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
	color: var(--fep-antique-ink-muted) !important;
	font-size: 0.86rem !important;
	line-height: 1.45 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	direction: ltr !important;
}

#fep-wrapper #fep-header .fep-header-strip--unread span {
	color: var(--fep-antique-cinnabar) !important;
	background: rgba(143, 58, 50, 0.09) !important;
	border: 1px solid rgba(143, 58, 50, 0.2);
	border-radius: 3px !important;
	padding: 2px 7px !important;
	font-weight: 600 !important;
	font-size: 0.94em !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
}

#fep-wrapper #fep-header .fep-header-strip--unread span:hover {
	background: rgba(143, 58, 50, 0.13) !important;
	transform: none !important;
}

/* 公告区：不向右负边距，避免底框画出头部内框线（越界）；渐隐由 notice-body::before 负责 */
#fep-wrapper #fep-header .fep-header-notice-wrap {
	margin-top: 6px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 18px 0 0 !important;
	box-sizing: border-box !important;
	border-top: 1px solid rgba(122, 101, 72, 0.13) !important;
	position: relative !important;
	display: block !important;
}

#fep-wrapper #fep-header .fep-header-notice-wrap::before {
	content: "提示" !important;
	position: absolute !important;
	top: -10px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	background: linear-gradient(180deg, #fffef9, var(--fep-antique-paper)) !important;
	padding: 2px 12px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-family: "Songti SC", "NSimSun", "SimSun", "Noto Serif SC", serif !important;
	letter-spacing: 0.32em !important;
	color: var(--fep-antique-gold) !important;
	border: 1px solid var(--fep-antique-gold-line) !important;
	border-radius: 2px !important;
	box-shadow: 0 2px 6px var(--fep-antique-shadow);
}

/* 公告底框：内联底色 + ::before 叠在文字下层：从 --fep-strip-fade-start 起向右渐隐进纸纹 */
#fep-wrapper #fep-header .fep-header-notice-body {
	position: relative;
	z-index: 0;
	isolation: isolate;
	overflow: hidden !important;
	overflow-x: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	color: var(--fep-antique-ink-muted) !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	font-family: "Songti SC", "NSimSun", "SimSun", "Noto Serif SC", serif !important;
	line-height: 1.55 !important;
	padding: 12px 18px !important;
	margin: 0 !important;
	border-top: 1px solid rgba(122, 101, 72, 0.06) !important;
	border-bottom: 1px solid rgba(122, 101, 72, 0.05) !important;
	border-right: none !important;
	border-radius: 8px !important;
	/* 去掉右侧大块 inset 虚化，否则白底会像提前「断」在箭头前 */
	box-shadow:
		inset 18px 0 18px -10px rgba(255, 252, 247, 0.88),
		0 2px 18px rgba(42, 34, 24, 0.05),
		inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

#fep-wrapper #fep-header .fep-header-notice-body::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 0;
	/* 右侧「隐藏」加大：更早叠纸色、更高不透明度，底框更明显地融进卷轴 */
	background: linear-gradient(
		to right,
		transparent 0%,
		transparent max(12%, calc(var(--fep-strip-fade-start) - 12%)),
		rgba(243, 234, 216, 0.55) var(--fep-strip-fade-start),
		rgba(241, 232, 214, 0.88) 52%,
		rgba(239, 228, 208, 0.97) 72%,
		var(--fep-antique-paper) 90%,
		var(--fep-antique-paper) 100%
	);
}

#fep-wrapper #fep-header .fep-header-notice-body p {
	margin: 0 0 0.5em;
	position: relative;
	z-index: 0;
}

#fep-wrapper #fep-header .fep-header-notice-body p:last-child {
	margin-bottom: 0;
}

/* 公告内层：叠在 ::before 之上；超长单行省略（纯文本节点需 block + 明确宽度链） */
#fep-wrapper #fep-header .fep-header-notice-inner {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	position: relative;
	z-index: 1;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* 桌面：与默认相同，保留断点便于覆盖主题 */
@media screen and (min-width: 769px) {
	#fep-wrapper #fep-header .fep-header-notice-inner {
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}
	#fep-wrapper #fep-header .fep-header-notice-inner p {
		display: inline !important;
		margin: 0 !important;
		max-width: 100% !important;
	}
	#fep-wrapper #fep-header .fep-header-notice-inner p + p::before {
		content: " ";
	}
}

@media screen and (max-width: 768px) {
	#fep-wrapper #fep-header.fep-table {
		--fep-header-pad-x: 18px;
		--fep-strip-fade-start: 28%;
	}
	#fep-wrapper #fep-header .fep-header-top-row {
		flex-wrap: nowrap !important;
	}
	#fep-wrapper #fep-header .fep-header-strip--unread {
		text-align: right !important;
		justify-content: flex-end !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		flex: 1 1 0% !important;
		margin-left: auto !important;
		min-width: 0 !important;
		border-right: 1px solid rgba(122, 101, 72, 0.09) !important;
		border-radius: 6px !important;
	}
	#fep-wrapper #fep-header .fep-header-notice-inner {
		overflow: hidden !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}
	#fep-wrapper #fep-header .fep-header-notice-inner p {
		display: inline !important;
		margin: 0 !important;
	}
	#fep-wrapper #fep-header .fep-header-notice-inner p + p::before {
		content: none !important;
	}
}

/* 覆盖 style.css：悬停不上浮、不挤动内边距 */
#fep-wrapper #fep-header.fep-table {
	transition: none !important;
}
#fep-wrapper #fep-header .fep-header-unread-text span {
	transition: none !important;
}
#fep-wrapper #fep-header .fep-header-notice-body {
	transition: none !important;
}
#fep-wrapper #fep-header .fep-header-unread-text span:hover {
	transform: none !important;
}
#fep-wrapper #fep-header .fep-header-notice-body:hover {
	padding: 12px 18px !important;
	box-shadow:
		inset 18px 0 18px -10px rgba(255, 252, 247, 0.88),
		0 2px 18px rgba(42, 34, 24, 0.05),
		inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

/* 前台公告：后台配色（CSS 变量由模板内联） */
#fep-wrapper #fep-header .fep-header-notice-wrap--custom::before {
	content: var(--fep-fn-badge-label) !important;
	color: var(--fep-fn-badge-text) !important;
	background: linear-gradient(180deg, var(--fep-fn-badge-bg), var(--fep-fn-badge-bg)) !important;
	border-color: var(--fep-fn-badge-border) !important;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-body {
	color: var(--fep-fn-text) !important;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner {
	background: var(--fep-fn-inner-bg, transparent);
	border-radius: 6px;
	box-sizing: border-box;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner--filled {
	padding: 8px 10px;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner--has-icon {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	white-space: normal !important;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner--has-icon .fep-header-notice-text {
	flex: 1 1 auto;
	min-width: 0;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-icon {
	flex-shrink: 0;
	color: var(--fep-fn-icon);
	line-height: 1;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-icon .dashicons {
	font-size: 22px;
	width: 22px;
	height: 22px;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-icon .fep-notice-icon-img {
	display: block;
	max-height: 26px;
	width: auto;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h1,
#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h2,
#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h3,
#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h4,
#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h5,
#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text h6 {
	color: var(--fep-fn-heading) !important;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text a:not(.fep-notice-btn) {
	color: var(--fep-fn-link) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-text a.fep-notice-btn {
	display: inline-block;
	margin-top: 4px;
	padding: 5px 14px;
	border-radius: 6px;
	text-decoration: none !important;
	font-weight: 600;
	background: var(--fep-fn-btn-bg) !important;
	color: var(--fep-fn-btn-text) !important;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

#fep-wrapper #fep-header .fep-header-notice-close {
	position: absolute;
	top: 6px;
	right: 8px;
	z-index: 4;
	margin: 0;
	padding: 2px 8px;
	border: none;
	background: transparent;
	color: var(--fep-fn-close);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	border-radius: 4px;
}

#fep-wrapper #fep-header .fep-header-notice-close:hover {
	background: rgba(0, 0, 0, 0.05);
}

@media screen and (min-width: 769px) {
	#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner:not(.fep-header-notice-inner--has-icon) .fep-header-notice-text {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner:not(.fep-header-notice-inner--has-icon) .fep-header-notice-text p {
		display: inline;
		margin: 0;
		max-width: 100%;
	}

	#fep-wrapper #fep-header .fep-header-notice-wrap--custom .fep-header-notice-inner:not(.fep-header-notice-inner--has-icon) .fep-header-notice-text p + p::before {
		content: " ";
	}
}

/* 菜单钮：匾额感 */
#fep-menu {
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(122, 101, 72, 0.25);
}

#fep-menu .fep-button,
#fep-menu a.fep-button,
#fep-menu a {
	background: linear-gradient(180deg, #faf5ea 0%, var(--fep-antique-paper-2) 100%) !important;
	border: 1px solid var(--fep-antique-border) !important;
	border-radius: 2px !important;
	color: var(--fep-antique-ink) !important;
	font-weight: 600;
	letter-spacing: 0.05em;
	box-shadow: 0 2px 0 rgba(42, 34, 24, 0.06);
	transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#fep-menu a:hover,
#fep-menu a.fep-button-active,
#fep-menu .fep-button:hover,
#fep-menu .fep-button-active {
	background: linear-gradient(180deg, var(--fep-antique-cinnabar-soft) 0%, var(--fep-antique-cinnabar) 100%) !important;
	border-color: #6b2a24 !important;
	color: #fff9f0 !important;
	box-shadow: 0 4px 14px rgba(143, 58, 50, 0.35);
}

/* 当前选中菜单上的未读角标：浅色底+白字，避免 (1未) 看不清 */
#fep-menu a.fep-button-active .fep-font-red,
#fep-menu a.fep-button-active .fep_unread_message_count,
#fep-menu .fep-button-active .fep-font-red,
#fep-menu .fep-button-active .fep_unread_message_count {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.22) !important;
	padding: 1px 6px !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18) !important;
}

/* 主内容区（含联系管理员 / newmessage 表单与 .fep-help-text） */
#fep-wrapper #fep-content {
	background: rgba(255, 252, 245, 0.55);
	border: 1px solid var(--fep-antique-gold-line);
	border-radius: 2px;
	padding: 14px 16px;
	margin-top: 0;
	margin-bottom: 14px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	transition: none !important;
}
#fep-wrapper #fep-content:hover {
	transform: none !important;
}

/* 主题未包 #fep-wrapper 时仍限制 #fep-content 宽度（避免长串撑版） */
#fep-content {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow-x: hidden;
}

#fep-content a:not(.fep-button):not(.fep-button-active) {
	color: var(--fep-antique-cinnabar);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#fep-content a:not(.fep-button):not(.fep-button-active):hover {
	color: #6b241c;
}

/* 通用按钮 */
#fep-wrapper .fep-button,
#fep-wrapper a.fep-button {
	background: linear-gradient(180deg, #faf5ea 0%, var(--fep-antique-paper-2) 100%);
	border: 1px solid var(--fep-antique-border);
	color: var(--fep-antique-ink);
	border-radius: 2px;
	font-family: inherit;
	letter-spacing: 0.04em;
}

#fep-wrapper .fep-button:hover,
#fep-wrapper .fep-button-active,
#fep-wrapper a.fep-button-active {
	background: linear-gradient(180deg, var(--fep-antique-cinnabar-soft) 0%, var(--fep-antique-cinnabar) 100%);
	border-color: #6b2a24;
	color: #fff9f0;
}

/* 搜索、输入 */
.fep-messagebox-search-form-field,
#fep-wrapper input[type="text"],
#fep-wrapper input[type="search"],
#fep-wrapper input[type="email"],
#fep-wrapper input[type="password"],
#fep-wrapper select,
#fep-wrapper textarea {
	background: #fffdf8 !important;
	border: 1px solid var(--fep-antique-border) !important;
	border-radius: 2px !important;
	color: var(--fep-antique-ink) !important;
	font-family: inherit;
	box-shadow: inset 0 2px 4px rgba(42, 34, 24, 0.04);
}

.fep-messagebox-search-form-field:focus,
#fep-wrapper input:focus,
#fep-wrapper select:focus,
#fep-wrapper textarea:focus {
	border-color: var(--fep-antique-cinnabar) !important;
	box-shadow: inset 0 2px 4px rgba(42, 34, 24, 0.04), 0 0 0 2px rgba(143, 58, 50, 0.15);
	outline: none;
}

/* 列表与卡片 */
.fep-action-table,
.fep-message,
.fep-per-message,
#fep-content-single-heads,
.fep-odd-even > div {
	background: rgba(255, 253, 248, 0.85) !important;
	border: 1px solid rgba(122, 101, 72, 0.28) !important;
	border-radius: 2px !important;
	box-shadow: 0 2px 8px var(--fep-antique-shadow);
}

.fep-message .fep-message-title-heading,
.fep-per-message .fep-message-title {
	background: linear-gradient(180deg, #efe6d4 0%, #e5d9c4 100%) !important;
	border-bottom: 1px solid rgba(122, 101, 72, 0.25) !important;
	color: var(--fep-antique-ink) !important;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.fep-odd-even > div:nth-child(odd) {
	background: rgba(250, 246, 236, 0.95) !important;
}

.fep-odd-even > div:nth-child(even) {
	background: rgba(255, 252, 245, 0.9) !important;
}

#fep-content-single-heads .fep-message-head:hover,
#fep-content-single-heads .fep-message-head-active {
	background: linear-gradient(180deg, rgba(184, 92, 74, 0.15) 0%, rgba(143, 58, 50, 0.12) 100%) !important;
	border-color: var(--fep-antique-cinnabar) !important;
}

/* 提示条 */
.fep-error,
.fep-wp-error {
	background: #f9ebe8 !important;
	border: 1px solid #c17a6a !important;
	color: #5c2a22 !important;
	border-radius: 2px;
}

.fep-success {
	background: #eef6ed !important;
	border: 1px solid #6a8f5c !important;
	color: #2d3d28 !important;
	border-radius: 2px;
}

#fep-notification-bar {
	background: #f9ebe8 !important;
	border-color: var(--fep-antique-cinnabar) !important;
	border-radius: 2px;
}

/* 页脚 */
#fep-footer {
	background: linear-gradient(180deg, var(--fep-antique-paper-2) 0%, #dfd2bb 100%);
	border: 1px solid var(--fep-antique-gold-line);
	border-radius: 2px;
	color: var(--fep-antique-ink-muted);
	font-size: 12px;
	letter-spacing: 0.06em;
	padding: 10px;
}

#fep-footer a {
	color: var(--fep-antique-cinnabar) !important;
}

/* 附件、表格细线 */
#fep-wrapper table {
	border-collapse: collapse;
}

#fep-wrapper table th,
#fep-wrapper table td {
	border-color: rgba(122, 101, 72, 0.22) !important;
}

.fep-font-red {
	color: var(--fep-antique-cinnabar) !important;
}

/* 自动建议 */
#fep-result {
	background: var(--fep-antique-paper) !important;
	border: 1px solid var(--fep-antique-border) !important;
}

#fep-result li a {
	color: var(--fep-antique-ink) !important;
}

/* 发送消息页顶部提示（.fep-help-text--pro：联系管理员 / newmessage，多段 h3+ul 易撑破） */
#fep-wrapper #fep-content .fep-help-text--pro,
#fep-wrapper #fep-content .fep-help-text {
	font-family: inherit;
	border-radius: 8px !important;
	box-shadow: 0 3px 18px rgba(42, 34, 24, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

#fep-wrapper #fep-content .fep-help-text--pro h3,
#fep-wrapper #fep-content .fep-help-text h3,
#fep-wrapper #fep-content .fep-help-text--pro p,
#fep-wrapper #fep-content .fep-help-text p {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

#fep-wrapper #fep-content .fep-help-text--pro ul,
#fep-wrapper #fep-content .fep-help-text ul {
	max-width: 100% !important;
	padding-left: 1.25em !important;
	box-sizing: border-box !important;
}

#fep-wrapper #fep-content .fep-help-text--pro li,
#fep-wrapper #fep-content .fep-help-text li {
	color: var(--fep-antique-ink-muted);
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

#fep-wrapper #fep-content .fep-help-text--pro a,
#fep-wrapper #fep-content .fep-help-text a {
	word-break: break-all !important;
	overflow-wrap: anywhere !important;
}

/* 未包在 #fep-wrapper 内的短代码等 */
#fep-content .fep-help-text--pro,
#fep-content .fep-help-text {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* ========== 会话详情页：明亮卡片（主次分明，参考现代评论/回复布局）========== */
#fep-wrapper #fep-content.fep-view-thread--modern,
#fep-content.fep-view-thread--modern {
	background: #f6f7f9 !important;
	border-radius: 12px !important;
	padding: 18px 20px 22px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
	color: #202124 !important;
	box-shadow: 0 1px 3px rgba(60, 64, 67, 0.08) !important;
}

#fep-wrapper #fep-content.fep-view-thread--modern a:not(.fep-button):not(.fep-button-active) {
	color: #1a73e8;
	text-decoration: none;
}
#fep-wrapper #fep-content.fep-view-thread--modern a:not(.fep-button):not(.fep-button-active):hover {
	text-decoration: underline;
}

#fep-wrapper .fep-thread-view.fep-message {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#fep-wrapper .fep-thread-hero {
	background: #fff !important;
	border: 1px solid #e8eaed !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	margin: 0 0 16px !important;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.06) !important;
}

#fep-wrapper .fep-thread-hero__title {
	margin: 0 0 10px !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: #202124 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
}

#fep-wrapper .fep-thread-hero__participants {
	font-size: 13px !important;
	color: #5f6368 !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* 客户端：管理员尚未回复时的蓝色提示 */
#fep-wrapper .fep-thread-pending-notice,
.fep-thread-pending-notice {
	display: block !important;
	margin: 0 0 14px !important;
	padding: 11px 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: #1557b0 !important;
	background: linear-gradient(180deg, #e8f1ff 0%, #d9e8fc 100%) !important;
	border: 1px solid #8ab4f8 !important;
	border-radius: 10px !important;
	box-shadow: 0 1px 2px rgba(26, 115, 232, 0.12) !important;
}

/* 阅读回执已关闭：兜底隐藏（避免缓存或第三方再注入） */
#fep-wrapper .fep-read-receipt,
#fep-wrapper .fep-read-receipt-individual,
#fep-content .fep-read-receipt,
#fep-content .fep-read-receipt-individual {
	display: none !important;
}

/* 站内消息/公告列表：作者列留白、摘要更易读（fep-message-list-new + 公告表格行） */
#fep-wrapper .fep-message-list-new .fep-message-row {
	padding-left: 14px !important;
	padding-right: 14px !important;
}
#fep-wrapper .fep-message-list-new .fep-author-col {
	padding-left: 6px !important;
	margin-right: 16px !important;
}
#fep-wrapper .fep-message-list-new .fep-message-excerpt,
#fep-wrapper .fep-message-list-new .fep-title-col .fep-message-excerpt {
	color: #5f6368 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-top: 6px !important;
}
#fep-wrapper .fep-message-list-new .fep-title-col a {
	color: var(--fep-antique-cinnabar) !important;
	font-weight: 600 !important;
}

#fep-wrapper #fep-table.fep-table .fep-table-row .fep-column-author {
	padding: 10px 12px 10px 16px !important;
	box-sizing: border-box !important;
}
#fep-wrapper #fep-table.fep-table .fep-table-row .fep-column-title {
	padding: 10px 16px 10px 12px !important;
	box-sizing: border-box !important;
}
#fep-wrapper #fep-table.fep-table .fep-table-row .fep-message-excerpt {
	color: #5f6368 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-top: 6px !important;
}
#fep-wrapper #fep-table.fep-table .fep-column-title a {
	font-weight: 600 !important;
}

/* 发布公告：指定用户单行小框 */
#fep-wrapper .fep-announcement-target-users-input,
#fep-wrapper #announcement_target_users {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 8px 10px !important;
	line-height: 1.35 !important;
}

#fep-wrapper .fep-msg-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 14px !important;
	background: #fff !important;
	border: 1px solid #e8eaed !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	margin: 0 0 12px !important;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.06) !important;
	transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

#fep-wrapper .fep-msg-card:hover {
	box-shadow: 0 2px 8px rgba(60, 64, 67, 0.1) !important;
	border-color: #dadce0 !important;
}

#fep-wrapper .fep-per-message--reply {
	margin-left: 28px !important;
	background: #f8f9fa !important;
	border-color: #e3e5e8 !important;
}

#fep-wrapper .fep-msg-card__avatar {
	flex-shrink: 0 !important;
}

#fep-wrapper .fep-msg-card__avatar-img {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

#fep-wrapper .fep-msg-card__main {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

#fep-wrapper .fep-msg-card__head {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px 10px !important;
	margin: 0 0 10px !important;
}

#fep-wrapper .fep-msg-card__name {
	font-weight: 700 !important;
	font-size: 15px !important;
	color: #202124 !important;
	line-height: 1.3 !important;
}

#fep-wrapper .fep-msg-badge {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 2px 8px !important;
	border-radius: 6px !important;
	line-height: 1.35 !important;
	vertical-align: middle !important;
}

#fep-wrapper .fep-msg-badge--staff {
	background: #e8f0fe !important;
	color: #1967d2 !important;
}

#fep-wrapper .fep-msg-badge--op {
	background: #e6f4ea !important;
	color: #137333 !important;
}

#fep-wrapper .fep-msg-badge--me {
	background: #fef7e0 !important;
	color: #b06000 !important;
}

#fep-wrapper .fep-msg-card .fep-msg-card__content.fep-message-content {
	background: transparent !important;
	color: #3c4043 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	box-shadow: none !important;
}

/* 管理员回复：正文区域浅色 + 红色虚线框 */
#fep-wrapper .fep-per-message-admin .fep-msg-card__content.fep-message-content {
	background: #fff8f7 !important;
	border: 1px dashed #c62828 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	margin-top: 2px !important;
}

#fep-wrapper .fep-msg-card .fep-message-content p {
	margin: 0 0 0.75em !important;
}
#fep-wrapper .fep-msg-card .fep-message-content p:last-child {
	margin-bottom: 0 !important;
}

#fep-wrapper .fep-msg-card__foot {
	margin-top: 12px !important;
	padding-top: 10px !important;
	border-top: 1px solid #f1f3f4 !important;
}

#fep-wrapper .fep-msg-card__time {
	font-size: 12px !important;
	color: #80868b !important;
	display: block !important;
}

/* 已读回执：弱化条样式，与页脚时间区分层次 */
#fep-wrapper .fep-msg-card .fep-read-receipt {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 12px 0 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}
#fep-wrapper .fep-msg-card .fep-read-receipt hr {
	display: none !important;
	margin: 0 !important;
	border: none !important;
}
#fep-wrapper .fep-msg-card .fep-read-receipt-individual {
	display: inline-block !important;
	margin: 0 !important;
	padding: 4px 9px !important;
	background: #f1f3f4 !important;
	color: #5f6368 !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
}

#fep-wrapper #fep-content.fep-view-thread--modern .fep-reply-form {
	background: #fff !important;
	border: 1px solid #e8eaed !important;
	border-radius: 12px !important;
	padding: 18px !important;
	margin-top: 8px !important;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.06) !important;
}

@media screen and (max-width: 600px) {
	#fep-wrapper .fep-per-message--reply {
		margin-left: 12px !important;
	}
	#fep-wrapper #fep-content.fep-view-thread--modern {
		padding: 14px 12px !important;
	}
}

/* 未登录：注册登录引导（主短代码 / 联系表单短代码） */
.fep-guest-login-cta {
	margin: 16px 0 24px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
}

#fep-wrapper .fep-guest-login-cta {
	margin: 8px 0 20px;
}

.fep-guest-login-cta__inner {
	max-width: 640px;
	margin: 0 auto;
	padding: 22px 26px 24px;
	background: linear-gradient(165deg, #fffdfb 0%, #faf6f0 45%, #f5efe6 100%);
	border: 1px solid rgba(154, 115, 73, 0.45);
	border-radius: 12px;
	box-shadow:
		0 8px 28px rgba(42, 34, 24, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
	text-align: center;
	box-sizing: border-box;
}

.fep-guest-login-cta__title {
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--fep-antique-ink, #2a2218);
	letter-spacing: 0.02em;
	line-height: 1.35;
}

.fep-guest-login-cta__lead {
	margin: 0 0 18px;
	font-size: 14px;
	color: var(--fep-antique-ink-muted, #5c4f3d);
	line-height: 1.55;
}

.fep-guest-login-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	justify-content: center;
	margin-bottom: 20px;
}

.fep-guest-login-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 108px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	box-sizing: border-box;
}

.fep-guest-login-cta__btn--primary {
	background: linear-gradient(180deg, var(--fep-antique-cinnabar-soft, #b85c4a) 0%, var(--fep-antique-cinnabar, #8f3a32) 100%);
	color: #fff9f0 !important;
	border: 1px solid #6b2a24;
	box-shadow: 0 2px 10px rgba(143, 58, 50, 0.35);
}

.fep-guest-login-cta__btn--primary:hover {
	color: #fff !important;
	box-shadow: 0 4px 16px rgba(143, 58, 50, 0.45);
	transform: translateY(-1px);
}

.fep-guest-login-cta__btn--secondary {
	background: #fffdf8;
	color: var(--fep-antique-cinnabar, #8f3a32) !important;
	border: 1px solid var(--fep-antique-gold-line, #c4a574);
	box-shadow: 0 1px 3px rgba(42, 34, 24, 0.06);
}

.fep-guest-login-cta__btn--secondary:hover {
	background: #fff;
	color: #6b241c !important;
}

.fep-guest-login-cta__benefits {
	margin: 0;
	padding: 16px 8px 4px;
	list-style: none;
	text-align: left;
	border-top: 1px solid rgba(122, 101, 72, 0.2);
}

.fep-guest-login-cta__benefits li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fep-antique-ink, #2a2218);
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.fep-guest-login-cta__benefits li:last-child {
	margin-bottom: 0;
}

.fep-guest-login-cta__benefit-tag {
	flex-shrink: 0;
	display: inline-block;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 700;
	color: #fff9f0;
	background: linear-gradient(180deg, #9a7349 0%, #7a6548 100%);
	border-radius: 4px;
	letter-spacing: 0.03em;
}

@media screen and (max-width: 480px) {
	.fep-guest-login-cta__inner {
		padding: 18px 16px 20px;
	}
	.fep-guest-login-cta__title {
		font-size: 1.05rem;
	}
	.fep-guest-login-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.fep-guest-login-cta__btn {
		width: 100%;
	}
}
