/**
 * FilmNews 影视资讯主题 —— 主样式表
 * 移动优先（Mobile First）响应式，CSS 变量 + Grid/Flexbox
 */

/* ============================================================
   1. 变量与基础
   ============================================================ */
:root {
	--color-bg:        #f5f6f8;
	--color-surface:   #ffffff;
	--color-text:      #23262d;
	--color-text-soft: #6b7280;
	--color-line:      #e5e7eb;
	--color-primary:   #e50914;
	--color-primary-2: #ff4d5a;
	--color-primary-rgb:   229, 9, 20;
	--color-primary-2-rgb: 255, 77, 90;
	--color-dark:      #14141a;
	--color-dark-2:    #1d1d25;
	--radius:          10px;
	--radius-sm:       6px;
	--shadow:          0 2px 12px rgba(20, 20, 26, .08);
	--shadow-lg:       0 10px 30px rgba(20, 20, 26, .14);
	--header-h:        64px;
	--font:            -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
	                   "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
	--mono:            "SF Mono", Consolas, "Liberation Mono", monospace;
}

/* 昼夜模式：深色变量 */
html[data-theme="dark"] {
	--color-bg:        #0f0f14;
	--color-surface:   #181820;
	--color-text:      #e6e7eb;
	--color-text-soft: #9aa0aa;
	--color-line:      #2a2b36;
	--shadow:          0 2px 12px rgba(0, 0, 0, .35);
	--shadow-lg:       0 10px 30px rgba(0, 0, 0, .5);
}

/* ============================================================
   网站配色方案（基础设置 → 配色方案）
   ============================================================ */
body.scheme-gold {
	--color-primary:   #c8860d;
	--color-primary-2: #e8a93d;
	--color-primary-rgb:   200, 134, 13;
	--color-primary-2-rgb: 232, 169, 61;
}

body.scheme-blue {
	--color-primary:   #1565c0;
	--color-primary-2: #4d9bf5;
	--color-primary-rgb:   21, 101, 192;
	--color-primary-2-rgb: 77, 155, 245;
}

body.scheme-green {
	--color-primary:   #0e8a5f;
	--color-primary-2: #35c192;
	--color-primary-rgb:   14, 138, 95;
	--color-primary-2-rgb: 53, 193, 146;
}

body.scheme-purple {
	--color-primary:   #7b2d8b;
	--color-primary-2: #a75bc0;
	--color-primary-rgb:   123, 45, 139;
	--color-primary-2-rgb: 167, 91, 192;
}

body.scheme-orange {
	--color-primary:   #e65100;
	--color-primary-2: #ff7a3c;
	--color-primary-rgb:   230, 81, 0;
	--color-primary-2-rgb: 255, 122, 60;
}

body.scheme-teal {
	--color-primary:   #00897b;
	--color-primary-2: #3ec9ba;
	--color-primary-rgb:   0, 137, 123;
	--color-primary-2-rgb: 62, 201, 186;
}

html[data-theme="dark"] body {
	background: var(--color-bg);
}

html[data-theme="dark"] .thumb-placeholder,
html[data-theme="dark"] .entry-content pre {
	background:
		radial-gradient(400px 200px at 30% 0%, rgba(var(--color-primary-rgb), .28), transparent 60%),
		linear-gradient(160deg, #23232e, #14141a);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* 全局 hidden 属性保护（避免被 display 类样式覆盖） */
[hidden] {
	display: none !important;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.75;
	color: var(--color-text);
	background: var(--color-bg);
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a {
	color: var(--color-text);
	text-decoration: none;
	transition: color .2s ease;
}

a:hover {
	color: var(--color-primary);
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	line-height: 1.35;
	font-weight: 700;
}

p {
	margin: 0 0 1em;
}

ul, ol {
	padding-left: 1.4em;
}

button {
	font-family: inherit;
	cursor: pointer;
}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
}

/* 无障碍 */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 9999;
	width: auto;
	height: auto;
	padding: 8px 16px;
	background: var(--color-primary);
	color: #fff;
	clip: auto;
}

/* 容器与布局 */
.container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px;
}

.site-main {
	padding: 0 0 48px;
}

.content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	padding-top: 24px;
}

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

/* 阅读进度条 */
.reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 1001;
	pointer-events: none;
}

.reading-progress__bar {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--color-primary), var(--color-primary-2));
}

/* ============================================================
   2. 页头与导航
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--color-dark);
	color: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: var(--header-h);
}

.site-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.site-title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .5px;
	white-space: nowrap;
}

.site-title a {
	color: #fff;
}

.site-title--logo img {
	max-height: 40px;
	width: auto;
}

.site-description {
	margin: 0;
	font-size: 12px;
	color: rgba(255, 255, 255, .6);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: var(--radius-sm);
	background: transparent;
	color: #fff;
	transition: background .2s ease;
}

.icon-btn:hover {
	background: rgba(255, 255, 255, .1);
}

.nav-toggle {
	flex-direction: column;
	gap: 5px;
}

.nav-toggle__bar {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .25s ease, opacity .25s ease;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
	opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* 主导航（移动端：下拉面板） */
.site-nav {
	display: none;
}

.site-nav.is-open {
	display: block;
	position: absolute;
	top: var(--header-h);
	left: 0;
	right: 0;
	background: var(--color-dark-2);
	border-top: 1px solid rgba(255, 255, 255, .08);
}

.nav-menu {
	list-style: none;
	margin: 0;
	padding: 8px 0;
}

.nav-menu li {
	position: relative;
}

.nav-menu a {
	display: block;
	padding: 12px 20px;
	color: rgba(255, 255, 255, .88);
	font-size: 15px;
}

.nav-menu a:hover,
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a {
	color: var(--color-primary-2);
}

.nav-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0 0 0 20px;
	background: rgba(0, 0, 0, .25);
}

/* 搜索面板 */
.site-search {
	background: var(--color-dark-2);
	border-top: 1px solid rgba(255, 255, 255, .08);
	padding: 16px 0;
}

.site-search[hidden] {
	display: none;
}

/* ============================================================
   3. 搜索表单
   ============================================================ */
.search-form {
	display: flex;
	gap: 8px;
}

.search-form__input {
	flex: 1;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	background: #fff;
	color: var(--color-text);
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.search-form__input:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), .15);
}

.search-form__submit {
	flex-shrink: 0;
	padding: 10px 20px;
	border: none;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: #fff;
	font-weight: 600;
	transition: background .2s ease;
}

.search-form__submit:hover {
	background: var(--color-primary-2);
}

/* ============================================================
   4. 首页横幅 Hero
   ============================================================ */
.hero {
	position: relative;
	background: radial-gradient(1200px 500px at 20% -10%, rgba(var(--color-primary-rgb), .45), transparent 60%),
	            radial-gradient(900px 400px at 90% 120%, rgba(var(--color-primary-2-rgb), .3), transparent 60%),
	            linear-gradient(180deg, #1a1a22, #101015);
	background-size: cover;
	background-position: center;
	color: #fff;
}

.hero__inner {
	padding-top: 64px;
	padding-bottom: 64px;
}

.hero__title {
	margin: 0 0 12px;
	font-size: clamp(28px, 5vw, 44px);
	font-weight: 800;
	line-height: 1.25;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .4);
}

.hero__subtitle {
	margin: 0;
	font-size: clamp(14px, 2.4vw, 17px);
	color: rgba(255, 255, 255, .82);
	max-width: 640px;
}

/* ============================================================
   5. 卡片与列表
   ============================================================ */
.section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	margin: 0 0 20px;
}

/* 大标题图标（胶片 / 火焰）替代红色横杠 */
.section-title::before,
.widget-title::before {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 热门榜标题：火焰图标 */
.section-title--fire::before, .widget-title--fire::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c4.4 0 8-3.6 8-8 0-3.2-1.9-6-4.7-7.2.3 1.3-.1 2.7-1.1 3.7-.8-2-2.5-3.6-4.6-4.2.3 1.5-.3 3.1-1.6 4.2C6.5 11.6 4 14.3 4 14c0 4.4 3.6 8 8 8z'/%3E%3C/svg%3E");
}

/* 头条推荐：星星图标 */
.section-title--star::before, .widget-title--star::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}

/* 最新资讯：报纸图标 */
.section-title--news::before, .widget-title--news::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2z'/%3E%3Cpath d='M2 6h4'/%3E%3Cpath d='M2 10h4'/%3E%3Cpath d='M2 14h4'/%3E%3Cpath d='M2 18h4'/%3E%3Cline x1='10' y1='6' x2='20' y2='6'/%3E%3Cline x1='10' y1='10' x2='20' y2='10'/%3E%3Cline x1='10' y1='14' x2='20' y2='14'/%3E%3C/svg%3E");
}

/* 专题精选：文件夹图标 */
.section-title--folder::before, .widget-title--folder::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

/* 分类板块：标签图标 */
.section-title--tag::before, .widget-title--tag::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}

/* 标准分页列表：列表图标 */
.section-title--list::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
}

/* 相关推荐：爱心图标 */
.section-title--heart::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}

/* 评论区标题：评论图标 */
.section-title--comment::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

/* 专题精选小工具：胶片图标 */
.widget-title--film::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E");
}

/* 随机推荐小工具：随机图标 */
.widget-title--shuffle::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 3 21 3 21 8'/%3E%3Cline x1='4' y1='20' x2='21' y2='3'/%3E%3Cpolyline points='21 16 21 21 16 21'/%3E%3Cline x1='15' y1='15' x2='21' y2='21'/%3E%3Cline x1='4' y1='4' x2='9' y2='9'/%3E%3C/svg%3E");
}

/* 文章信息模块标题：书本图标 */
.widget-title--book::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}

/* 文章归档小工具：日历图标 */
.widget-title--calendar::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}

/* 作者最新文章标题：用户图标 */
.section-title--user::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* 首页头版大图 */
.featured {
	display: grid;
	gap: 0;
	margin-bottom: 32px;
	background: var(--color-surface);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
}

.featured__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-dark);
}

.featured__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.featured:hover .featured__media img {
	transform: scale(1.04);
}

.featured__body {
	padding: 20px;
}

.featured__title {
	font-size: clamp(18px, 3vw, 26px);
	margin: 10px 0 8px;
}

.featured__excerpt {
	color: var(--color-text-soft);
	margin-bottom: 14px;
}

.featured__meta {
	flex-wrap: wrap;
}

/* 通用徽标（分类） */
.badge {
	display: inline-block;
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	background: var(--color-primary);
	border-radius: 999px;
	transition: background .2s ease;
}

.badge:hover {
	background: var(--color-primary-2);
	color: #fff;
}

/* 文章元信息 */
.entry-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	color: var(--color-text-soft);
}

/* 内联图标（时间 / 作者 / 阅读量 / 评论） */
.icon-inline {
	display: inline-block;
	vertical-align: -2px;
	margin-right: 1px;
	flex-shrink: 0;
}

.entry-meta a {
	display: inline-flex;
	align-items: center;
}

/* 小工具日期行：图标与时间同行对齐 */
.recent-list__date,
.recent-big__date,
.text-list__date,
.sticky-card__date {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

/* 网格卡片 */
.post-grid__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.card {
	display: flex;
	flex-direction: column;
	background: var(--color-surface);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}

.card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.card__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-dark);
}

.card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.card:hover .card__media img {
	transform: scale(1.06);
}

.card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	flex: 1;
}

.card__title {
	font-size: 17px;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card__excerpt {
	margin: 0;
	font-size: 14px;
	color: var(--color-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 元信息沉底对齐（位于摘要下方） */
.card__meta {
	margin-top: auto;
	padding-top: 6px;
	border-top: 1px dashed var(--color-line);
}

/* 列表行（归档页） */
.entry-list {
	display: grid;
	gap: 20px;
}

.entry-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 14px;
	box-shadow: var(--shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}

.entry-row:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}

.entry-row__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--radius-sm);
	background: var(--color-dark);
}

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

.entry-row__title {
	font-size: 17px;
	margin: 0 0 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.entry-row__meta {
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.entry-row__excerpt {
	margin: 0;
	font-size: 14px;
	color: var(--color-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 缩略图占位 */
.thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 16px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	color: rgba(255, 255, 255, .7);
	background:
		radial-gradient(400px 200px at 30% 0%, rgba(var(--color-primary-rgb), .35), transparent 60%),
		linear-gradient(160deg, #23232e, #14141a);
}

/* 无内容 */
.no-results {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 48px 24px;
	text-align: center;
	box-shadow: var(--shadow);
}

.no-results__title {
	font-size: 22px;
}

.no-results .search-form {
	max-width: 480px;
	margin: 0 auto;
}

/* ============================================================
   6. 文章详情
   ============================================================ */
.breadcrumb {
	font-size: 13px;
	color: var(--color-text-soft);
	margin-bottom: 16px;
}

.breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb__item + .breadcrumb__item::before {
	content: "/";
	margin-right: 6px;
	color: var(--color-line);
}

.breadcrumb__item--current {
	color: var(--color-text);
	font-weight: 500;
}

.single-article {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 24px;
	box-shadow: var(--shadow);
}

.article-header {
	border-bottom: 1px solid var(--color-line);
	padding-bottom: 16px;
	margin-bottom: 20px;
}

.article-header__title {
	font-size: clamp(22px, 4vw, 32px);
	margin: 0 0 12px;
	line-height: 1.35;
}

.article-header__meta {
	flex-wrap: wrap;
}

.article-cover {
	margin: 0 0 24px;
	border-radius: var(--radius);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--color-dark);
}

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

.entry-content {
	font-size: 16px;
	line-height: 1.9;
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content img {
	border-radius: var(--radius-sm);
}

/* 正文媒体自适应：大图 / 浮动图 / 全宽图 / 视频均不超出内容宽度 */
.entry-content img,
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object {
	max-width: 100%;
	height: auto;
}

.entry-content figure,
.entry-content .wp-block-image,
.entry-content .wp-block-embed {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.entry-content .wp-block-image img {
	height: auto;
}

.entry-content .alignwide,
.entry-content .alignfull {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.entry-content img.alignleft,
.entry-content .wp-block-image .alignleft {
	margin-right: 1.2em;
}

.entry-content img.alignright,
.entry-content .wp-block-image .alignright {
	margin-left: 1.2em;
}

.entry-content a {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry-content blockquote {
	margin: 24px 0;
	padding: 16px 20px;
	border-left: 4px solid var(--color-primary);
	background: var(--color-bg);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	color: var(--color-text-soft);
}

.entry-content code {
	font-family: var(--mono);
	font-size: 14px;
	background: var(--color-bg);
	padding: 2px 6px;
	border-radius: 4px;
}

.entry-content pre {
	background: var(--color-dark);
	color: #e5e7eb;
	padding: 16px;
	border-radius: var(--radius-sm);
	overflow-x: auto;
}

.entry-content pre code {
	background: transparent;
	padding: 0;
	color: inherit;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
}

.entry-content th,
.entry-content td {
	border: 1px solid var(--color-line);
	padding: 10px 12px;
	text-align: left;
}

.entry-content th {
	background: var(--color-bg);
	font-weight: 600;
}

.page-links {
	margin-top: 24px;
	font-weight: 600;
}

.article-tags {
	margin: 24px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.article-tags__label {
	font-weight: 600;
	font-size: 14px;
}

.article-tags a {
	display: inline-block;
	padding: 3px 12px;
	font-size: 13px;
	background: var(--color-bg);
	border-radius: 999px;
	border: 1px solid var(--color-line);
	transition: background .2s ease, color .2s ease;
}

.article-tags a:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

/* 上下篇 */
.post-nav {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--color-line);
	font-size: 14px;
}

.post-nav a {
	color: var(--color-text);
}

.post-nav a:hover {
	color: var(--color-primary);
}

/* 作者信息：头像 + 简介一行，作者文章区整行置于下方 */
.author-box {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 20px;
	margin-top: 24px;
	box-shadow: var(--shadow);
}

.author-box__avatar img,
.author-box__avatar-fallback {
	border-radius: 50%;
	flex-shrink: 0;
}

.author-box__avatar-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	font-size: 28px;
	font-weight: 700;
}

.author-box__body {
	min-width: 0;
}

.author-box__name {
	margin: 0 0 6px;
	font-weight: 600;
}

.author-box__desc {
	margin: 0;
	font-size: 14px;
	color: var(--color-text-soft);
}

/* 作者最新文章（位于作者信息卡内，跨满两列占整行） */
.author-posts {
	grid-column: 1 / -1;
	margin-top: 14px;
	padding-top: 16px;
	border-top: 1px dashed var(--color-line);
}

/* 相关推荐 */
.related {
	margin-top: 32px;
}

.related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}

/* ============================================================
   7. 归档页头
   ============================================================ */
.archive-header {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 20px 24px;
	margin-bottom: 24px;
	box-shadow: var(--shadow);
}

.archive-header__title {
	font-size: 22px;
	margin: 0 0 6px;
}

.archive-header__desc {
	margin: 0;
	font-size: 14px;
	color: var(--color-text-soft);
}

/* 目录树 */
.toc {
	background: var(--color-bg);
	border: 1px solid var(--color-line);
	border-radius: var(--radius);
	padding: 14px 18px;
	margin-bottom: 20px;
}

.toc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.toc__title {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	font-weight: 700;
}

/* 目录标题图标（列表）替代红色竖杠 */
.toc__title::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.toc__toggle {
	padding: 0;
	border: none;
	background: none;
	font-size: 12px;
	color: var(--color-text-soft);
}

.toc__toggle:hover {
	color: var(--color-primary);
}

.toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}

.toc__item {
	display: flex;
	align-items: center;
	font-size: 14px;
	line-height: 1.5;
}

/* 目录小标题前的箭头图标 */
.toc__item::before {
	content: "";
	width: 11px;
	height: 11px;
	flex-shrink: 0;
	margin-right: 5px;
	opacity: .65;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 层级缩进：H3 缩进一级，H4 缩进两级 */
.toc__item--level-3 {
	padding-left: 1.4em;
	font-size: 13px;
}

.toc__item--level-4 {
	padding-left: 2.8em;
	font-size: 12px;
}

.toc__item--level-3 a,
.toc__item--level-4 a {
	color: var(--color-text-soft);
}

.toc__item--level-3 a:hover,
.toc__item--level-4 a:hover {
	color: var(--color-primary);
}

.toc__item a {
	color: var(--color-text);
}

.toc__item a:hover {
	color: var(--color-primary);
}

.toc.is-collapsed .toc__list {
	display: none;
}

/* 评论关闭提示 */
.comments-area__notice {
	margin: 16px 0 0;
	padding-top: 12px;
	border-top: 1px dashed var(--color-line);
	font-size: 12px;
	color: var(--color-text-soft);
	text-align: center;
}

/* ============================================================
   8. 分页
   ============================================================ */
.pagination {
	margin-top: 32px;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-text);
	font-size: 14px;
	box-shadow: var(--shadow);
	transition: background .2s ease, color .2s ease;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover {
	background: var(--color-primary);
	color: #fff;
}

/* ============================================================
   9. 侧边栏小工具
   ============================================================ */
.sidebar {
	min-width: 0;
}

/* 侧边栏滚动跟随（跟随移动，到达页脚自动停止） */
.content-layout {
	align-items: start;
}

.sidebar {
	position: sticky;
	top: 24px;
}

.widget {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 20px;
	margin-bottom: 20px;
	box-shadow: var(--shadow);
	overflow: hidden;
}

.widget-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 17px;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-line);
}

/* 侧边栏小工具标题图标（胶片）由上方通用规则提供 */
.widget-title--tag::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}

.widget-empty {
	font-size: 14px;
	color: var(--color-text-soft);
}

/* 榜单 */
.side-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.side-list__item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-size: 14px;
	padding: 7px 0;
	border-bottom: 1px dashed var(--color-line);
}

.side-list__item:last-child {
	border-bottom: none;
}

/* 标题溢出保护：超长标题省略号 */
.side-list__item a {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.side-list__rank {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 4px;
	background: var(--color-bg);
	color: var(--color-text-soft);
	font-size: 12px;
	font-weight: 700;
}

.hot-list__item--top .side-list__rank {
	background: var(--color-primary);
	color: #fff;
}

.hot-list__views {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 12px;
	color: var(--color-text-soft);
}

/* 最新资讯 */
.recent-list__item {
	display: flex;
	gap: 12px;
	padding: 8px 0;
	min-width: 0;
	max-width: 100%;
}

.recent-list__thumb {
	flex-shrink: 0;
	flex-grow: 0;
	width: 80px;
	aspect-ratio: 16 / 10;
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: var(--color-dark);
}

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

.recent-list__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: 700;
}

/* 左图小卡：标题溢出保护（对带链接的 a 标题同样生效） */
.recent-list__body {
	flex: 1 1 0%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.recent-list__title {
	display: block;
	max-width: 100%;
	font-size: 14px;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-wrap: nowrap;
	word-break: break-all;
}

.recent-list__date {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	color: var(--color-text-soft);
}

/* 标签云 */
.tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tag-cloud a {
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var(--color-line);
	border-radius: 999px;
	background: var(--color-bg);
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: var(--color-text-soft) !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.tag-cloud a:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff !important;
}

/* 分类导航 */
.category-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.category-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 10px;
	border-radius: var(--radius-sm);
	transition: background .2s ease;
}

.category-list li:hover {
	background: var(--color-bg);
}

.category-list .children {
	padding-left: 16px;
	margin-top: 4px;
	display: grid;
	gap: 4px;
}

.category-list .count {
	font-size: 12px;
	color: var(--color-text-soft);
	background: var(--color-bg);
	padding: 1px 8px;
	border-radius: 999px;
}

/* ============================================================
   10. 评论
   ============================================================ */
.comments-area {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 24px;
	margin-top: 32px;
	box-shadow: var(--shadow);
}

.comments-area__title {
	margin-bottom: 16px;
}

.comments-area__empty {
	color: var(--color-text-soft);
	font-size: 14px;
}

.comment-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.comment-list .children {
	list-style: none;
	margin: 0;
	padding-left: 24px;
}

.comment-body {
	padding: 16px 0;
	border-bottom: 1px solid var(--color-line);
}

.comment-body .comment-author {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

/* 模拟评论头像：固定尺寸与文字垂直居中 */
.comment-body .comment-author img {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	display: block;
	border-radius: 50%;
}

.comment-body .avatar {
	border-radius: 50%;
}

.comment-body .comment-metadata {
	font-size: 12px;
	color: var(--color-text-soft);
	margin: 4px 0 10px 58px;
}

.comment-body .comment-content {
	font-size: 15px;
	margin-left: 58px;
}

.comment-body .reply {
	margin: 8px 0 0 58px;
	font-size: 13px;
}

.comment-body .reply a {
	color: var(--color-text-soft);
}

.comment-body .reply a:hover {
	color: var(--color-primary);
}

.comment-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.comment-form input:focus,
.comment-form textarea:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), .12);
	background: #fff;
}

.comment-form .submit {
	padding: 10px 28px;
	border: none;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: #fff;
	font-weight: 600;
	transition: background .2s ease;
}

.comment-form .submit:hover {
	background: var(--color-primary-2);
}

/* ============================================================
   11. 按钮
   ============================================================ */
.btn {
	display: inline-block;
	padding: 10px 24px;
	border: none;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	transition: background .2s ease, transform .2s ease;
}

.btn:hover {
	background: var(--color-primary-2);
	color: #fff;
	transform: translateY(-1px);
}

/* ============================================================
   12. 404
   ============================================================ */
.error-404 {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 56px 24px;
	text-align: center;
	box-shadow: var(--shadow);
}

.error-404__code {
	margin: 0;
	font-size: clamp(72px, 16vw, 140px);
	font-weight: 800;
	line-height: 1;
	color: var(--color-primary);
	opacity: .85;
}

.error-404 .search-form {
	max-width: 480px;
	margin: 24px auto;
}

.error-404__actions {
	margin: 8px 0 0;
}

/* ============================================================
   29. 明星简介名片（single-star 模板）
   ============================================================ */
.star-profile__head {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 8px 0 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--color-line);
}

.star-profile__avatar {
	flex-shrink: 0;
}

.star-profile__avatar img,
.star-profile__avatar-fallback {
	width: 180px;
	height: 180px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: var(--shadow-lg);
}

.star-profile__avatar-fallback {
	display: block;
}

.star-profile__info {
	min-width: 0;
	flex: 1;
}

.star-profile__name {
	font-size: clamp(24px, 3.5vw, 32px);
	margin: 0 0 10px;
	line-height: 1.3;
}

.star-profile__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.star-profile__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.star-profile__tag {
	display: inline-block;
	padding: 3px 12px;
	font-size: 13px;
	background: var(--color-bg);
	border: 1px solid var(--color-line);
	border-radius: 999px;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.star-profile__tag:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

.star-profile__bio {
	margin: 0 0 12px;
	font-size: 15px;
	color: var(--color-text-soft);
}

.star-profile__meta {
	flex-wrap: wrap;
}

@media (max-width: 600px) {
	.star-profile__head {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 18px;
	}

	.star-profile__avatar img,
	.star-profile__avatar-fallback {
		width: 140px;
		height: 140px;
	}

	.star-profile__meta {
		justify-content: center;
	}
}

/* ============================================================
   30. 页脚
   ============================================================ */
.site-footer {
	margin-top: 48px;
	background: var(--color-dark);
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
}

/* 页脚小工具 */
.footer-widgets {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	padding-top: 40px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.footer-widget {
	background: transparent;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

.footer-widget__title {
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, .12);
}

.footer-widget .side-list__item {
	border-bottom-color: rgba(255, 255, 255, .08);
}

.footer-widget .side-list a,
.footer-widget .category-list a {
	color: rgba(255, 255, 255, .72);
}

.footer-widget .side-list a:hover,
.footer-widget .category-list a:hover {
	color: var(--color-primary-2);
}

.footer-widget .category-list li:hover {
	background: rgba(255, 255, 255, .06);
}

.footer-widget .tag-cloud a {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .72) !important;
}

.footer-widget .recent-list__date,
.footer-widget .side-list__rank {
	color: rgba(255, 255, 255, .5);
}

/* 页脚友情链接 */
.footer-links {
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
}

.footer-links__title {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 600;
	color: rgba(255, 255, 255, .5);
}

.footer-links__title::before {
	content: "";
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4d5a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E") no-repeat center / contain;
}

.footer-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 18px;
}

.footer-links__list li {
	position: relative;
}

.footer-links__list li + li::before {
	content: "";
	position: absolute;
	left: -10px;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
	height: 10px;
	background: rgba(255, 255, 255, .12);
}

.footer-links__list a {
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
	transition: color .2s ease;
}

.footer-links__list a:hover {
	color: var(--color-primary-2);
}

/* 页脚导航 */
.footer-nav {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

.footer-nav__menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav__menu a {
	position: relative;
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	transition: color .2s ease;
}

.footer-nav__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -3px;
	height: 2px;
	background: var(--color-primary-2);
	transition: right .2s ease;
}

.footer-nav__menu a:hover {
	color: var(--color-primary-2);
}

.footer-nav__menu a:hover::after {
	right: 0;
}

/* 友情链接小工具标题：链环图标 */
.widget-title--link::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
}

.footer-info {
	padding-top: 16px;
	padding-bottom: 32px;
	text-align: center;
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
}

.footer-info p {
	margin: 0 0 4px;
}

/* 页脚站点地图入口 */
.sitemap-links {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 8px;
}

.sitemap-links a {
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
}

.sitemap-links a:hover {
	color: var(--color-primary-2);
}

.footer-icp a {
	color: rgba(255, 255, 255, .5);
}

/* ============================================================
   14. 返回顶部
   ============================================================ */
.back-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: var(--color-dark);
	color: #fff;
	box-shadow: var(--shadow-lg);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .25s ease, transform .25s ease, background .2s ease;
}

.back-top.is-visible {
	display: inline-flex;
	opacity: 1;
	transform: translateY(0);
}

.back-top:hover {
	background: var(--color-primary);
}

/* ============================================================
   15. 响应式断点
   ============================================================ */
@media (min-width: 600px) {
	/* 600px 起列表行切换为左图右文 */
	.entry-row {
		grid-template-columns: 200px minmax(0, 1fr);
	}

	.entry-row__media {
		aspect-ratio: 16 / 10;
	}

	.post-nav {
		grid-template-columns: 1fr 1fr;
	}

	.footer-widgets {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1024px) {
	:root {
		--header-h: 72px;
	}

	.container {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* 侧边栏布局 */
	.content-layout {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 28px;
		padding-top: 32px;
	}

	body.sidebar-left .content-layout {
		grid-template-columns: 320px minmax(0, 1fr);
	}

	body.sidebar-left .sidebar {
		order: -1;
	}

	/* 桌面导航 */
	.nav-toggle {
		display: none;
	}

	.site-nav {
		display: block !important;
		position: static !important;
		border-top: none;
	}

	.nav-menu {
		display: flex;
		align-items: center;
		gap: 4px;
		padding: 0;
	}

	.nav-menu a {
		padding: 8px 14px;
		border-radius: var(--radius-sm);
	}

	.nav-menu a:hover {
		background: rgba(255, 255, 255, .08);
		color: #fff;
	}

	.nav-menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 180px;
		padding: 6px 0;
		background: var(--color-dark-2);
		border-radius: var(--radius-sm);
		box-shadow: var(--shadow-lg);
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s;
	}

	.nav-menu li:hover > .sub-menu,
	.nav-menu li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.nav-menu .sub-menu a {
		padding: 8px 16px;
		border-radius: 0;
	}

	.featured {
		grid-template-columns: 1.25fr 1fr;
		align-items: center;
	}

	.featured__media {
		aspect-ratio: auto;
		height: 100%;
		min-height: 320px;
	}

	.featured__body {
		padding: 32px;
	}

	.single-article,
	.comments-area {
		padding: 32px;
	}

	.hero__inner {
		padding-top: 88px;
		padding-bottom: 88px;
	}
}

/* 减弱动态效果偏好 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ============================================================
   16. 昼夜模式切换按钮
   ============================================================ */
html:not([data-theme="dark"]) .icon-theme-sun {
	display: none;
}

html[data-theme="dark"] .icon-theme-moon {
	display: none;
}

/* ============================================================
   17. 首页头条轮播
   ============================================================ */
.slider {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	margin-bottom: 36px;
	box-shadow: var(--shadow-lg);
	height: clamp(240px, 46vh, 520px);
	background: var(--color-dark);
}

.home-style-magazine .slider {
	height: clamp(220px, 40vh, 440px);
}

.home-style-compact .slider {
	height: clamp(200px, 32vh, 360px);
}

.slider__viewport {
	height: 100%;
}

.slider__track {
	display: flex;
	height: 100%;
	transition: transform .5s ease;
}

.slide {
	flex: 0 0 100%;
	height: 100%;
	position: relative;
	background-size: cover;
	background-position: center;
}

.slide__link {
	display: block;
	height: 100%;
	position: relative;
	color: #fff;
}

.slide__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 10, 16, .08) 30%, rgba(10, 10, 16, .82));
}

.slide__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 24px;
}

.slide__badge {
	margin-bottom: 10px;
}

.slide__title {
	color: #fff;
	font-size: clamp(18px, 3vw, 28px);
	margin: 0 0 6px;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
}

.slide__excerpt {
	margin: 0 0 8px;
	max-width: 60ch;
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.slide__meta {
	color: rgba(255, 255, 255, .72);
}

.slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	background: rgba(20, 20, 26, .55);
	color: #fff;
	opacity: 0;
	transition: opacity .2s ease, background .2s ease;
}

.slider:hover .slider__nav,
.slider:focus-within .slider__nav {
	opacity: 1;
}

.slider__nav:hover {
	background: var(--color-primary);
}

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

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

.slider__dots {
	position: absolute;
	bottom: 14px;
	right: 20px;
	z-index: 5;
	display: flex;
	gap: 6px;
}

.slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, .45);
	transition: width .25s ease, background .25s ease;
}

.slider__dot.is-active {
	width: 22px;
	background: #fff;
}

/* ============================================================
   18. 首页模块
   ============================================================ */
.home-module {
	margin-bottom: 36px;
}

.home-module__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.home-module__more {
	font-size: 13px;
	color: var(--color-text-soft);
}

.home-module__rank {
	padding: 20px;
}

/* 专题卡片 */
.topic-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}

.topic-card {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--color-dark);
	box-shadow: var(--shadow);
}

.topic-card__cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.topic-card:hover .topic-card__cover {
	transform: scale(1.05);
}

.topic-card__body {
	position: absolute;
	inset: auto 0 0 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding: 24px 14px 10px;
	background: linear-gradient(transparent, rgba(10, 10, 16, .82));
	color: #fff;
}

.topic-card__name {
	font-size: 15px;
	font-weight: 600;
}

.topic-card__count {
	font-size: 12px;
	color: rgba(255, 255, 255, .75);
	flex-shrink: 0;
}

/* ============================================================
   19. 列表风格：网格 / 杂志 / 多图
   ============================================================ */
.entry-list--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.entry-list--list {
	display: grid;
	gap: 20px;
}

/* 杂志风格 */
.entry-list--magazine {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.magazine-first {
	display: grid;
	grid-template-columns: 1fr;
	background: var(--color-surface);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
}

.magazine-first__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-dark);
}

.magazine-first__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.magazine-first:hover .magazine-first__media img {
	transform: scale(1.04);
}

.magazine-first__body {
	padding: 20px;
}

.magazine-first__title {
	font-size: 20px;
	margin: 10px 0 8px;
}

.magazine-first__excerpt {
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--color-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 多图风格：按实际图片数量自适应列数 */
.gallery-row {
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 16px;
	box-shadow: var(--shadow);
}

.gallery-row__thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 12px;
}

.gallery-row--1 .gallery-row__thumbs {
	grid-template-columns: 1fr;
}

.gallery-row--1 .gallery-row__thumbs a {
	aspect-ratio: 16 / 9;
}

.gallery-row--2 .gallery-row__thumbs {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-row__thumbs a {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--radius-sm);
	background: var(--color-dark);
}

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

.gallery-row__title {
	font-size: 17px;
	margin: 0 0 6px;
}

.gallery-row__meta {
	margin-bottom: 6px;
}

.gallery-row__excerpt {
	margin: 0;
	font-size: 14px;
	color: var(--color-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 信息流广告占位 */
.grid-ad {
	display: grid;
}

.grid-ad .ad-slot {
	height: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.entry-row--ad {
	display: block;
	padding: 0;
	overflow: hidden;
}

.entry-row--ad .ad-slot {
	margin: 0;
}

/* ============================================================
   20. 广告位
   ============================================================ */
.ad-slot {
	position: relative;
	background: var(--color-surface);
	border-radius: var(--radius);
	padding: 16px;
	margin-bottom: 20px;
	text-align: center;
	box-shadow: var(--shadow);
	overflow: hidden;
}

.ad-slot img {
	max-width: 100%;
}

.ad-slot__tag {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 10px;
	line-height: 1;
	color: var(--color-text-soft);
	background: var(--color-bg);
	padding: 4px 8px;
	border-radius: 0 0 0 var(--radius-sm);
}

/* ============================================================
   21. 文章操作栏（点赞 / 收藏 / 打赏 / 阅读模式 / 分享）
   ============================================================ */
.article-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.act-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid var(--color-line);
	border-radius: 999px;
	background: var(--color-surface);
	color: var(--color-text-soft);
	font-size: 13px;
	transition: border-color .2s ease, color .2s ease, background .2s ease;
}

.act-btn:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.act-btn.is-active {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

.act-btn__count {
	font-weight: 700;
}

.act-btn--font {
	font-weight: 700;
	padding: 8px 12px;
}

/* 分享菜单 */
.share-wrap {
	position: relative;
}

.share-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 50;
	min-width: 150px;
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
}

.share-menu[hidden] {
	display: none;
}

.share-menu__item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 10px 14px;
	font-size: 13px;
	color: var(--color-text);
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
}

.share-menu__item:hover {
	background: var(--color-bg);
	color: var(--color-primary);
}

/* ============================================================
   22. 打赏弹窗
   ============================================================ */
.modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(10, 10, 16, .65);
}

.modal[hidden] {
	display: none;
}

.modal__box {
	position: relative;
	width: 100%;
	max-width: 480px;
	padding: 32px 24px 24px;
	text-align: center;
	background: var(--color-surface);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
}

.modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	background: var(--color-bg);
	color: var(--color-text-soft);
	cursor: pointer;
}

.modal__close:hover {
	color: var(--color-primary);
}

.modal__title {
	margin: 0 0 8px;
}

.modal__text {
	color: var(--color-text-soft);
	font-size: 14px;
}

.modal__qrs {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin-top: 18px;
}

.modal__qr {
	margin: 0;
}

.modal__qr img {
	width: 140px;
	height: 140px;
	border-radius: var(--radius-sm);
}

.modal__qr figcaption {
	margin-top: 6px;
	font-size: 12px;
	color: var(--color-text-soft);
}

/* ============================================================
   23. 阅读模式与字号
   ============================================================ */
body.reading-mode .sidebar,
body.reading-mode .ad-slot,
body.reading-mode .author-box,
body.reading-mode .related,
body.reading-mode .article-actions {
	display: none;
}

body.reading-mode .content-layout {
	display: block;
	max-width: 880px;
	margin: 0 auto;
}

body.reading-mode .single-article {
	background: transparent;
	box-shadow: none;
	padding: 0;
}

body.reading-mode .article-header {
	border-bottom: none;
}

body.reading-mode .entry-content {
	max-width: 720px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 2.05;
}

body.reading-mode .entry-content img {
	display: block;
	margin: 0 auto;
}

body.reading-mode .comments-area {
	margin-top: 24px;
}

body.font-lg .entry-content {
	font-size: 19px;
	line-height: 2.1;
}

body.font-sm .entry-content {
	font-size: 16px;
	line-height: 1.85;
}

/* ============================================================
   24. 版权声明块
   ============================================================ */
.copyright-box {
	margin-top: 24px;
	padding: 14px 18px;
	font-size: 13px;
	color: var(--color-text-soft);
	background: var(--color-bg);
	border: 1px dashed var(--color-line);
	border-radius: var(--radius-sm);
	overflow-wrap: break-word;
}

.copyright-box__head {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	font-weight: 600;
	color: var(--color-text);
}

.copyright-box p {
	margin: 0;
	overflow-wrap: break-word;
	word-break: break-all;
}

.copyright-box a {
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

/* 自动内链 */
.entry-content .auto-link {
	text-decoration: underline dotted;
}

/* ============================================================
   25. 段落缩进（设置开启时 body.indent-on）
   ============================================================ */
body.indent-on .entry-content > p {
	text-indent: var(--indent-size, 2em);
}

/* 含图片的段落：不缩进，图片居中自适应 */
body.indent-on .entry-content > p:has(img) {
	text-indent: 0;
	text-align: center;
}

body.indent-on .entry-content > p:has(img) img {
	display: block;
	margin: 0 auto;
}

/* ============================================================
   26. 小工具：首篇大图布局（卡片式）
   ============================================================ */
.recent-big__card {
	margin-bottom: 12px;
	background: var(--color-bg);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.recent-big__card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
}

.recent-big__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-dark);
}

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

.recent-big__info {
	padding: 10px 12px 12px;
}

.recent-big__title {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.recent-big__date {
	display: inline-flex;
	align-items: center;
	margin-top: 4px;
	font-size: 12px;
	color: var(--color-text-soft);
}

/* 后续序号列表 */
.recent-mini {
	margin-top: 2px;
}

/* ============================================================
   26a. 小工具：纯文字布局（日期标签 + 标题省略号）
   ============================================================ */
.text-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.text-list__item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 8px 0;
	border-bottom: 1px dashed var(--color-line);
}

.text-list__item:last-child {
	border-bottom: none;
}

.text-list__date {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	color: var(--color-text-soft);
	background: var(--color-bg);
	padding: 2px 8px;
	border-radius: 4px;
	font-variant-numeric: tabular-nums;
	line-height: 1.6;
}

.text-list__title {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
}

/* 页脚深色适配 */
.site-footer .text-list__date {
	background: rgba(255, 255, 255, .08);
}

.site-footer .recent-big__card {
	background: rgba(255, 255, 255, .06);
}

/* ============================================================
   26b. 小工具：推荐片单（卡片式）
   ============================================================ */
.sticky-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.sticky-card {
	background: var(--color-bg);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.sticky-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
}

.sticky-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-dark);
}

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

.sticky-card__body {
	padding: 10px;
}

.sticky-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	min-height: 39px;
}

.sticky-card__date {
	display: inline-flex;
	align-items: center;
	margin-top: 4px;
	font-size: 12px;
	color: var(--color-text-soft);
}

/* 页脚深色下的卡片适配 */
.site-footer .sticky-card {
	background: rgba(255, 255, 255, .06);
}

/* ============================================================
   26c. 加载更多分页
   ============================================================ */
.load-more {
	margin-top: 32px;
	text-align: center;
}

.load-more__status {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--color-text-soft);
}

/* ============================================================
   26e. 精美卡片布局（首页模块）
   ============================================================ */
.post-grid__list--fancy {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.fancy-card {
	position: relative;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--color-dark);
	box-shadow: var(--shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}

.fancy-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.fancy-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
}

.fancy-card__img {
	display: block;
	height: 100%;
}

.fancy-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.fancy-card:hover .fancy-card__media img {
	transform: scale(1.06);
}

/* 栏目徽标：缩略图左上角 */
.fancy-card .badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
}

/* 阅读量：缩略图右上角 */
.fancy-card__views {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: #fff;
	background: rgba(10, 10, 16, .55);
	padding: 2px 10px;
	border-radius: 999px;
	backdrop-filter: blur(2px);
}

/* 底部渐变层 + 标题 */
.fancy-card__overlay {
	position: absolute;
	inset: auto 0 0 0;
	height: 62%;
	background: linear-gradient(transparent, rgba(10, 10, 16, .88));
}

.fancy-card__title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 18px 14px 12px;
	font-size: 15px;
	line-height: 1.5;
}

.fancy-card__title a {
	color: #fff;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .4);
}

/* 小工具：最新评论 */
.comments-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.comments-list__item {
	padding: 10px 12px;
	background: var(--color-bg);
	border-radius: var(--radius-sm);
}

.comments-list__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
	margin-bottom: 4px;
}

.comments-list__author {
	font-weight: 700;
	color: var(--color-primary);
	flex-shrink: 0;
}

.comments-list__post {
	color: var(--color-text-soft);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.comments-list__post a {
	color: var(--color-text-soft);
}

.comments-list__post a:hover {
	color: var(--color-primary);
}

.comments-list__text {
	margin: 0;
	font-size: 13px;
	color: var(--color-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 文章信息模块（仅文章页侧边栏，列表纯文字） */
.post-info__title {
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.post-info__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.post-info__list li {
	display: flex;
	align-items: baseline;
	gap: 6px;
	padding: 7px 0;
	font-size: 13px;
	border-bottom: 1px dashed var(--color-line);
}

.post-info__list li:last-child {
	border-bottom: none;
}

.post-info__label {
	flex-shrink: 0;
	color: var(--color-text-soft);
}

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

.post-info__value a {
	color: var(--color-text);
}

.post-info__value a:hover {
	color: var(--color-primary);
}

/* 文章页底部信息行（位于 site-footer 顶部，仅文章页） */
.post-footer-info {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 12px 16px;
	font-size: 13px;
	color: var(--color-text-soft);
	background: var(--color-bg);
	border-radius: var(--radius-sm);
}

.post-footer-info p {
	margin: 0;
}

.post-footer-info a {
	color: var(--color-text);
	font-weight: 600;
}

.post-footer-info a:hover {
	color: var(--color-primary);
}

/* 深色页脚内适配：居中显示，顶部留出间距、底部收紧避免与下方模块间距过大 */
.site-footer .post-footer-info {
	justify-content: center;
	max-width: 820px;
	margin: 36px auto 12px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .72);
}

.site-footer .post-footer-info a {
	color: #fff;
}

.site-footer .post-footer-info a:hover {
	color: var(--color-primary-2);
}

/* ============================================================
   26d. 作者头像兜底
   ============================================================ */
.author-box__avatar img {
	border-radius: 50%;
}

.author-box__avatar-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--color-primary);
	color: #fff;
	font-size: 28px;
	font-weight: 700;
}

/* ============================================================
   27. 小工具：图文紧凑榜（热门 mini）
   ============================================================ */
.hot-mini .recent-list__item {
	padding: 6px 0;
}

/* ============================================================
   28. Retina 高清屏优化 + 浏览器兼容
   ============================================================ */
html {
	-webkit-tap-highlight-color: transparent;
}

@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		text-rendering: optimizeLegibility;
	}

	.site-title--logo img {
		image-rendering: -webkit-optimize-contrast;
	}
}

/* 杂志风格桌面双栏：左图右文，右列上下两端对齐 */
@media (min-width: 768px) {
	.entry-list--magazine {
		grid-template-columns: 1fr 1fr;
	}

	.magazine-first {
		grid-column: 1 / -1;
		grid-template-columns: 5fr 6fr;
		align-items: stretch;
	}

	.magazine-first__media {
		aspect-ratio: auto;
		height: 100%;
		min-height: 300px;
	}

	.magazine-first__body {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 12px;
		padding: 28px 32px;
	}

	.magazine-first__body .entry-meta {
		margin-top: auto;
	}

	.magazine-first__title {
		margin: 8px 0 0;
	}

	.magazine-first__excerpt {
		margin: 0;
	}

	.slide__content {
		padding: 32px;
	}
}

/* 移动端：分享菜单与返回顶部避让 */
@media (max-width: 600px) {
	.share-menu {
		right: -6px;
	}

	.modal__qrs {
		gap: 16px;
	}

	.modal__qr img {
		width: 120px;
		height: 120px;
	}

	.slider__nav {
		opacity: 1;
		width: 34px;
		height: 34px;
	}

	.article-actions {
		gap: 8px;
	}

	.act-btn {
		padding: 7px 11px;
	}
}