/*
Theme Name: 任氏有无轩 · 报章 (RSYWX Broadsheet)
Theme URI: https://rsywx.net
Author: 任氏有无轩
Author URI: https://rsywx.net
Description: 为 blog.rsywx.net 打造的「今日一页」报章主题 —— 宋体、暖白纸、朱砂一色、通篇无圆角。与 rsywx.net 新版前端同源的设计令牌与版式。
Version: 1.0.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: CC BY-NC-ND 4.0
License URI: https://creativecommons.org/licenses/by-nc-nd/4.0/
Text Domain: rsywx
Tags: blog, one-column, two-columns, right-sidebar, custom-menu, custom-logo, editor-style, featured-images, threaded-comments, dark-mode, newsprint
*/

/* =====================================================================
 * 一、设计令牌（tokens）
 * 与 rsywx.net 的 app.css 完全一致：同一套 oklch 纸墨色、同一颗朱砂、
 * 同一种颗粒。日刊为纸白，晚刊（.dark）为墨黑。
 * =================================================================== */

:root {
	/* 字体：CJK 衬线优先，拉丁衬线兜底。故意使用系统字体栈 ——
	   CJK 网络字体动辄数兆。 */
	--serif: 'Songti SC', 'Noto Serif CJK SC', 'Source Han Serif SC', 'Noto Serif SC', SimSun, STSong,
		Georgia, 'Times New Roman', serif;
	--display: 'Songti SC', 'Noto Serif CJK SC', 'Source Han Serif SC', 'Noto Serif SC', SimSun, STSong,
		Georgia, 'Times New Roman', serif;
	--mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;

	/* 日刊 */
	--paper: oklch(0.976 0.009 90);
	--paper-raised: oklch(0.993 0.004 90);
	--ink: oklch(0.216 0.014 75);
	--ink-soft: oklch(0.45 0.014 75);
	--ink-faint: oklch(0.545 0.013 78);
	--rule: oklch(0.835 0.014 88);
	--rule-strong: oklch(0.52 0.016 80);
	--spot: oklch(0.5 0.146 32);
	--spot-soft: oklch(0.935 0.028 45);
	--plate-dot: oklch(0.216 0.014 75 / 45%);

	/* 版心 */
	--shell: 80rem;
	--gutter: 1rem;
	--measure: 42rem;

	/* 细纸纹，铺满整个背景（无叠加、无混合模式）。 */
	--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
}

@media (min-width: 40rem) {
	:root {
		--gutter: 1.5rem;
	}
}

@media (min-width: 64rem) {
	:root {
		--gutter: 2.5rem;
	}
}

/* 晚刊 */
html.dark {
	--paper: oklch(0.175 0.008 82);
	--paper-raised: oklch(0.215 0.009 82);
	--ink: oklch(0.928 0.012 92);
	--ink-soft: oklch(0.712 0.012 90);
	--ink-faint: oklch(0.63 0.011 88);
	--rule: oklch(0.345 0.011 84);
	--rule-strong: oklch(0.52 0.013 86);
	--spot: oklch(0.665 0.148 32);
	--spot-soft: oklch(0.28 0.05 40);
	--plate-dot: oklch(0.928 0.012 92 / 30%);
}

/* =====================================================================
 * 二、基础排版
 * =================================================================== */

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

html {
	background-color: var(--paper);
	background-image: var(--grain);
	background-size: 140px 140px;
	background-attachment: fixed;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: transparent;
	color: var(--ink);
	font-family: var(--serif);
	font-size: 1rem;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
	text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-family: var(--display);
	font-weight: 700;
	line-height: 1.25;
	text-wrap: balance;
	letter-spacing: 0.02em;
}

p {
	margin: 0 0 1.1em;
}

a {
	color: inherit;
	text-decoration: none;
}

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

img,
figure,
video,
iframe {
	max-width: 100%;
}

img,
video {
	height: auto;
	vertical-align: bottom;
}

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

dl {
	margin: 0;
}

table {
	border-collapse: collapse;
}

button {
	font: inherit;
	color: inherit;
}

hr {
	margin: 2rem 0;
	border: 0;
	border-top: 1px solid var(--rule);
}

::selection {
	background-color: var(--spot);
	color: var(--paper);
}

/* 键盘焦点必须可见：纸上没有任何其他可依赖的提示。 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--spot);
	outline-offset: 2px;
	color: var(--spot);
}

/* =====================================================================
 * 三、版式骨架与通用零件
 * =================================================================== */

.shell {
	width: 100%;
	max-width: var(--shell);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.site {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

/* 整页是一张报纸：版心撑满视口，报尾永远落在底下，不会浮在半空
   （也不能被 100vh 推到屏幕外 —— 那等于没有页脚）。 */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.site__main {
	flex: 1 0 auto;
	padding-block: 2rem;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	padding: 0.5rem 1rem;
	background: var(--paper-raised);
	border: 1px solid var(--rule-strong);
	color: var(--ink);
}

.skip-link:focus {
	left: 0;
}

/* 细分隔线 / 双线（部门横幅） */
.rule {
	border-top: 1px solid var(--rule);
}

.rule--heavy {
	border-top: 3px double var(--rule-strong);
}

/* 活字小标签：字距拉开，字重轻，颜色克制。 */
.kicker {
	display: block;
	margin: 0;
	font-family: var(--mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.spot {
	color: var(--spot);
}

.muted {
	color: var(--ink-soft);
}

.faint {
	color: var(--ink-faint);
}

.mono {
	font-family: var(--mono);
}

.num {
	font-family: var(--mono);
	font-variant-numeric: tabular-nums;
}

/* 细长的、水平居中的姓名牌线 */
.nameplate-rule {
	border-top: 3px double var(--rule-strong);
	border-bottom: 3px double var(--rule-strong);
}

/* 屏幕阅读器专用 */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =====================================================================
 * 四、报眉头条（folio bar，吸顶）
 * 报纸头版上方那条窄带：纯文字导航，当前栏目下方一道朱砂线。
 * =================================================================== */

.folio {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--rule);
	background-color: color-mix(in oklch, var(--paper) 95%, transparent);
	backdrop-filter: blur(6px);
}

/* 管理工具条会顶高吸顶元素 */
.admin-bar .folio {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .folio {
		top: 46px;
	}
}

.folio__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.folio__toggle {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.folio__toggle:hover {
	color: var(--spot);
}

.folio__brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.5rem;
}

.folio__seal {
	width: 1.75rem;
	height: 1.75rem;
	mix-blend-mode: multiply;
	user-select: none;
}

html.dark .folio__seal,
html.dark .masthead__seal img,
html.dark .runhead__seal,
html.dark .colophon__seal {
	mix-blend-mode: normal;
}

.folio__wordmark {
	font-family: var(--display);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.folio__nav {
	display: none;
}

.folio__nav .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.folio__nav .menu-item > a {
	display: inline-flex;
	align-items: center;
	border-bottom: 2px solid transparent;
	padding-block: 0.8rem;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	transition: color 0.15s, border-color 0.15s;
}

.folio__nav .menu-item > a:hover {
	color: var(--spot);
}

.folio__nav .current-menu-item > a,
.folio__nav .current_page_item > a,
.folio__nav .current-menu-ancestor > a,
.folio__nav .current_page_ancestor > a {
	border-bottom-color: var(--spot);
	color: var(--spot);
}

/* 站外链接（维客、图书馆）带一枚小箭头 */
.folio__nav .menu-item--external > a::after {
	content: '↗';
	margin-left: 0.25rem;
	font-size: 0.7em;
	color: var(--ink-faint);
}

.folio__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-left: auto;
}

.folio__search {
	display: none;
	align-items: center;
	gap: 0.375rem;
}

.folio__search .search-form {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}

/* 页眉里的检索：只有一条下划线，按钮不印（回车即检索）。
   用 .folio 前缀提高权重，压住后面给表单/评论区写的通用按钮样式。 */
.folio .search-form {
	flex-wrap: nowrap;
}

.folio .folio__search .search-field {
	flex: 0 0 auto;
	width: 8rem;
	padding: 0.25rem 0;
	border: 0;
	border-bottom: 1px solid var(--rule);
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font-family: var(--serif);
	font-size: 0.875rem;
	transition: border-color 0.15s;
}

.folio .folio__search .search-submit,
.folio .folio__drawer .search-submit {
	display: none;
}

.folio__search .search-field:focus {
	border-bottom-color: var(--spot);
}

.folio__search .search-field::placeholder {
	color: var(--ink-faint);
}

.theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink-soft);
	cursor: pointer;
}

.theme-toggle:hover {
	color: var(--spot);
}

.theme-toggle svg {
	width: 1.125rem;
	height: 1.125rem;
}

/* 手机抽屉 */
.folio__drawer {
	border-top: 1px solid var(--rule);
}

.folio__drawer[hidden] {
	display: none;
}

.folio__drawer .menu {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.folio__drawer .menu-item > a {
	display: block;
	padding-block: 0.625rem;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	border-bottom: 1px solid var(--rule);
}

.folio__drawer .menu-item:last-child > a {
	border-bottom: 0;
}

.folio__drawer .current-menu-item > a,
.folio__drawer .current_page_item > a {
	color: var(--spot);
}

.folio__drawer .search-form {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding-block: 0.75rem;
	border-top: 1px solid var(--rule);
}

.folio__drawer .search-field {
	width: 100%;
	padding: 0.25rem 0;
	border: 0;
	border-bottom: 1px solid var(--rule);
	background: transparent;
	color: var(--ink);
	font-family: var(--serif);
	font-size: 0.875rem;
}

@media (min-width: 64rem) {
	.folio__toggle,
	.folio__wordmark,
	.folio__drawer {
		display: none;
	}

	.folio__nav,
	.folio__search {
		display: flex;
	}
}

/* =====================================================================
 * 五、报头（masthead）
 * 刊名、题词、以及一道双线夹住的刊头信息：第几年 / 第几期 / 发行量。
 * 无按钮、无渐变、无轮播。
 * =================================================================== */

.masthead {
	text-align: center;
}

.masthead__ears {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.375rem;
	border-bottom: 1px solid var(--rule);
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.6875rem;
}

.masthead__ears .kicker {
	display: inline-block;
	font-size: inherit;
}

.masthead__seal {
	display: flex;
	justify-content: center;
	margin-top: 1.25rem;
}

.masthead__seal img {
	width: 3rem;
	height: 3rem;
	mix-blend-mode: multiply;
	user-select: none;
}

.masthead__title {
	margin-top: 0.75rem;
	font-size: clamp(2.25rem, 11vw, 6.5rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.14em;
	/* 汉字字距会在末字后多出一格，视觉上右重左轻，补回来。 */
	text-indent: 0.14em;
}

.masthead__title a:hover {
	color: inherit;
}

.masthead__motto {
	margin: 1rem 0 0;
	color: var(--ink-soft);
	font-size: 0.9375rem;
}

.masthead__motto-source {
	color: var(--ink-faint);
}

.masthead__dateline {
	margin-top: 1.25rem;
	border-block: 3px double var(--rule-strong);
}

.masthead__dateline-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem 1.25rem;
	padding-block: 0.375rem;
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.6875rem;
}

.masthead__dateline b {
	color: var(--ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.masthead__date {
	color: var(--ink);
	font-weight: 600;
}

@media (min-width: 40rem) {
	.masthead__dateline-inner {
		justify-content: space-between;
	}
}

/* 内页报头：一枚小印 + 刊名 + 当日刊头信息 + 回头版 */
.runhead {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 3px double var(--rule-strong);
}

.runhead__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--display);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.16em;
}

.runhead__seal {
	width: 1.5rem;
	height: 1.5rem;
	mix-blend-mode: multiply;
	user-select: none;
}

.runhead__meta {
	margin: 0;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
}

.runhead__back {
	margin-left: auto;
	color: var(--spot);
	font-family: var(--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
}

.runhead__back:hover {
	text-decoration: underline;
}

/* =====================================================================
 * 六、版心分栏
 * 头版式两栏：正文栏 + 右侧带竖线的边栏（rail）。
 * =================================================================== */

.spread {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 3rem;
	margin-top: 2rem;
}

.rail {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (min-width: 64rem) {
	.spread {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		gap: 2.5rem;
	}

	.rail {
		border-left: 1px solid var(--rule);
		padding-left: 2.5rem;
	}
}

/* 单栏页（关于、404 等） */
.single-column {
	margin-top: 2rem;
	max-width: var(--measure);
}

/* =====================================================================
 * 七、版面零件
 * =================================================================== */

/* 栏目头（section head）：小标签 + 大标题 + 右侧数字，收一条细线。 */
.section-head {
	margin-bottom: 1rem;
}

.section-head__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.section-head__title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.section-head__kicker {
	color: var(--ink-faint);
	font-size: 0.75rem;
}

.section-head__meta {
	flex-shrink: 0;
	padding-bottom: 0.25rem;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.75rem;
}

.section-head__rule {
	margin-top: 0.5rem;
	border-top: 1px solid var(--rule);
}

.section-head--heavy .section-head__rule {
	border-top: 3px double var(--rule-strong);
}

@media (min-width: 40rem) {
	.section-head__title {
		font-size: 1.75rem;
	}
}

/* 内页部门头（page head）：标签 + 标题 + 导语，收双线。 */
.page-head {
	padding-bottom: 1rem;
	border-bottom: 3px double var(--rule-strong);
}

.page-head__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.page-head__kicker {
	color: var(--spot);
}

.page-head__title {
	margin-top: 0.25rem;
	font-size: clamp(2rem, 6vw, 2.75rem);
	font-weight: 700;
	letter-spacing: 0.06em;
}

.page-head__standfirst {
	max-width: 40rem;
	margin: 0.5rem 0 0;
	color: var(--ink-soft);
	font-size: 1rem;
}

.page-head__meta {
	flex-shrink: 0;
	padding-bottom: 0.25rem;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.75rem;
	text-align: right;
}

/* 边栏方框（box）：双线外框 + 细线小标题。 */
.box {
	border: 1px solid var(--rule-strong);
}

.box__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.375rem 0.75rem;
	border-bottom: 1px solid var(--rule);
}

.box__title {
	font-family: var(--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.box__meta {
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
}

.box__body {
	padding: 0.75rem;
}

.box__body > :last-child {
	margin-bottom: 0;
}

.box__more {
	margin: 0.75rem 0 0;
	padding-top: 0.5rem;
	border-top: 1px solid var(--rule);
	font-family: var(--mono);
	font-size: 0.6875rem;
	color: var(--spot);
}

.box__more a:hover {
	text-decoration: underline;
}

/* 简讯（brief）：朱砂小标签 + 一行内容，细线分隔。 */
.brief {
	padding-block: 0.625rem;
	border-bottom: 1px solid var(--rule);
}

.brief:first-child {
	padding-top: 0;
}

.brief:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.brief__label {
	color: var(--spot);
	font-size: 0.625rem;
}

.brief__body {
	margin-top: 0.25rem;
	font-size: 0.875rem;
}

/* 账簿（ledger）：标签 ······ 数字，点线引导。 */
.ledger {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.ledger__row {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	font-size: 0.875rem;
}

.ledger__label {
	flex-shrink: 0;
	color: var(--ink-soft);
}

.ledger__fill {
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--rule-strong);
	transform: translateY(-0.3em);
}

.ledger__value {
	flex-shrink: 0;
	font-family: var(--mono);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ledger__unit {
	margin-left: 0.125rem;
	color: var(--ink-faint);
	font-family: var(--serif);
	font-size: 0.75rem;
	font-weight: 400;
}

/* 档案列表：整行即链接，悬停时标签、点线与数字一起转朱砂。 */
a.ledger__row {
	text-decoration: none;
}

a.ledger__row:hover .ledger__label,
a.ledger__row:hover .ledger__value {
	color: var(--spot);
}

a.ledger__row:hover .ledger__fill {
	border-bottom-color: var(--spot);
}

/* =====================================================================
 * 八、头条与稿目
 * =================================================================== */

/* 头条：大标题 + 双线署名条 + 首字下沉的导语。 */
.lead {
	padding-bottom: 1.5rem;
}

.lead__kicker {
	color: var(--spot);
}

.lead__title {
	margin-top: 0.25rem;
	font-size: clamp(1.75rem, 5.2vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.lead__title a:hover {
	color: var(--spot);
}

.lead__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.75rem;
	margin: 0.5rem 0 0;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--rule);
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.75rem;
}

.lead__byline .is-spot {
	color: var(--spot);
	font-weight: 600;
}

.lead__byline .faint {
	color: var(--ink-faint);
}

.lead__body {
	margin-top: 1rem;
	/* 单栏到底，行宽收在 40rem 上下 —— 中文一行三十来字最好读。 */
	max-width: 40rem;
	font-size: 0.9375rem;
	line-height: 1.9;
}

.lead__more {
	margin: 0.75rem 0 0;
	color: var(--spot);
	font-family: var(--mono);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

.lead__more:hover {
	text-decoration: underline;
}

/* 稿目（post list）：一行一条，细线分隔。 */
.post-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-list > li {
	border-bottom: 1px solid var(--rule);
}

.post-list > li:last-child {
	border-bottom: 0;
}

.post-item {
	display: flex;
	gap: 1rem;
	padding-block: 1rem;
}

.post-item__thumb {
	flex-shrink: 0;
	width: 5rem;
	height: 5rem;
	border: 1px solid var(--rule);
	overflow: hidden;
}

.post-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
	transition: filter 0.3s;
}

.post-item:hover .post-item__thumb img {
	filter: none;
}

.post-item__text {
	min-width: 0;
	flex: 1 1 auto;
}

.post-item__title {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.post-item:hover .post-item__title {
	color: var(--spot);
}

.post-item__meta {
	margin: 0.25rem 0 0;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
}

.post-item__excerpt {
	margin: 0.375rem 0 0;
	color: var(--ink-soft);
	font-size: 0.9375rem;
	line-height: 1.8;
}

/* 同日列表（今日往昔）：一行流走，中点分隔。 */
.sameline {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
	line-height: 1.9;
}

.sameline li {
	display: inline;
}

.sameline li + li::before {
	content: '·';
	margin-inline: 0.5rem;
	color: var(--ink-faint);
}

.sameline .sameline__age {
	margin-left: 0.25rem;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.75rem;
}

/* =====================================================================
 * 九、分页（pager）
 * 首页 / 上一页 / 第 x / y 页 · 共 n 条 / 下一页 / 末页，外加页码序列。
 * =================================================================== */

.pager {
	margin-top: 2.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--rule);
}

.pager__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
}

.pager__side {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.pager__link,
.pager__spent {
	font-family: var(--mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
}

.pager__link:hover {
	color: var(--spot);
}

.pager__spent {
	color: var(--ink-faint);
}

.pager__status {
	margin: 0;
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.pager__status b {
	color: var(--ink);
	font-weight: 600;
}

.pager__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem 0.5rem;
	margin-top: 0.75rem;
	font-family: var(--mono);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.pager__page {
	padding-inline: 0.25rem;
	transition: color 0.15s;
}

.pager__page:hover {
	color: var(--spot);
	text-decoration: underline;
}

.pager__page[aria-current='page'] {
	color: var(--spot);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.pager__gap {
	color: var(--ink-faint);
}

/* =====================================================================
 * 十、报章效果：首字下沉、图版网点
 * =================================================================== */

/* 首字下沉：头条导语、正文第一段。 */
.dropcap > p:first-of-type::first-letter {
	float: left;
	margin-top: 0.1em;
	padding-right: 0.07em;
	font-family: var(--display);
	font-size: 3.5em;
	font-weight: 700;
	line-height: 0.8;
	color: var(--spot);
}

/* 图版：整版唯一的彩色时刻 —— 照片印在新闻纸上，压一点饱和，
   再覆一层极淡的网点。只能加在容器上，<img> 不能带伪元素。 */
.plate {
	position: relative;
	overflow: hidden;
	background-color: var(--ink);
}

.plate > img {
	display: block;
	width: 100%;
	filter: saturate(0.94) contrast(1.05);
}

.plate::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at 1px 1px, var(--plate-dot) 1px, transparent 0);
	background-size: 4px 4px;
	opacity: 0.3;
	mix-blend-mode: multiply;
}

html.dark .plate::after {
	opacity: 0.22;
	mix-blend-mode: screen;
}

/* 图版限高：竖长的书影不至于占满整块版心。
   报纸上的照片是一条横带，不是一整页。 */
.entry__figure .plate img {
	width: 100%;
	max-height: 34rem;
	object-fit: cover;
	object-position: center;
}

/* 图片说明 */
.plate__caption {
	margin: 0.375rem 0 0;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
	line-height: 1.6;
}

/* =====================================================================
 * 十一、单篇正文（entry）
 * =================================================================== */

.entry {
	margin-top: 2rem;
	max-width: 46rem;
}

.entry__kicker {
	color: var(--spot);
}

.entry__title {
	margin-top: 0.375rem;
	font-size: clamp(2rem, 6.5vw, 3rem);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: 0.02em;
}

.entry__standfirst {
	margin: 0.75rem 0 0;
	color: var(--ink-soft);
	font-size: 1.0625rem;
	line-height: 1.8;
}

.entry__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.875rem;
	margin: 1rem 0 0;
	padding-block: 0.5rem;
	border-block: 3px double var(--rule-strong);
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
}

.entry__byline b {
	color: var(--ink);
	font-weight: 600;
}

.entry__byline .faint {
	color: var(--ink-faint);
}

.entry__figure {
	margin: 1.5rem 0;
}

.entry__body {
	margin-top: 1.75rem;
	font-size: 1.0625rem;
	line-height: 1.95;
}

.entry__body > p:first-of-type::first-letter {
	float: left;
	margin-top: 0.1em;
	padding-right: 0.07em;
	font-family: var(--display);
	font-size: 3.5em;
	font-weight: 700;
	line-height: 0.8;
	color: var(--spot);
}

/* 正文标题层级。
   站上 1,600 篇旧文用 <h1> 做一级小节（引言 / CD简介 / …），<h2> 做二级；
   区块时代的文章则用 <h2> 开头。两代写法都要落在同一把尺子上：
   h1 = 双线，h2 = 单线，h3 = 无线的粗题。 */
.entry__body h1 {
	margin: 2.75rem 0 1rem;
	padding-bottom: 0.375rem;
	border-bottom: 3px double var(--rule-strong);
	font-size: 1.625rem;
	letter-spacing: 0.05em;
}

.entry__body h2 {
	margin: 2.5rem 0 0.75rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid var(--rule);
	font-size: 1.375rem;
	letter-spacing: 0.04em;
}

.entry__body h3 {
	margin: 2rem 0 0.5rem;
	font-size: 1.1875rem;
}

.entry__body h4 {
	margin: 1.75rem 0 0.5rem;
	font-size: 1.0625rem;
}

.entry__body > h1:first-child,
.entry__body > h2:first-child {
	margin-top: 0;
}

.entry__body a {
	color: var(--spot);
	border-bottom: 1px solid color-mix(in oklch, var(--spot) 45%, transparent);
}

.entry__body a:hover {
	border-bottom-color: var(--spot);
}

.entry__body ul,
.entry__body ol {
	padding-left: 1.5rem;
}

.entry__body li + li {
	margin-top: 0.25rem;
}

.entry__body blockquote {
	margin: 1.75rem 0;
	padding: 0.25rem 0 0.25rem 1.25rem;
	border-left: 3px solid var(--spot);
	color: var(--ink-soft);
	font-size: 1.0625rem;
}

.entry__body blockquote p:last-child {
	margin-bottom: 0;
}

.entry__body blockquote cite {
	display: block;
	margin-top: 0.5rem;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.75rem;
	font-style: normal;
}

.entry__body code,
.entry__body kbd,
.entry__body samp {
	padding: 0.1em 0.35em;
	background-color: var(--paper-raised);
	border: 1px solid var(--rule);
	font-family: var(--mono);
	font-size: 0.875em;
}

.entry__body pre {
	margin: 1.5rem 0;
	padding: 1rem;
	overflow-x: auto;
	background-color: var(--paper-raised);
	border: 1px solid var(--rule);
	font-family: var(--mono);
	font-size: 0.8125rem;
	line-height: 1.7;
}

.entry__body pre code {
	padding: 0;
	border: 0;
	background: none;
	font-size: inherit;
}

.entry__body img {
	border: 1px solid var(--rule);
}

/* 旧文里的插图常常直接塞在段落里（<p><img></p>）：让它独占一行、居中。 */
.entry__body p > img,
.entry__body p > a > img,
.entry__body p > span > img {
	display: block;
	height: auto;
	margin: 1.5rem auto;
}

/* 脚注：经典 .footnotes 与区块版 .wp-block-footnotes 都收口到同一处。 */
.entry__body .footnotes,
.entry__body .wp-block-footnotes {
	margin-top: 2.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--rule);
	color: var(--ink-soft);
	font-size: 0.875rem;
}

.entry__body .footnotes ol,
.entry__body .wp-block-footnotes ol {
	margin-bottom: 0;
	padding-left: 1.25rem;
}

.entry__body sup {
	font-size: 0.7em;
	line-height: 0;
}

.entry__body sup a {
	border-bottom: 0;
	color: var(--spot);
	font-family: var(--mono);
}

.entry__body figure {
	margin: 1.75rem 0;
}

.entry__body figcaption {
	margin-top: 0.375rem;
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
	line-height: 1.6;
	text-align: left;
}

.entry__body table {
	width: 100%;
	margin: 1.75rem 0;
	font-size: 0.9375rem;
}

.entry__body th,
.entry__body td {
	padding: 0.4rem 0.6rem;
	border-bottom: 1px solid var(--rule);
	text-align: left;
}

.entry__body th {
	border-bottom: 1px solid var(--rule-strong);
	font-family: var(--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.entry__body hr {
	margin: 2.5rem auto;
	width: 33%;
	border-top: 3px double var(--rule-strong);
}

/* 中文正文里的脚注、引文、图注等块级元素统一收口。 */
.entry__body .wp-block-quote,
.entry__body .wp-block-pullquote {
	margin: 1.75rem 0;
}

.entry__body .wp-block-pullquote {
	padding-block: 1.25rem;
	border-block: 3px double var(--rule-strong);
	text-align: center;
}

.entry__body .wp-block-pullquote p {
	font-family: var(--display);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.5;
}

.entry__body .wp-block-pullquote cite {
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.75rem;
	font-style: normal;
}

.entry__body .wp-block-button__link {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	background-color: var(--ink);
	color: var(--paper);
	border-radius: 0;
	font-family: var(--mono);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-decoration: none;
}

.entry__body .wp-block-button__link:hover {
	background-color: var(--spot);
	color: var(--paper);
}

.entry__body .wp-block-separator {
	margin: 2.5rem auto;
	width: 33%;
	border: 0;
	border-top: 3px double var(--rule-strong);
}

.entry__body .wp-block-image.alignwide,
.entry__body .wp-block-image.alignfull,
.entry__body .alignwide {
	max-width: none;
}

/* 正文脚：标签 + 上一篇/下一篇 + 分享 */
.entry__foot {
	margin-top: 2.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--rule);
}

.entry__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.375rem 0.625rem;
	margin: 0;
	font-size: 0.8125rem;
}

.entry__tags .kicker {
	display: inline-block;
	color: var(--ink-faint);
}

.entry__tags a {
	padding: 0.05rem 0.4rem;
	border: 1px solid var(--rule);
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.75rem;
}

.entry__tags a:hover {
	border-color: var(--spot);
	color: var(--spot);
}

.entry__nav {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.entry__nav-item {
	padding-top: 0.5rem;
	border-top: 1px solid var(--rule);
}

.entry__nav-label {
	color: var(--ink-faint);
	font-size: 0.625rem;
}

.entry__nav-title {
	margin: 0.125rem 0 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

.entry__nav-item a:hover .entry__nav-title {
	color: var(--spot);
}

@media (min-width: 40rem) {
	.entry__nav {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}

	.entry__nav-item--next {
		text-align: right;
	}
}

/* =====================================================================
 * 十二、评论
 * =================================================================== */

.comments {
	margin-top: 3rem;
	max-width: 46rem;
	padding-top: 1rem;
	border-top: 3px double var(--rule-strong);
}

.comments__title {
	font-size: 1.25rem;
	letter-spacing: 0.06em;
}

.comments__list {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.comments__list .children {
	margin: 0;
	padding-left: 1.25rem;
	list-style: none;
	border-left: 1px solid var(--rule);
}

.comment {
	padding-block: 1rem;
	border-bottom: 1px solid var(--rule);
}

.comment__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.625rem;
	margin: 0 0 0.375rem;
	font-family: var(--mono);
	font-size: 0.6875rem;
	color: var(--ink-faint);
}

.comment__meta .comment-author {
	color: var(--ink);
	font-weight: 600;
	font-family: var(--serif);
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.comment__avatar {
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--rule);
	border-radius: 0;
}

.comment__body {
	font-size: 0.9375rem;
	line-height: 1.85;
}

.comment__body > :last-child {
	margin-bottom: 0;
}

.comment__awaiting {
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.6875rem;
}

.comment-respond {
	margin-top: 2rem;
}

.comment-reply-title,
.comment-form label {
	letter-spacing: 0.04em;
}

.comment-reply-title {
	font-size: 1.125rem;
}

.comment-form {
	display: grid;
	gap: 0.875rem;
	font-size: 0.9375rem;
}

.comment-form label {
	display: block;
	margin-bottom: 0.25rem;
	color: var(--ink-soft);
	font-family: var(--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
}

.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea,
.search-form .search-field,
.wp-block-search__input {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid var(--rule);
	border-radius: 0;
	background-color: var(--paper-raised);
	color: var(--ink);
	font-family: var(--serif);
	font-size: 0.9375rem;
}

.comment-form input:focus,
.comment-form textarea:focus {
	border-color: var(--spot);
}

.comment-form .form-submit {
	margin: 0;
}

.comment-form input[type='submit'],
.wp-block-search__button,
.search-form .search-submit,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	display: inline-block;
	padding: 0.45rem 1.25rem;
	border: 1px solid var(--ink);
	border-radius: 0;
	background-color: var(--ink);
	color: var(--paper);
	font-family: var(--mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s;
}

.comment-form input[type='submit']:hover,
.wp-block-search__button:hover,
.search-form .search-submit:hover {
	border-color: var(--spot);
	background-color: var(--spot);
}

.comment-notes,
.logged-in-as,
.comment-form-cookies-consent {
	color: var(--ink-faint);
	font-size: 0.8125rem;
}

.comment-form-cookies-consent input {
	margin-right: 0.375rem;
}

.comment-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--rule);
	font-size: 0.875rem;
}

/* =====================================================================
 * 十三、页脚（colophon）
 * 版权、许可、技术、家庭成员 —— 以一道双线收口，最后一行排印说明。
 * =================================================================== */

.colophon {
	margin-top: 4rem;
	border-top: 3px double var(--rule-strong);
	flex-shrink: 0;
}

.colophon__grid {
	display: grid;
	gap: 2rem;
	padding-block: 2.5rem;
}

.colophon__brand {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.colophon__seal {
	width: 2rem;
	height: 2rem;
	mix-blend-mode: multiply;
	user-select: none;
}

.colophon__name {
	font-family: var(--display);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.colophon__legal {
	margin: 0.5rem 0 0;
	color: var(--ink-soft);
	font-size: 0.75rem;
}

.colophon__legal + .colophon__legal {
	margin-top: 0.25rem;
}

.colophon__legal a {
	color: var(--spot);
}

.colophon__legal a:hover {
	text-decoration: underline;
}

.colophon__head {
	color: var(--ink-faint);
	font-size: 0.75rem;
}

.colophon__list {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--ink-soft);
	font-size: 0.75rem;
}

.colophon__list li + li {
	margin-top: 0.25rem;
}

.colophon__list a {
	color: var(--spot);
}

.colophon__list a:hover {
	text-decoration: underline;
}

.colophon__note {
	margin: 0;
	padding-block: 1rem;
	border-top: 1px solid var(--rule);
	color: var(--ink-faint);
	font-family: var(--mono);
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	text-align: center;
}

@media (min-width: 48rem) {
	.colophon__grid {
		grid-template-columns: 1.5fr 1fr 1fr;
	}
}

/* =====================================================================
 * 十四、检索表单、空状态、404
 * =================================================================== */

.search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.search-form .search-field {
	flex: 1 1 12rem;
	width: auto;
}

.search-form .search-submit {
	flex: 0 0 auto;
}

/* 边栏里的小工具检索：栏窄，输入框独占一行，按钮另起。 */
.box__body .search-form {
	flex-wrap: wrap;
	gap: 0.5rem;
}

.box__body .search-form .search-field {
	flex: 1 1 100%;
	width: 100%;
}

.box__body .search-form .search-submit {
	flex: 0 0 auto;
}

.empty-state {
	margin-top: 2rem;
	padding: 2rem 0;
	border-block: 1px solid var(--rule);
	color: var(--ink-soft);
	font-size: 0.9375rem;
}

.empty-state p:last-child {
	margin-bottom: 0;
}

/* =====================================================================
 * 十五、打印：去掉导航与边栏，纯黑白
 * =================================================================== */

@media print {
	.folio,
	.rail,
	.comments,
	.pager,
	.colophon__grid > :not(:first-child),
	.skip-link {
		display: none !important;
	}

	html {
		background: #fff;
		background-image: none;
	}

	body {
		color: #000;
		font-size: 11pt;
	}

	.entry__body a {
		color: #000;
		border-bottom: 0;
	}

	.entry__body a[href^='http']::after {
		content: ' (' attr(href) ')';
		font-family: var(--mono);
		font-size: 8pt;
		color: #444;
	}
}

/* 图标：日/月与菜单/关闭，全靠 class 切换，不需要脚本参与。 */
.theme-toggle [data-icon] {
	display: none;
}

html:not(.dark) .theme-toggle [data-icon='moon'],
html.dark .theme-toggle [data-icon='sun'] {
	display: block;
}

.folio__toggle [data-icon='close'] {
	display: none;
}

.folio__toggle[aria-expanded='true'] [data-icon='menu'] {
	display: none;
}

.folio__toggle[aria-expanded='true'] [data-icon='close'] {
	display: block;
}

/* 网格子项默认 min-width:auto，长标题会把栏撑破。 */
.spread > * {
	min-width: 0;
}

/* 版面之间的纵向间隔 */
.stack {
	margin-top: 2.5rem;
}

/* == rsywx-css-end == */
