﻿/* =====================================================================
   SparkSeed 资源中心 · 00 设计令牌
   ---------------------------------------------------------------------
   唯一品牌色「火种绿」+ 中性灰阶。深浅两态，无多主题、无装饰渐变。
   ===================================================================== */

:root {
	/* 品牌：火种蓝（与全站 --ss-accent 同源） */
	--rc-accent: #2b6cd4;
	--rc-accent-hover: #2158b4;
	--rc-accent-soft: #ecf2fc;
	--rc-accent-line: rgba(43, 108, 212, .38);

	/* 语义色 */
	--rc-gold: #b7791f;
	--rc-gold-soft: #fdf6e7;
	--rc-danger: #c0392b;
	--rc-danger-soft: #fdeeec;

	/* 中性灰阶（zinc 冷灰） */
	--rc-text-1: #1c2128;
	--rc-text-2: #3f4852;
	--rc-text-3: #5b636c;
	--rc-line: #d7dce1;
	--rc-line-strong: #c3cad1;
	--rc-surface: #ffffff;
	--rc-surface-2: #f6f8fa;
	--rc-surface-3: #eef1f4;

	/* 阴影（全站仅两档） */
	--rc-shadow-1: 0 1px 2px rgba(15, 23, 42, .06);
	--rc-shadow-2: 0 8px 24px rgba(15, 23, 42, .10);

	/* 圆角三档 + 按钮 */
	--rc-radius-sm: 6px;
	--rc-radius-md: 10px;
	--rc-radius-lg: 14px;
	--rc-radius-btn: 8px;

	/* 字体与排版 */
	--rc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;
	--rc-fs-xs: 11px;
	--rc-fs-sm: 13px;
	--rc-fs-md: 14px;
	--rc-fs-lg: 16px;
	--rc-fs-xl: 20px;
	--rc-fs-2xl: 22px;

	/* 布局 */
	--rc-sidebar-w: 288px;
	--rc-gap: 20px;
	--rc-nav-h: 64px;
}

/* ---- 深色令牌：跟随 XF 原生 variation（月亮按钮）---- */
@media (prefers-color-scheme: dark) {
	:root[data-variation="alternate"] {
		--rc-accent: #5b93ea;
		--rc-accent-hover: #74a7ef;
		--rc-accent-soft: rgba(91, 147, 234, .16);
		--rc-accent-line: rgba(91, 147, 234, .45);

		--rc-gold: #d9a441;
		--rc-gold-soft: rgba(217, 164, 65, .12);
		--rc-danger: #e06c5a;
		--rc-danger-soft: rgba(224, 108, 90, .14);

		--rc-text-1: #e6edf3;
		--rc-text-2: #a9b4c1;
		--rc-text-3: #94a2b1;
		--rc-line: #2a3242;
		--rc-line-strong: #39445a;
		--rc-surface: #14181f;
		--rc-surface-2: #1c2230;
		--rc-surface-3: #232b38;

		--rc-shadow-1: 0 1px 2px rgba(0, 0, 0, .40);
		--rc-shadow-2: 0 8px 24px rgba(0, 0, 0, .45);
	}
}
/* 手动浅色主题优先于系统深色偏好 */
:root[data-variation="default"] body .fkResourceSidebarSummary,
:root[data-variation="default"] body .fkResourceAuthorResources { border-color: #cfe0ff; background: #f4f8ff; box-shadow: 0 8px 18px rgba(43,108,212,.07); }
:root[data-variation="default"] body .fkResourceSidebarAuthor .avatar,
:root[data-variation="default"] body .fkResourceSidebarFallback { background: #e4efff; color: #3b78d8; }
:root[data-variation="default"] body .fkResourceSidebarAuthor b { color: #3678e4; }
:root[data-variation="default"] body .fkResourceSidebarAuthor > span:not(.fkResourceSidebarFallback),
:root[data-variation="default"] body .fkResourceSidebarStats dt,
:root[data-variation="default"] body .fkResourceSidebarRating small,
:root[data-variation="default"] body .fkResourceAuthorResourceList > a small { color: #8ba4c8; }
:root[data-variation="default"] body .fkResourceSidebarStats,
:root[data-variation="default"] body .fkResourceSidebarRating,
:root[data-variation="default"] body .fkResourceAuthorResources > h2,
:root[data-variation="default"] body .fkResourceAuthorResourceList > a { border-color: #d5e3f8; }
:root[data-variation="default"] body .fkResourceSidebarStats dd,
:root[data-variation="default"] body .fkResourceSidebarRating b,
:root[data-variation="default"] body .fkResourceAuthorResources > h2 { color: #385979; }
:root[data-variation="default"] body .fkResourceAuthorResourceList > a b { color: #4370a4; }
:root[data-variation="default"] body .fkResourceAuthorResourceList > a p { color: #667f9f; }

/* 手动选择深色（XF variation 覆盖系统偏好） */
:root[data-variation="alternate"] {
	--rc-accent: #5b93ea;
	--rc-accent-hover: #74a7ef;
	--rc-accent-soft: rgba(91, 147, 234, .16);
	--rc-accent-line: rgba(91, 147, 234, .45);
	--rc-gold: #d9a441;
	--rc-gold-soft: rgba(217, 164, 65, .12);
	--rc-danger: #e06c5a;
	--rc-danger-soft: rgba(224, 108, 90, .14);
	--rc-text-1: #e6edf3;
	--rc-text-2: #a9b4c1;
	--rc-text-3: #94a2b1;
	--rc-line: #2a3242;
	--rc-line-strong: #39445a;
	--rc-surface: #14181f;
	--rc-surface-2: #1c2230;
	--rc-surface-3: #232b38;
	--rc-shadow-1: 0 1px 2px rgba(0, 0, 0, .40);
	--rc-shadow-2: 0 8px 24px rgba(0, 0, 0, .45);
}

/* 手动选择浅色 */
:root[data-variation="default"] {
	--rc-accent: #2b6cd4;
	--rc-accent-hover: #2158b4;
	--rc-accent-soft: #ecf2fc;
	--rc-accent-line: rgba(43, 108, 212, .38);
	--rc-gold: #b7791f;
	--rc-gold-soft: #fdf6e7;
	--rc-danger: #c0392b;
	--rc-danger-soft: #fdeeec;
	--rc-text-1: #1c2128;
	--rc-text-2: #3f4852;
	--rc-text-3: #5b636c;
	--rc-line: #d7dce1;
	--rc-line-strong: #c3cad1;
	--rc-surface: #ffffff;
	--rc-surface-2: #f6f8fa;
	--rc-surface-3: #eef1f4;
	--rc-shadow-1: 0 1px 2px rgba(15, 23, 42, .06);
	--rc-shadow-2: 0 8px 24px rgba(15, 23, 42, .10);
}

/* ---- 全局基础 ---- */
.fkResourcePage,
.fkResourceView,
.fkResourceSubmitPage {
	font-family: var(--rc-font);
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	line-height: 1.65;
}

.fkResourcePage :focus-visible,
.fkResourceView :focus-visible,
.fkResourceSubmitPage :focus-visible {
	outline: 2px solid var(--rc-accent);
	outline-offset: 2px;
	border-radius: var(--rc-radius-sm);
}
/* =====================================================================
   SparkSeed 资源中心 · 01 布局骨架（精选轮播通栏 + 侧栏/内容 双栏）
   ===================================================================== */

.fkResourcePage {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 20px 48px;
}

/* ---- 双栏：左侧分类栏 260px + 右侧内容 ---- */
.fkResourceLayout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: var(--rc-gap);
	align-items: start;
}

.fkResourceSideNav {
	position: sticky;
	top: calc(var(--rc-nav-h) + 12px);
	/* 分类铺开跟随页面滚动：不锁高度、无内滚滚动条 */
}

.fkResourceContent {
	min-width: 0;
}

@media (max-width: 980px) {
	.fkResourceLayout {
		grid-template-columns: 1fr;
	}

	.fkResourceSideNav {
		position: static;
	}

	.fkResourceContent {
		order: -1;
	}
}

@media (max-width: 640px) {
	.fkResourcePage {
		padding: 14px 14px 40px;
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 02 侧栏（mc9y 结构：fkResourceSideNav > block > fkCategoryList）
   ===================================================================== */

.fkResourceSideNav {
	min-width: 0;
}

.fkResourceSideNav .block {
	margin-bottom: var(--rc-gap);
}

.fkResourceSideNav .block-container {
	background: var(--rc-surface);
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
}

.fkResourceSideNav .block-header {
	margin: 0;
	padding: 12px 16px;
	font-size: var(--rc-fs-md);
	font-weight: 600;
	color: var(--rc-text-1);
	background: var(--rc-surface-2);
	border-bottom: 1px solid var(--rc-line);
	border-radius: 0;
}

/* ---- 分类树（铺开 + 可折叠） ---- */
.fkCategoryList {
	list-style: none;
	margin: 0;
	padding: 6px;
}

.fkCategoryItem {
	margin: 0;
}

.fkCategoryRow {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 2px 4px;
	border-radius: var(--rc-radius-sm);
}

.fkCategoryRow:hover {
	background: var(--rc-surface-2);
}

.fkCategoryRow.is-active {
	background: var(--rc-accent-soft);
}

.fkCategoryRow.is-active .fkCategoryTitle {
	color: var(--rc-accent);
	font-weight: 600;
}

/* 分组行加重 */
.fkCategoryItem--group > .fkCategoryRow .fkCategoryTitle {
	font-weight: 600;
}

/* 折叠钮（XF toggle：点击切换子列表 is-active） */
.fkCategoryToggler {
	flex: 0 0 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rc-text-3);
	font-size: 13px;
	cursor: pointer;
	border-radius: var(--rc-radius-sm);
	transition: background .12s ease, color .12s ease, transform .15s ease;
}

.fkCategoryToggler:hover {
	background: var(--rc-surface-3);
	color: var(--rc-accent);
}

.fkCategoryToggler--sub {
	flex: 0 0 20px;
	font-size: 12px;
}

/* 子列表：默认展开（is-active），点击 toggler 收起 */
.fkCategoryList--sub,
.fkCategoryList--sub2 {
	display: none;
	padding: 0 4px 6px 26px;
}

.fkCategoryList--sub2 {
	padding-left: 22px;
}

.fkCategoryList--sub.is-active,
.fkCategoryList--sub2.is-active {
	display: block;
}

.fkCategoryLink {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
	padding: 6px 8px;
	color: var(--rc-text-1);
	text-decoration: none;
	font-size: var(--rc-fs-md);
	border-radius: var(--rc-radius-sm);
}

.fkCategoryLink:hover {
	text-decoration: none;
	color: var(--rc-accent);
}

.fkCategoryIcon {
	flex: 0 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rc-text-3);
	font-size: 14px;
}

.fkCategoryRow.is-active .fkCategoryIcon {
	color: var(--rc-accent);
}

.fkCategoryTitle {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fkCategoryCount {
	flex: 0 0 auto;
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-2);
	background: var(--rc-surface-3);
	border-radius: 999px;
	padding: 1px 8px;
	line-height: 1.5;
}

.fkCategoryRow.is-active .fkCategoryCount {
	background: var(--rc-accent);
	color: #fff;
}

.fkCategoryList--sub {
	padding: 0 0 4px 30px;
}

.fkCategoryList--sub .fkCategoryLink {
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
	padding: 5px 8px;
}

.fkCategoryList--sub2 .fkCategoryLink {
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
	padding: 4px 8px;
}

/* ---- 侧栏迷你帖子列表 ---- */
.fkMiniThreadList {
	list-style: none;
	margin: 0;
	padding: 4px 6px;
}

.fkMiniThread {
	margin: 0;
}

.fkMiniThread a {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 8px 10px;
	border-radius: var(--rc-radius-sm);
	color: var(--rc-text-1);
	text-decoration: none;
}

.fkMiniThread a:hover {
	background: var(--rc-surface-2);
	text-decoration: none;
}

.fkMiniThread strong {
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fkMiniThread span {
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-3);
}

.fkMiniThread span b {
	color: var(--rc-text-2);
	font-weight: 500;
	margin-right: 6px;
}

@media (max-width: 980px) {
	.fkResourceSideNav .block-container {
		border-radius: var(--rc-radius-md);
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 03 工具区（mc9y：jiuyuResourceTools 搜索 + 计数 + 排序）
   ===================================================================== */

.jiuyuResourceTools {
	margin-bottom: var(--rc-gap);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* 资源中心过滤器 */
.jiuyuResourceTools { position: relative; }
.jiuyuResourceFilter { position: relative; z-index: 20; margin-left: auto; }
.jiuyuResourceFilter > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 11px;
	border: 1px solid var(--rc-accent-line);
	border-radius: 8px;
	background: var(--rc-surface);
	color: var(--rc-accent);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.jiuyuResourceFilter > summary::-webkit-details-marker { display: none; }
.jiuyuResourceFilter[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; background: var(--rc-accent-soft); }
.jiuyuResourceFilterPanel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px 12px;
	position: absolute;
	right: 0;
	top: 34px;
	width: 360px;
	padding: 15px;
	border: 1px solid var(--rc-accent-line);
	border-radius: 9px 0 9px 9px;
	background: var(--rc-surface);
	box-shadow: 0 14px 32px rgba(36, 75, 130, .18);
}
.jiuyuResourceFilterPanel label { display: grid; gap: 5px; color: var(--rc-text-2); font-size: 12px; font-weight: 600; }
.jiuyuResourceFilterPanel select { width: 100%; height: 34px; border: 1px solid var(--rc-line); border-radius: 7px; background: var(--rc-surface-2); color: var(--rc-text-1); padding: 0 8px; }
.jiuyuResourceFilterPanel .jiuyuResourceFilterCheck { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; min-height: 24px; }
.jiuyuResourceFilterPanel .jiuyuResourceFilterCheck input { accent-color: var(--rc-accent); }
.jiuyuResourceFilterActions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding-top: 2px; }
.jiuyuResourceFilterActions a { color: var(--rc-text-3); font-size: 12px; text-decoration: none; }
.jiuyuResourceFilterActions .button { min-height: 34px; padding: 0 13px; border-radius: 7px; font-size: 12px; }
@media (max-width: 700px) {
	.jiuyuResourceFilter { align-self: flex-end; margin-left: 0; }
	.jiuyuResourceFilterPanel { width: min(340px, calc(100vw - 32px)); }
}

/* ---- 搜索行 ---- */
.jiuyuResourceSearch {
	position: relative;
	display: flex;
	align-items: stretch;
	background: var(--rc-surface);
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
}

.jiuyuResourceSearch:focus-within {
	border-color: var(--rc-accent-line);
	box-shadow: 0 0 0 3px var(--rc-accent-soft);
}

.jiuyuResourceSearch-icon {
	display: flex;
	align-items: center;
	padding: 0 4px 0 14px;
	color: var(--rc-text-3);
	font-size: 15px;
}

.jiuyuResourceSearch-input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 12px 14px 12px 10px;
	font-size: var(--rc-fs-md);
	font-family: var(--rc-font);
	color: var(--rc-text-1);
}

.jiuyuResourceSearch-input::placeholder {
	color: var(--rc-text-3);
}

.jiuyuResourceSearch-input:focus {
	box-shadow: none;
	outline: 0;
}

.jiuyuResourceSearch-button {
	border-radius: 0;
}

.jiuyuResourceSearch-button .button-text {
	margin-left: 6px;
}

/* ---- 计数 + 排序行 ---- */
.jiuyuResourceToolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.jiuyuResourceCount {
	display: flex;
	align-items: baseline;
	gap: 5px;
	margin-right: auto;
}

.jiuyuResourceCount strong {
	font-size: var(--rc-fs-lg);
	font-weight: 700;
	color: var(--rc-text-1);
}

.jiuyuResourceCount span {
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
}

.jiuyuResourceSorts {
	display: flex;
	align-items: center;
	gap: 4px;
	background: var(--rc-surface);
	border: 1px solid var(--rc-line);
	border-radius: 999px;
	padding: 3px;
	box-shadow: var(--rc-shadow-1);
}

.jiuyuResourceSort {
	padding: 5px 14px;
	border-radius: 999px;
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
	text-decoration: none;
	white-space: nowrap;
}

.jiuyuResourceSort:hover {
	color: var(--rc-accent);
	text-decoration: none;
	background: var(--rc-accent-soft);
}

.jiuyuResourceSort.is-active {
	background: var(--rc-accent);
	color: #fff;
	font-weight: 500;
}

@media (max-width: 640px) {
	.jiuyuResourceSearch-button .button-text {
		display: inline;
	}

	.jiuyuResourceToolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.jiuyuResourceSorts {
		overflow-x: auto;
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 04 列表（mc9y structItem 三列行：图标 | 主列 | 元数据）
   ===================================================================== */

.jiuyuResourceList .block-container {
	background: var(--rc-surface);
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
}

.jiuyuResourceList .block-body {
	padding: 0;
}

.structItemContainer {
	display: block;
}

/* ---- 行：56px 图标 + 1fr 主列 + auto 元数据 ---- */
.structItem--resource {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 14px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--rc-line);
	transition: background .12s ease;
}

.structItem--resource:last-child {
	border-bottom: 0;
}

.structItem--resource:hover {
	background: var(--rc-surface-2);
}

/* ---- 图标列 ---- */
.structItem-iconContainer {
	width: 48px;
	height: 48px;
}

.fkResIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--rc-radius-md);
	overflow: hidden;
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	text-decoration: none;
}

.fkResIcon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fkResFallback {
	font-size: 20px;
	line-height: 1;
}

/* ---- 主列 ---- */
.structItem-title {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	font-size: var(--rc-fs-md);
	line-height: 1.5;
}

.fkResTitle {
	color: var(--rc-text-1);
	font-weight: 600;
	text-decoration: none;
}

.fkResTitle:hover {
	color: var(--rc-accent);
	text-decoration: none;
}

.fkResVersion {
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-3);
}

.fkResFlag {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: var(--rc-fs-xs);
	font-weight: 600;
	padding: 1px 8px;
	border-radius: 999px;
	line-height: 1.6;
	white-space: nowrap;
}

.fkResFlag--featured {
	background: var(--rc-gold-soft);
	color: var(--rc-gold);
}

.fkResFlag--paid {
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
}

.structItem-minor {
	margin-top: 3px;
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
}

.structItem-parts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.structItem-parts li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 0;
}

.fkResAuthorAvatar .avatar {
	width: 16px;
	height: 16px;
	font-size: 9px;
}

.fkResAuthor .username,
.fkResCategory a {
	color: var(--rc-text-2);
	text-decoration: none;
}

.fkResAuthor .username:hover,
.fkResCategory a:hover {
	color: var(--rc-accent);
	text-decoration: none;
}

.fkResGameVersion,
.fkResCore {
	color: var(--rc-text-3);
}

.fkResCategory a {
	color: var(--rc-accent);
}

.structItem-resourceTagLine {
	margin-top: 5px;
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---- 元数据列 ---- */
.structItem-cell--resourceMeta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	min-width: 120px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.fkStarsRow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.fkStarsText {
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-3);
}

.fkStars {
	position: relative;
	display: inline-block;
	width: 80px;
	height: 14px;
}

.fkStars::before,
.fkStars::after {
	content: "\2605\2605\2605\2605\2605";
	position: absolute;
	inset: 0;
	font-size: 13px;
	line-height: 14px;
	letter-spacing: 3px;
	white-space: nowrap;
}

.fkStars::before {
	color: var(--rc-line-strong);
}

.fkStars::after {
	color: var(--rc-gold);
	width: calc(var(--pct, 0) * 1%);
	overflow: hidden;
}

.fkResMetaItem {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 8px;
	margin: 0;
	font-size: var(--rc-fs-sm);
}

.fkResMetaItem dt {
	color: var(--rc-text-3);
	font-weight: 400;
}

.fkResMetaItem dd {
	margin: 0;
	color: var(--rc-text-1);
	font-weight: 600;
}

/* ---- 空状态 ---- */
.fkResEmpty {
	padding: 48px 16px;
	text-align: center;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-md);
}

/* ---- 分页 ---- */
.fkResPagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: var(--rc-gap);
}

.fkResPagination a {
	min-width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-btn);
	background: var(--rc-surface);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	text-decoration: none;
}

.fkResPagination a:hover {
	color: var(--rc-accent);
	border-color: var(--rc-accent-line);
	text-decoration: none;
}

.fkResPagination a.is-active {
	background: var(--rc-accent);
	border-color: var(--rc-accent);
	color: #fff;
	font-weight: 600;
}

/* ---- 响应式 ---- */
@media (max-width: 720px) {
	.structItem--resource {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.structItem-cell--resourceMeta {
		grid-column: 2;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		min-width: 0;
		text-align: left;
	}

	.fkResMetaItem {
		justify-content: flex-start;
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 05 标签与选择器（详情/发布页共用）
   ===================================================================== */

.fkResourceTags { display: flex; flex-wrap: wrap; gap: 4px; }
.fkResourceTag {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--rc-surface-2);
	border: 1px solid var(--rc-line);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-xs);
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}
.fkResourceTag--paid, .fkResourceTag--premium { color: var(--rc-gold); background: var(--rc-gold-soft); border-color: transparent; }
.fkResourceTag--free { color: var(--rc-accent); background: var(--rc-accent-soft); border-color: transparent; }
.fkResourceTag--original { color: var(--rc-accent); background: var(--rc-accent-soft); border-color: transparent; }
.fkResourceTag--require, .fkResourceTag--dependency { color: var(--rc-text-2); background: var(--rc-surface-2); }

/* 加载器徽章（Forge/Fabric 等过滤标签） */
.fkResourceLoaderBadge {
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: var(--rc-fs-xs);
	font-weight: 500;
}
.fkResourceLoader--forge, .fkResourceLoader--fabric, .fkResourceLoader--liteloader {
	border: 0;
	background: none;
	color: inherit;
}

/* 过滤选择 chips（发布页） */
.fkResourceTagChoices, .fkResourceLoaderChoices, .fkResourceVersionChoices { display: flex; flex-wrap: wrap; gap: 8px; }
.fkResourceTagChoice, .fkResourceLoaderChoice {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 2px 12px;
	border: 1px solid var(--rc-line-strong);
	border-radius: var(--rc-radius-btn);
	cursor: pointer;
	font-size: var(--rc-fs-sm);
}
.fkResourceTagChoice:has(input:checked),
.fkResourceLoaderChoice:has(input:checked) {
	border-color: var(--rc-accent);
	color: var(--rc-accent);
	background: var(--rc-accent-soft);
	font-weight: 600;
}

/* ---- 空状态 ---- */
.fkResourceEmpty {
	display: grid;
	place-items: center;
	gap: 8px;
	min-height: 150px;
	border: 1px dashed var(--rc-line-strong);
	border-radius: var(--rc-radius-lg);
	color: var(--rc-text-3);
	font-size: var(--rc-fs-sm);
	text-align: center;
	background: var(--rc-surface);
}
/* =====================================================================
   SparkSeed 资源中心 · 06 详情页（mc9y 式双栏）
   ===================================================================== */

/* ---- 双栏骨架 ---- */
.fkResourceViewGrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 14px;
	align-items: start;
}
.fkResourceViewGrid--single {
	grid-template-columns: minmax(0, 1fr);
}
.fkResourceMainCol { min-width: 0; }
.fkResourceSidebar {
	min-width: 0;
	display: grid;
	gap: 14px;
}

/* ---- Hero 卡片 ---- */
.fkResourceViewHero {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	margin-bottom: 14px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
}
.fkResourceViewHero .fkResourceIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border: 1px solid var(--rc-accent-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: 26px;
	overflow: hidden;
}
.fkResourceViewHero .fkResourceIcon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fkResourceViewTitle { min-width: 0; flex: 1; }
.fkResourceViewTitle h1 {
	margin: 0;
	color: var(--rc-text-1);
	font-size: var(--rc-fs-2xl);
	font-weight: 700;
	line-height: 1.3;
	word-break: break-word;
}
.fkResourceViewTitle p {
	margin: 6px 0 0;
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	line-height: 1.7;
}
.fkResourcePrice {
	margin-top: 6px;
	color: var(--rc-gold);
	font-size: var(--rc-fs-sm);
	font-weight: 600;
}
.fkResourceAuthor {
	margin-top: 8px;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
}
.fkResourceAuthor b { color: var(--rc-text-2); font-weight: 600; }

/* ---- Hero 右侧统计 ---- */
.fkResourceViewActions {
	display: flex;
	align-items: center;
	margin-left: auto;
}
.fkResourceViewMetrics {
	display: flex;
	gap: 0;
	padding: 2px 0;
	border-left: 1px solid var(--rc-line);
}
.fkResourceViewMetrics span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 74px;
	padding: 0 12px;
	border-right: 1px solid var(--rc-line);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-xs);
}
.fkResourceViewMetrics span:last-child { border-right: 0; }
.fkResourceViewMetrics .fa--xf { font-size: 13px; color: var(--rc-text-3); }
.fkResourceViewMetrics b {
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

/* ---- 付费提示 ---- */
.fkResourcePaidNotice {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 14px;
	padding: 12px 16px;
	border: 1px solid var(--rc-gold-line, rgba(212, 160, 23, .4));
	border-radius: var(--rc-radius-md);
	background: var(--rc-gold-soft, rgba(212, 160, 23, .08));
	color: var(--rc-text-1);
	font-size: var(--rc-fs-sm);
}
.fkResourcePaidNotice .fa--xf { margin-top: 2px; color: var(--rc-gold); }
.fkResourcePaidNotice p { margin: 4px 0 0; color: var(--rc-text-2); font-size: var(--rc-fs-xs); }

/* ---- 内容 Tabs ---- */
.fkResourceViewTabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 14px;
	padding: 4px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	overflow-x: auto;
	scrollbar-width: none;
}
.fkResourceViewTabs::-webkit-scrollbar { display: none; }
.fkResourceViewTabs a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 14px;
	border-radius: var(--rc-radius-sm);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}
.fkResourceViewTabs a:hover { color: var(--rc-text-1); background: var(--rc-surface-2); text-decoration: none; }
.fkResourceViewTabs a.is-active {
	color: var(--rc-accent);
	background: var(--rc-accent-soft);
	font-weight: 600;
}
.fkResourceViewTabs a b {
	display: inline-flex;
	min-width: 17px;
	height: 17px;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--rc-surface-3);
	color: var(--rc-text-2);
	font-size: 10px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.fkResourceViewTabs a.is-active b { background: var(--rc-accent); color: #fff; }
.fkResourceViewTabs a small { color: var(--rc-text-3); font-size: var(--rc-fs-xs); }

/* ---- 面板 ---- */
.fkResourcePanel {
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
	margin-bottom: 14px;
}
.fkResourcePanel > h2,
.fkResourcePanelHeader,
.fkResourceUpdatesHeader,
.fkResourceDiscussionHeader {
	margin: 0;
	padding: 11px 16px;
	border-bottom: 1px solid var(--rc-line);
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	font-weight: 600;
}
.fkResourceUpdatesHeader a {
	float: right;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
	font-weight: 400;
}
.fkResourcePanelBody, .fkResourceBody {
	padding: 16px;
	font-size: var(--rc-fs-md);
	line-height: 1.75;
	color: var(--rc-text-1);
}
.fkResourceIntroTagline {
	margin: 12px 16px -6px;
	color: var(--rc-text-2);
	font-size: var(--rc-fs-md);
	font-weight: 600;
}

/* ---- FactBar（版本/游戏版本/核心/更新 四格）---- */
.fkResourceFactBar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 14px;
}
.fkResourceFact {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 14px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	font-size: var(--rc-fs-xs);
}
.fkResourceFact .fa--xf { color: var(--rc-accent); font-size: 13px; }
.fkResourceFact span { color: var(--rc-text-3); }
.fkResourceFact b {
	color: var(--rc-text-1);
	font-size: var(--rc-fs-sm);
	font-weight: 600;
	word-break: break-word;
}

/* ---- Gallery 轮播 ---- */
.fkResourceGallery {
	position: relative;
	margin-bottom: 14px;
	padding: 12px 16px 14px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
}
.fkResourceGallery h3 {
	margin: 0 0 10px;
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	font-weight: 600;
}
.fkResourceGallery h3 small { color: var(--rc-text-3); font-size: var(--rc-fs-xs); font-weight: 400; }
.fkResourceGalleryStage {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--rc-radius-md);
	overflow: hidden;
	background: var(--rc-surface-3);
}
.fkResourceGalleryFrame {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease;
}
.fkResourceGalleryFrame.is-active { opacity: 1; visibility: visible; }
.fkResourceGalleryFrame img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.fkResourceGalleryNav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 10px;
}
.fkResourceGalleryPrev, .fkResourceGalleryNext {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--rc-line);
	border-radius: 999px;
	background: var(--rc-surface-2);
	color: var(--rc-text-2);
	font-size: 13px;
	cursor: pointer;
	transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.fkResourceGalleryPrev:hover, .fkResourceGalleryNext:hover {
	background: var(--rc-accent);
	border-color: var(--rc-accent);
	color: #fff;
}
.fkResourceGalleryDots { display: flex; gap: 8px; }
.fkResourceGalleryDot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--rc-surface-3);
	cursor: pointer;
	transition: background .15s ease, width .15s ease;
}
.fkResourceGalleryDot:hover { background: var(--rc-text-3); }
.fkResourceGalleryDot.is-active { width: 20px; background: var(--rc-accent); }

/* ---- 标签云 ---- */
.fkResourceViewTags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	padding: 12px 16px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
}
.fkResourceViewTagsLabel {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
	font-weight: 600;
}

/* ---- 元信息表 ---- */
.fkResourceMeta { padding: 4px 16px; }
.fkResourceMetaRow {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--rc-line);
	font-size: var(--rc-fs-sm);
}
.fkResourceMetaRow:last-child { border-bottom: 0; }
.fkResourceMetaRow span { color: var(--rc-text-3); white-space: nowrap; }
.fkResourceMetaRow strong, .fkResourceMetaRow dd {
	margin: 0;
	color: var(--rc-text-1);
	font-weight: 600;
	text-align: right;
	min-width: 0;
	word-break: break-all;
}
.fkResourceMetaMore {
	display: inline-block;
	padding: 10px 16px 12px;
	color: var(--rc-accent);
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	text-decoration: none;
}
.fkResourceMetaMore:hover { color: var(--rc-accent-hover); text-decoration: none; }

/* ---- 作者卡 ---- */
.fkResourceAuthorCard .fkResourceAuthorTop {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
}
.fkResourceAuthorCard .avatar {
	width: 48px;
	height: 48px;
	border-radius: var(--rc-radius-md);
	flex: 0 0 48px;
}
.fkResourceAuthorFallback { display: none; }
.fkResourceAuthorInfo {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.fkResourceAuthorInfo b {
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	font-weight: 600;
	line-height: 1.3;
}
.fkResourceAuthorInfo span { color: var(--rc-text-3); font-size: var(--rc-fs-xs); }
.fkResourceAuthorQq {
	padding: 0 16px 14px;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
}

/* ---- CTA 面板 ---- */
.fkResourceCtaPanel { padding: 12px; }
.fkResourceCtaDownload {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border-radius: var(--rc-radius-btn);
	background: var(--rc-accent);
	color: #fff !important;
	font-size: var(--rc-fs-md);
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
	transition: background .12s ease;
}
.fkResourceCtaDownload:hover {
	background: var(--rc-accent-hover);
	color: #fff !important;
	text-decoration: none;
}
.fkResourceFanForm { margin-top: 8px; }
.fkResourceFanButton.button {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-btn);
	background: var(--rc-surface-2);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	box-shadow: none;
}
.fkResourceFanButton.button:hover {
	border-color: var(--rc-accent-line);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
}
.fkResourceFanButton.button.is-followed {
	background: var(--rc-accent-soft);
	border-color: var(--rc-accent-line);
	color: var(--rc-accent);
}

/* ---- 同类资源（侧栏行 / 独立页卡）---- */
.fkResourceRelated {
	display: grid;
	gap: 8px;
	padding: 12px;
}
.fkResourceRelatedLine {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface-2);
	text-decoration: none;
	transition: border-color .12s ease, background .12s ease;
}
.fkResourceRelatedLine:hover {
	border-color: var(--rc-accent-line);
	background: var(--rc-accent-soft);
	text-decoration: none;
}
.fkResourceRelatedMiniIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: var(--rc-radius-sm);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: 14px;
	overflow: hidden;
}
.fkResourceRelatedMiniIcon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fkResourceRelatedLineBody {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}
.fkResourceRelatedLineHead {
	color: var(--rc-text-1);
	font-size: var(--rc-fs-sm);
	font-weight: 600;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fkResourceRelatedLineBody small {
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* related 独立页卡格 */
.fkResourceRelatedGrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	padding: 14px 16px 16px;
}
.fkResourceRelatedCard {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface-2);
	text-decoration: none;
	transition: border-color .12s ease, background .12s ease;
}
.fkResourceRelatedCard:hover {
	border-color: var(--rc-accent-line);
	background: var(--rc-accent-soft);
	text-decoration: none;
}
.fkResourceRelatedCover {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--rc-radius-sm);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: 16px;
	overflow: hidden;
}
.fkResourceRelatedCover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fkResourceRelatedBody {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.fkResourceRelatedBody strong {
	color: var(--rc-text-1);
	font-size: var(--rc-fs-sm);
	font-weight: 600;
	line-height: 1.4;
}
.fkResourceRelatedBody small {
	color: var(--rc-text-3);
	font-size: var(--rc-fs-xs);
	line-height: 1.5;
}

/* ---- 更新日志 / 历史 ---- */
.fkResourceUpdateList { display: grid; }
.fkResourceUpdate { padding: 12px 16px; border-bottom: 1px solid var(--rc-line); }
.fkResourceUpdate:last-child { border-bottom: 0; }
.fkResourceUpdateMore { padding: 8px 16px; color: var(--rc-text-3); font-size: var(--rc-fs-xs); }

.fkResourceHistoryRow {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) repeat(3, auto);
	gap: 12px;
	align-items: center;
	padding: 9px 16px;
	border-bottom: 1px solid var(--rc-line);
	font-size: var(--rc-fs-sm);
}
.fkResourceHistoryRow:last-child { border-bottom: 0; }
.fkResourceHistoryRow--head { color: var(--rc-text-3); font-size: var(--rc-fs-xs); background: var(--rc-surface-2); }
.fkResourceHistoryRating { color: var(--rc-gold); font-variant-numeric: tabular-nums; }

.fkResourceRatingPanel .fkResourceRatingHeader {
	padding: 11px 16px;
	border-bottom: 1px solid var(--rc-line);
	font-weight: 600;
}
.fkResourceRatingLogin { padding: 11px 16px; color: var(--rc-text-3); font-size: var(--rc-fs-sm); }

/* ---- 介绍面板附加 ---- */
.fkResourceRequirements {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--rc-line);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
}
.fkResourceReqTitle { font-weight: 600; color: var(--rc-text-1); margin-right: 6px; }

/* ---- 底部导航 ---- */
.fkResourceViewFootNav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 4px;
}
.fkResourceViewFootNav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	text-decoration: none;
	box-shadow: var(--rc-shadow-1);
	transition: border-color .12s ease, color .12s ease, background .12s ease;
}
.fkResourceViewFootNav a:hover {
	border-color: var(--rc-accent-line);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	text-decoration: none;
}
.fkResourceViewFootNav a b {
	color: var(--rc-text-1);
	font-variant-numeric: tabular-nums;
}
.fkResourceViewFootNav a:hover b { color: var(--rc-accent); }

/* ---- 讨论区微调 ---- */
.fkResourceDiscussion .message-cell--user { background: var(--rc-surface-2); }

/* ---- 资源详情：讨论与评分页重制 ---- */
body .fkResourceDiscussion--page,
body .fkResourceRatingPanel--page {
	margin-top: 20px;
	border: 1px solid var(--rc-line);
	border-radius: 16px;
	background: var(--rc-surface);
	box-shadow: 0 12px 32px rgba(20, 42, 76, .07);
	overflow: hidden;
}
body .fkResourceDiscussion--page .fkResourceDiscussionHeader,
body .fkResourceRatingPanel--page .fkResourceRatingHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px 18px;
	border: 0;
	border-bottom: 1px solid var(--rc-line);
	background: var(--rc-surface-2);
}
body .fkResourceDiscussionHeader > div,
body .fkResourceRatingHeader > div { min-width: 0; }
body .fkResourceDiscussionHeader span,
body .fkResourceRatingHeader span {
	display: block;
	margin-bottom: 5px;
	color: var(--rc-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body .fkResourceDiscussionHeader h2,
body .fkResourceRatingHeader h2 {
	margin: 0;
	color: var(--rc-text-1);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.25;
}
body .fkResourceDiscussionHeader p,
body .fkResourceRatingHeader p {
	margin: 6px 0 0;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-sm);
	line-height: 1.55;
}

/* 发起讨论 */
body .fkResourceDiscussionCompose {
	margin: 18px;
	padding: 16px;
	border: 1px solid var(--rc-accent-line);
	border-radius: 13px;
	background: var(--rc-accent-soft);
}
body .fkResourceDiscussionPrompt {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 13px;
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
}
body .fkResourceDiscussionPrompt .fa--xf { color: var(--rc-accent); font-size: 16px; }
body .fkResourceDiscussionPrompt b { color: var(--rc-text-1); font-size: 15px; }
body .fkResourceDiscussionPrompt span { color: var(--rc-text-3); }
body .fkResourceDiscussionForm { display: grid; gap: 10px; }
body .fkResourceDiscussionInputs { display: grid; gap: 9px; }
body .fkResourceDiscussionInputs input,
body .fkResourceDiscussionInputs textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid var(--rc-line);
	border-radius: 9px;
	background: var(--rc-surface);
	color: var(--rc-text-1);
	box-shadow: none;
}
body .fkResourceDiscussionInputs input { height: 40px; padding: 0 12px; font-weight: 600; }
body .fkResourceDiscussionInputs textarea { min-height: 96px; padding: 10px 12px; line-height: 1.6; resize: vertical; }
body .fkResourceDiscussionInputs input:focus,
body .fkResourceDiscussionInputs textarea:focus {
	border-color: var(--rc-accent);
	outline: 0;
	box-shadow: 0 0 0 3px var(--rc-accent-soft);
}
body .fkResourceDiscussionSubmit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
body .fkResourceDiscussionSubmit .button {
	min-width: 104px;
	border-radius: 8px;
	font-weight: 700;
}
body .fkResourceDiscussionSubmit small { color: var(--rc-text-3); font-size: 12px; }
body .fkResourceDiscussionLogin,
body .fkResourceDiscussionEmpty {
	margin: 18px;
	padding: 24px;
	border: 1px dashed var(--rc-line);
	border-radius: 12px;
	background: var(--rc-surface-2);
	color: var(--rc-text-3);
	text-align: center;
}
body .fkResourceDiscussionLogin a { font-weight: 700; }

/* 讨论内容流 */
body .fkResourceThreadPosts {
	display: grid;
	gap: 10px;
	padding: 0 18px 20px;
}
body .fkResourceThreadPost {
	padding: 16px;
	border: 1px solid var(--rc-line);
	border-radius: 12px;
	background: var(--rc-surface);
	box-shadow: 0 3px 10px rgba(20, 42, 76, .035);
}
body .fkResourceThreadPostHead {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rc-line);
}
body .fkResourceThreadPostHead .avatar { flex: 0 0 auto; }
body .fkResourceThreadPostUser { min-width: 0; }
body .fkResourceThreadPostUser a { color: var(--rc-text-1); font-weight: 700; text-decoration: none; }
body .fkResourceThreadPostMeta { margin-top: 2px; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceThreadPostBody {
	padding: 14px 2px 5px;
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	line-height: 1.78;
}
body .fkResourceThreadPostFoot { display: flex; justify-content: flex-end; margin-top: 8px; }
body .fkResourceThreadPostFoot a { color: var(--rc-accent); font-size: 12px; font-weight: 600; text-decoration: none; }

/* 评分汇总与表单 */
body .fkResourceRatingHeader > strong {
	display: flex;
	align-items: baseline;
	gap: 5px;
	flex: 0 0 auto;
	padding: 12px 15px;
	border: 1px solid var(--rc-accent-line);
	border-radius: 11px;
	background: var(--rc-surface);
	color: var(--rc-gold);
	font-size: 30px;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
body .fkResourceRatingHeader > strong .fa--xf { font-size: 18px; }
body .fkResourceRatingHeader > strong small { color: var(--rc-text-3); font-size: 12px; font-weight: 500; }
body .fkResourceRatingForm {
	display: grid;
	grid-template-columns: minmax(155px, .6fr) minmax(0, 2fr) auto;
	gap: 10px;
	align-items: end;
	margin: 18px;
	padding: 16px;
	border: 1px solid var(--rc-line);
	border-radius: 13px;
	background: var(--rc-surface-2);
}
body .fkResourceRatingForm label {
	display: grid;
	gap: 6px;
	margin: 0;
	color: var(--rc-text-2);
	font-size: 12px;
	font-weight: 700;
}
body .fkResourceRatingForm select,
body .fkResourceRatingForm input {
	box-sizing: border-box;
	width: 100%;
	height: 40px;
	border: 1px solid var(--rc-line);
	border-radius: 8px;
	background: var(--rc-surface);
	color: var(--rc-text-1);
	padding: 0 10px;
	box-shadow: none;
}
body .fkResourceRatingForm select:focus,
body .fkResourceRatingForm input:focus { border-color: var(--rc-accent); outline: 0; box-shadow: 0 0 0 3px var(--rc-accent-soft); }
body .fkResourceRatingForm .button { min-width: 90px; height: 40px; border-radius: 8px; font-weight: 700; }
body .fkResourceRatingLogin { margin: 18px; padding: 18px; border: 1px dashed var(--rc-line); border-radius: 12px; background: var(--rc-surface-2); text-align: center; }

@media (max-width: 700px) {
	body .fkResourceDiscussion--page .fkResourceDiscussionHeader,
	body .fkResourceRatingPanel--page .fkResourceRatingHeader { align-items: flex-start; flex-direction: column; padding: 18px; gap: 12px; }
	body .fkResourceRatingForm { grid-template-columns: 1fr; }
	body .fkResourceRatingForm .button { width: 100%; }
	body .fkResourceDiscussionCompose, body .fkResourceThreadPosts { margin-left: 12px; margin-right: 12px; }
	body .fkResourceThreadPosts { padding-left: 0; padding-right: 0; }
	body .fkResourceDiscussionSubmit { align-items: flex-start; flex-direction: column-reverse; }
}

/* ---- 响应式 ---- */
@media (max-width: 960px) {
	.fkResourceViewGrid {
		grid-template-columns: minmax(0, 1fr);
	}
	.fkResourceViewActions { margin-left: 0; width: 100%; }
	.fkResourceViewMetrics {
		width: 100%;
		justify-content: space-around;
		border-left: 0;
		border-top: 1px solid var(--rc-line);
		padding-top: 10px;
	}
	.fkResourceViewMetrics span { border-right: 0; }
	.fkResourceFactBar { grid-template-columns: repeat(2, 1fr); }
	.fkResourceRelatedGrid { grid-template-columns: 1fr; }
	.fkResourceViewFootNav { grid-template-columns: 1fr; }
}
/* =====================================================================
   SparkSeed 资源中心 · 07 发布页与表单
   ===================================================================== */

.fkResourceSubmitPage { max-width: 1040px; margin: 0 auto; }

.fkResourcePublishHeading { margin: 4px 0 16px; }
.fkResourcePublishHeading h1 {
	margin: 0;
	color: var(--rc-text-1);
	font-size: var(--rc-fs-xl);
	font-weight: 700;
}
.fkResourcePublishHeading p { margin: 4px 0 0; color: var(--rc-text-2); font-size: var(--rc-fs-sm); }

/* 表单大卡 */
.fkResourcePublishSheet .block-container {
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
}
.fkResourceFormSection { padding: 16px 20px; }
.fkResourceFormSection + .fkResourceFormSection { border-top: 1px solid var(--rc-line); }
.fkResourceFormSection > h2 {
	margin: 0 0 12px;
	color: var(--rc-text-1);
	font-size: var(--rc-fs-md);
	font-weight: 600;
}

.fkResourcePublishSheet .formRow {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 8px 16px;
	margin: 0;
	padding: 9px 0;
	border: 0;
	background: transparent;
	align-items: start;
}
.fkResourcePublishSheet .formRow > dt {
	display: block;
	width: auto;
	padding: 9px 0 0;
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	font-weight: 500;
	text-align: right;
}
.fkResourcePublishSheet .formRow > dd { width: auto; margin: 0; padding: 0; }

.fkResourcePublishSheet .input,
.fkResourcePublishSheet select,
.fkResourcePublishSheet textarea {
	border: 1px solid var(--rc-line-strong);
	border-radius: var(--rc-radius-btn);
	color: var(--rc-text-1);
	background: var(--rc-surface);
	box-shadow: none;
}
.fkResourcePublishSheet .input:focus,
.fkResourcePublishSheet select:focus,
.fkResourcePublishSheet textarea:focus {
	border-color: var(--rc-accent);
	box-shadow: none;
}
.fkResourcePublishSheet .fr-box {
	border: 1px solid var(--rc-line-strong);
	border-radius: var(--rc-radius-btn);
}
.fkResourcePublishSheet .fr-toolbar {
	border: 0;
	border-bottom: 1px solid var(--rc-line-strong);
	background: var(--rc-surface-2);
}
.fkResourcePublishSheet .fr-element { min-height: 360px; font-size: var(--rc-fs-md); line-height: 1.8; }

.fkResourcePublishSheet .formSubmitRow {
	position: static;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	padding: 14px 20px;
	border-top: 1px solid var(--rc-line);
	background: var(--rc-surface-2);
}
.fkResourcePublishSheet .formSubmitRow-bar,
.fkResourcePublishSheet .formSubmitRow > dt { display: none; }
.fkResourcePublishSheet .formSubmitRow > dd,
.fkResourcePublishSheet .formSubmitRow-main,
.fkResourcePublishSheet .formSubmitRow-controls {
	display: block; width: auto; margin: 0; padding: 0; border: 0;
	background: transparent; box-shadow: none;
}

/* 编辑引导条 */
.fkResourceEditorGuide {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--rc-accent-line);
	border-radius: var(--rc-radius-md);
	color: var(--rc-text-2);
	background: var(--rc-accent-soft);
	line-height: 1.7;
	font-size: var(--rc-fs-sm);
}
.fkResourceEditorGuide > div { min-width: 0; }
.fkResourceEditorGuide .button { flex: 0 0 auto; white-space: nowrap; }
.fkResourceEditorGuide b { color: var(--rc-text-1); }
.fkResourceEditorGuide code { color: var(--rc-accent); }

/* 授权表单 */
.fkResourceGrantForm {
	display: flex;
	align-items: end;
	gap: 12px;
	margin-bottom: 16px;
	padding: 12px 16px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	background: var(--rc-surface-2);
}
.fkResourceGrantForm label { flex: 1; color: var(--rc-text-2); font-size: var(--rc-fs-xs); font-weight: 500; }
.fkResourceGrantForm input { display: block; width: 100%; margin-top: 4px; }

/* ---- 快捷发布条 ---- */
.fkResourceComposerBar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	margin-bottom: 16px;
}
.fkResourceComposer {
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	background: var(--rc-surface);
	box-shadow: var(--rc-shadow-1);
	overflow: hidden;
	margin-bottom: 16px;
}
.fkResourceComposerPanel { padding: 16px; }
.fkResourceComposerGrid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 16px; }
.fkResourceComposerSidebar { display: grid; gap: 12px; align-content: start; }
.fkResourceComposerHero { margin-bottom: 12px; }
.fkResourceComposerHeroNote, .fkResourceComposerMeta, .fkResourceComposerTip {
	padding: 12px;
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-md);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-xs);
	line-height: 1.7;
	background: var(--rc-surface-2);
}

@media (max-width: 900px) {
	.fkResourceComposerGrid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.fkResourcePublishSheet .formRow { display: block; padding: 8px 0; }
	.fkResourcePublishSheet .formRow > dt { display: block; padding: 0 0 4px; text-align: left; }
	.fkResourcePublishSheet .fr-element { min-height: 280px; }
	.fkResourceFormSection { padding: 14px; }
	.fkResourcePublishSheet .formSubmitRow { padding: 12px 14px; }
	.fkResourceEditorGuide { flex-direction: column; align-items: stretch; gap: 8px; }
	.fkResourceEditorGuide .button { width: 100%; justify-content: center; }
}
/* =====================================================================
   SparkSeed 资源中心 · 08 旧模板类名兼容层（渐进可删）
   ---------------------------------------------------------------------
   v7/旧模板中存在的历史类名在此映射到新令牌，确保未同步模板时不断层。
   全部收敛到 --rc-* 令牌；新增开发禁止再引用本文件中的旧名。
   ===================================================================== */

/* 旧 Hero/统计（v7 名称） */
.fkResourceHeroStats,
.fkResourceDiscover { display: grid; }

.fkResourceDiscover {
	grid-template-columns: var(--rc-sidebar-w) minmax(0, 1fr);
	gap: var(--rc-gap);
	align-items: start;
}
@media (max-width: 980px) {
	.fkResourceDiscover { grid-template-columns: 1fr; }
	.fkResourceDiscover .fkResourceSidebar { position: static; }
	.fkResourceDiscover .fkResourceMain { order: -1; }
}

/* 旧列表项 grid（v7.is-layout-list 变体） */
.fkResourceList.is-layout-list .js-fkResourceItem .fkResourceCardStats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
}

/* 旧版 structItem 包裹（若模板走 XF structItemContainer 输出） */
.fkResourceList .structItemContainer,
.fkResourceList .structItem { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.fkResourceList .structItem-cell--resourceMeta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	text-align: right;
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-3);
	font-variant-numeric: tabular-nums;
}
.fkResourceList .ratingStarsRow .ratingStar { color: var(--rc-gold); }

/* 旧网格容器 */
.fkResourceList.is-layout-grid .js-fkResourceListGrid,
.js-fkResourceListGrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}

/* 旧详情页类 */
.fkResourceViewNav {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 4px;
	color: var(--rc-text-3);
	font-size: var(--rc-fs-sm);
}
.fkResourceViewNav a { color: var(--rc-text-2); text-decoration: none; }
.fkResourceViewNav a:hover { color: var(--rc-accent); }

/* 旧按钮入口（HeroActions 以外的主按钮归一为 accent） */
.fkResourcePage .button--primary,
.fkResourceView .button--primary {
	background: var(--rc-accent);
	border-color: var(--rc-accent);
	color: #fff;
}
.fkResourcePage .button--primary:hover,
.fkResourceView .button--primary:hover {
	background: var(--rc-accent-hover);
	border-color: var(--rc-accent-hover);
	color: #fff;
}

/* 表单内输入（非发布页也生效的基础输入） */
.fkResourcePage .input,
.fkResourcePage select,
.fkResourcePage textarea {
	border: 1px solid var(--rc-line-strong);
	border-radius: var(--rc-radius-btn);
	background: var(--rc-surface);
	color: var(--rc-text-1);
}
/* =====================================================================
   SparkSeed 资源中心 · 09 深色模式补充
   ---------------------------------------------------------------------
   令牌层（00-tokens）已覆盖 95% 场景；此处只处理
   XF 原生组件在资源页内的底色/边框，跟随 [data-variation] 机制。
   ===================================================================== */

/* ---- XF 原生块级元素在资源页内的协调（浅色）---- */
.fkResourcePage .block-container,
.fkResourceView .block-container,
.fkResourceSubmitPage .block-container {
	background: var(--rc-surface);
	border-color: var(--rc-line);
	color: var(--rc-text-1);
}

/* ---- 深色：手动 alternate ---- */
:root[data-variation="alternate"] .fkResourceDiscussion .bbCodeBlock {
	background: var(--rc-surface-2);
	border-color: var(--rc-line);
}
:root[data-variation="alternate"] .fkResourceIcon img,
:root[data-variation="alternate"] .fkResourceIcon .avatar,
:root[data-variation="alternate"] .fkResourceCover img,
:root[data-variation="alternate"] .fkResourceGallery img {
	border-color: var(--rc-line-strong);
}

/* ---- 深色：跟随系统 ---- */
@media (prefers-color-scheme: dark) {
	:root[data-variation="alternate"] .fkResourceDiscussion .bbCodeBlock {
		background: var(--rc-surface-2);
		border-color: var(--rc-line);
	}
	:root[data-variation="alternate"] .fkResourceIcon img,
	:root[data-variation="alternate"] .fkResourceIcon .avatar,
	:root[data-variation="alternate"] .fkResourceCover img,
	:root[data-variation="alternate"] .fkResourceGallery img {
		border-color: var(--rc-line-strong);
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 10 精选区（fk-track-carousel 轨道平移轮播）
   ===================================================================== */

.jiuyuResourceFeatured {
	margin-bottom: var(--rc-gap);
}

.jiuyuResourceSectionHeading {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 10px;
}

.jiuyuResourceSectionHeading > div {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.jiuyuResourceSectionHeading strong {
	font-size: var(--rc-fs-lg);
	font-weight: 700;
	color: var(--rc-text-1);
}

.jiuyuResourceSectionHeading span {
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-3);
}

/* ---- 轨道轮播 ---- */
.fkTrackCarousel {
	position: relative;
}

.fkTrackViewport {
	overflow: hidden;
	border-radius: var(--rc-radius-lg);
}

.fkTrack {
	display: flex;
	gap: var(--rc-gap);
	transition: transform .45s cubic-bezier(.33, .8, .33, 1);
	will-change: transform;
}

.fkTrackSlide {
	flex: 0 0 calc(50% - var(--rc-gap) / 2);
	min-width: 0;
}

.fkTrackSlide .contentRow {
	display: flex;
	gap: 14px;
	height: 100%;
	padding: 16px;
	background: var(--rc-surface);
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-1);
	transition: border-color .12s ease, box-shadow .12s ease;
}

.fkTrackSlide .contentRow:hover {
	border-color: var(--rc-accent-line);
	box-shadow: var(--rc-shadow-2);
}

.fkTrackSlide .contentRow-figure {
	flex: 0 0 48px;
}

.fkTrackSlide .contentRow-figure .fkResFallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--rc-radius-md);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: 20px;
}

.fkTrackSlide .contentRow-main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.fkTrackSlide .contentRow-title {
	margin: 0;
	font-size: var(--rc-fs-md);
	font-weight: 600;
	line-height: 1.45;
}

.fkTrackSlide .contentRow-title a {
	color: var(--rc-text-1);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fkTrackSlide .contentRow-title a:hover {
	color: var(--rc-accent);
	text-decoration: none;
}

.fkTrackSlide .contentRow-lesser {
	font-size: var(--rc-fs-sm);
	color: var(--rc-text-2);
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fkTrackSlide .contentRow-minor {
	margin-top: auto;
	font-size: var(--rc-fs-xs);
	color: var(--rc-text-3);
}

.fkTrackSlide .listInline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fkTrackSlide .listInline > li {
	margin: 0;
	padding: 0;
}

.fkTrackSlide .listInline .username {
	color: var(--rc-text-2);
	text-decoration: none;
}

.fkTrackSlide .listInline .username:hover {
	color: var(--rc-accent);
	text-decoration: none;
}

/* ---- 箭头 ---- */
.fkTrackArrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--rc-line);
	border-radius: 999px;
	background: var(--rc-surface);
	color: var(--rc-text-2);
	font-size: 13px;
	cursor: pointer;
	box-shadow: var(--rc-shadow-1);
	transition: background .12s ease, color .12s ease, border-color .12s ease, opacity .12s ease;
}

.fkTrackArrow:hover {
	background: var(--rc-accent);
	border-color: var(--rc-accent);
	color: #fff;
}

.fkTrackArrow--prev {
	left: -14px;
}

.fkTrackArrow--next {
	right: -14px;
}

/* ---- 分页点 ---- */
.fkTrackDots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}

.fkTrackDot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--rc-surface-3);
	cursor: pointer;
	transition: background .15s ease, width .15s ease;
}

.fkTrackDot:hover {
	background: var(--rc-text-3);
}

.fkTrackDot.is-active {
	width: 20px;
	background: var(--rc-accent);
}

/* ---- 响应式：单列 ---- */
@media (max-width: 720px) {
	.fkTrackSlide {
		flex-basis: 100%;
	}

	.fkTrackArrow {
		display: none;
	}
}
/* =====================================================================
   SparkSeed 资源中心 · 11 页头标题（p-body-header 显式高对比接管）
   ===================================================================== */

/* 资源相关页面的页头：标题/描述颜色不再依赖 XenVn 变量，直接令牌驱动 */
.fkResourcePage,
.fkResourceView,
.fkResourceSubmitPage {
	--rc-page-header-bg: var(--rc-surface);
}

body[data-template="fk_resource_list"] .p-body-header,
body[data-template="fk_resource_view"] .p-body-header,
body[data-template="fk_resource_submit"] .p-body-header {
	background: var(--rc-surface);
	border-color: var(--rc-line);
}

body[data-template="fk_resource_list"] .p-title-value,
body[data-template="fk_resource_view"] .p-title-value,
body[data-template="fk_resource_submit"] .p-title-value {
	color: var(--rc-text-1);
	font-weight: 700;
	opacity: 1;
}

body[data-template="fk_resource_list"] .p-title-value a,
body[data-template="fk_resource_view"] .p-title-value a,
body[data-template="fk_resource_submit"] .p-title-value a {
	color: var(--rc-text-1);
}

body[data-template="fk_resource_list"] .p-description,
body[data-template="fk_resource_view"] .p-description,
body[data-template="fk_resource_submit"] .p-description {
	color: var(--rc-text-2);
}

/* 资源页内全部通用文本基线：压过 XenVn 的 muted 继承 */
.fkResourcePage {
	color: var(--rc-text-1);
}

.fkResourcePage .u-muted,
.fkResourcePage .contentRow-lesser,
.fkResourcePage .contentRow-minor {
	color: var(--rc-text-2);
	opacity: 1;
}

/* =====================================================================
   发布资源入口（资源中心顶部）
   ===================================================================== */
.jiuyuResourceTopBar{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:14px 18px;margin-bottom:var(--rc-gap,16px);
	border:1px solid var(--rc-line,#e3e7ec);border-radius:var(--rc-radius-lg,14px);
	background:var(--rc-surface,#fff);
}
.jiuyuResourcePageTitle{display:flex;align-items:center;gap:8px;font-size:var(--rc-fs-lg,17px);font-weight:700;color:var(--rc-text-1,#1b2733)}
.jiuyuResourcePageTitle .fa--xf{color:var(--rc-accent,#2b6cd4)}
.jiuyuResourcePublishBtn{
	display:inline-flex;align-items:center;gap:6px;
	min-height:36px;padding:6px 18px;border-radius:999px;
	background:var(--rc-accent,#2b6cd4);border:1px solid var(--rc-accent,#2b6cd4);
	color:#fff;font-size:14px;font-weight:600;text-decoration:none;
	box-shadow:0 4px 12px rgba(43,108,212,.25);
	transition:filter .15s ease,transform .15s ease;
}
.jiuyuResourcePublishBtn:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px)}

/* =====================================================================
   mc9y 风格精致资源标签（小方角、紧凑）
   ===================================================================== */
.fkResourceTag {
	display: inline-flex;
	align-items: center;
	min-height: 15px;
	padding: 0 5px;
	border-radius: 3px !important;
	border: 1px solid transparent !important;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}
.fkResourceTags { gap: 3px; }

/* =====================================================================
   渐变资源标签（光泽质感）
   ===================================================================== */
.fkResourceTag {
	position: relative;
	border: 1px solid rgba(255,255,255,.22);
	box-shadow: 0 1px 2px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.28);
	text-shadow: 0 1px 1px rgba(0,0,0,.15);
}
/* removed forced-gray fallback (now CSS-var driven) */

/* =====================================================================
   资源标签：紧凑双色渐变徽章（亮→深，白字）
   ===================================================================== */
.fkResourceTag {
	--tg-fg: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 0 8px;
	border-radius: 7px !important;
	background: linear-gradient(135deg, #22d3c5 0%, #62b8e8 48%, #df7ed1 100%);
	border: 0 !important;
	color: var(--tg-fg);
	font-size: 12px;
	font-weight: 700;
	line-height: 24px;
	white-space: nowrap;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
	text-shadow: none;
}

/* 发布页标签选择：与展示标签统一；整枚标签均可点选。 */
.fkResourceTagChoice {
	--tg-fg: #ffffff;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 0 8px;
	border-radius: 7px;
	background: linear-gradient(135deg, #22d3c5 0%, #62b8e8 48%, #df7ed1 100%);
	border: 0;
	color: var(--tg-fg);
	font-size: 12px;
	font-weight: 700;
	line-height: 24px;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
	transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}
.fkResourceTagChoice input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.fkResourceTagChoice:hover { transform: translateY(-1px); filter: brightness(1.05); }
.fkResourceTagChoice:has(input:checked) {
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.92), 0 0 0 2px var(--tg-b);
}
.fkResourceTagChoice:focus-within {
	outline: 2px solid var(--rc-accent, #2b6cd4);
	outline-offset: 2px;
}
.fkResourceTagChoices { gap: 3px; }

/* MineBBS 风格：不同语义使用不同的亮色渐变。 */
.fkResourceTag--original, .fkResourceTagChoice.fkResourceTag--original { background: linear-gradient(135deg, #35d9ce, #42aeca) !important; }
.fkResourceTag--open-source, .fkResourceTagChoice.fkResourceTag--open-source { background: linear-gradient(135deg, #59c9f2, #5685dc) !important; }
.fkResourceTag--technology, .fkResourceTagChoice.fkResourceTag--technology { background: linear-gradient(135deg, #7c9cf4, #936cd8) !important; }
.fkResourceTag--management, .fkResourceTagChoice.fkResourceTag--management { background: linear-gradient(135deg, #ffc15a, #ed8b4b) !important; }
.fkResourceTag--rpg, .fkResourceTagChoice.fkResourceTag--rpg { background: linear-gradient(135deg, #ff9b66, #e56b63) !important; }
.fkResourceTag--performance, .fkResourceTagChoice.fkResourceTag--performance { background: linear-gradient(135deg, #6ed8a2, #43ae83) !important; }
.fkResourceTag--optimization, .fkResourceTagChoice.fkResourceTag--optimization { background: linear-gradient(135deg, #5ed9c4, #4aafaa) !important; }
.fkResourceTag--economy, .fkResourceTagChoice.fkResourceTag--economy { background: linear-gradient(135deg, #e5c56a, #c99a43) !important; }
.fkResourceTag--paid, .fkResourceTagChoice.fkResourceTag--paid { background: linear-gradient(135deg, #ff9b8b, #e66b72) !important; }
.fkResourceTag--dependency, .fkResourceTagChoice.fkResourceTag--dependency { background: linear-gradient(135deg, #aab7c8, #77879b) !important; }
.fkResourceTag--beta, .fkResourceTagChoice.fkResourceTag--beta { background: linear-gradient(135deg, #f59e9e, #d86b83) !important; }
.fkResourceTag--survival, .fkResourceTagChoice.fkResourceTag--survival { background: linear-gradient(135deg, #8bd79a, #4eaf78) !important; }
.fkResourceTag--adventure, .fkResourceTagChoice.fkResourceTag--adventure { background: linear-gradient(135deg, #b39af2, #8066cd) !important; }
.fkResourceTag--tool, .fkResourceTagChoice.fkResourceTag--tool { background: linear-gradient(135deg, #71c9ee, #4c8fd0) !important; }
.fkResourceTag--compatibility, .fkResourceTagChoice.fkResourceTag--compatibility { background: linear-gradient(135deg, #69d9d0, #3dabae) !important; }
.fkResourceTag--server, .fkResourceTagChoice.fkResourceTag--server { background: linear-gradient(135deg, #94a8bd, #63768d) !important; }
.fkResourceTag--client, .fkResourceTagChoice.fkResourceTag--client { background: linear-gradient(135deg, #8eacf3, #6875cf) !important; }

/* 数据为空时不保留无文字的灰色/彩色块。 */
.fkResourceTag:empty,
.fkResourceTagChoice:has(> span:empty) {
	display: none !important;
}

/* Aurora 玻璃彩边标签：轻盈、克制，与传统实色标签区分开。 */
.fkResourceTag,
.fkResourceTagChoice {
	--tag-a: #2bbfb3;
	--tag-b: #4e8fe5;
	--tag-fg: #167b77;
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,247,255,.96)) padding-box,
		linear-gradient(135deg, var(--tag-a), var(--tag-b)) border-box !important;
	border: 1px solid transparent !important;
	color: var(--tag-fg) !important;
	box-shadow: 0 2px 6px rgba(65,91,138,.12), inset 0 1px 0 #fff;
	text-shadow: none;
	box-sizing: border-box;
	height: 24px;
	line-height: 22px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	vertical-align: middle;
}
.fkResourceTag--original, .fkResourceTagChoice.fkResourceTag--original { --tag-a:#22c8b7; --tag-b:#49a0e6; --tag-fg:#16877f; }
.fkResourceTag--open-source, .fkResourceTagChoice.fkResourceTag--open-source { --tag-a:#42bde8; --tag-b:#647edc; --tag-fg:#3b6eb8; }
.fkResourceTag--technology, .fkResourceTagChoice.fkResourceTag--technology { --tag-a:#8b7ced; --tag-b:#c27ae0; --tag-fg:#7656ba; }
.fkResourceTag--management, .fkResourceTagChoice.fkResourceTag--management { --tag-a:#f0aa3f; --tag-b:#ec765c; --tag-fg:#c16d27; }
.fkResourceTag--rpg, .fkResourceTagChoice.fkResourceTag--rpg { --tag-a:#f17a67; --tag-b:#df5f87; --tag-fg:#bd526d; }
.fkResourceTag--performance, .fkResourceTagChoice.fkResourceTag--performance { --tag-a:#55c985; --tag-b:#3ba7a0; --tag-fg:#27866e; }
.fkResourceTag--optimization, .fkResourceTagChoice.fkResourceTag--optimization { --tag-a:#39c9b0; --tag-b:#55a7d6; --tag-fg:#238d89; }
.fkResourceTag--economy, .fkResourceTagChoice.fkResourceTag--economy { --tag-a:#d7ae4e; --tag-b:#da7a52; --tag-fg:#a77526; }
.fkResourceTag--beta, .fkResourceTagChoice.fkResourceTag--beta { --tag-a:#ed8ca3; --tag-b:#b77edb; --tag-fg:#b35f8d; }
.fkResourceTag--dependency, .fkResourceTagChoice.fkResourceTag--dependency { --tag-a:#93a4bb; --tag-b:#74859d; --tag-fg:#63758c; }

/* 发布页的 label/span 可能被 XF 表单主题覆盖，显式继承资源标签外观。 */
body .fkResourceTagChoice {
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,247,255,.96)) padding-box,
		linear-gradient(135deg, var(--tag-a), var(--tag-b)) border-box !important;
	border: 1px solid transparent !important;
	color: var(--tag-fg) !important;
}
body .fkResourceTagChoice > span {
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
}

/* 首页每日签到：紧凑的两列数据卡。 */
.fkCheckin .block-container { overflow: hidden; border-color: #cfe0ff; box-shadow: 0 4px 16px rgba(43, 108, 212, .10); }
.fkCheckin .block-minorHeader { display: flex; align-items: center; gap: 8px; padding: 12px 14px 7px; border: 0; color: var(--ss-text); font-size: 16px; }
.fkCheckin .block-minorHeader i { color: #5f8ef0; }
.fkCheckin-body { display: grid; gap: 7px; padding: 8px !important; }
.fkCheckin-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.fkCheckin-stat { display: grid; grid-template-columns: 24px minmax(0, 1fr); grid-template-areas: "icon value" "label label"; align-items: center; gap: 0 6px; min-width: 0; padding: 7px 8px; border: 1px solid #cfe0ff; border-radius: 8px; background: #f3f7ff; }
.fkCheckin-statIcon { grid-area: icon; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #4f83ef; background: #e1ebff; font-size: 11px; }
.fkCheckin-value { grid-area: value; color: #3778f6; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.fkCheckin-label { grid-area: label; margin-top: 4px; color: #8294b4; font-size: 12px; font-weight: 400; line-height: 1.25; white-space: nowrap; }
.fkCheckin-reward { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 7px 9px; border: 1px solid #d7e4fc; border-radius: 7px; color: #536989; background: #f7faff; font-size: 12px; line-height: 1.25; }
.fkCheckin-reward i { flex: 0 0 auto; color: #4f83ef; }
.fkCheckin-form { margin: 0; }
.fkCheckin-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; margin: 0; border: 0; border-radius: 5px; color: #fff !important; background: #3177f5 !important; font-size: 14px; font-weight: 700; line-height: 1; }
.fkCheckin-button:hover { background: #2368e8 !important; }
.fkCheckin-button.is-disabled { opacity: .62; cursor: default; }
@media (prefers-color-scheme: dark) {
	body .fkCheckin .block-container { border-color: #536278; background: #171f2b; box-shadow: none; }
	body .fkCheckin .block-minorHeader { color: #e5ebf4; }
	body .fkCheckin .block-minorHeader i { color: #76a9ff; }
	body .fkCheckin-stat { border-color: #536278; background: #202b3b; }
	body .fkCheckin-statIcon { background: #2c466d; color: #8bb7ff; }
	body .fkCheckin-value { color: #8db8ff; }
	body .fkCheckin-label { color: #a9b8ce; }
	body .fkCheckin-reward { border-color: #536278; background: #202b3b; color: #c5d1e2; }
	body .fkCheckin-reward i { color: #8db8ff; }
	body .fkCheckin-button { background: #2d5ca8 !important; color: #f0f5ff !important; }
	body .fkCheckin-button:hover { background: #376fc4 !important; }
}
:root[data-variation="alternate"] .fkCheckin .block-container { border-color: #536278; background: #171f2b; box-shadow: none; }
:root[data-variation="alternate"] .fkCheckin .block-minorHeader { color: #e5ebf4; }
:root[data-variation="alternate"] .fkCheckin-stat { border-color: #536278; background: #202b3b; }
:root[data-variation="alternate"] .fkCheckin-statIcon { background: #2c466d; color: #8bb7ff; }
:root[data-variation="alternate"] .fkCheckin-value { color: #8db8ff; }
:root[data-variation="alternate"] .fkCheckin-label { color: #a9b8ce; }
:root[data-variation="alternate"] .fkCheckin-reward { border-color: #536278; background: #202b3b; color: #c5d1e2; }
:root[data-variation="alternate"] .fkCheckin-reward i { color: #8db8ff; }
:root[data-variation="alternate"] .fkCheckin-button { background: #2d5ca8 !important; color: #f0f5ff !important; }
/* 手动浅色主题优先于系统深色偏好 */
:root[data-variation="default"] .fkCheckin .block-container { border-color: #cfe0ff; background: #fff; box-shadow: 0 4px 16px rgba(43,108,212,.10); }
:root[data-variation="default"] .fkCheckin .block-minorHeader { color: var(--ss-text); }
:root[data-variation="default"] .fkCheckin .block-minorHeader i { color: #5f8ef0; }
:root[data-variation="default"] .fkCheckin-stat { border-color: #cfe0ff; background: #f3f7ff; }
:root[data-variation="default"] .fkCheckin-statIcon { background: #e1ebff; color: #4f83ef; }
:root[data-variation="default"] .fkCheckin-value { color: #3778f6; }
:root[data-variation="default"] .fkCheckin-label { color: #8294b4; }
:root[data-variation="default"] .fkCheckin-reward { border-color: #d7e4fc; background: #f7faff; color: #536989; }
:root[data-variation="default"] .fkCheckin-reward i { color: #4f83ef; }
:root[data-variation="default"] .fkCheckin-button { background: #3177f5 !important; color: #fff !important; }

/* 资源详情：快捷分享与文章目录 */
body .fkResourceCtaPanel { display: grid; gap: 8px; }
body .fkResourceShareButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--rc-line);
	border-radius: 8px;
	background: var(--rc-surface-2);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	font-weight: 600;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}
body .fkResourceShareButton:hover {
	border-color: var(--rc-accent-line);
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
}
body .fkResourceOutline { overflow: hidden; }
body .fkResourceOutline > h2 { display: flex; align-items: center; gap: 8px; }
body .fkResourceOutline > h2 .fa--xf { color: var(--rc-accent); font-size: 13px; }
body .fkResourceOutlineList {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 9px;
	list-style: none;
}
body .fkResourceOutlineList a {
	display: block;
	padding: 7px 9px;
	border-radius: 7px;
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	line-height: 1.4;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
body .fkResourceOutlineList a:hover { background: var(--rc-accent-soft); color: var(--rc-accent); }
body .fkResourceOutlineList .is-sub a { padding-left: 20px; color: var(--rc-text-3); font-size: var(--rc-fs-xs); }
body .fkResourcePanel--intro .fkResourceBody h2,
body .fkResourcePanel--intro .fkResourceBody h3 { scroll-margin-top: 88px; }

/* 详情侧栏仅保留目录时的独立资料卡样式 */
body .fkResourceSidebar { align-content: start; }
body .fkResourceSidebar .fkResourceOutline {
	border-color: #cfe0ff;
	border-radius: 13px;
	background: #f4f8ff;
	box-shadow: 0 8px 18px rgba(43,108,212,.07);
}
body .fkResourceSidebar .fkResourceOutline > h2 {
	padding: 15px 16px 11px;
	border-bottom: 1px solid #d8e5fb;
	color: #315f9a;
	font-size: 15px;
}
body .fkResourceSidebar .fkResourceOutlineList { gap: 4px; padding: 10px; }
body .fkResourceSidebar .fkResourceOutlineList a { padding: 8px 9px; color: #57789f; }
body .fkResourceSidebar .fkResourceOutlineList a:hover { background: #e5f0ff; color: #2468dc; }

/* 资源详情侧栏：作者与资源摘要卡 */
body .fkResourceSidebarSummary {
	overflow: hidden;
	border-color: #cfe0ff;
	border-radius: 13px;
	background: #f4f8ff;
	box-shadow: 0 8px 18px rgba(43,108,212,.07);
}
body .fkResourceSidebarAuthor { display: grid; justify-items: center; gap: 6px; padding: 18px 16px 14px; text-align: center; }
body .fkResourceSidebarAuthor .avatar,
body .fkResourceSidebarFallback { display: grid; width: 66px; height: 66px; place-items: center; border-radius: 14px; background: #e4efff; color: #3b78d8; overflow: hidden; }
body .fkResourceSidebarAuthor b { color: #3678e4; font-size: 16px; }
body .fkResourceSidebarAuthor > span:not(.fkResourceSidebarFallback) { color: #6e8fbb; font-size: 12px; }
body .fkResourceSidebarStats { margin: 0 15px; padding: 11px 0; border-top: 1px solid #d5e3f8; border-bottom: 1px solid #d5e3f8; }
body .fkResourceSidebarStats > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 12px; }
body .fkResourceSidebarStats dt { color: #8ba4c8; }
body .fkResourceSidebarStats dd { margin: 0; color: #3e638f; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
body .fkResourceSidebarRating { display: grid; gap: 7px; margin: 0 15px; padding: 13px 0; border-bottom: 1px solid #d5e3f8; }
body .fkResourceSidebarRating b { color: #385979; font-size: 13px; }
body .fkResourceSidebarRating span { color: #f0b737; font-size: 15px; }
body .fkResourceSidebarRating small { color: #6e8fbb; font-size: 11px; }
body .fkResourceSidebarDiscuss { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 37px; margin: 14px 15px; border-radius: 8px; background: #3b7eea; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
body .fkResourceSidebarDiscuss:hover { background: #286bd9; color: #fff; text-decoration: none; }
body .fkResourceSidebarMore { margin: 0 15px; padding: 12px 0; border-top: 1px solid #d5e3f8; }
body .fkResourceSidebarMore h3 { margin: 0 0 8px; color: #385979; font-size: 13px; }
body .fkResourceSidebarMore > a { display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 7px; align-items: center; padding: 6px 0; color: inherit; text-decoration: none; }
body .fkResourceSidebarMoreIcon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; background: #e0ecff; color: #4e7db9; overflow: hidden; font-size: 12px; }
body .fkResourceSidebarMoreIcon img { width: 100%; height: 100%; object-fit: cover; }
body .fkResourceSidebarMore > a span:last-child { display: grid; min-width: 0; gap: 2px; }
body .fkResourceSidebarMore > a b { overflow: hidden; color: #4370a4; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceSidebarMore > a small { color: #8ba4c8; font-size: 10px; }
body .fkResourceSidebarMore > a:hover b { color: #2468dc; }
body .fkResourceAuthorResources { overflow: hidden; border-color: #cfe0ff; background: #f4f8ff; }
body .fkResourceAuthorResources > h2 { padding: 14px 15px 10px; border-bottom: 1px solid #d5e3f8; color: #385979; font-size: 14px; }
body .fkResourceAuthorResourceList { display: grid; padding: 7px 15px 10px; }
body .fkResourceAuthorResourceList > a { display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 7px; align-items: center; padding: 7px 0; border-bottom: 1px solid #d5e3f8; text-decoration: none; }
body .fkResourceAuthorResourceList > a:last-child { border-bottom: 0; }
body .fkResourceAuthorResourceList > a span:last-child { display: grid; gap: 2px; min-width: 0; }
body .fkResourceAuthorResourceList > a b { overflow: hidden; color: #4370a4; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceAuthorResourceList > a small { color: #8ba4c8; font-size: 10px; }
body .fkResourceAuthorResourceList > a strong { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; min-width: 0; }
body .fkResourceAuthorResourceList > a strong b { flex: 1 1 100px; }
body .fkResourceAuthorTag { display: inline-flex; align-items: center; min-height: 18px; padding: 0 5px; border-radius: 4px; background: var(--tag-a, #4dc8bc); color: #fff; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1; }
body .fkResourceAuthorResourceList > a p { margin: 3px 0 0; color: #667f9f; font-size: 11px; line-height: 1.45; }
:root[data-variation="alternate"] .fkResourceAuthorResources { border-color: #535d6b; background: #343b45; }
:root[data-variation="alternate"] .fkResourceAuthorResources > h2 { border-color: #535d6b; color: #e1e8f2; }
:root[data-variation="alternate"] .fkResourceAuthorResourceList > a { border-color: #535d6b; }
:root[data-variation="alternate"] .fkResourceAuthorResourceList > a b { color: #d7e1ef; }
:root[data-variation="alternate"] .fkResourceAuthorResourceList > a small { color: #aebccc; }
:root[data-variation="alternate"] .fkResourceAuthorResourceList > a p { color: #d0d8e5; }
body .fkResourceSidebarShare { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 15px; border-top: 1px solid #d5e3f8; }
body .fkResourceSidebarShare b { color: #385979; font-size: 13px; }
body .fkResourceSidebarShare .fkResourceShareButton { width: auto; min-height: 30px; padding: 0 9px; font-size: 11px; }
:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutline {
	border-color: #535d6b;
	background: #343b45;
	box-shadow: none;
}
:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutline > h2 { border-color: #535d6b; color: #dfe8f5; }
:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutlineList a { color: #bdc9d9; }
:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutlineList a:hover { background: #414a57; color: #72aaff; }
:root[data-variation="alternate"] .fkResourceSidebarSummary { border-color: #535d6b; background: #343b45; box-shadow: none; }
:root[data-variation="alternate"] .fkResourceSidebarAuthor .avatar,
:root[data-variation="alternate"] .fkResourceSidebarFallback { background: #414a57; color: #79aaff; }
:root[data-variation="alternate"] .fkResourceSidebarAuthor b { color: #7eb0ff; }
:root[data-variation="alternate"] .fkResourceSidebarAuthor > span:not(.fkResourceSidebarFallback),
:root[data-variation="alternate"] .fkResourceSidebarStats dt,
:root[data-variation="alternate"] .fkResourceSidebarRating small,
:root[data-variation="alternate"] .fkResourceSidebarMore > a small { color: #aebccc; }
:root[data-variation="alternate"] .fkResourceSidebarStats,
:root[data-variation="alternate"] .fkResourceSidebarRating,
:root[data-variation="alternate"] .fkResourceSidebarMore,
:root[data-variation="alternate"] .fkResourceSidebarShare { border-color: #535d6b; }
:root[data-variation="alternate"] .fkResourceSidebarStats dd,
:root[data-variation="alternate"] .fkResourceSidebarRating b,
:root[data-variation="alternate"] .fkResourceSidebarMore h3,
:root[data-variation="alternate"] .fkResourceSidebarShare b { color: #e1e8f2; }
:root[data-variation="alternate"] .fkResourceSidebarMoreIcon { background: #414a57; color: #9bc1ff; }
:root[data-variation="alternate"] .fkResourceSidebarMore > a b { color: #d7e1ef; }
@media (prefers-color-scheme: dark) {
	:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutline { border-color: #535d6b; background: #343b45; box-shadow: none; }
	:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutline > h2 { border-color: #535d6b; color: #dfe8f5; }
	:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutlineList a { color: #bdc9d9; }
	:root[data-variation="alternate"] .fkResourceSidebar .fkResourceOutlineList a:hover { background: #414a57; color: #72aaff; }
	:root[data-variation="alternate"] body .fkResourceSidebarSummary,
	:root[data-variation="alternate"] body .fkResourceAuthorResources { border-color: #535d6b; background: #343b45; box-shadow: none; }
	:root[data-variation="alternate"] body .fkResourceSidebarAuthor .avatar,
	:root[data-variation="alternate"] body .fkResourceSidebarFallback { background: #414a57; color: #79aaff; }
	:root[data-variation="alternate"] body .fkResourceSidebarAuthor b { color: #7eb0ff; }
	:root[data-variation="alternate"] body .fkResourceSidebarAuthor > span:not(.fkResourceSidebarFallback),
	:root[data-variation="alternate"] body .fkResourceSidebarStats dt,
	:root[data-variation="alternate"] body .fkResourceSidebarRating small,
	:root[data-variation="alternate"] body .fkResourceSidebarMore > a small,
	:root[data-variation="alternate"] body .fkResourceAuthorResourceList > a small { color: #aebccc; }
	:root[data-variation="alternate"] body .fkResourceSidebarStats,
	:root[data-variation="alternate"] body .fkResourceSidebarRating,
	:root[data-variation="alternate"] body .fkResourceSidebarMore,
	:root[data-variation="alternate"] body .fkResourceSidebarShare,
	:root[data-variation="alternate"] body .fkResourceAuthorResources > h2,
	:root[data-variation="alternate"] body .fkResourceAuthorResourceList > a { border-color: #535d6b; }
	:root[data-variation="alternate"] body .fkResourceSidebarStats dd,
	:root[data-variation="alternate"] body .fkResourceSidebarRating b,
	:root[data-variation="alternate"] body .fkResourceSidebarMore h3,
	:root[data-variation="alternate"] body .fkResourceSidebarShare b,
	:root[data-variation="alternate"] body .fkResourceAuthorResources > h2 { color: #e1e8f2; }
	:root[data-variation="alternate"] body .fkResourceSidebarMoreIcon { background: #414a57; color: #9bc1ff; }
	:root[data-variation="alternate"] body .fkResourceSidebarMore > a b,
	:root[data-variation="alternate"] body .fkResourceAuthorResourceList > a b { color: #d7e1ef; }
	:root[data-variation="alternate"] body .fkResourceAuthorResourceList > a p { color: #d0d8e5; }
}
@media (prefers-color-scheme: dark) {
	body .fkResourceSidebarSummary,
	body .fkResourceAuthorResources { border-color: #535d6b; background: #343b45; box-shadow: none; }
	body .fkResourceSidebarAuthor .avatar,
	body .fkResourceSidebarFallback { background: #414a57; color: #79aaff; }
	body .fkResourceSidebarAuthor b { color: #7eb0ff; }
	body .fkResourceSidebarAuthor > span:not(.fkResourceSidebarFallback),
	body .fkResourceSidebarStats dt,
	body .fkResourceSidebarRating small,
	body .fkResourceAuthorResourceList > a small { color: #aebccc; }
	body .fkResourceSidebarStats,
	body .fkResourceSidebarRating,
	body .fkResourceAuthorResources > h2,
	body .fkResourceAuthorResourceList > a { border-color: #535d6b; }
	body .fkResourceSidebarStats dd,
	body .fkResourceSidebarRating b,
	body .fkResourceAuthorResources > h2 { color: #e1e8f2; }
	body .fkResourceAuthorResourceList > a b { color: #d7e1ef; }
	body .fkResourceAuthorResourceList > a p { color: #d0d8e5; }
	body .fkResourceTabAction { border-color: #535d6b; background: #343b45; color: #d6e0ed; }
	body .fkResourceViewTabActions > :last-child .fkResourceTabAction,
	body .fkResourceViewTabActions > :last-child.fkResourceTabAction { border-right-color: #535d6b; }
	body .fkResourceTabAction:hover,
	body .fkResourceTabAction.is-active,
	body .fkResourceTabAction.is-bookmarked { background: #414a57; color: #72aaff; }
	body .fkResourceTabAction--bookmark.is-active,
	body .fkResourceTabAction--bookmark.is-bookmarked { background: #3b5270; color: #79b0ff; }
}

/* 资源详情：更新记录时间线 */
body .fkResourceHistory--page { margin-top: 20px; }
body .fkResourceHistory--page .fkResourceUpdatesHeader {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 24px 18px;
	border-bottom: 1px solid var(--rc-line);
	background: var(--rc-surface-2);
}
body .fkResourceHistory--page .fkResourceUpdatesHeader span {
	display: block;
	margin-bottom: 5px;
	color: var(--rc-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body .fkResourceHistory--page .fkResourceUpdatesHeader h2 { margin: 0; color: var(--rc-text-1); font-size: 21px; line-height: 1.25; }
body .fkResourceHistory--page .fkResourceUpdatesHeader p { margin: 6px 0 0; color: var(--rc-text-3); font-size: var(--rc-fs-sm); }
body .fkResourceHistory--page .fkResourceUpdatesHeader > small {
	flex: 0 0 auto;
	margin-top: 5px;
	padding: 7px 10px;
	border: 1px solid var(--rc-line);
	border-radius: 999px;
	background: var(--rc-surface);
	color: var(--rc-text-3);
	font-size: 12px;
}
body .fkResourceUpdateTimeline { position: relative; display: grid; gap: 0; padding: 14px 22px 20px; }
body .fkResourceUpdateCard { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 0; }
body .fkResourceUpdateCard:not(:last-child) .fkResourceUpdateMarker::after {
	position: absolute;
	top: 25px;
	bottom: -1px;
	left: 12px;
	width: 1px;
	background: var(--rc-line);
	content: '';
}
body .fkResourceUpdateMarker { position: relative; padding-top: 23px; }
body .fkResourceUpdateMarker i {
	display: block;
	position: relative;
	z-index: 1;
	width: 10px;
	height: 10px;
	border: 3px solid var(--rc-surface);
	border-radius: 50%;
	background: var(--rc-accent);
	box-shadow: 0 0 0 1px var(--rc-accent-line);
}
body .fkResourceUpdateContent { padding: 14px 0 18px; }
body .fkResourceUpdateCard:not(:last-child) .fkResourceUpdateContent { border-bottom: 1px solid var(--rc-line); }
body .fkResourceUpdateTitle { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
body .fkResourceUpdateTitle > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
body .fkResourceUpdateVersion {
	display: inline-flex;
	align-items: center;
	height: 23px;
	padding: 0 8px;
	border-radius: 6px;
	background: var(--rc-accent-soft);
	color: var(--rc-accent);
	font-size: 12px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
body .fkResourceUpdateTitle h3 { margin: 0; color: var(--rc-text-1); font-size: 16px; line-height: 1.45; }
body .fkResourceUpdateTitle time { flex: 0 0 auto; color: var(--rc-text-3); font-size: 12px; white-space: nowrap; }
body .fkResourceUpdateTitle time .fa--xf { margin-right: 4px; color: var(--rc-accent); }
body .fkResourceUpdateNote {
	margin-top: 10px;
	padding: 11px 13px;
	border-left: 3px solid var(--rc-accent);
	border-radius: 0 8px 8px 0;
	background: var(--rc-surface-2);
	color: var(--rc-text-2);
	font-size: var(--rc-fs-sm);
	line-height: 1.65;
	white-space: pre-wrap;
}
body .fkResourceUpdateMeta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 10px; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceUpdateMeta .fa--xf { margin-right: 4px; color: var(--rc-accent); }
body .fkResourceUpdateMeta a { margin-left: auto; color: var(--rc-accent); font-weight: 700; text-decoration: none; }
body .fkResourceUpdateMeta a:hover { text-decoration: underline; }
@media (max-width: 700px) {
	body .fkResourceHistory--page .fkResourceUpdatesHeader { flex-direction: column; padding: 18px; }
	body .fkResourceUpdateTimeline { padding: 10px 14px 16px; }
	body .fkResourceUpdateTitle { flex-direction: column; gap: 6px; }
body .fkResourceUpdateMeta a { width: 100%; margin-left: 0; }
}

/* 资源详情顶部信息卡：突出标题，收紧统计 */
body .fkResourceViewHero {
	gap: 18px;
	padding: 20px;
	border-radius: 15px;
}

/* 资源详情快捷入口与下划线式内容导航 */
body[data-template="fk_resource_view"] .p-body-header { display: none; }
body .fkResourceQuickNav {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 14px;
	padding: 7px 9px;
	border: 1px solid #cfe0ff;
	border-radius: 13px;
	background: rgba(255,255,255,.88);
	box-shadow: 0 5px 16px rgba(43,108,212,.06);
}
body .fkResourceQuickNav a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 32px;
	padding: 0 11px;
	border-radius: 8px;
	color: #345174;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
body .fkResourceQuickNav a:first-child { background: transparent; color: #345174; }
body .fkResourceQuickNav a:hover { background: #edf4ff; color: #2468dc; }
body .fkResourceQuickNav a.is-active { background: #edf4ff; color: #3973d9; }
body .fkResourceQuickNav .fa--xf { font-size: 13px; }
body .fkResourceViewTabs {
	gap: 0;
	padding: 0 12px;
	border-color: #cfe0ff;
	border-radius: 12px;
	background: rgba(255,255,255,.92);
}
body .fkResourceViewTabs a {
	position: relative;
	min-height: 45px;
	padding: 0 14px;
	border-radius: 0;
	background: transparent !important;
	color: #738aaa;
	font-weight: 600;
}
body .fkResourceViewTabs a.is-active { color: #2873ed; }
body .fkResourceViewTabs a.is-active::after {
	position: absolute;
	bottom: 0;
	left: 14px;
	right: 14px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: #2873ed;
	content: '';
}
body .fkResourceViewTabs a b { background: #eaf1fa; color: #7890b0; }
body .fkResourceViewTabs a.is-active b { background: #2873ed; color: #fff; }
body .fkResourceMyPage { max-width: 1200px; margin: 0 auto; }
body .fkResourceMyNotice { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; padding: 13px 16px; border: 1px solid #3e7ff1; border-radius: 9px; background: #397ff1; color: #fff; font-size: 13px; }
body .fkResourceMyNotice .fa--xf { font-size: 18px; }
body .fkResourceMyHeading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 25px 0 22px; }
body .fkResourceMyHeading h1 { margin: 0; color: var(--rc-text-1); font-size: 30px; font-weight: 400; }
body .fkResourceMyHeading h1 b { font-weight: 500; }
body .fkResourceMyHeading .button { min-width: 118px; border-radius: 7px; }
body .fkResourceMyTabs { display: flex; gap: 20px; border-bottom: 1px solid var(--rc-accent-line); }
body .fkResourceMyTabs a { position: relative; padding: 0 14px 12px; color: #91a8ce; font-size: 13px; font-weight: 600; text-decoration: none; }
body .fkResourceMyTabs a.is-active { color: var(--rc-accent); }
body .fkResourceMyTabs a.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--rc-accent); content: ''; }
body .fkResourceMyFilter { display: flex; align-items: center; gap: 0; margin: 12px 0 18px; padding: 16px 18px; border: 1px solid var(--rc-line); border-radius: 10px; background: var(--rc-surface); box-shadow: var(--rc-shadow-1); }
body .fkResourceMyFilter b { margin-right: 13px; color: var(--rc-text-2); font-size: 13px; }
body .fkResourceMyFilter a { padding: 8px 14px; color: var(--rc-accent); font-size: 12px; text-decoration: none; }
body .fkResourceMyFilter a.is-active { border-radius: 5px; background: var(--rc-accent); color: #fff; }
body .fkResourceMyList { display: grid; gap: 10px; }
body .fkResourceMyItem { display: grid; grid-template-columns: 48px minmax(0,1fr) 30px; gap: 13px; align-items: center; padding: 13px 16px; border: 1px solid var(--rc-line); border-radius: 10px; background: var(--rc-surface); box-shadow: var(--rc-shadow-1); }
body .fkResourceMyIcon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 8px; background: var(--rc-accent-soft); color: var(--rc-accent); overflow: hidden; }
body .fkResourceMyIcon img { width: 100%; height: 100%; object-fit: cover; }
body .fkResourceMyMain { min-width: 0; }
body .fkResourceMyMain > div { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
body .fkResourceMyTags { display: inline-flex; gap: 4px; }
body .fkResourceMyTags .fkResourceTag { min-height: 20px; padding: 2px 6px; font-size: 10px; }
body .fkResourceMyMain > div > a { color: var(--rc-text-1); font-size: 16px; font-weight: 700; text-decoration: none; }
body .fkResourceMyMain > div > a:hover { color: var(--rc-accent); }
body .fkResourceMyMain > div > small { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceMyMain p { margin: 3px 0; overflow: hidden; color: var(--rc-text-2); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceMyMeta { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceMyEdit { color: var(--rc-accent); text-decoration: none; }
body .fkResourceMyEmpty { padding: 30px 16px; border: 1px solid var(--rc-line); border-radius: 10px; background: var(--rc-surface); color: var(--rc-text-3); text-align: center; }
body .fkResourcePurchasedPage { max-width: 1200px; margin: 0 auto; }
body .fkResourcePurchasedPage > h1 { margin: 34px 0 25px; color: var(--rc-text-1); font-size: 32px; font-weight: 400; }
body .fkResourcePurchasedTable { overflow: hidden; border: 1px solid var(--rc-line); border-radius: 11px; background: var(--rc-surface); box-shadow: var(--rc-shadow-2); }
body .fkResourcePurchasedTable > header,
body .fkResourcePurchasedRow { display: grid; grid-template-columns: minmax(0, 1fr) 130px 90px 130px; gap: 16px; align-items: center; padding: 13px 16px; }
body .fkResourcePurchasedTable > header { color: var(--rc-text-2); background: var(--rc-accent-soft); font-size: 12px; }
body .fkResourcePurchasedRow { border-top: 1px solid var(--rc-line); color: var(--rc-text-1); font-size: 13px; text-decoration: none; }
body .fkResourcePurchasedRow:hover { background: var(--rc-surface-2); color: var(--rc-accent); }
body .fkResourcePurchasedRow > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourcePurchasedRow > span:nth-child(2), body .fkResourcePurchasedRow > span:nth-child(4) { color: var(--rc-text-2); font-size: 12px; }
body .fkResourcePurchasedRow .is-available { color: #4f9b52; font-weight: 600; }
body .fkResourcePurchasedEmpty { padding: 38px 16px; color: var(--rc-text-3); text-align: center; }
body .fkResourceFollowingPage { max-width: 1200px; margin: 0 auto; }
body .fkResourceFollowingHeading { margin: 34px 0 25px; }
body .fkResourceFollowingHeading h1 { margin: 0; color: var(--rc-text-1); font-size: 32px; font-weight: 400; }
body .fkResourceFollowingList { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--rc-line); border-radius: 11px; background: var(--rc-surface); box-shadow: var(--rc-shadow-2); }
body .fkResourceFollowingItem { display: grid; grid-template-columns: 48px minmax(0,1fr) 24px; gap: 13px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--rc-line); }
body .fkResourceFollowingItem:last-child { border-bottom: 0; }
body .fkResourceFollowingIcon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 9px; background: var(--rc-accent-soft); color: var(--rc-accent); overflow: hidden; text-decoration: none; }
body .fkResourceFollowingIcon img { width: 100%; height: 100%; object-fit: cover; }
body .fkResourceFollowingMain { min-width: 0; }
body .fkResourceFollowingMain > div { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
body .fkResourceFollowingMain > div > .fkResourceTag { min-height: 20px; padding: 2px 6px; font-size: 10px; }
body .fkResourceFollowingMain > div > a { color: var(--rc-text-1); font-size: 15px; font-weight: 700; text-decoration: none; }
body .fkResourceFollowingMain > div > a:hover { color: var(--rc-accent); }
body .fkResourceFollowingMain > div > small { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceFollowingMain p { margin: 3px 0; overflow: hidden; color: var(--rc-text-2); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceFollowingMain > span { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceFollowingArrow { color: var(--rc-accent); text-decoration: none; }
body .fkResourceFollowingEmpty { padding: 45px 16px; color: var(--rc-text-3); text-align: center; }
body .fkResourceLatestReviewsPage { max-width: 1200px; margin: 0 auto; }
body .fkResourceLatestReviewsPage > h1 { margin: 34px 0 25px; color: var(--rc-text-1); font-size: 32px; font-weight: 400; }
body .fkResourceLatestReviewList { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--rc-line); border-radius: 11px; background: var(--rc-surface); box-shadow: var(--rc-shadow-2); }
body .fkResourceLatestReview { display: grid; grid-template-columns: 150px minmax(0,1fr); border-bottom: 1px solid var(--rc-line); }
body .fkResourceLatestReview:last-child { border-bottom: 0; }
body .fkResourceLatestReview > aside { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 18px 12px; border-right: 1px solid var(--rc-line); background: var(--rc-surface-2); text-align: center; }
body .fkResourceLatestReview > aside .avatar,
body .fkResourceLatestReviewFallback { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 13px; background: var(--rc-accent-soft); color: var(--rc-accent); overflow: hidden; }
body .fkResourceLatestReview > aside b { color: var(--rc-accent); font-size: 13px; }
body .fkResourceLatestReview > aside span:not(.fkResourceLatestReviewFallback) { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceLatestReviewBody { min-width: 0; padding: 17px 20px 13px; }
body .fkResourceLatestReviewBody header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--rc-line); }
body .fkResourceLatestReviewBody header > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; min-width: 0; }
body .fkResourceLatestReviewBody header a { overflow: hidden; color: var(--rc-accent); font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
body .fkResourceLatestReviewBody header a:hover { text-decoration: underline; }
body .fkResourceLatestReviewBody header small { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceLatestReviewBody header > span { flex: 0 0 auto; color: var(--rc-gold); font-size: 12px; white-space: nowrap; }
body .fkResourceLatestReviewBody > p { min-height: 52px; margin: 13px 0; color: var(--rc-text-1); font-size: 13px; line-height: 1.75; white-space: pre-wrap; }
body .fkResourceLatestReviewBody footer { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceLatestReviewBody footer .fa--xf { margin-right: 4px; color: var(--rc-accent); }
body .fkResourceLatestReviewEmpty { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 55px 16px; color: var(--rc-text-3); }
body .fkResourceLatestReviewEmpty .fa--xf { color: var(--rc-accent); }
body .fkResourceLatestReviewEmpty b { color: var(--rc-text-2); }
body .fkResourceSearchPage { max-width: 1200px; margin: 0 auto; }
body .fkResourceSearchHeading { margin-bottom: 14px; padding: 17px 20px; border: 1px solid var(--rc-line); border-radius: 11px; background: var(--rc-surface-2); }
body .fkResourceSearchHeading h1 { margin: 0; color: var(--rc-text-1); font-size: 22px; }
body .fkResourceSearchHeading h1 b { color: var(--rc-accent); }
body .fkResourceSearchHeading p { margin: 5px 0 0; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceSearchCrumb { margin: 0 0 10px; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceSearchCrumb .fa--xf { color: var(--rc-accent); }
body .fkResourceSearchResults { overflow: hidden; border: 1px solid var(--rc-line); border-radius: 11px; background: var(--rc-surface); box-shadow: var(--rc-shadow-1); }
body .fkResourceSearchItem { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--rc-line); }
body .fkResourceSearchItem:last-child { border-bottom: 0; }
body .fkResourceSearchIcon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 8px; background: var(--rc-accent-soft); color: var(--rc-accent); overflow: hidden; }
body .fkResourceSearchIcon img { width: 100%; height: 100%; object-fit: cover; }
body .fkResourceSearchItem header { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
body .fkResourceSearchItem header .fkResourceTag { min-height: 20px; padding: 2px 6px; font-size: 10px; }
body .fkResourceSearchItem header a { color: var(--rc-accent); font-size: 14px; font-weight: 700; text-decoration: none; }
body .fkResourceSearchItem header small { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceSearchItem p { margin: 4px 0; color: var(--rc-text-1); font-size: 12px; line-height: 1.5; }
body .fkResourceSearchItem footer { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceSearchEmpty { padding: 45px 16px; color: var(--rc-text-3); text-align: center; }
@media (max-width: 700px) { body .fkResourceSearchHeading h1 { font-size: 18px; } body .fkResourceSearchItem { grid-template-columns: 42px minmax(0,1fr); padding: 11px; } body .fkResourceSearchIcon { width: 42px; height: 42px; } }
@media (prefers-color-scheme: dark) { body .fkResourceSearchHeading { border-color: #33445c; background: #1b2637; } body .fkResourceSearchHeading h1 { color: #edf2f8; } body .fkResourceSearchResults { border-color: #33445c; background: #1b2637; box-shadow: none; } body .fkResourceSearchItem { border-color: #33445c; background: #202d40; } body .fkResourceSearchItem p { color: #dce5f1; } }
:root[data-variation="alternate"] .fkResourceSearchHeading { border-color: #33445c; background: #1b2637; }
:root[data-variation="alternate"] .fkResourceSearchHeading h1 { color: #edf2f8; }
:root[data-variation="alternate"] .fkResourceSearchResults { border-color: #33445c; background: #1b2637; box-shadow: none; }
:root[data-variation="alternate"] .fkResourceSearchItem { border-color: #33445c; background: #202d40; }
:root[data-variation="alternate"] .fkResourceSearchItem p { color: #dce5f1; }

/* 搜索页浅色模式：覆盖系统深色偏好造成的孤立深色结果卡。 */
:root:not([data-variation="alternate"]) body .fkResourceSearchHeading {
	border-color: #cfe0ff;
	background: #f8fbff;
	box-shadow: 0 6px 16px rgba(43,108,212,.06);
}
:root:not([data-variation="alternate"]) body .fkResourceSearchHeading h1 { color: #24446c; }
:root:not([data-variation="alternate"]) body .fkResourceSearchHeading p,
:root:not([data-variation="alternate"]) body .fkResourceSearchCrumb,
:root:not([data-variation="alternate"]) body .fkResourceSearchItem footer { color: #748cab; }
:root:not([data-variation="alternate"]) body .fkResourceSearchResults {
	border-color: #cfe0ff;
	background: #fff;
	box-shadow: 0 6px 16px rgba(43,108,212,.06);
}
:root:not([data-variation="alternate"]) body .fkResourceSearchItem {
	border-color: #e0ebfb;
	background: #fff;
}
:root:not([data-variation="alternate"]) body .fkResourceSearchItem:hover { background: #f6faff; }
:root:not([data-variation="alternate"]) body .fkResourceSearchItem p { color: #385675; }
/* 顶部关键词搜索：保留一个搜索框，隐藏重复的独立放大镜入口 */
body .p-navgroup-link--search { display: none !important; }
body .fkNavSearch-form { position: relative; display: flex; align-items: center; width: 236px; height: 34px; }
body .fkNavSearch-form input[type="search"] { box-sizing: border-box; width: 100%; height: 34px; padding: 0 42px 0 14px; border: 1px solid var(--rc-line); border-radius: 999px; background: var(--rc-surface-2); color: var(--rc-text-1); font-size: 12px; }
body .fkNavSearch-form input[type="search"]::placeholder { color: var(--rc-text-3); }
body .fkNavSearch-form input[type="search"]:focus { border-color: var(--rc-accent); outline: 0; box-shadow: 0 0 0 3px var(--rc-accent-soft); }
body .fkNavSearch-form button { position: absolute; top: 3px; right: 3px; display: grid; width: 28px; height: 28px; place-items: center; border: 0; border-radius: 50%; background: var(--rc-accent); color: #fff; cursor: pointer; }
body .fkNavSearch-form button:hover { background: var(--rc-accent-hover); }
body .fkNavSearch-form button .fa--xf { font-size: 12px; }
body .fkNavSearch-trigger { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 236px; height: 34px; padding-left: 14px; border: 1px solid var(--rc-line); border-radius: 999px; background: var(--rc-surface-2); color: var(--rc-text-3); font-size: 12px; text-decoration: none; }
body .fkNavSearch-trigger:hover { border-color: var(--rc-accent); color: var(--rc-text-2); text-decoration: none; }
body .fkNavSearch-circle { display: grid; width: 28px; height: 28px; margin-right: 3px; place-items: center; border-radius: 50%; background: var(--rc-accent); color: #fff; }
body .fkNavSearch-circle .fa--xf { font-size: 12px; }
body .fkNavSearch > .menu { min-width: 330px; border: 0; border-radius: 12px; background: #111924; box-shadow: 0 14px 30px rgba(0,0,0,.28); color: #edf3fb; overflow: hidden; }
body .fkNavSearch > .menu .menu-content { background: transparent; }
body .fkNavSearch > .menu .menu-header { padding: 16px 18px 10px; color: #fff; font-size: 15px; }
body .fkNavSearch > .menu .menu-row { padding: 8px 18px; color: #f1f5fb; }
body .fkNavSearch > .menu .input { box-sizing: border-box; width: 100%; height: 38px; border: 1px solid #34465f; border-radius: 9px; background: #202c3d; color: #f3f6fb; }
body .fkNavSearch > .menu input::placeholder { color: #9eadc3; }
body .fkNavSearch > .menu label { color: #fff; font-size: 13px; font-weight: 600; }
body .fkNavSearch > .menu label input { width: calc(100% - 44px); margin-left: 9px; padding: 0 10px; border: 1px solid #34465f; border-radius: 9px; background: #202c3d; color: #f3f6fb; height: 38px; }
body .fkNavSearch > .menu .menu-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 18px 16px; background: transparent; }
body .fkNavSearch > .menu .menu-footer a { color: #8fb8ff; font-size: 12px; }
body .fkNavSearch > .menu .button--primary { min-width: 82px; border-radius: 9px; }
@media (max-width: 900px) { body .fkNavSearch-form, body .fkNavSearch-trigger { width: 190px; } }
@media (max-width: 700px) { body .fkNavSearch { display: none; } }
body .fkResourceBuyersPanel { max-width: 100%; }
body .fkResourceBuyersHeader { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--rc-line); background: var(--rc-surface-2); }
body .fkResourceBuyersHeader span { color: var(--rc-accent); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body .fkResourceBuyersHeader h2 { margin: 4px 0 0; color: var(--rc-text-1); font-size: 20px; }
body .fkResourceBuyersHeader p { margin: 5px 0 0; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceBuyersHeader > strong { padding: 8px 12px; border-radius: 8px; background: var(--rc-accent-soft); color: var(--rc-accent); font-size: 14px; }
body .fkResourceBuyersList { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px; }
body .fkResourceBuyersList > a { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--rc-line); border-radius: 9px; color: var(--rc-text-1); text-decoration: none; }
body .fkResourceBuyersList > a:hover { border-color: var(--rc-accent-line); background: var(--rc-accent-soft); }
body .fkResourceBuyersList .avatar { flex: 0 0 auto; width: 34px; height: 34px; }
body .fkResourceBuyersList > a > span { display: grid; gap: 2px; min-width: 0; }
body .fkResourceBuyersList b { overflow: hidden; color: var(--rc-accent); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceBuyersList small { color: var(--rc-text-3); font-size: 10px; }
body .fkResourceBuyersEmpty { padding: 35px 16px; color: var(--rc-text-3); text-align: center; }
@media (max-width: 700px) { body .fkResourceBuyersHeader { align-items: flex-start; flex-direction: column; } body .fkResourceBuyersList { grid-template-columns: 1fr; } }
body .fkResourceTipDialog { min-width: min(420px, 88vw); padding: 20px; }
body .fkResourceTipDialog h2 { margin: 0 0 8px; color: var(--rc-text-1); font-size: 18px; }
body .fkResourceTipDialog p { margin: 0 0 16px; color: var(--rc-text-2); font-size: 13px; line-height: 1.6; }
body .fkResourceTipDialog label { display: grid; gap: 7px; color: var(--rc-text-2); font-size: 13px; font-weight: 600; }
body .fkResourceTipDialog input { box-sizing: border-box; width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--rc-line); border-radius: 8px; background: var(--rc-surface); color: var(--rc-text-1); }
body .fkResourceTipDialog small { display: block; margin-top: 7px; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceTipPage { max-width: 820px; margin: 0 auto; }
body .fkResourceTipHeader { display: flex; align-items: center; gap: 13px; margin: 0 0 16px; padding: 18px 20px; border: 1px solid var(--rc-line); border-radius: 12px; background: var(--rc-surface); }
body .fkResourceTipHeader > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 11px; background: var(--rc-accent-soft); color: var(--rc-accent); font-size: 18px; }
body .fkResourceTipHeader h1 { margin: 0; color: var(--rc-text-1); font-size: 23px; }
body .fkResourceTipHeader p { margin: 3px 0 0; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceTipFormPanel, body .fkResourceTipsPanel { margin-bottom: 14px; }
body .fkResourceTipFormPanel > h2 { margin: 0; padding: 15px 17px; border-bottom: 1px solid var(--rc-line); color: var(--rc-text-1); font-size: 16px; }
body .fkResourceTipFormPanel form { padding: 16px 17px; }
body .fkResourceTipFormPanel label { display: grid; gap: 7px; color: var(--rc-text-2); font-size: 13px; font-weight: 600; }
body .fkResourceTipFormPanel input { height: 40px; padding: 0 10px; border: 1px solid var(--rc-line); border-radius: 8px; background: var(--rc-surface-2); color: var(--rc-text-1); }
body .fkResourceTipFormPanel label small { color: var(--rc-text-3); font-size: 11px; font-weight: 400; }
body .fkResourceTipsPanel > header { display: flex; align-items: center; justify-content: space-between; padding: 15px 17px; border-bottom: 1px solid var(--rc-line); background: var(--rc-surface-2); }
body .fkResourceTipsPanel > header h2 { margin: 0; color: var(--rc-text-1); font-size: 16px; }
body .fkResourceTipsPanel > header span { color: var(--rc-text-3); font-size: 12px; }
body .fkResourceTipsList { display: grid; }
body .fkResourceTipRow { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px 17px; border-bottom: 1px solid var(--rc-line); }
body .fkResourceTipRow:last-child { border-bottom: 0; }
body .fkResourceTipAvatar { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: var(--rc-accent-soft); color: var(--rc-accent); }
body .fkResourceTipRow > span:nth-child(2) { display: grid; gap: 2px; }
body .fkResourceTipRow b { color: var(--rc-text-1); font-size: 13px; }
body .fkResourceTipRow small { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceTipRow strong { color: #57a34d; font-size: 13px; }
body .fkResourceTipsEmpty { padding: 35px 16px; color: var(--rc-text-3); text-align: center; }
@media (max-width: 700px) { body .fkResourceTipPage { width: 100%; } body .fkResourceTipHeader { padding: 15px; } body .fkResourceTipRow { padding: 11px 13px; } }
:root[data-variation="alternate"] .fkResourceTipDialog h2 { color: #edf2f8; }
:root[data-variation="alternate"] .fkResourceTipDialog p,
:root[data-variation="alternate"] .fkResourceTipDialog label { color: #cdd7e5; }
@media (max-width: 700px) { body .fkResourceLatestReviewsPage > h1 { margin: 25px 0 18px; font-size: 25px; } body .fkResourceLatestReview { grid-template-columns: 1fr; } body .fkResourceLatestReview > aside { display: grid; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; gap: 1px 9px; padding: 11px 14px; border-right: 0; border-bottom: 1px solid var(--rc-line); text-align: left; } body .fkResourceLatestReview > aside .avatar, body .fkResourceLatestReviewFallback { grid-row: span 2; width: 38px; height: 38px; border-radius: 9px; } body .fkResourceLatestReviewBody { padding: 13px 14px; } body .fkResourceLatestReviewBody header { align-items: flex-start; flex-direction: column; gap: 5px; } }
@media (max-width: 700px) { body .fkResourceFollowingHeading { margin: 25px 0 18px; } body .fkResourceFollowingHeading h1 { font-size: 25px; } body .fkResourceFollowingItem { grid-template-columns: 42px minmax(0,1fr) 18px; gap: 9px; padding: 10px; } body .fkResourceFollowingIcon { width: 42px; height: 42px; } }
@media (max-width: 700px) { body .fkResourcePurchasedPage > h1 { margin: 25px 0 18px; font-size: 25px; } body .fkResourcePurchasedTable > header, body .fkResourcePurchasedRow { grid-template-columns: minmax(0,1fr) 74px 48px; gap: 8px; padding: 11px 10px; } body .fkResourcePurchasedTable > header > b:last-child, body .fkResourcePurchasedRow > span:last-child { display: none; } }
@media (max-width: 700px) { body .fkResourceMyHeading h1 { font-size: 24px; } body .fkResourceMyItem { grid-template-columns: 42px minmax(0,1fr) 20px; gap: 9px; padding: 11px; } body .fkResourceMyIcon { width: 42px; height: 42px; } body .fkResourceMyFilter { overflow-x: auto; } }
body .fkResourceViewTabActions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	margin: 10px 8px 14px;
}
body .fkResourceViewTabActions form { margin: 0; }
body .fkResourceTabAction {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 32px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #d3e1f8;
	border-right: 0;
	border-radius: 0;
	background: #fff;
	color: #3e78dd;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}
body .fkResourceViewTabActions > :first-child .fkResourceTabAction,
body .fkResourceViewTabActions > :first-child.fkResourceTabAction { border-radius: 7px 0 0 7px; }
body .fkResourceViewTabActions > :last-child .fkResourceTabAction,
body .fkResourceViewTabActions > :last-child.fkResourceTabAction { border-right: 1px solid #d3e1f8; border-radius: 0 7px 7px 0; }
body .fkResourceTabAction:hover,
body .fkResourceTabAction.is-active { background: #eaf2ff; color: #2468dc; text-decoration: none; }
body .fkResourceTabAction--bookmark {
	width: 34px !important;
	min-width: 34px !important;
	padding: 0 !important;
	font-size: 0 !important;
	white-space: nowrap;
}
body .fkResourceTabAction--bookmark .fa--xf { font-size: 14px; }
body .fkResourceTabAction--bookmark::after {
	display: block;
	color: currentColor;
	content: '\f02e';
	font-family: 'Font Awesome 5 Pro';
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}
body .fkResourceTabAction--bookmark.is-active::after,
body .fkResourceTabAction--bookmark.is-bookmarked::after { font-weight: 900; }

/* 使用 XenForo 原生书签图标，避免伪元素字体缺失时显示方框 */
body .fkResourceTabAction--bookmark::after { display: none !important; content: none !important; }
body .fkResourceTabAction--bookmark .fa--xf { display: inline-block !important; font-size: 14px; }
body .fkResourceTabAction--bookmark .fa--xf { display: none; }
body .fkResourceTabAction--bookmark.is-active,
body .fkResourceTabAction--bookmark.is-bookmarked { background: #eaf2ff; color: #2b6cd4; }
body .fkResourceTabAction--bookmark.is-active .fa--xf,
body .fkResourceTabAction--bookmark.is-bookmarked .fa--xf { color: #2b6cd4; }
:root[data-variation="alternate"] .fkResourceTabAction { border-color: #535d6b; background: #343b45; color: #bcd4f9; }
:root[data-variation="alternate"] .fkResourceViewTabActions > :last-child .fkResourceTabAction,
:root[data-variation="alternate"] .fkResourceViewTabActions > :last-child.fkResourceTabAction { border-right-color: #535d6b; }
:root[data-variation="alternate"] .fkResourceTabAction:hover,
:root[data-variation="alternate"] .fkResourceTabAction.is-active { background: #414a57; color: #72aaff; }
:root[data-variation="alternate"] .fkResourceTabAction--bookmark.is-active .fa--xf,
:root[data-variation="alternate"] .fkResourceTabAction--bookmark.is-bookmarked .fa--xf { color: #72aaff; }

/* 深色模式：资源横幅、快捷入口与导航使用独立深色配色 */
:root[data-variation="alternate"] body .fkResourceViewHero,
:root[data-variation="alternate"] .fkResourceViewHero {
	border-color: #535d6b;
	background: linear-gradient(110deg, #303740 0%, #343b45 54%, #303740 100%);
	box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
:root[data-variation="alternate"] .fkResourceViewHero::after { background: rgba(67,124,232,.11); }
:root[data-variation="alternate"] .fkResourceViewHero .fkResourceIcon { background: #34404f; box-shadow: 0 8px 18px rgba(0,0,0,.18); }
:root[data-variation="alternate"] .fkResourceViewTitle h1 { color: #f2f5fa; }
:root[data-variation="alternate"] .fkResourceViewTitle .fkResourceVersion { color: #aebccc; }
:root[data-variation="alternate"] .fkResourceViewTitle .fkResourceAuthor,
:root[data-variation="alternate"] .fkResourceViewTitle .fkResourceAuthor b { color: #b6c1d0; }
:root[data-variation="alternate"] .fkResourceQuickNav,
:root[data-variation="alternate"] .fkResourceViewTabs { border-color: #535d6b; background: #343b45; box-shadow: none; }
:root[data-variation="alternate"] .fkResourceQuickNav a { color: #edf2f8; }
:root[data-variation="alternate"] .fkResourceQuickNav a:first-child,
:root[data-variation="alternate"] .fkResourceQuickNav a:hover { background: #414a57; color: #fff; }
:root[data-variation="alternate"] .fkResourceQuickNav a:first-child { background: transparent; color: #edf2f8; }
:root[data-variation="alternate"] .fkResourceQuickNav a.is-active { background: #414a57; color: #7fb1ff; }
:root[data-variation="alternate"] .fkResourceViewTabs a { color: #c3cbd6; }
:root[data-variation="alternate"] .fkResourceViewTabs a.is-active { color: #55a0ff; }
@media (prefers-color-scheme: dark) {
	:root[data-variation="alternate"] body .fkResourceViewHero,
	:root[data-variation="alternate"] .fkResourceViewHero { border-color: #535d6b; background: linear-gradient(110deg, #303740 0%, #343b45 54%, #303740 100%); }
	:root[data-variation="alternate"] .fkResourceViewHero::after { background: rgba(67,124,232,.11); }
	:root[data-variation="alternate"] .fkResourceViewTitle h1 { color: #f2f5fa; }
	:root[data-variation="alternate"] .fkResourceQuickNav,
	:root[data-variation="alternate"] .fkResourceViewTabs { border-color: #535d6b; background: #343b45; }
	:root[data-variation="alternate"] .fkResourceQuickNav a,
	:root[data-variation="alternate"] .fkResourceViewTabs a { color: #edf2f8; }
	:root[data-variation="alternate"] .fkResourceQuickNav a:first-child { background: transparent; }
}
@media (max-width: 700px) {
	body .fkResourceQuickNav { overflow-x: auto; padding: 6px; }
	body .fkResourceQuickNav a { flex: 0 0 auto; }
	body .fkResourceViewTabs { overflow-x: auto; padding: 0 5px; }
	body .fkResourceViewTabs a { flex: 0 0 auto; padding: 0 12px; }
	body .fkResourceViewTabs a.is-active::after { left: 12px; right: 12px; }
}
body .fkResourceViewHero .fkResourceIcon {
	flex-basis: 62px;
	width: 62px;
	height: 62px;
	border-radius: 13px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
body .fkResourceViewTitle { display: flex; flex-direction: column; justify-content: center; }
body .fkResourceViewTitle .fkResourceTags { order: 0; margin-bottom: 5px; }
body .fkResourceViewTitle h1 {
	order: 1;
	margin: 0;
	color: var(--rc-text-1);
	font-size: clamp(19px, 1.55vw, 24px);
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -.015em;
}
body .fkResourceViewTitle p { order: 2; margin: 5px 0 0; color: var(--rc-text-2); }
body .fkResourceViewTitle .fkResourcePrice { order: 3; }
body .fkResourceViewTitle .fkResourceAuthor { order: 4; margin-top: 7px; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceViewTitle .fkResourceAuthor b { color: var(--rc-text-2); }
body .fkResourceHeroActions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
	flex: 0 0 174px;
	margin-left: auto;
}
body .fkResourceHeroActions .fkResourceCtaDownload,
body .fkResourceHeroActions .fkResourceFanButton,
body .fkResourceHeroActions .fkResourceShareButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	box-sizing: border-box;
	width: 100%;
	min-height: 34px;
	margin: 0;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
}
body .fkResourceHeroActions .fkResourceCtaDownload { min-height: 38px; }
body .fkResourceHeroActions .fkResourceFanForm { margin: 0; }
body .fkResourceViewMetrics {
	overflow: hidden;
	padding: 0;
	border: 1px solid var(--rc-line);
	border-radius: 11px;
	background: var(--rc-surface-2);
}

/* 资源详情顶部：大横幅展示风格 */
body .fkResourceViewHero {
	position: relative;
	min-height: 124px;
	padding: 22px 30px;
	border-color: #cfe0ff;
	background: linear-gradient(110deg, #edf5ff 0%, #f8fbff 48%, #e1eeff 100%);
	box-shadow: 0 10px 28px rgba(43, 108, 212, .08);
	overflow: hidden;
}
body .fkResourceViewHero::after { position: absolute; z-index: 0; top: -100px; right: 100px; width: 400px; height: 310px; border-radius: 50%; background: rgba(70, 139, 255, .12); filter: blur(15px); content: ''; }
body .fkResourceViewHero > * { position: relative; z-index: 1; }
body .fkResourceViewHero .fkResourceIcon {
	flex-basis: 92px;
	width: 92px;
	height: 92px;
	border: 0;
	border-radius: 13px;
	background: #e8f0ff;
	box-shadow: 0 8px 18px rgba(38, 86, 160, .13);
}
body .fkResourceViewTitle { align-self: stretch; justify-content: center; }
body .fkResourceHeroHeading { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
body .fkResourceViewTitle .fkResourceTags { display: flex; gap: 5px; margin: 0; order: unset; }
body .fkResourceHeroHeading .fkResourceTag { min-height: 27px; padding: 3px 10px; font-size: 14px; font-weight: 700; }
body .fkResourceViewTitle h1 {
	margin: 0;
	color: #29466f;
	font-size: clamp(23px, 1.65vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.025em;
}
body .fkResourceViewTitle .fkResourceVersion { order: 5; color: #96abd0; font-size: 17px; font-weight: 500; }
body .fkResourceViewTitle .fkResourceAuthor { display: flex; align-items: center; gap: 6px; margin-top: 14px; color: #91a8ce; font-size: 14px; }
body .fkResourceViewTitle .fkResourceAuthor b { color: #7596c5; }
body .fkResourceViewTitle .fkResourceAuthor .fa--xf { color: #9db5da; font-size: 14px; }
body .fkResourceHeroActions { flex-basis: 170px; gap: 0; }
body .fkResourceHeroActions .fkResourceCtaDownload {
	min-height: 44px;
	padding: 0 14px;
	border-radius: 10px;
	background: linear-gradient(135deg, #2580ff, #155ee4);
	box-shadow: 0 8px 17px rgba(31, 109, 242, .25);
	font-size: 14px;
	white-space: nowrap;
}
body .fkResourceHeroActions .fkResourceCtaDownload--external {
	background: linear-gradient(135deg, #92c948, #6fab2e);
	box-shadow: 0 12px 22px rgba(100, 170, 43, .25);
}
body .fkResourceHeroActions .fkResourceCtaDownload--purchase {
	background: linear-gradient(135deg, #347ff4, #1557d8);
	box-shadow: 0 12px 22px rgba(36, 105, 230, .30);
}

/* RMB 购买说明弹窗 */
.fkResourcePurchaseDialog { min-width: min(480px, 88vw); }
.fkResourcePurchaseHead { display: flex; align-items: center; gap: 14px; padding: 18px; background: var(--rc-surface-2); }
.fkResourcePurchaseHead img,
.fkResourcePurchaseHead > span { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 12px; background: var(--rc-accent-soft); color: var(--rc-accent); object-fit: cover; }
.fkResourcePurchaseHead h2 { margin: 0; color: var(--rc-text-1); font-size: 18px; }
.fkResourcePurchaseHead p { margin: 4px 0 0; color: var(--rc-text-3); font-size: 13px; }
.fkResourcePurchasePrice { display: flex; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--rc-line); color: var(--rc-text-3); }
.fkResourcePurchasePrice strong { color: var(--rc-accent); font-size: 17px; }
.fkResourcePurchaseNote { margin: 0; padding: 15px 18px 8px; color: var(--rc-text-2); font-size: 13px; line-height: 1.65; }
.fkResourcePurchaseContact { margin: 8px 18px 16px; padding: 10px 12px; border-radius: 8px; background: var(--rc-accent-soft); color: var(--rc-text-2); font-size: 13px; }
.fkResourcePurchaseContact .fa--xf { color: var(--rc-accent); }
.fkResourcePurchaseDialog .block-footer { text-align: center; }
:root[data-variation="alternate"] .fkResourcePurchaseHead { background: #343b45; }
:root[data-variation="alternate"] .fkResourcePurchaseHead h2 { color: #edf2f8; }
:root[data-variation="alternate"] .fkResourcePurchasePrice { border-color: #535d6b; color: #b7c3d2; }
:root[data-variation="alternate"] .fkResourcePurchaseNote { color: #d0d8e5; }
:root[data-variation="alternate"] .fkResourcePurchaseContact { background: #293b55; color: #d5dfec; }
@media (max-width: 960px) {
	body .fkResourceViewHero { min-height: 0; padding: 20px; }
	body .fkResourceViewHero .fkResourceIcon { flex-basis: 82px; width: 82px; height: 82px; }
	body .fkResourceHeroActions { flex-basis: 100%; }
}
@media (max-width: 600px) {
	body .fkResourceViewHero { padding: 16px; }
	body .fkResourceViewHero .fkResourceIcon { flex-basis: 56px; width: 56px; height: 56px; border-radius: 10px; }
	body .fkResourceViewTitle h1 { font-size: 21px; }
	body .fkResourceViewTitle .fkResourceVersion { font-size: 14px; }
	body .fkResourceViewTitle .fkResourceAuthor { margin-top: 10px; font-size: 12px; }
}
body .fkResourceViewMetrics span {
	min-width: 64px;
	padding: 8px 10px 7px;
	border-right: 1px solid var(--rc-line);
}
body .fkResourceViewMetrics .fa--xf { margin-bottom: 1px; color: var(--rc-accent); }
body .fkResourceViewMetrics b { font-size: 15px; }
body .fkResourceViewMetrics small { color: var(--rc-text-3); font-size: 11px; }
@media (max-width: 960px) {
	body .fkResourceViewHero { align-items: flex-start; }
	body .fkResourceHeroActions { width: 100%; margin-left: 0; }
	body .fkResourceViewMetrics { border-top: 1px solid var(--rc-line); }
}
@media (max-width: 600px) {
	body .fkResourceViewHero { gap: 12px; padding: 15px; }
	body .fkResourceViewHero .fkResourceIcon { flex-basis: 48px; width: 48px; height: 48px; border-radius: 10px; }
	body .fkResourceViewTitle { flex-basis: calc(100% - 60px); }
	body .fkResourceViewTitle h1 { font-size: 18px; }
	body .fkResourceHeroActions { flex-basis: 100%; }
}

/* 详情概述：参考兼容信息表的字段-值布局 */
body .fkResourceMetaSummary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
	margin-bottom: 14px;
	padding: 12px 16px;
	border: 1px solid var(--rc-line);
	border-radius: 13px;
	background: var(--rc-surface-2);
}
body .fkResourceMetaSummaryRow {
	display: grid;
	grid-template-columns: minmax(115px, .9fr) minmax(0, 1.35fr);
	gap: 12px;
	align-items: baseline;
	min-height: 38px;
	padding: 8px 0;
	border-bottom: 1px solid var(--rc-line);
	font-size: var(--rc-fs-sm);
}
body .fkResourceMetaSummaryRow:nth-last-child(-n+2) { border-bottom: 0; }
body .fkResourceMetaSummaryRow > span { color: var(--rc-text-3); }
body .fkResourceMetaSummaryRow > strong { min-width: 0; color: var(--rc-text-1); font-weight: 600; word-break: break-word; }
@media (max-width: 700px) {
	body .fkResourceMetaSummary { grid-template-columns: 1fr; gap: 0; padding: 9px 13px; }
	body .fkResourceMetaSummaryRow:nth-last-child(-n+2) { border-bottom: 1px solid var(--rc-line); }
	body .fkResourceMetaSummaryRow:last-child { border-bottom: 0; }
	body .fkResourceMetaSummaryRow { grid-template-columns: minmax(112px, .9fr) minmax(0, 1.3fr); }
}

/* 资源详情底部：近期更新与会员评价 */
body .fkResourceRecentUpdates,
body .fkResourceLatestReviews { margin-top: 14px; }
body .fkResourcePreviewHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 15px 17px;
	border-bottom: 1px solid var(--rc-line);
	background: var(--rc-surface-2);
}
body .fkResourcePreviewHeader span {
	display: block;
	margin-bottom: 3px;
	color: var(--rc-accent);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body .fkResourcePreviewHeader h2 { margin: 0; color: var(--rc-text-1); font-size: 16px; }
body .fkResourcePreviewHeader > a { flex: 0 0 auto; color: var(--rc-accent); font-size: 12px; font-weight: 700; text-decoration: none; }
body .fkResourcePreviewHeader > a .fa--xf { margin-left: 3px; font-size: 10px; }
body .fkResourceRecentUpdateList { display: grid; padding: 4px 14px 10px; }
body .fkResourceRecentUpdate {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 4px;
	border-bottom: 1px solid var(--rc-line);
	color: var(--rc-text-1);
	text-decoration: none;
}
body .fkResourceRecentUpdate:last-child { border-bottom: 0; }
body .fkResourceRecentUpdate > div { display: flex; align-items: center; min-width: 0; gap: 8px; }
body .fkResourceRecentUpdate > div > span { flex: 0 0 auto; padding: 3px 7px; border-radius: 5px; background: var(--rc-accent-soft); color: var(--rc-accent); font-size: 11px; font-weight: 700; }
body .fkResourceRecentUpdate strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--rc-fs-sm); }
body .fkResourceRecentUpdate time { flex: 0 0 auto; color: var(--rc-text-3); font-size: 12px; }
body .fkResourceRecentUpdate:hover strong { color: var(--rc-accent); }
body .fkResourceReviewList { display: grid; padding: 0 17px; }
body .fkResourceReview {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 11px;
	padding: 16px 0;
	border-bottom: 1px solid var(--rc-line);
}
body .fkResourceReview:last-child { border-bottom: 0; }
body .fkResourceReviewAvatar .avatar,
body .fkResourceReviewAvatar > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; }
body .fkResourceReviewAvatar > span { color: var(--rc-accent); background: var(--rc-accent-soft); }
body .fkResourceReviewBody { min-width: 0; }
body .fkResourceReviewBody header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body .fkResourceReviewBody header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
body .fkResourceReviewBody b { color: var(--rc-text-1); font-size: var(--rc-fs-sm); }
body .fkResourceReviewStars { color: var(--rc-gold); font-size: 12px; font-weight: 700; }
body .fkResourceReviewBody time { color: var(--rc-text-3); font-size: 12px; white-space: nowrap; }
body .fkResourceReviewComment { margin-top: 7px; color: var(--rc-text-2); font-size: var(--rc-fs-sm); line-height: 1.65; white-space: pre-wrap; word-break: break-word; }
body .fkResourceReviewEmpty { display: flex; align-items: center; gap: 11px; padding: 19px 17px; color: var(--rc-text-3); }
body .fkResourceReviewEmpty > .fa--xf { color: var(--rc-accent); font-size: 18px; }
body .fkResourceReviewEmpty > div { display: grid; gap: 2px; }
body .fkResourceReviewEmpty b { color: var(--rc-text-2); font-size: var(--rc-fs-sm); }
body .fkResourceReviewEmpty span { font-size: 12px; }
body .fkResourceReviewEmpty a { margin-left: auto; color: var(--rc-accent); font-size: 12px; font-weight: 700; text-decoration: none; }
body .fkResourceRatingReviewSection { margin: 0 18px 18px; border-top: 1px solid var(--rc-line); }
body .fkResourceRatingReviewSection > h3 { margin: 0; padding: 16px 0 4px; color: var(--rc-text-1); font-size: 16px; }
body .fkResourceRatingReviewSection > h3 small { color: var(--rc-text-3); font-size: 12px; font-weight: 400; }
body .fkResourceRatingReviewSection .fkResourceReviewList { padding: 0; }
body .fkResourceRatingDone { border-style: solid; border-color: var(--rc-accent-line); color: var(--rc-accent); }
body .fkResourceRatingDone .fa--xf { margin-right: 6px; }

/* 资源评价：论坛式会员资料卡 + 评价正文 */
body .fkResourceReviewList { padding: 0; }
body .fkResourceReview {
	display: grid;
	grid-template-columns: 158px minmax(0, 1fr);
	gap: 0;
	padding: 0;
	border-bottom: 1px solid var(--rc-line);
}
body .fkResourceReviewMember {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 17px 12px;
	border-right: 1px solid var(--rc-line);
	background: var(--rc-surface-2);
	text-align: center;
}
body .fkResourceReviewMember .avatar,
body .fkResourceReviewAvatar {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border: 1px solid var(--rc-line);
	border-radius: 13px;
	color: var(--rc-accent);
	background: var(--rc-surface);
	overflow: hidden;
}
body .fkResourceReviewUsername { color: var(--rc-text-1); font-size: 13px; font-weight: 700; text-decoration: none; }
body .fkResourceReviewMember > span:not(.fkResourceReviewAvatar) { color: var(--rc-text-3); font-size: 11px; }
body .fkResourceReviewMember dl { width: 100%; margin: 7px 0 0; padding-top: 7px; border-top: 1px solid var(--rc-line); }
body .fkResourceReviewMember dl > div { display: flex; justify-content: space-between; gap: 5px; padding: 2px 0; color: var(--rc-text-3); font-size: 11px; }
body .fkResourceReviewMember dt { font-weight: 400; }
body .fkResourceReviewMember dd { margin: 0; color: var(--rc-text-2); font-weight: 600; font-variant-numeric: tabular-nums; }
body .fkResourceReviewBody { display: flex; min-height: 158px; flex-direction: column; padding: 15px 18px 12px; }
body .fkResourceReviewBody header { padding-bottom: 10px; border-bottom: 1px solid var(--rc-line); }
body .fkResourceReviewBody header > div { gap: 8px; }
body .fkResourceReviewBody header b { color: var(--rc-text-2); font-size: 13px; }
body .fkResourceReviewStars { padding: 3px 7px; border-radius: 5px; background: var(--rc-gold-soft); color: var(--rc-gold); font-size: 12px; }
body .fkResourceReviewComment { flex: 1; margin-top: 13px; color: var(--rc-text-1); line-height: 1.75; }
body .fkResourceReviewBody footer { margin-top: 14px; color: var(--rc-text-3); font-size: 11px; }
body .fkResourceReviewBody footer .fa--xf { margin-right: 4px; color: var(--rc-accent); }
body .fkResourceRatingReviewSection .fkResourceReview { margin: 0; }
@media (max-width: 600px) {
	body .fkResourceReview { grid-template-columns: 1fr; }
	body .fkResourceReviewMember { display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; gap: 2px 9px; padding: 11px 14px; border-right: 0; border-bottom: 1px solid var(--rc-line); text-align: left; }
	body .fkResourceReviewMember .avatar, body .fkResourceReviewAvatar { grid-row: span 2; width: 38px; height: 38px; border-radius: 9px; }
	body .fkResourceReviewMember > span:not(.fkResourceReviewAvatar) { align-self: start; }
	body .fkResourceReviewMember dl { display: none; }
	body .fkResourceReviewBody { min-height: 0; padding: 13px 14px; }
}
@media (max-width: 600px) {
	body .fkResourcePreviewHeader { align-items: flex-start; padding: 13px 14px; }
	body .fkResourceRecentUpdateList, body .fkResourceReviewList { padding-left: 13px; padding-right: 13px; }
	body .fkResourceRecentUpdate { align-items: flex-start; flex-direction: column; gap: 5px; }
	body .fkResourceReviewBody header { align-items: flex-start; flex-direction: column; gap: 3px; }
	body .fkResourceReviewEmpty { align-items: flex-start; flex-wrap: wrap; padding: 17px 14px; }
	body .fkResourceReviewEmpty a { width: 100%; margin-left: 29px; }
}

/* Resource publishing: explicit Markdown source mode. */
body .fkMarkdownButton { min-width: 54px; width: 54px; height: 38px; padding: 0 !important; color: #172744 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; font-size: 13px; font-weight: 800; letter-spacing: .2px; }
body .fkMarkdownButton:hover, body .fkMarkdownButton.fr-active { color: #1e5dd8 !important; background: #e9f1ff !important; }
body .fkMarkdownPanel { margin: 0; border: 1px solid var(--rc-line, #365071); border-top: 0; border-radius: 0 0 8px 8px; background: var(--rc-panel, #1c2635); overflow: hidden; }
body .fkMarkdownTools { display: flex; flex-wrap: wrap; gap: 0; padding: 7px 9px; border-bottom: 1px solid var(--rc-line, #365071); background: color-mix(in srgb, var(--rc-panel, #1c2635) 85%, var(--rc-accent, #4c8dff)); }
body .fkMarkdownTools button { min-width: 38px; padding: 6px 9px; border: 0; border-right: 1px solid var(--rc-line, #365071); background: transparent; color: var(--rc-text-1, #eef5ff); cursor: pointer; font-size: 12px; font-weight: 700; }
body .fkMarkdownTools button:hover { background: var(--rc-accent-soft, rgba(76,141,255,.18)); color: var(--rc-accent, #4c8dff); }
body .fkMarkdownInput { display: block; box-sizing: border-box; width: 100%; min-height: 360px; padding: 16px 18px; border: 0; border-radius: 0; background: transparent; color: var(--rc-text-1, #eef5ff); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 1.7; resize: vertical; }
body .fkMarkdownInput:focus { outline: 0; box-shadow: inset 0 0 0 1px var(--rc-accent, #4c8dff); }
body .fkMarkdownStatus { display: flex; justify-content: space-between; padding: 7px 12px; border-top: 1px solid var(--rc-line, #365071); color: var(--rc-text-3, #96a8c2); font-size: 12px; }

body .fkResourceAuthorResources h2 { display: flex; align-items: center; gap: 6px; }
body .fkResourceAuthorResources h2::before { content: ''; width: 4px; height: 16px; border-radius: 4px; background: var(--rc-accent, #2b6cd4); }
body .fkResourceAuthorResources .fkResourceRelated { gap: 0; padding: 0; }
body .fkResourceAuthorResources .fkResourceRelatedLine { border: 0; border-bottom: 1px solid var(--rc-line); border-radius: 0; background: transparent; padding: 12px 14px; }
body .fkResourceAuthorResources .fkResourceRelatedLine:last-child { border-bottom: 0; }
body .fkResourceAuthorResources .fkResourceRelatedLine:hover { background: var(--rc-accent-soft); }
body .fkResourceAuthorResources .fkResourceRelatedLineBody { gap: 2px; }
body .fkResourceAuthorResources .fkResourceRelatedLineBody strong { color: var(--rc-text-1); font-size: var(--rc-fs-sm); }
body .fkResourceAuthorResources .fkResourceRelatedLineBody small { color: var(--rc-accent); font-size: 11px; }
body .fkResourceAuthorResources .fkResourceRelatedLineBody em { overflow: hidden; color: var(--rc-text-3); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
body .fkResourceAuthorTags { display: flex; gap: 4px; min-height: 16px; }
body .fkResourceAuthorTag { padding: 1px 5px; border: 1px solid var(--rc-accent-line); border-radius: 4px; color: var(--rc-accent); font-size: 10px; font-weight: 600; }

/* Resource detail header: keep the reference light card on the default scheme. */
:root:not([data-variation="alternate"]) body .fkResourceViewHero {
	border: 1px solid #cfe0ff !important;
	background: linear-gradient(110deg, #edf5ff 0%, #f8fbff 48%, #e1eeff 100%) !important;
	box-shadow: 0 10px 28px rgba(43, 108, 212, .08) !important;
}
:root:not([data-variation="alternate"]) body .fkResourceViewHero .fkResourceIcon { background: #e8f0ff !important; border-color: transparent !important; box-shadow: 0 8px 18px rgba(38, 86, 160, .13) !important; }
:root:not([data-variation="alternate"]) body .fkResourceViewTitle h1 { color: #29466f !important; }
:root:not([data-variation="alternate"]) body .fkResourceViewTitle .fkResourceVersion { color: #96abd0 !important; }
:root:not([data-variation="alternate"]) body .fkResourceViewTitle .fkResourceAuthor,
:root:not([data-variation="alternate"]) body .fkResourceViewTitle .fkResourceAuthor b { color: #7596c5 !important; }
:root:not([data-variation="alternate"]) body .fkResourceHeroActions .fkResourceCtaDownload { background: linear-gradient(135deg, #2580ff, #155ee4) !important; color: #fff !important; box-shadow: 0 8px 17px rgba(31, 109, 242, .25) !important; }
:root:not([data-variation="alternate"]) body .fkResourceQuickNav,
:root:not([data-variation="alternate"]) body .fkResourceViewTabs { border-color: #cfe0ff !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 5px 16px rgba(43,108,212,.06) !important; }
body .fkResourceTabAction--bookmark .fa--xf { display: inline-block !important; }
body .fkResourceViewTabActions--inline { margin: 0 0 0 auto; flex: 0 0 auto; }
body .fkMarkdownModeToolbar { display: flex; flex-wrap: wrap; gap: 0; padding: 8px 12px; border: 1px solid var(--rc-accent, #4c8dff); border-bottom: 0; background: var(--rc-accent-soft, #edf3ff); }
body .fkMarkdownModeToolbar button { min-width: 38px; min-height: 30px; padding: 4px 10px; border: 0; border-right: 1px solid var(--rc-accent-line, #c7d7f7); background: transparent; color: var(--rc-text-1, #19304f); cursor: pointer; font-size: 12px; font-weight: 700; }
body .fkMarkdownModeToolbar button:hover, body .fkMarkdownModeToolbar button.is-active { background: var(--rc-accent, #4c8dff); color: #fff; }
body .fkResourcePublishSheet:has(.fr-wrapper-markdown) .fr-box { border-color: var(--rc-accent, #4c8dff); box-shadow: 0 0 0 2px var(--rc-accent-soft, rgba(76,141,255,.18)); }
body .fkResourcePublishSheet:has(.fr-wrapper-markdown) .fr-toolbar { opacity: .55; }
body .fkMarkdownActive .fkVditorHost { margin: 0; border: 1px solid var(--rc-accent, #4c8dff); border-radius: 8px; overflow: hidden; background: var(--rc-panel, #fff); box-shadow: 0 0 0 2px var(--rc-accent-soft, rgba(76,141,255,.18)); }
body .fkMarkdownActive .fkVditorHost .vditor { border: 0; border-radius: 0; box-shadow: none; }
body .fkMarkdownActive .fkVditorHost .vditor-toolbar { background: var(--rc-accent-soft, #edf3ff); }
body .fkMarkdownActive .fkVditorHost .vditor-content { min-height: 390px; }
body .fkMarkdownActive .fkMarkdownToolbar { display: block; padding: 0; border-bottom: 1px solid var(--rc-accent-line, #c7d7f7); background: var(--rc-accent-soft, #edf3ff); }
body .fkMarkdownActive .fkMarkdownToolbar-main, body .fkMarkdownActive .fkMarkdownToolbar-actions { display: flex; align-items: center; min-height: 45px; padding: 0 10px; }
body .fkMarkdownActive .fkMarkdownToolbar-actions { min-height: 38px; }
body .fkMarkdownActive .fkMarkdownToolbar button { min-width: 36px; height: 32px; padding: 0 9px; border: 0; background: transparent; color: var(--rc-text-1, #19304f); cursor: pointer; font-size: 12px; font-weight: 700; }
body .fkMarkdownActive .fkMarkdownToolbar button:hover { background: #edf4ff; color: #245ec9; }
body .fkMarkdownActive .fkMarkdownToolbar button.is-active { color: #1e5ed7 !important; background: #dce9ff !important; box-shadow: inset 0 0 0 1px #a9c5fa; border-radius: 4px; }
body .fkMarkdownActive .fkMarkdownToolbar-separator { flex: 0 0 1px; width: 1px; height: 31px; margin: 0 6px; background: var(--rc-accent-line, #c7d7f7); }
body .fkMarkdownActive .fkMarkdownToolbar-break { flex-basis: 100%; height: 0; }
body .fkMarkdownActive .fkMarkdownStatusBar { display: flex; justify-content: space-between; padding: 7px 10px; border-top: 1px solid var(--rc-accent-line, #c7d7f7); background: var(--rc-accent-soft, #edf3ff); color: var(--rc-text-3, #7183a0); font-size: 12px; }
body .fkMarkdownActive .fkMarkdownBiliPanel { display: flex; align-items: end; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--rc-accent-line, #c7d7f7); background: var(--rc-accent-soft, #edf3ff); color: var(--rc-text-1, #19304f); font-size: 13px; }
body .fkMarkdownActive .fkMarkdownBiliPanel[hidden] { display: none; }
body .fkMarkdownActive .fkMarkdownBiliPanel label { display: grid; flex: 1; gap: 4px; color: var(--rc-text-3, #7183a0); font-size: 12px; }
body .fkMarkdownActive .fkMarkdownBiliPanel input { width: 100%; height: 34px; box-sizing: border-box; border: 1px solid var(--rc-accent-line, #c7d7f7); border-radius: 6px; padding: 0 9px; color: var(--rc-text-1, #19304f); background: #fff; }
body .fkMarkdownActive .fkMarkdownBiliPanel .button { height: 34px; margin: 0; white-space: nowrap; }
body .fkMarkdownActive .fkMarkdownBiliPanel .button:not(.button--primary) { color: #245ec9; background: #dce9ff; border-color: #dce9ff; }
body .fkMarkdownActive .fkMarkdownBiliPanel .button--primary { color: #fff; background: #2861d5; border-color: #2861d5; }
body .fkMarkdownActive .fkMarkdownBiliError { color: #c23b45; font-size: 12px; }
body .fkMarkdownActive .fkMarkdownInsertPanel { display: flex; align-items: end; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--rc-accent-line, #c7d7f7); background: var(--rc-accent-soft, #edf3ff); color: var(--rc-text-1, #19304f); font-size: 13px; }
body .fkMarkdownActive .fkMarkdownInsertPanel[hidden] { display: none; }
body .fkMarkdownActive .fkMarkdownInsertPanel label { display: grid; flex: 1; gap: 4px; color: var(--rc-text-3, #7183a0); font-size: 12px; }
body .fkMarkdownActive .fkMarkdownInsertPanel input:not([type="file"]) { width: 100%; height: 34px; box-sizing: border-box; border: 1px solid var(--rc-accent-line, #c7d7f7); border-radius: 6px; padding: 0 9px; color: var(--rc-text-1, #19304f); background: #fff; }
body .fkMarkdownActive .fkMarkdownInsertPanel .button { height: 34px; margin: 0; white-space: nowrap; }
body .fkMarkdownActive .fkMarkdownInsertError { color: #c23b45; font-size: 12px; }
body .fkMarkdownActive .fkVditorHost .vditor-preview__action { display: none !important; }
body .fkMarkdownActive .fkVditorHost .vditor-content[hidden] { display: none !important; }
body .fkMarkdownActive .fkMarkdownFullPreview { min-height: 390px; padding: 18px 20px; overflow: auto; background: #fff; color: var(--rc-text-1, #19304f); line-height: 1.7; }
body .fkMarkdownActive .fkMarkdownFullPreview[hidden] { display: none; }
body .fkMarkdownActive .fkMarkdownBiliPlayer { display: block; width: min(100%, 560px); aspect-ratio: 16 / 9; margin: 0 0 16px; border: 0; background: #111; }
body .fkMarkdownActive .fr-toolbar .fkMarkdownRichDisabled { opacity: .32 !important; filter: grayscale(1); pointer-events: none !important; cursor: not-allowed !important; }
body .fkResourcePublishSheet .fr-toolbar .fr-command:not(.fkMarkdownRichDisabled),
body .fkResourceAdminEditSheet .fr-toolbar .fr-command:not(.fkMarkdownRichDisabled) { opacity: 1; filter: none; }
body .fkResourcePublishSheet:not(:has(.fkMarkdownActive)) .fr-toolbar,
body .fkResourceAdminEditSheet:not(:has(.fkMarkdownActive)) .fr-toolbar { opacity: 1 !important; filter: none !important; }
body .fkResourceAdminEditSheet .fr-toolbar .fr-command,
body .fkResourceAdminEditSheet .fr-toolbar .fr-command:not(.fr-disabled) {
	color: #007d64 !important;
	opacity: 1 !important;
	filter: none !important;
}
body .fkResourceAdminEditSheet .fr-toolbar .fr-command svg,
body .fkResourceAdminEditSheet .fr-toolbar .fr-command .fr-svg,
body .fkResourceAdminEditSheet .fr-toolbar .fr-command use {
	display: inline-block !important;
	fill: currentColor !important;
	stroke: currentColor !important;
	opacity: 1 !important;
}
body .fkResourceAdminEditSheet .fr-toolbar .fr-command.fr-disabled { color: #6f9e96 !important; opacity: .75 !important; }

/* Resource centre: calm editorial cards with deterministic local SVG fallbacks. */
body .jiuyuResourceList .block-container { border: 0; background: transparent; box-shadow: none; }
body .jiuyuResourceList .block-body { padding: 0; }
body .jiuyuResourceList .structItemContainer { display: grid; gap: 18px; }
body .jiuyuResourceList .structItem--resource { grid-template-columns: 140px minmax(0, 1fr) 235px; gap: 24px; align-items: center; margin: 0; padding: 24px; border: 1px solid #d6e2f5; border-radius: 18px; background: #fff; box-shadow: none; }
body .jiuyuResourceList .structItem--resource:nth-child(even) { background: #f9fbff; }
body .jiuyuResourceList .structItem--resource:hover { background: #f2f7ff; border-color: #b9cff4; }
body .jiuyuResourceList .structItem-iconContainer { width: 136px; height: 136px; }
body .jiuyuResourceList .fkResIcon { width: 136px; height: 136px; border: 1px solid #d5d5d5; border-radius: 20px; background: #f1f1ef; color: #9aafd1; }
body .jiuyuResourceList .fkResIcon img { object-fit: cover; }
body .jiuyuResourceList .fkResFallback { display: block; width: 100%; height: 100%; background: url('/styles/ss/assets/resource-default.svg') center / cover no-repeat; }
body .jiuyuResourceList .fkResFallback .fa--xf { display: none; }
body .jiuyuResourceList .structItem-title { gap: 7px; font-size: 15px; line-height: 1.45; }
body .jiuyuResourceList .fkResTitle { color: #2d466f; font-size: 22px; font-weight: 750; letter-spacing: -.02em; }
body .jiuyuResourceList .structItem--resource:nth-child(even) .fkResTitle { font-size: 20px; color: #36527e; }
body .jiuyuResourceList .fkResVersion { font-size: 14px; font-weight: 600; color: #98acd0; }
body .jiuyuResourceList .structItem-minor { margin-top: 7px; font-size: 16px; color: #94a9cd; }
body .jiuyuResourceList .structItem-parts { gap: 5px 12px; }
body .jiuyuResourceList .structItem-parts li + li::before { content: '|'; margin-right: 12px; color: #c1cde0; }
body .jiuyuResourceList .fkResAuthorAvatar .avatar { width: 30px; height: 30px; font-size: 12px; border: 1px solid #dce6f5; }
/* Keep XenForo's native default avatar appearance. */
body .jiuyuResourceList .fkResAuthor .username, body .jiuyuResourceList .fkResCategory a { color: #90a6cd; font-size: 16px; font-weight: 400; }
body .jiuyuResourceList .fkResGameVersion, body .jiuyuResourceList .fkResCore { color: #9eb1d0; }
body .jiuyuResourceList .structItem-resourceTagLine { margin-top: 15px; color: #9aadd0; font-size: 18px; line-height: 1.65; -webkit-line-clamp: 2; }
body .jiuyuResourceList .structItem-cell--resourceMeta { align-items: stretch; justify-content: center; gap: 14px; min-width: 0; padding-left: 24px; border-left: 1px solid #d9e4f5; text-align: left; }
body .jiuyuResourceList .fkStarsRow { justify-content: space-between; gap: 10px; }
body .jiuyuResourceList .fkStars { width: 142px; height: 24px; }
body .jiuyuResourceList .fkStars::before, body .jiuyuResourceList .fkStars::after { font-size: 22px; line-height: 24px; letter-spacing: 1px; }
body .jiuyuResourceList .fkStars::before { color: #d7e4f7; }
body .jiuyuResourceList .fkStars::after { color: #f2bd46; text-shadow: 0 1px 0 #e2a928; }
body .jiuyuResourceList .fkStarsText { color: #96aad0; font-size: 14px; font-weight: 400; white-space: nowrap; }
body .jiuyuResourceList .fkResMetaItem { justify-content: flex-start; gap: 14px; font-size: 16px; }
body .jiuyuResourceList .fkResMetaItem dt { min-width: 48px; color: #9bb0d2; font-weight: 400; }
body .jiuyuResourceList .fkResMetaItem dd { color: #8ca5ce; font-weight: 500; }
@media (max-width: 900px) { body .jiuyuResourceList .structItem--resource { grid-template-columns: 92px minmax(0, 1fr); gap: 16px; padding: 18px; } body .jiuyuResourceList .structItem-iconContainer, body .jiuyuResourceList .fkResIcon { width: 88px; height: 88px; } body .jiuyuResourceList .structItem-cell--resourceMeta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); padding: 14px 0 0; border-top: 1px solid #d9e4f5; border-left: 0; } body .jiuyuResourceList .fkStarsRow { justify-content: flex-start; } body .jiuyuResourceList .structItem-resourceTagLine { font-size: 15px; } }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource { border-color: #34445c; background: #141b27; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource:nth-child(even) { background: #192331; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource:hover { background: #202d40; border-color: #4f6f9f; }
:root[data-variation="alternate"] .jiuyuResourceList .fkResIcon { border-color: #3d4d66; background: #202b3b; color: #86aef0; }
:root[data-variation="alternate"] .jiuyuResourceList .fkResFallback { background-image: url('/styles/ss/assets/resource-default-dark.svg'); }
:root[data-variation="alternate"] .jiuyuResourceList .fkResTitle { color: #e3ecfa; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource:nth-child(even) .fkResTitle { color: #d3e2f8; }
:root[data-variation="alternate"] .jiuyuResourceList .fkResVersion,
:root[data-variation="alternate"] .jiuyuResourceList .fkResAuthor .username,
:root[data-variation="alternate"] .jiuyuResourceList .fkResCategory a,
:root[data-variation="alternate"] .jiuyuResourceList .structItem-minor,
:root[data-variation="alternate"] .jiuyuResourceList .structItem-resourceTagLine { color: #9eb5d8; }
:root[data-variation="alternate"] .jiuyuResourceList .fkResGameVersion,
:root[data-variation="alternate"] .jiuyuResourceList .fkResCore { color: #91a8cc; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem-parts li + li::before { color: #536681; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem-cell--resourceMeta { border-left-color: #34445c; }
:root[data-variation="alternate"] .jiuyuResourceList .fkStars::before { color: #40506a; }
:root[data-variation="alternate"] .jiuyuResourceList .fkStarsText,
:root[data-variation="alternate"] .jiuyuResourceList .fkResMetaItem dt { color: #91a8cc; }
:root[data-variation="alternate"] .jiuyuResourceList .fkResMetaItem dd { color: #d3e2f8; }

/* Compact resource list sizing, matching the reference resource centre. */
body .jiuyuResourceList .structItemContainer { gap: 12px; }
body .jiuyuResourceList .structItem--resource { grid-template-columns: 96px minmax(0, 1fr) 185px; gap: 16px; padding: 16px; border-radius: 14px; }
body .jiuyuResourceList .structItem-iconContainer, body .jiuyuResourceList .fkResIcon { width: 92px; height: 92px; border-radius: 13px; }
body .jiuyuResourceList .structItem-title { gap: 5px; font-size: 13px; }
body .jiuyuResourceList .fkResTitle, body .jiuyuResourceList .structItem--resource:nth-child(even) .fkResTitle { font-size: 17px; font-weight: 700; }
body .jiuyuResourceList .fkResVersion { font-size: 12px; }
body .jiuyuResourceList .structItem-minor { margin-top: 5px; font-size: 13px; }
body .jiuyuResourceList .fkResAuthorAvatar .avatar { width: 18px !important; height: 18px !important; min-width: 18px; min-height: 18px; font-size: 8px; border: 1px solid rgba(145, 169, 207, .78); box-shadow: 0 1px 2px rgba(33, 58, 96, .2), 0 3px 7px rgba(33, 58, 96, .12); }
body .jiuyuResourceList .structItem-parts > li.fkResAuthor .avatar { width: 18px !important; height: 18px !important; min-width: 18px; min-height: 18px; font-size: 8px; border: 1px solid rgba(145, 169, 207, .78); box-shadow: 0 1px 2px rgba(33, 58, 96, .2), 0 3px 7px rgba(33, 58, 96, .12); }
body .jiuyuResourceList .fkResAuthor .username, body .jiuyuResourceList .fkResCategory a { font-size: 13px; }
body .jiuyuResourceList .structItem-resourceTagLine { margin-top: 8px; font-size: 14px; line-height: 1.5; }
body .jiuyuResourceList .structItem-cell--resourceMeta { gap: 8px; padding-left: 16px; }
body .jiuyuResourceList .fkStars { width: 102px; height: 19px; }
body .jiuyuResourceList .fkStars::before, body .jiuyuResourceList .fkStars::after { font-size: 17px; line-height: 19px; letter-spacing: 1px; }
body .jiuyuResourceList .fkStarsText { font-size: 12px; }
body .jiuyuResourceList .fkResMetaItem { gap: 9px; font-size: 13px; }
body .jiuyuResourceList .fkResMetaItem dt { min-width: 40px; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource { background: #141b27; }
:root[data-variation="alternate"] .jiuyuResourceList .structItem--resource:nth-child(even) { background: #192331; }
body.fkMarkdownPageFullscreen { overflow: hidden; }
body .fkMarkdownActive .fkVditorHost.is-fullscreen { position: fixed; inset: 6px; z-index: 10000; display: flex; flex-direction: column; height: auto !important; max-height: none !important; margin: 0; border-radius: 7px; }
body .fkMarkdownActive .fkVditorHost.is-fullscreen .vditor { flex: 1 1 auto; height: auto !important; min-height: 0; }
body .fkMarkdownActive .fkVditorHost.is-fullscreen .vditor-content { height: 100%; min-height: 0; }
body .fkMarkdownActive .fkVditorHost.is-fullscreen .fkMarkdownFullPreview { flex: 1 1 auto; min-height: 0; }
/* The resource editor keeps Markdown in its toolbar; these legacy extra actions are removed. */
body .fkResourcePublishSheet .js-previewButton,
body .fkResourcePublishSheet .fkEditorExtras,
body .fkResourcePublishSheet .fkResourceEditorGuide { display: none !important; }

/* Backend resource editor: use the same light surface language as the public
   resource publishing page, regardless of the admin theme preference. */
html:has(.fkResourceAdminEditSheet), body:has(.fkResourceAdminEditSheet) { color-scheme: light; }
body:has(.fkResourceAdminEditSheet) { background: #eef4fb !important; color: #1c2940 !important; }
body:has(.fkResourceAdminEditSheet) .p-pageWrapper,
body:has(.fkResourceAdminEditSheet) .p-body,
body:has(.fkResourceAdminEditSheet) .p-body-main,
body:has(.fkResourceAdminEditSheet) .p-body-content,
body:has(.fkResourceAdminEditSheet) .p-body-header,
body:has(.fkResourceAdminEditSheet) .block-container,
body:has(.fkResourceAdminEditSheet) .block-body { background: #fff !important; color: #1c2940 !important; }
body:has(.fkResourceAdminEditSheet) .p-body-header { border-color: #d6e2f5 !important; }
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet {
  max-width: 1080px; background: #fff !important; border: 1px solid #d6e2f5 !important;
  border-radius: 14px !important; color: #1c2940 !important;
  box-shadow: 0 8px 24px rgba(44, 78, 126, .10) !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .formRow > dt {
  background: #f4f7fc !important; color: #29486f !important; border-color: #d6e2f5 !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .formRow > dd,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .formRow,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .formInfo {
  background: #fff !important; color: #526b90 !important; border-color: #d6e2f5 !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .input,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet select,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet textarea {
  background: #fff !important; color: #1c2940 !important; border-color: #cbd9eb !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .input:focus,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet select:focus,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet textarea:focus {
  border-color: #70a6f6 !important; box-shadow: 0 0 0 3px rgba(112, 166, 246, .18) !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .fr-box,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .fkVditorHost,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .vditor {
  background: #fff !important; color: #1c2940 !important; border-color: #bfd2ef !important; box-shadow: none !important;
}
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .fr-toolbar,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .vditor-toolbar { background: #f5f8fd !important; border-color: #d6e2f5 !important; }
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .fr-element,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .vditor-content,
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .fkMarkdownEditor { background: #fff !important; color: #1c2940 !important; }
body:has(.fkResourceAdminEditSheet) .fkResourceAdminEditSheet .formSubmitRow { background: #f5f8fd !important; border-color: #d6e2f5 !important; }

/* Restore XenForo's complete search menu (title-only, author and advanced search). */
body .fkNavSearch { display: none !important; }
body .p-navgroup-link--search { display: flex !important; }

/* =====================================================================
   资源展示 5 张网格（4:3 小图，点击放大）
   ===================================================================== */
.fkResourceGallery--grid { padding: 4px 0 8px; }
.fkResourceGallery--grid h3 { margin: 0 0 10px; font-size: 14px; font-weight: 700; color: var(--rc-text-1,#1b2733); display:flex; align-items:baseline; gap:8px; }
.fkResourceGallery--grid h3 small { font-size: 11px; color: var(--rc-text-3,#8a97a3); font-weight: 500; }
.fkResourceGalleryGrid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}
.fkResourceGalleryCell {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	background: var(--rc-surface-3, #eef1f4);
	border: 1px solid var(--rc-line, #e3e7ec);
	transition: transform 150ms ease, box-shadow 150ms ease;
}
.fkResourceGalleryCell:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(16,24,40,.12); }
.fkResourceGalleryCell img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 响应式：窄屏自动减少列 */
@media (max-width: 700px) {
	.fkResourceGalleryGrid { grid-template-columns: repeat(2, 1fr); }
}

/* 资源展示 v2：按数量自适应 + 完整展示不裁切 */
.fkResourceGalleryGrid {
	display: grid;
	gap: 12px;
}
.fkResourceGalleryGrid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 720px; }
.fkResourceGalleryGrid[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.fkResourceGalleryGrid[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
.fkResourceGalleryGrid[data-count="4"] { grid-template-columns: repeat(4, 1fr); }
.fkResourceGalleryGrid[data-count="5"], .fkResourceGalleryGrid:not([data-count]) { grid-template-columns: repeat(5, 1fr); }
.fkResourceGalleryCell {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	background: var(--rc-surface-3, #eef1f4);
	border: 1px solid var(--rc-line, #e3e7ec);
	transition: transform 150ms ease, box-shadow 150ms ease;
}
.fkResourceGalleryCell:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(16,24,40,.12); }
.fkResourceGalleryCell img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
@media (max-width: 700px) {
	.fkResourceGalleryGrid[data-count="3"],
	.fkResourceGalleryGrid[data-count="4"],
	.fkResourceGalleryGrid[data-count="5"] { grid-template-columns: repeat(2, 1fr); }
}

/* 导航 logo：放大贴近论坛菜单 */
.p-header-logo {
	margin-right: 0 !important;
	padding-right: 0 !important;
}
.p-header-logo img {
	max-height: none !important;
}
.p-nav-list {
	margin-left: 0 !important;
	padding-left: 2px !important;
}

/* 导航：首个链接(论坛)贴近 logo（消除 inline-block 换行间隙） */
.p-nav-list { display: block; }
.p-nav-list > li:first-child { margin-left: -12px !important; }

/* 空态文字与标题左对齐（近期更新 / 最新评价） */
.fkResourceRecentUpdateList .fkResourceEmptyInline,
.fkResourceReviewList .fkResourceEmptyInline,
.fkResourceLatestReviews .fkResourceEmptyInline {
	margin: 0;
	padding: 12px 0 12px 0;
}

/* list 容器左内边距与标题行(17px)一致，确保空态文字对齐标题 */
.fkResourceRecentUpdateList,
.fkResourceReviewList { padding-left: 17px !important; padding-right: 17px !important; }

/* =====================================================================
   顶部 Logo 独立横幅行 + 下方菜单导航
   ===================================================================== */
/* logo 行：白底横版 banner 居中，全站顶部 */
.p-navSticky--primary > .p-header-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 0;
	background: #ffffff;
	border-bottom: 1px solid #e6e9ef;
}
.p-navSticky--primary > .p-header-logo img {
	max-width: 100%;
	height: auto;
}
/* nav 深色条照常 */
.p-nav-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
}
.p-nav-opposite { margin-left: auto !important; }

/* logo 在导航菜单行内：左缘对齐内容区 */
.p-nav-inner { max-width: 1200px !important; margin: 0 auto !important; }
.p-nav-inner > .p-header-logo { margin-left: 0 !important; align-self: center; }
.p-nav-opposite { margin-left: auto !important; }

/* logo 条：导航上方独立条，与内容区同宽左对齐 */
header > .p-header-logo,
.p-navSticky--primary > .p-header-logo {
	display: block;
	width: 1200px;
	max-width: calc(100% - 32px);
	margin: 0 auto;
	padding: 12px 0 6px;
	background: transparent;
}
header > .p-header-logo img { max-width: 100%; height: auto; }
/* 菜单行左对齐内容 */
.p-nav-inner { max-width: 1200px !important; margin: 0 auto !important; }
.p-nav-opposite { margin-left: auto !important; }

/* 顶部 logo 条：与内容同宽居中（img 左缘≈内容左缘） */
.p-navSticky--primary > .p-header-logo,
header.p-navSticky--primary > .p-header-logo {
	display: block !important;
	width: 1200px !important;
	max-width: calc(100vw - 40px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 10px 0 4px !important;
	text-align: left !important;
}
.p-navSticky--primary > .p-header-logo img {
	display: inline-block !important;
	max-width: 100% !important;
	height: auto !important;
}

/* logo 与菜单同行：nav 行左端 logo */
.p-nav-inner { display: flex !important; align-items: center; }
.p-nav-inner > .p-header-logo { margin-left: 0; flex: 0 0 auto; display: flex; align-items: center; }
.p-nav-inner > .p-header-logo img { display: block; }
.p-nav-opposite { margin-left: auto !important; }

/* 全站搜索结果：资源以卡片呈现 */
li.block-row:has(.fkGlobalSearchCard) { padding: 0; background: transparent; }
.fkGlobalSearchCard {
	margin: 10px;
	border: 1px solid var(--rc-line);
	border-radius: 11px;
	box-shadow: var(--rc-shadow-1);
}
.fkResultPrice { color: #b45309; font-weight: 700; }

/* =====================================================================
   响应式 · 资源列表卡片
   ---------------------------------------------------------------------
   桌面为三列栅格（图标 / 主体 / 指标）。窄屏时固定列之和已接近容器
   宽度，主体列被压缩到 0，中文因此逐字换行。这里在窄屏改为「图标 +
   主体」两列、指标独占一行，并按屏宽分档收敛尺寸。
   注意：选择器必须带上 .jiuyuResourceList（v8.css 中还需 body 前缀），
   否则优先级低于上方的桌面规则，媒体查询不会生效。
   ===================================================================== */
@media (max-width: 900px) {
	body .jiuyuResourceList .structItem--resource {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 14px;
		padding: 16px;
	}

	body .jiuyuResourceList .structItem-cell--main {
		min-width: 0;
	}

	body .jiuyuResourceList .structItem-iconContainer,
	body .jiuyuResourceList .fkResIcon {
		width: 84px;
		height: 84px;
		border-radius: 12px;
	}

	body .jiuyuResourceList .structItem-cell--resourceMeta {
		grid-column: 1 / -1;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 8px 16px;
		min-width: 0;
		padding: 12px 0 0;
		border-top: 1px solid #d9e4f5;
		border-left: 0;
		text-align: left;
	}

	body .jiuyuResourceList .fkStarsRow {
		justify-content: flex-start;
	}

	body .jiuyuResourceList .fkResMetaItem {
		justify-content: flex-start;
		white-space: nowrap;
	}

	:root[data-variation="alternate"] body .jiuyuResourceList .structItem-cell--resourceMeta {
		border-top-color: #34445c;
	}
}

@media (max-width: 520px) {
	body .jiuyuResourceList .structItem--resource {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
	}

	body .jiuyuResourceList .structItem-iconContainer,
	body .jiuyuResourceList .fkResIcon {
		width: 68px;
		height: 68px;
		border-radius: 11px;
	}

	body .jiuyuResourceList .fkResTitle,
	body .jiuyuResourceList .structItem--resource:nth-child(even) .fkResTitle {
		font-size: 16px;
	}

	body .jiuyuResourceList .structItem-minor {
		font-size: 12px;
		margin-top: 4px;
	}

	body .jiuyuResourceList .structItem-parts {
		gap: 4px 8px;
	}

	body .jiuyuResourceList .structItem-parts li + li::before {
		content: none;
	}

	body .jiuyuResourceList .structItem-resourceTagLine {
		margin-top: 6px;
		font-size: 13px;
	}

	body .jiuyuResourceList .structItem-cell--resourceMeta {
		gap: 6px 12px;
		padding-top: 10px;
	}

	body .jiuyuResourceList .fkStars {
		width: 84px;
		height: 16px;
	}

	body .jiuyuResourceList .fkStars::before,
	body .jiuyuResourceList .fkStars::after {
		font-size: 14px;
		line-height: 16px;
		letter-spacing: 1px;
	}

	body .jiuyuResourceList .fkStarsText {
		font-size: 11px;
	}

	body .jiuyuResourceList .fkResMetaItem {
		font-size: 12px;
		gap: 6px;
	}

	body .jiuyuResourceList .fkResMetaItem dt {
		min-width: 0;
	}
}


/* =====================================================================
   v18.10 · 首页「推荐资源」轮播：资源标题色对齐资源中心
   ---------------------------------------------------------------------
   组件本体定义在样式模板 fk_components.less（css.php 输出，本文件之前），
   其 .fkResCarousel-name 取 var(--ss-text) ≈ #1c2530，与正文同为近黑色；
   而资源中心列表里的资源标题（.fkResTitle）是 #2d466f 深蓝。同一资源
   两处标题色不一致，此处统一为资源标题色。
   切换为品牌蓝：把 --ss-rescarousel-title 改成 #2b6cd4（= --ss-accent）。
   ===================================================================== */
:root { --ss-rescarousel-title: #2d466f; }
:root[data-variation="alternate"] { --ss-rescarousel-title: #e3ecfa; }
@media (prefers-color-scheme: dark) { :root:not([data-variation="default"]) { --ss-rescarousel-title: #e3ecfa; } }

body .fkResCarousel-name { color: var(--ss-rescarousel-title, #2d466f); }
body .fkResCarousel-card:hover .fkResCarousel-name { color: var(--ss-accent, #2b6cd4); }


/* =====================================================================
   v18.11 · 移动端顶栏：logo 左移收紧，贴近内容左缘
   ---------------------------------------------------------------------
   原状：汉堡菜单按钮 margin-left:4px / margin-right:5px + padding:8px，
        logo 被推到 56px，比内容区标题「论坛列表」（21px）右偏约 35px。
   处理：压缩按钮左右留白与内外间距，logo 用负外边距吃掉残余缝隙，
        移动端 logo 由 56px → 39px。这是「不改动按钮位置」前提下能
        达到的极限（再左移就会压住汉堡图标），按钮触摸区仍为 39×44。
   作用域：≤900px；桌面（>900px）实测零变化。
   ===================================================================== */
@media (max-width: 900px) {
	body .p-nav-menuTrigger {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
	}

	body .p-header-logo {
		margin-left: -3px !important;
	}
}

/* ============================================================
   v18.12 · 外链下载状态按钮（浅色描边小圆按钮）
   压过 v18 段蓝色主按钮的 !important 渐变规则；
   资源详情页 hero 区：本站资源=蓝色主按钮(选择版本下载)，
   外链资源=浅色描边状态按钮(外链下载+状态点)。
   ============================================================ */
body .fkResourceHeroActions > a.fkResourceCtaDownload--external,
:root:not([data-variation="alternate"]) body .fkResourceHeroActions > a.fkResourceCtaDownload--external,
:root[data-variation="alternate"] body .fkResourceHeroActions > a.fkResourceCtaDownload--external {
	background: var(--ss-surface-2, #f2f5fa) !important;
	color: var(--ss-text, #1c2530) !important;
	border: 1.5px solid var(--ss-line-strong, #d5e0ef) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}
body .fkResourceHeroActions > a.fkResourceCtaDownload--external:hover {
	background: var(--ss-accent-soft, #eaf2ff) !important;
	border-color: var(--ss-accent, #2b6cd4) !important;
	color: var(--ss-accent, #2b6cd4) !important;
}
body .fkResourceHeroActions .fkResourceCtaDownload--external .fkResourceCtaDot {
	display: inline-block;
	width: 9px;
	height: 9px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--ss-accent, #2b6cd4);
	box-shadow: 0 0 0 3px var(--ss-accent-soft, #eaf2ff);
}
