/*
 * 问道学科 · 主题样式
 * 配色与字体全部取 theme.json 的预设变量（--wp--preset--*），换风格、换夜读都只改变量。
 * 区块样式的标签文字（定义、定理……）由 inc/setup.php 按语言写进 --rd-l-* 变量。
 * 不用 CSS 嵌套：编辑器样式要经过 WordPress 的作用域改写。
 */

:root {
	--rd-accent: var(--wp--preset--color--accent-3);
	--rd-ink: var(--wp--preset--color--contrast);
	--rd-muted: var(--wp--preset--color--accent-4);
	--rd-paper: var(--wp--preset--color--base);
	--rd-paper-2: var(--wp--preset--color--accent-5);
	--rd-tint: var(--wp--preset--color--accent-1);
	--rd-warm: var(--wp--preset--color--accent-2);
	--rd-red: var(--wp--preset--color--cinnabar);
	--rd-gold: var(--wp--preset--color--ochre);
	--rd-line: color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
	--rd-line-2: color-mix(in srgb, var(--wp--preset--color--contrast) 26%, transparent);
	--rd-radius: var(--wp--custom--radius, 6px);
	--rd-ui: var(--wp--preset--font-family--sans);
	--rd-note-w: var(--wp--custom--margin-note, 13rem);
}

/* ------------------------------------------------------------------ 基础排印 */

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	text-autospace: normal; /* 中西文之间自动留空（支持的浏览器） */
	text-spacing-trim: normal;
	font-kerning: normal;
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
	font-synthesis-weight: none; /* 没有粗体字形的中文宋体不做伪粗 */
}

p, li, dd { text-wrap: pretty; }

::selection { background: color-mix(in srgb, var(--rd-accent) 22%, transparent); }

:where(a, button, summary, input):focus-visible {
	outline: 2px solid var(--rd-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

:where(.wp-site-blocks) a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }

.screen-reader-text:focus { clip-path: none; }

/* ------------------------------------------------------------------ 页眉 */

.rd-header {
	border-bottom: 1px solid var(--rd-line);
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
	position: relative;
	z-index: 20;
}

.rd-header__bar { gap: 1.5rem; }
.rd-header__brand { gap: 0.8rem; min-width: 0; }
.rd-header__names { gap: 0.05rem; min-width: 0; }
.rd-header__names .wp-block-site-title { margin: 0; line-height: 1.25; white-space: nowrap; }
.rd-header__names .wp-block-site-tagline { margin: 0; line-height: 1.4; max-width: 34ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-header__tools { gap: 0.6rem 1.1rem; }

.rd-header__search .wp-block-search__button {
	background: transparent;
	color: var(--rd-ink);
	border: 1px solid transparent;
	padding: 0.35rem;
	border-radius: 999px;
}
.rd-header__search .wp-block-search__button:hover { border-color: var(--rd-line-2); }
.rd-header__search .wp-block-search__input { border-radius: 999px; border-color: var(--rd-line-2); background: var(--rd-paper); color: var(--rd-ink); }

@media (max-width: 781px) {
	.rd-header__names .wp-block-site-tagline { display: none; }
}



/* ------------------------------------------------------------------ 页脚 */

.rd-footer {
	margin-top: 0;
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--rd-line);
	font-size: var(--wp--preset--font-size--small);
}
.rd-footer .wp-block-site-title { font-size: var(--wp--preset--font-size--large); margin: 0; }
.rd-footer__note { color: var(--rd-muted); max-width: 36ch; }
.rd-footer__h {
	font: 600 var(--wp--preset--font-size--x-small) / 1.4 var(--rd-ui);
	letter-spacing: 0.12em;
	color: var(--rd-muted);
	text-transform: uppercase;
}
.rd-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.35rem; }
.rd-footer__list a { color: var(--rd-ink); text-decoration: none; }
.rd-footer__list a:hover { color: var(--rd-accent); text-decoration: underline; }
.rd-footer__list ul { list-style: none; padding-left: 1em; }
.rd-footer__base {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: 1rem;
	border-top: 1px solid var(--rd-line);
	color: var(--rd-muted);
	font-size: var(--wp--preset--font-size--x-small);
}
.rd-footer__base a { color: inherit; }

/* ------------------------------------------------------------------ 通用：眉题、导语、栏目标题、胶囊 */

.is-style-rd-eyebrow,
.rd-card__eyebrow {
	font-family: var(--rd-ui);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rd-accent);
	margin-bottom: 0.4rem;
}
.rd-card__eyebrow a { color: inherit; text-decoration: none; }
.rd-card__eyebrow .wp-block-post-terms__separator { opacity: 0.5; }

.is-style-rd-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.65;
	color: color-mix(in srgb, var(--rd-ink) 82%, var(--rd-paper));
}

.is-style-rd-section-mark {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.is-style-rd-section-mark::before {
	content: "";
	flex: none;
	width: 0.55em;
	height: 0.55em;
	background: var(--rd-red);
	transform: rotate(45deg);
	border-radius: 1px;
}

.rd-pill {
	display: inline-block;
	font: 600 var(--wp--preset--font-size--x-small) / 1.6 var(--rd-ui);
	letter-spacing: 0.06em;
	padding: 0.05rem 0.6rem;
	border-radius: 999px;
	border: 1px solid currentColor;
	color: var(--rd-red);
	width: fit-content;
}
.rd-pill--progress { color: var(--rd-gold); }
.rd-pill--partial { color: var(--rd-accent); }

.rd-pills .wp-block-term-template { gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.rd-pills .wp-block-term-name { margin: 0; font-size: var(--wp--preset--font-size--small); }
.rd-pills .wp-block-term-name a {
	display: inline-block;
	padding: 0.2rem 0.8rem;
	border: 1px solid var(--rd-line-2);
	border-radius: 999px;
	color: var(--rd-ink);
	text-decoration: none;
}
.rd-pills .wp-block-term-name a:hover { border-color: var(--rd-accent); color: var(--rd-accent); }

.rd-search-big .wp-block-search__inside-wrapper {
	border: 1px solid var(--rd-line-2);
	border-radius: 999px;
	padding: 0.3rem;
	background: var(--rd-paper);
	max-width: 36rem;
}
.rd-search-big .wp-block-search__input { border: 0; background: transparent; padding-left: 1rem; color: var(--rd-ink); font-size: var(--wp--preset--font-size--medium); }
.rd-search-big .wp-block-search__button { border-radius: 999px; margin-left: 0.3rem; white-space: nowrap; flex: none; }

/* ------------------------------------------------------------------ 学科主页各板块 */

.rd-portal > .wp-block-post-content > :first-child { margin-top: 0; }
.rd-portal .wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }

.rd-section {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: var(--wp--preset--spacing--70);
}
.rd-section + .rd-section:not(.has-background) { border-top: 1px solid var(--rd-line); }
.rd-section__head { margin-bottom: var(--wp--preset--spacing--50); }
.rd-section__head h2 { margin: 0; }
.rd-section__lead { color: var(--rd-muted); max-width: 52ch; margin-top: 0.6rem; }

/* 总纲 */
.rd-hero {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--70);
	position: relative;
	overflow: hidden;
}
.rd-hero::after { /* 淡淡的经纬线 */
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(to right, color-mix(in srgb, var(--rd-ink) 5%, transparent) 1px, transparent 1px),
		linear-gradient(to bottom, color-mix(in srgb, var(--rd-ink) 5%, transparent) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse at 85% 30%, #000 0%, transparent 65%);
	pointer-events: none;
}
.rd-hero > * { position: relative; z-index: 1; }
.rd-hero__cols { gap: var(--wp--preset--spacing--60); }
.rd-hero__title.wp-block-site-title {
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.1;
	letter-spacing: 0.02em;
	margin: 0.2rem 0 0;
}
.rd-hero__tagline.wp-block-site-tagline {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--rd-accent);
	line-height: 1.4;
	margin-top: 0.8rem;
}
.rd-hero__definition { font-size: var(--wp--preset--font-size--large); line-height: 1.75; max-width: 34em; color: color-mix(in srgb, var(--rd-ink) 85%, var(--rd-paper)); }
.rd-hero__actions { margin-top: 1.4rem; }
.rd-hero__panel {
	background: var(--rd-paper);
	border: 1px solid var(--rd-line);
	border-radius: calc(var(--rd-radius) * 2);
	padding: 1.75rem;
	box-shadow: 0 1px 0 var(--rd-line), 0 24px 48px -32px color-mix(in srgb, var(--rd-ink) 40%, transparent);
	display: grid;
	gap: 1.25rem;
	justify-items: start;
}


/* 学科地图 */
.rd-map__grid { list-style: none; padding: 0; margin: 0; gap: 0 !important; border-top: 1px solid var(--rd-line-2); }
.rd-map__grid > li { border-bottom: 1px solid var(--rd-line); }
.rd-map__cell {
	position: relative;
	height: 100%;
	padding: 1.4rem 1.4rem 1.6rem 0;
	display: grid;
	grid-template-columns: 1fr auto;
	align-content: start;
	gap: 0.4rem 1rem;
	transition: background 0.2s ease;
}
.rd-map__cell > * { margin: 0 !important; }
.rd-map__name { grid-column: 1; font-size: var(--wp--preset--font-size--large); }
.rd-map__name a { color: var(--rd-ink); text-decoration: none; }
.rd-map__name a::after { content: ""; position: absolute; inset: 0; } /* 整格可点 */
.rd-map__cell:hover .rd-map__name a { color: var(--rd-accent); }
.rd-map__cell:hover { background: linear-gradient(to right, color-mix(in srgb, var(--rd-tint) 70%, transparent), transparent); }
.rd-map__desc { grid-column: 1 / -1; color: var(--rd-muted); font-size: var(--wp--preset--font-size--small); line-height: 1.65; }
.rd-map__desc p { margin: 0; }
.rd-map__count {
	grid-column: 2;
	grid-row: 1;
	font: 600 var(--wp--preset--font-size--small) / 1.8 var(--rd-ui);
	color: var(--rd-accent);
	font-variant-numeric: tabular-nums;
}
.rd-map__count::after { content: " " var(--rd-l-entries-unit, ""); font-weight: 400; color: var(--rd-muted); }

/* 卡片（精选、相关） */
.rd-cards, .rd-featured__grid, .rd-latest__grid { list-style: none; padding: 0; margin: 0; }
.rd-card { height: 100%; display: flex; flex-direction: column; gap: 0.5rem; }
.rd-card > * { margin: 0 !important; }
.rd-card__image img { border-radius: var(--rd-radius); }
.rd-card__image { margin-bottom: 0.5rem !important; }
.rd-card__title { font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
.rd-card__title a { color: var(--rd-ink); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 0.3s ease; }
.rd-card__title a:hover { background-size: 100% 1px; }
.rd-card__excerpt { color: var(--rd-muted); font-size: var(--wp--preset--font-size--small); }
.rd-card__excerpt p { margin: 0; }
.rd-card__date { margin-top: auto !important; }

/* 精选：第一篇大卡片，其余在右列 */
@media (min-width: 900px) {
	.rd-featured .rd-featured__grid.wp-block-post-template { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); column-gap: var(--wp--preset--spacing--50); row-gap: 2rem; }
	.rd-featured .rd-featured__grid > li:first-child:not(:only-child) { grid-row: span 2; }
	.rd-featured .rd-featured__grid > li:first-child .rd-card__title { font-size: var(--wp--preset--font-size--x-large); }
	.rd-featured .rd-featured__grid > li:only-child { grid-column: 1 / -1; }
	.rd-featured .rd-featured__grid > li:not(:first-child) .rd-card__image { display: none; }
	.rd-featured .rd-featured__grid > li:not(:first-child) .rd-card { border-top: 1px solid var(--rd-line); padding-top: 1rem; }
}

/* 核心概念 */
.rd-glossary { row-gap: 0 !important; } /* 列距不改：WordPress 按区块间距计算网格列宽 */
.is-style-rd-glossary {
	border-bottom: 1px solid var(--rd-line-2) !important;
	padding: 0.9rem 0 !important;
}
.is-style-rd-glossary summary {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}
.is-style-rd-glossary summary::-webkit-details-marker { display: none; }
.is-style-rd-glossary summary::after {
	content: "+";
	font-family: var(--rd-ui);
	font-weight: 400;
	color: var(--rd-accent);
	transition: transform 0.2s ease;
}
.is-style-rd-glossary[open] summary::after { transform: rotate(45deg); }
.is-style-rd-glossary > :not(summary) { color: color-mix(in srgb, var(--rd-ink) 82%, var(--rd-paper)); margin-top: 0.6rem; }
.rd-tagcloud { margin-top: var(--wp--preset--spacing--50) !important; }
.rd-tagcloud a { color: var(--rd-ink); text-decoration: none; margin-right: 0.8em; display: inline-block; }
.rd-tagcloud a::before { content: "#"; color: var(--rd-accent); opacity: 0.6; margin-right: 0.1em; }
.rd-tagcloud a:hover { color: var(--rd-accent); }

/* 开放问题 */
.rd-problems { row-gap: 1.5rem !important; }
.rd-problem h3 { margin-top: 0.8rem; }
.rd-problem p:last-child { color: var(--rd-muted); font-size: var(--wp--preset--font-size--small); }

/* 学习路径（步骤） */
ol.is-style-rd-steps {
	list-style: none;
	counter-reset: rd-step;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 1.5rem;
	position: relative;
}
ol.is-style-rd-steps > li {
	counter-increment: rd-step;
	position: relative;
	padding-top: 3.6rem;
	color: var(--rd-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.7;
}
ol.is-style-rd-steps > li::before {
	content: counter(rd-step);
	position: absolute;
	top: 0;
	left: 0;
	width: 2.4rem;
	height: 2.4rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--rd-paper);
	border: 1.5px solid var(--rd-accent);
	color: var(--rd-accent);
	font: 600 1rem / 1 var(--wp--preset--font-family--serif);
	z-index: 1;
}
ol.is-style-rd-steps > li::after { /* 连接线 */
	content: "";
	position: absolute;
	top: 1.2rem;
	left: 2.4rem;
	right: -1.5rem;
	border-top: 1px dashed var(--rd-line-2);
}
ol.is-style-rd-steps > li:last-child::after { display: none; }
ol.is-style-rd-steps > li strong {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	color: var(--rd-ink);
	margin-bottom: 0.2rem;
}
.rd-entry__content ol.is-style-rd-steps { grid-template-columns: 1fr; }
.rd-entry__content ol.is-style-rd-steps > li::after { display: none; }

/* 年表 */
ul.rd-timeline { list-style: none; padding: 0 0 0 1.75rem; margin: 0; border-left: 1px solid var(--rd-line-2); }
ul.rd-timeline > li { position: relative; padding-bottom: 1.6rem; color: var(--rd-muted); }
ul.rd-timeline > li:last-child { padding-bottom: 0; }
ul.rd-timeline > li::before {
	content: "";
	position: absolute;
	left: calc(-1.75rem - 5px);
	top: 0.55em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--rd-paper);
	border: 2px solid var(--rd-red);
}
ul.rd-timeline > li strong {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	color: var(--rd-ink);
	font-variant-numeric: lining-nums;
}

/* 最新研究 */
.rd-latest__grid { gap: 2rem var(--wp--preset--spacing--50) !important; }
.rd-latest__item { border-top: 2px solid var(--rd-ink); padding-top: 0.9rem; height: 100%; }
.rd-latest__item > * { margin-top: 0.4rem !important; margin-bottom: 0 !important; }
.rd-latest__meta { gap: 0.3rem 0.9rem; }
.rd-latest__meta > * { margin: 0 !important; }

/* 参与与引用 */
.rd-join :where(h1, h2, h3, h4, p, a) { color: inherit; }
.rd-join h3 { font-size: var(--wp--preset--font-size--large); }
.rd-join p { opacity: 0.88; }
.rd-join .wp-block-column { border-top: 1px solid color-mix(in srgb, currentColor 35%, transparent); padding-top: 1.2rem; }

/* ------------------------------------------------------------------ 列表页 */

.rd-archive { padding-bottom: var(--wp--preset--spacing--70); }
.rd-archive__head { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--40); }
.rd-archive__head h1, .rd-archive__head .wp-block-query-title { margin-top: 0.3rem; font-size: var(--wp--preset--font-size--xx-large); }
.rd-archive__desc { color: var(--rd-muted); max-width: 52ch; font-size: var(--wp--preset--font-size--large); }
.rd-archive__total { color: var(--rd-muted); font-size: var(--wp--preset--font-size--x-small); }

.rd-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rd-line-2); }
.rd-list > li { margin: 0 !important; }
.rd-list__item {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr);
	gap: 1.5rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--rd-line);
}
.rd-list__item > * { margin: 0 !important; }
.rd-list__date { padding-top: 0.3rem; font-variant-numeric: tabular-nums; }
.rd-list__body > * { margin-top: 0.35rem !important; margin-bottom: 0 !important; }
.rd-list__title { font-size: var(--wp--preset--font-size--large); }
.rd-list__title a { color: var(--rd-ink); text-decoration: none; }
.rd-list__title a:hover { color: var(--rd-accent); }
.rd-list__excerpt { color: var(--rd-muted); font-size: var(--wp--preset--font-size--small); max-width: 62ch; }
.rd-list__excerpt p { margin: 0; }
@media (max-width: 600px) { .rd-list__item { grid-template-columns: 1fr; gap: 0.2rem; } }
.rd-pagination { margin-top: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--small); }

/* ------------------------------------------------------------------ 条目 */

.rd-entry { padding-bottom: var(--wp--preset--spacing--60); }
.rd-entry__head { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); max-width: 920px; }
.rd-entry__head > * { margin-top: 0.5rem; margin-bottom: 0; }
.rd-entry__cats { margin-top: 1.2rem; }
.rd-entry__cats, .rd-entry__cats a { font: 600 var(--wp--preset--font-size--x-small) / 1.4 var(--rd-ui); letter-spacing: 0.14em; color: var(--rd-accent); text-decoration: none; }
.rd-entry__title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.2; margin-top: 0.6rem !important; }
.rd-entry__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.7; color: color-mix(in srgb, var(--rd-ink) 78%, var(--rd-paper)); max-width: 40em; margin-top: 1rem !important; }
.rd-entry__lead p { margin: 0; }
.rd-entry__meta { margin-top: 1.4rem !important; gap: 0.3rem 0 !important; font-size: var(--wp--preset--font-size--x-small); color: var(--rd-muted); border-top: 1px solid var(--rd-line); padding-top: 0.8rem; }
.rd-entry__meta > * { margin: 0 !important; }
.rd-entry__meta > :where(.rd-meta-published, .rd-meta-revised, .rd-meta-read)::before { margin: 0 0.35em 0 0.6em; color: var(--rd-muted); }
.rd-meta-published::before { content: "· " var(--rd-l-published, ""); }
.rd-meta-revised::before { content: "· " var(--rd-l-revised, ""); }
.rd-meta-read::before { content: "· " var(--rd-l-reading, ""); }
.rd-entry__meta > :first-child::before { content: none; }
.rd-entry__figure { margin-top: var(--wp--preset--spacing--40) !important; }
.rd-entry__figure img { border-radius: var(--rd-radius); }

.rd-entry__layout { margin-top: var(--wp--preset--spacing--50) !important; }
.rd-entry__content { position: relative; }
.rd-entry__content:lang(zh) > p,
.rd-entry__content:lang(zh-CN) > p { text-align: justify; }

@media (min-width: 1200px) {
	.rd-entry__layout:not(.rd-entry__layout--plain) {
		display: grid;
		grid-template-columns: 14rem minmax(0, var(--wp--style--global--content-size)) minmax(var(--rd-note-w), 1fr);
		column-gap: 3rem;
		align-items: start;
	}
	.rd-entry__layout:not(.rd-entry__layout--plain) > * { margin-top: 0 !important; }
	.rd-entry__aside {
		position: sticky;
		top: 1.5rem;
		max-height: calc(100vh - 3rem);
		overflow-y: auto;
		scrollbar-width: thin;
	}
	.rd-entry__layout:not(.rd-entry__layout--plain) .rd-entry__content > .alignwide,
	.rd-entry__layout:not(.rd-entry__layout--plain) .rd-entry__content > .alignfull {
		max-width: none;
		margin-right: calc(-1 * (var(--rd-note-w) + 3rem)) !important;
		margin-left: 0 !important;
	}
	/* 旁注：移到右侧页边，与它后面那段正文顶端对齐 */
	.rd-entry__content > .is-style-rd-sidenote {
		position: absolute;
		right: calc(-1 * (var(--rd-note-w) + 3rem));
		width: var(--rd-note-w);
		margin: 0.3rem 0 0 !important;
	}
	.rd-entry__layout--plain .rd-entry__content > .is-style-rd-sidenote,
	.rd-page:not(.rd-entry) .rd-entry__content > .is-style-rd-sidenote { position: static; width: auto; }
}

.is-style-rd-sidenote {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.65;
	color: var(--rd-muted);
	border-left: 2px solid var(--rd-gold);
	padding-left: 0.75rem;
	text-align: left !important;
}
@media (max-width: 1199px) {
	.is-style-rd-sidenote { margin-left: 1.5rem !important; }
}

@media (min-width: 1200px) {
	.rd-entry__aside .rd-toc__box { border: 0; padding: 0; background: none; }
	.rd-entry__aside .rd-toc__title { cursor: default; pointer-events: none; }
	.rd-entry__aside .rd-toc__title::after, .rd-entry__aside .rd-toc__box[open] .rd-toc__title::after { content: none; }
	.rd-entry__aside .rd-toc__list { border-left: 1px solid var(--rd-line); }
	.rd-entry__aside .rd-toc a { margin-left: -1px; }
}
@media (max-width: 1199px) {
	.rd-entry__aside { margin-bottom: 1.5rem; max-width: var(--wp--style--global--content-size); margin-left: auto !important; margin-right: auto !important; }
}

/* 章节编号（条目模板「章节编号」或区块样式） */
.is-style-rd-numbered { counter-reset: rd-h2; }
.is-style-rd-numbered > h2 { counter-increment: rd-h2; counter-reset: rd-h3; }
.is-style-rd-numbered > h3 { counter-increment: rd-h3; }
.is-style-rd-numbered > h2:not(.rd-no-toc):not(.rd-references-title)::before { content: counter(rd-h2); margin-right: 0.6em; color: var(--rd-red); font-variant-numeric: lining-nums; }
.is-style-rd-numbered > h3::before { content: counter(rd-h2) "." counter(rd-h3); margin-right: 0.6em; color: var(--rd-muted); font-variant-numeric: lining-nums; }
.rd-entry__layout:has(.is-style-rd-numbered) .rd-toc__list { counter-reset: rd-t; }
.rd-entry__layout:has(.is-style-rd-numbered) .rd-toc ol { counter-reset: rd-t; }
.rd-entry__layout:has(.is-style-rd-numbered) .rd-toc li { counter-increment: rd-t; }
.rd-entry__layout:has(.is-style-rd-numbered) .rd-toc a::before { content: counters(rd-t, ".") "  "; color: var(--rd-muted); font-variant-numeric: tabular-nums; }

/* 正文里的标题与其他元素 */
.rd-entry__content > h2 { margin-top: 2.6em; }
.rd-entry__content > h3 { margin-top: 2em; }
.rd-entry__content :where(h2, h3, h4)[id] { scroll-margin-top: 1.5rem; }
.rd-entry__content > blockquote { margin-top: 2rem; margin-bottom: 2rem; }

/* 学术框：编号按条目内出现顺序自动生成 */
.wp-block-post-content,
.editor-styles-wrapper .is-root-container { counter-reset: rd-def rd-thm rd-ex rd-fig rd-tab; }

:where(.is-style-rd-definition, .is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma, .is-style-rd-example, .is-style-rd-remark, .is-style-rd-proof, .is-style-rd-abstract, .is-style-rd-keypoints) {
	position: relative;
	padding: 1.1rem 1.35rem;
	margin-top: 1.8rem;
	margin-bottom: 1.8rem;
	border-radius: 0 var(--rd-radius) var(--rd-radius) 0;
}
:where(.is-style-rd-definition, .is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma, .is-style-rd-example, .is-style-rd-remark, .is-style-rd-proof, .is-style-rd-abstract, .is-style-rd-keypoints) > * { margin-top: 0.6rem; margin-bottom: 0; }
:where(.is-style-rd-definition, .is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma, .is-style-rd-example, .is-style-rd-remark, .is-style-rd-proof, .is-style-rd-abstract, .is-style-rd-keypoints)::before {
	display: inline-block;
	font: 700 var(--wp--preset--font-size--x-small) / 1.4 var(--rd-ui);
	letter-spacing: 0.1em;
	margin-right: 0.6em;
}
:where(.is-style-rd-definition, .is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma, .is-style-rd-example, .is-style-rd-remark, .is-style-rd-proof) > :first-child:not(.rd-box-name) { margin-top: 0.4rem; }
.rd-box-name { display: inline; font: 600 var(--wp--preset--font-size--x-small) / 1.4 var(--rd-ui); color: var(--rd-muted); margin: 0 !important; }
.rd-box-name + * { margin-top: 0.4rem !important; }

.is-style-rd-definition { counter-increment: rd-def; background: color-mix(in srgb, var(--rd-tint) 55%, var(--rd-paper)); border-left: 3px solid var(--rd-accent); }
.is-style-rd-definition::before { content: var(--rd-l-definition) " " counter(rd-def); color: var(--rd-accent); }

.is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma { counter-increment: rd-thm; background: var(--rd-paper-2); border-left: 3px solid var(--rd-red); }
.is-style-rd-theorem::before { content: var(--rd-l-theorem) " " counter(rd-thm); color: var(--rd-red); }
.is-style-rd-proposition::before { content: var(--rd-l-proposition) " " counter(rd-thm); color: var(--rd-red); }
.is-style-rd-lemma::before { content: var(--rd-l-lemma) " " counter(rd-thm); color: var(--rd-red); }
.is-style-rd-theorem { font-family: var(--wp--preset--font-family--serif); }

.is-style-rd-proof { border-left: 1px solid var(--rd-line-2); border-radius: 0; padding-top: 0.2rem; padding-bottom: 0.2rem; margin-top: -0.6rem; }
.is-style-rd-proof::before { content: var(--rd-l-proof); color: var(--rd-muted); font-style: italic; }
.is-style-rd-proof > :last-child::after { content: "∎"; float: right; margin-left: 1rem; color: var(--rd-muted); }

.is-style-rd-example { counter-increment: rd-ex; border: 1px dashed var(--rd-line-2); border-radius: var(--rd-radius); }
.is-style-rd-example::before { content: var(--rd-l-example) " " counter(rd-ex); color: var(--rd-gold); }

.is-style-rd-remark { padding-top: 0.4rem; padding-bottom: 0.4rem; color: var(--rd-muted); font-size: var(--wp--preset--font-size--small); border-left: 2px solid var(--rd-line-2); border-radius: 0; }
.is-style-rd-remark::before { content: var(--rd-l-remark); color: var(--rd-muted); }

.is-style-rd-abstract { background: var(--rd-paper-2); border-radius: var(--rd-radius); border-top: 3px solid var(--rd-accent); padding: 1.3rem 1.6rem; font-size: var(--wp--preset--font-size--small); line-height: 1.8; }
.is-style-rd-abstract::before { content: var(--rd-l-abstract); display: block; color: var(--rd-accent); }
.rd-abstract__keywords { color: var(--rd-muted); }
.rd-abstract__keywords strong { color: var(--rd-ink); margin-right: 0.5em; font-family: var(--rd-ui); }

.is-style-rd-keypoints { border-top: 2px solid var(--rd-ink); border-bottom: 1px solid var(--rd-line-2); border-radius: 0; padding-left: 0; padding-right: 0; }
.is-style-rd-keypoints::before { content: var(--rd-l-keypoints); display: block; color: var(--rd-ink); }
.is-style-rd-keypoints ul { padding-left: 1.2em; }
.is-style-rd-keypoints li::marker { color: var(--rd-red); content: "◆  "; font-size: 0.7em; }

.is-style-rd-card { background: var(--rd-paper); border: 1px solid var(--rd-line); border-radius: calc(var(--rd-radius) * 1.5); padding: 1.4rem 1.5rem; height: 100%; }
.is-style-rd-card > :first-child { margin-top: 0; }
.is-style-rd-panel { background: var(--rd-tint); border-radius: calc(var(--rd-radius) * 1.5); padding: 1.5rem 1.75rem; }

/* 编号图 */
.is-style-rd-figure { counter-increment: rd-fig; }
.is-style-rd-figure figcaption { text-align: center; }
.is-style-rd-figure figcaption::before { content: var(--rd-l-figure) " " counter(rd-fig) "　"; font-weight: 600; color: var(--rd-ink); }

/* 三线表：表题在上 */
.wp-block-table.is-style-rd-three-line { counter-increment: rd-tab; display: flex; flex-direction: column; margin-top: 2rem; margin-bottom: 2rem; }
.wp-block-table.is-style-rd-three-line figcaption { order: -1; text-align: center; margin: 0 0 0.6rem; color: var(--rd-ink); font-size: var(--wp--preset--font-size--small); }
.wp-block-table.is-style-rd-three-line figcaption::before { content: var(--rd-l-table) " " counter(rd-tab) "　"; font-weight: 600; }
.wp-block-table.is-style-rd-three-line table { border-collapse: collapse; border-top: 2px solid var(--rd-ink); border-bottom: 2px solid var(--rd-ink); font-variant-numeric: tabular-nums; }
.wp-block-table.is-style-rd-three-line :where(th, td) { border: 0; padding: 0.5rem 0.8rem; text-align: center; }
.wp-block-table.is-style-rd-three-line thead { border-bottom: 1px solid var(--rd-ink); }
.wp-block-table.is-style-rd-three-line th { font-family: var(--rd-ui); font-weight: 600; }
.wp-block-table.is-style-rd-three-line tbody tr:nth-child(even) { background: transparent; }

/* 参考文献 */
ol.is-style-rd-references { list-style: none; counter-reset: rd-ref; padding-left: 2.6em; font-size: var(--wp--preset--font-size--small); line-height: 1.7; }
ol.is-style-rd-references > li { counter-increment: rd-ref; position: relative; margin-bottom: 0.45rem; overflow-wrap: anywhere; }
ol.is-style-rd-references > li::before { content: "[" counter(rd-ref) "]"; position: absolute; left: -2.6em; width: 2.2em; text-align: right; color: var(--rd-muted); font-variant-numeric: tabular-nums; }

/* 步骤（正文里用） */
ul.is-style-rd-steps { list-style: none; padding-left: 0; }

/* 学者语录 */
.wp-block-quote.is-style-rd-scholar {
	border-left: 0;
	padding: 1.5rem 0 0 0;
	position: relative;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.7;
}
.wp-block-quote.is-style-rd-scholar::before {
	content: "“";
	position: absolute;
	top: -1.2rem;
	left: -0.2rem;
	font: 700 4.5rem / 1 var(--wp--preset--font-family--serif);
	color: var(--rd-red);
	opacity: 0.35;
}
.wp-block-quote.is-style-rd-scholar cite { display: block; margin-top: 0.8rem; font: 500 var(--wp--preset--font-size--x-small) / 1.5 var(--rd-ui); color: var(--rd-muted); font-style: normal; }
.wp-block-quote.is-style-rd-scholar cite::before { content: "—— "; }

/* 句读分隔线 */
.wp-block-separator.is-style-rd-dots { border: 0 !important; text-align: center; height: auto; background: none !important; }
.wp-block-separator.is-style-rd-dots::before { content: "。  。  。"; letter-spacing: 0.6em; color: var(--rd-muted); }

/* 数学公式（核心 math 区块输出 MathML） */
.wp-block-math { overflow-x: auto; overflow-y: hidden; text-align: center; }
math { font-family: "STIX Two Math", "Latin Modern Math", "Cambria Math", math; font-size: 1.08em; }

/* 代码 */
:where(code, kbd) { font-family: var(--wp--preset--font-family--mono); font-size: 0.88em; }
:where(p, li) > code { background: var(--rd-paper-2); padding: 0.1em 0.35em; border-radius: 4px; }

/* 脚注与悬停预览 */
sup.fn a, a[data-fn] { text-decoration: none; font-family: var(--rd-ui); font-weight: 600; color: var(--rd-accent); padding: 0 0.1em; }
sup.fn a::before { content: "["; } sup.fn a::after { content: "]"; }
.wp-block-footnotes { border-top: 1px solid var(--rd-line); padding-top: 1rem; color: var(--rd-muted); margin-top: 3rem; }
.wp-block-footnotes li:target { background: color-mix(in srgb, var(--rd-gold) 18%, transparent); border-radius: 3px; }
.rd-fn-pop {
	position: absolute;
	z-index: 50;
	max-width: min(24rem, calc(100vw - 2rem));
	background: var(--rd-paper);
	color: var(--rd-ink);
	border: 1px solid var(--rd-line-2);
	border-radius: var(--rd-radius);
	box-shadow: 0 12px 32px -12px color-mix(in srgb, var(--rd-ink) 45%, transparent);
	padding: 0.75rem 0.9rem;
	font: 400 var(--wp--preset--font-size--x-small) / 1.65 var(--rd-ui);
}
.rd-fn-pop__label { display: block; font-weight: 600; color: var(--rd-accent); margin-bottom: 0.2rem; letter-spacing: 0.08em; }

/* 条目尾部 */
.rd-entry-end { margin-top: var(--wp--preset--spacing--60) !important; }
.rd-keywords { font-size: var(--wp--preset--font-size--small); color: var(--rd-muted); }
.rd-keywords a { display: inline-block; color: var(--rd-ink); text-decoration: none; border-bottom: 1px solid var(--rd-line-2); }
.rd-keywords a:hover { color: var(--rd-accent); border-color: var(--rd-accent); }
.rd-keywords .wp-block-post-terms__separator { color: var(--rd-line-2); }


.rd-entry-nav { margin-top: 2.5rem !important; gap: 1.5rem; font-size: var(--wp--preset--font-size--small); border-top: 1px solid var(--rd-line); padding-top: 1.2rem; }
.rd-entry-nav a { color: var(--rd-ink); text-decoration: none; }
.rd-entry-nav a:hover { color: var(--rd-accent); }
.rd-entry-nav .post-navigation-link-next { text-align: right; margin-left: auto; }

.rd-related { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--rd-line); }
.rd-related .rd-section-title { font-size: var(--wp--preset--font-size--large); margin-bottom: 1.2rem; }
.rd-related .rd-cards > li { border-top: 2px solid var(--rd-ink); padding-top: 0.8rem; }
.rd-related .rd-cards > li > * { margin-top: 0.3rem; margin-bottom: 0; }

/* 面包屑 */
.wp-block-breadcrumbs a:hover { color: var(--rd-accent); }

/* 阅读进度条（脚本加在单篇页） */
.rd-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 100;
	background: var(--rd-accent);
	transform-origin: 0 50%;
	transform: scaleX(var(--rd-progress, 0));
	pointer-events: none;
}
.admin-bar .rd-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .rd-progress { top: 46px; } }

/* 回到顶部 */
.rd-top {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	border: 1px solid var(--rd-line-2);
	background: var(--rd-paper);
	color: var(--rd-ink);
	cursor: pointer;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 40;
}
.rd-top.is-visible { opacity: 1; transform: none; }
.rd-top:hover { border-color: var(--rd-ink); }

/* ------------------------------------------------------------------ 生之科学门户等插件页面 */

body.rd-theme .sg-main { font-family: inherit; }
body.rd-theme .rd-claims .sg-block { font-family: inherit; }

/* ------------------------------------------------------------------ 动效 */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
html { scroll-behavior: smooth; }

/* ------------------------------------------------------------------ 打印：干净的学术版式 */

@media print {
	@page { margin: 2cm 2.2cm; }
	html { font-size: 10.5pt; }
	body { background: #fff !important; color: #000 !important; }
	:root { --rd-paper: #fff; --rd-ink: #000; }
	.rd-header, .rd-footer, .rd-entry__aside, .rd-related, .rd-entry-nav, .wp-block-comments, .rd-progress, .rd-top,
	.rd-scheme-toggle, .rd-cite__copy, .wp-block-search, .wp-block-breadcrumbs, .rd-fn-pop { display: none !important; }
	.rd-entry__layout { display: block !important; }
	.rd-entry__content > .is-style-rd-sidenote { position: static !important; width: auto !important; margin-left: 1.5rem !important; }
	.rd-entry__content { font-family: var(--wp--preset--font-family--serif); }
	.rd-entry__content a[href^="http"]::after { content: " <" attr(href) ">"; font-size: 0.8em; color: #555; overflow-wrap: anywhere; }
	h2, h3 { break-after: avoid; }
	:where(.is-style-rd-definition, .is-style-rd-theorem, .is-style-rd-proposition, .is-style-rd-lemma, .is-style-rd-example, .wp-block-table, figure) { break-inside: avoid; }
	.rd-cite { border-color: #999; }
}

/* ------------------------------------------------------------------ 学科门户页：首尾板块与页眉、页脚之间不留缝 */
:where(.wp-site-blocks) > .rd-portal,
:where(.wp-site-blocks) > .rd-portal + * { margin-block-start: 0; }
@media (max-width: 781px) {
	.rd-hero__panel .rd-seal { display: none; }
}
ol.is-style-rd-steps > li em { display: block; font-style: normal; font-weight: 600; color: var(--rd-accent); margin-bottom: 0.35rem; }
.rd-claims .wp-block-column:last-child .sg-block { font-size: var(--wp--preset--font-size--small); }
@media (min-width: 782px) { .rd-claims .wp-block-column:last-child { position: sticky; top: 1.5rem; align-self: flex-start; } }
/* 轮廓按钮与实心按钮同高 */
.wp-block-button.is-style-outline > .wp-block-button__link { padding: calc(0.6rem - 1px) calc(1.25rem - 1px); border-width: 1px; }
.rd-featured .rd-featured__grid > li:first-child .rd-card__date { margin-top: 0.4rem !important; }
/* 没装问道学科区块时，首屏面板改列最近更新 */
.rd-hero__panel-title { font: 600 var(--wp--preset--font-size--x-small) / 1.4 var(--rd-ui); letter-spacing: 0.14em; color: var(--rd-muted); margin: 0; }
.rd-hero__recent { width: 100%; }
.rd-hero__recent .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.rd-hero__recent li { border-top: 1px solid var(--rd-line); padding: 0.6rem 0; margin: 0; }
.rd-hero__recent .rd-card__title { font-size: var(--wp--preset--font-size--medium); margin: 0; }

/* ------------------------------------------------------------------ MathJax-LaTeX 公式 */
.MathJax_Display, .MJXc-display, mjx-container[display="true"] { overflow-x: auto; overflow-y: hidden; max-width: 100%; margin: 1.5rem 0 !important; padding: 0.2rem 0; }
.MathJax, .mjx-chtml, mjx-container { color: inherit; }
.rd-entry__content .wp-block-shortcode { margin: 0; }
@media print { .MathJax_Display, .MJXc-display { overflow: visible; } }

/* ------------------------------------------------------------------ 页面构建器遗留内容（见 inc/builder-compat.php） */
.rd-legacy-builder > * + * { margin-top: var(--wp--preset--spacing--40); }
.rd-legacy-row { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.rd-legacy-col { flex: 1 1 16rem; min-width: 0; }
.rd-legacy-col > * + * { margin-top: 1rem; }
.rd-legacy-title { font-size: var(--wp--preset--font-size--large); }
.rd-legacy-builder img { max-width: 100%; height: auto; border-radius: var(--rd-radius); }

/* 页脚导航（经典菜单，竖排） */
.rd-footer__nav .wp-block-navigation__container { gap: 0.35rem; }
.rd-footer__nav a { color: var(--rd-ink); text-decoration: none; }
.rd-footer__nav a:hover { color: var(--rd-accent); text-decoration: underline; }
/* Polylang 语言切换下拉框 */
.rd-lang-switch select { font: 500 var(--wp--preset--font-size--x-small) / 1.2 var(--rd-ui); color: var(--rd-ink); background: transparent; border: 1px solid var(--rd-line-2); border-radius: 999px; padding: 0.35rem 1.6rem 0.35rem 0.7rem; cursor: pointer; }
.rd-lang-switch select:hover { border-color: var(--rd-ink); }
