/* ==========================================================================
   ttuu.de — 极简排版层
   原则：单栏、无卡片、无阴影、无渐变、无装饰色块；只用字阶 + 发丝线 + 留白。
   注意：Twenty Nineteen 会给正文容器和子元素套一层窄宽度（约 21em）和 2rem 级
        外边距，本层必须在「列表」和「单篇」两种上下文里都把它放开，否则文字会
        缩在容器中间一小条。
   ========================================================================== */

/* ---------- 1. 变量 ---------- */
:root {
	--bg: #ffffff;
	--ink: #14171a;
	--ink-2: #4b5158;
	--ink-3: #8b9199;
	--rule: #e8eaed;
	--surface-2: #f4f6f8;
	--accent: #1b4fd8;
	--col: 44rem;          /* 小屏单栏 */
	--read: 44rem;         /* 单篇正文可读宽度（桌面）：英文约 84 字符/行 */
	--ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC",
		"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Helvetica, Arial, sans-serif;
	--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* 暗色三态：默认跟随系统；data-theme="dark"/"light" 为手动锁定 */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0f1114;
		--ink: #e9eaec;
		--ink-2: #aab0b7;
		--ink-3: #767c84;
		--rule: #23262b;
		--surface-2: rgba(255, 255, 255, 0.06);
		--accent: #8ab4ff;
	}
}
:root[data-theme="dark"] {
	--bg: #0f1114;
	--ink: #e9eaec;
	--ink-2: #aab0b7;
	--ink-3: #767c84;
	--rule: #23262b;
	--surface-2: rgba(255, 255, 255, 0.06);
	--accent: #8ab4ff;
}

/* ---------- 2. 基础 ---------- */
html { font-size: 100%; }  /* 主题把根字号设成 22px，会让本层 rem 尺度整体放大，归一 */

body,
body:not(.wp-custom-logo) {
	background: var(--bg);
	color: var(--ink-2);
	font-family: var(--ui);
	font-size: 17px;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 { color: var(--ink); font-weight: 600; }

a { color: var(--accent); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; text-underline-offset: .18em; }

::selection { background: #d9e2ff; color: #14171a; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* 主题的装饰伪元素全部去掉：各级标题前的灰条/短横、站名后的破折号
   （主题用的是 h1:not(.site-title)::before / .site-title:not(:empty)+.site-description:not(:empty)::before
    这类 2~4 类选择器，这里用 !important 一次性压掉） */
.entry .entry-title:before, .site .entry-title:before,
h1::before, h2::before, h3::before, h4::before, h5::before, h6::before,
h1:not(.site-title)::before,
.site-title + .site-description::before, .site-description::before {
	display: none !important;
	content: none !important;
}

/* ---------- 3. 单栏版心 ---------- */
.site-branding-container,
.site-content,
.site-footer .widget-area,
.site-info {
	max-width: var(--col);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* ---------- 4. 页头 ---------- */
.site-header { border-bottom: 1px solid var(--rule); padding-block: 2.4rem 1.5rem; }
.site-branding { padding: 0; }
.site-title {
	display: block;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.01em;
	margin: 0;
}
.site-title a { color: var(--ink); }
.site-title a:hover { color: var(--accent); text-decoration: none; }
.site-description {
	display: block;
	font-size: .85rem;
	line-height: 1.6;
	color: var(--ink-3);
	margin: .5rem 0 0;
}

/* ---------- 5. 列表（首页 / 归档 / 搜索） ---------- */
.site-main { padding-bottom: 4rem; }
.site-main > article {
	margin: 0;
	padding-block: 1.85rem;
	border-bottom: 1px solid var(--rule);
}
.site-main > article:first-of-type { padding-top: 2.2rem; }
.site-main > article:last-of-type { border-bottom: 0; }

/* ---------------------------------------------------------------------------
 * 版式归零：Twenty Nineteen 给列表条目套的是 3~4 类选择器 + 媒体查询的缩进，例如
 *   .hfeed .entry .entry-header { margin: 3rem calc(10% + 60px) .5rem }
 *   .entry .entry-content       { max-width: 80%; margin: 0 10%; padding: 0 60px }
 *   .entry                      { margin-top: 6rem }
 * 靠堆特异性对抗很脆（还有 768px 断点变体），因此仅对这几个「容器归零」声明使用
 * !important；其余所有声明保持常规。
 * ------------------------------------------------------------------------- */
body .site-main > article > .entry-header,
body .site-main > article > .entry-content,
body .site-main > article > .entry-footer {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* 页头只需归零主题的横向缩进（.site-branding{margin:0 calc(10% + 60px)}），
   版心宽度与内边距仍由上面的 --col 规则控制 */
body .site-header .site-branding {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body .site-main > article > .entry-content > * {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.entry-header { margin: 0; }
.entry-title {
	font-size: 1.32rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: -.005em;
	margin: 0;
}
.entry-title a { color: var(--ink); }
.entry-title a:hover { color: var(--accent); text-decoration: none; }

body.home .entry-content, body.blog .entry-content,
body.archive .entry-content, body.search .entry-content {
	margin: 0;
	padding: 0;
	font-size: .95rem;
	line-height: 1.75;
	color: var(--ink-2);
}
body.home .entry-content > p, body.blog .entry-content > p,
body.archive .entry-content > p, body.search .entry-content > p {
	margin: .55rem 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 元信息：日期 · 分类，纯文本，无图标 */
body.home .entry-footer, body.blog .entry-footer,
body.archive .entry-footer, body.search .entry-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .45rem;
	margin: .85rem 0 0;
	padding: 0;
	border: 0;
	font-size: .78rem;
	line-height: 1.6;
	color: var(--ink-3);
}
.entry .entry-footer .svg-icon { display: none; }
.entry-footer > span { display: inline; background: none; border: 0; padding: 0; margin: 0; }
.entry-footer > span + span::before {
	content: "·";
	margin-right: .45rem;
	color: var(--ink-3);
}
body.home .entry-footer .posted-on::before, body.blog .entry-footer .posted-on::before,
body.archive .entry-footer .posted-on::before, body.search .entry-footer .posted-on::before {
	content: none;
	margin: 0;
}
.entry-footer a { color: var(--ink-3); text-decoration: none; }
.entry-footer a:hover { color: var(--accent); }

/* 列表里只保留日期与分类 */
body.home .entry-footer .byline, body.blog .entry-footer .byline,
body.archive .entry-footer .byline, body.search .entry-footer .byline,
body.home .entry-footer .comments-link, body.blog .entry-footer .comments-link,
body.archive .entry-footer .comments-link, body.search .entry-footer .comments-link,
body.home .entry-footer .tags-links, body.blog .entry-footer .tags-links,
body.archive .entry-footer .tags-links, body.search .entry-footer .tags-links,
body.home .entry-footer time.updated, body.blog .entry-footer time.updated,
body.archive .entry-footer time.updated, body.search .entry-footer time.updated {
	display: none;
}

.more-link { display: none !important; }

/* 归档/搜索标题：主题同样带 calc(10% + 60px) 缩进，这里压掉并与列表对齐 */
body .page-header {
	max-width: var(--col) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
}

/* ---------- 6. 归档 / 搜索标题 ---------- */
.page-header { padding-block: 2.4rem 1.3rem; border-bottom: 1px solid var(--rule); }
.page-header .page-title { font-size: 1rem; font-weight: 600; margin: 0; }
.page-header .page-title .page-description { color: var(--ink); }
.page-header .archive-description, .page-header .taxonomy-description {
	color: var(--ink-3); font-size: .85rem; margin: .35rem 0 0;
}

/* 空段落（历史遗留）不占高度，避免文章里出现大段空洞 */
.singular .entry-content > p:empty,
.singular .entry-content > p:has(> br:only-child) { display: none; }

/* ---------- 7. 单篇 ---------- */
body.singular .site-main > article { border-bottom: 0; padding-block: 0; }

.singular .entry-header { padding-top: 2.8rem; margin: 0; }
.singular .entry-title {
	font-size: 2.05rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.015em;
	text-align: left;
	margin: 0;
}
.singular .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin: .95rem 0 0;
	font-size: .8rem;
	color: var(--ink-3);
}
.entry .entry-meta .svg-icon { display: none; }
.singular .entry-meta > span { display: inline; }
.singular .entry-meta > span + span::before { content: "·"; margin-right: .45rem; }
.singular .entry-meta a { color: var(--ink-3); }
.singular .entry-meta a:hover { color: var(--accent); }

.singular .entry-content {
	margin-top: 2.4rem;
	font-size: 1.0625rem;
	line-height: 1.9;
	color: var(--ink-2);
}
.singular .entry-content > * { margin-bottom: 1.3em; }
.singular .entry-content h2 { font-size: 1.26rem; font-weight: 600; margin: 2.2rem 0 .75rem; line-height: 1.5; }
.singular .entry-content h3 { font-size: 1.06rem; font-weight: 600; margin: 1.8rem 0 .6rem; line-height: 1.55; }
.singular .entry-content h4 { font-size: 1rem; font-weight: 600; margin: 1.7rem 0 .6rem; }
.singular .entry-content strong { color: var(--ink); font-weight: 600; }
.singular .entry-content ul, .singular .entry-content ol { padding-left: 1.35em; }
.singular .entry-content li { margin-bottom: .35em; }
.singular .entry-content a { text-decoration: underline; text-underline-offset: .18em; }
.singular .entry-content blockquote {
	margin: 1.7rem 0;
	padding: 0 0 0 1.15rem;
	border-left: 2px solid var(--rule);
	color: var(--ink-2);
	font-style: normal;
}
.singular .entry-content blockquote p:last-child { margin-bottom: 0; }
.singular .entry-content hr { border: 0; border-top: 1px solid var(--rule); margin: 2.6rem 0; }
.singular .entry-content code {
	background: rgba(127, 127, 127, .12);
	padding: .1em .35em;
	border-radius: 3px;
	font-family: var(--mono);
	font-size: .88em;
	color: var(--ink);
}
.singular .entry-content pre {
	background: rgba(127, 127, 127, .1);
	padding: 1rem 1.15rem;
	border-radius: 4px;
	overflow: auto;
	line-height: 1.7;
}
.singular .entry-content pre code { background: none; padding: 0; }
.singular .entry-content img { max-width: 100%; height: auto; }
.singular .entry-content figcaption { font-size: .8rem; color: var(--ink-3); text-align: center; margin-top: .5rem; }
.singular .entry-content table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.singular .entry-content th, .singular .entry-content td {
	padding: .55em .65em;
	border-bottom: 1px solid var(--rule);
	text-align: left;
}
.singular .entry-content thead th { color: var(--ink); font-weight: 600; }

/* 文末元信息：作者/日期已显示在标题下方，这里不再重复；
   只保留分类（标签若有也一并显示），且不再重复一条分隔线（下方 .post-navigation 已有） */
.singular .entry-footer {
	margin: 1.6rem 0 0;
	padding-top: 0;
	border-top: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	font-size: .8rem;
	color: var(--ink-3);
}
.singular .entry-footer > .byline,
.singular .entry-footer > .posted-on { display: none; }
/* 上一行让分隔符的选择器仍会命中，这里按更高特异性去掉分类前的孤立 "·" */
body.singular .entry-footer > .cat-links::before,
body.singular .entry-footer > .tags-links::before { content: none !important; margin: 0 !important; }
.singular .entry-footer > span + span::before { content: "·"; margin-right: .45rem; }
.singular .entry-footer a { color: var(--ink-3); }
.singular .entry-footer a:hover { color: var(--accent); }

/* 上一篇 / 下一篇：纯文字 */
.post-navigation { margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--rule); }
.post-navigation .nav-links { display: flex; justify-content: space-between; gap: 1.5rem; }
.post-navigation .nav-next { text-align: right; }
.post-navigation .nav-subtitle { display: block; font-size: .74rem; color: var(--ink-3); margin-bottom: .2rem; }
.post-navigation .nav-title { font-size: .9rem; color: var(--ink-2); }
.post-navigation a { text-decoration: none; }
.post-navigation a:hover .nav-title { color: var(--accent); }

/* 评论验证码：答题行 + 蜜罐（视觉隐藏，仅供机器人踩坑） */
.comment-form-ttuu-captcha { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.comment-form-ttuu-captcha label { font-size: .9rem; color: var(--ink-2); }
.comment-form-ttuu-captcha input { width: 4.5rem; text-align: center; }
.comment-form-ttuu-captcha .required { color: #c0392b; }
.ttuu-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 8. 评论 ---------- */
.comments-area { margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--rule); }
.comments-title, .comment-reply-title { font-size: .95rem !important; font-weight: 600; }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-list > li { padding: 1.3rem 0; border-bottom: 1px solid var(--rule); }
.comment-list .comment-meta { font-size: .78rem; color: var(--ink-3); }
.comment-list .comment-content { font-size: .92rem; }
.comment-respond input[type="text"], .comment-respond input[type="email"],
.comment-respond input[type="url"], .comment-respond textarea,
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea {
	width: 100%;
	background: transparent;
	border: 1px solid var(--rule);
	border-radius: 3px;
	padding: .6rem .7rem;
	color: var(--ink);
	font: inherit;
}
.comment-respond input:focus, .comment-respond textarea:focus { border-color: var(--accent); outline: none; }
button, input[type="submit"], .wp-block-button__link {
	background: var(--ink);
	color: var(--bg);
	border: 0;
	border-radius: 3px;
	padding: .55rem 1.15rem;
	font: inherit;
	cursor: pointer;
}
button:hover, input[type="submit"]:hover, .wp-block-button__link:hover { opacity: .85; color: var(--bg); }

/* ---------- 9. 页脚 ---------- */
.site-footer { border-top: 1px solid var(--rule); margin-top: 4.5rem; padding-block: 2.4rem 1.4rem; }

/* 主题给页脚套了 calc(10% + 60px) 缩进，并用 flex 让同一行的小工具等高拉伸
   （空着的「最近的评论」会被拉成 357px 的空盒）。这里对齐到正文同一列，
   改成不拉伸的网格，并按小工具类型显式定位，避免出现大片空洞。 */
body .site-footer .widget-area,
body .site-footer .site-info {
	width: 100% !important;
	max-width: var(--col) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
}
body .site-footer .widget-area {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: 1.6rem 2.5rem !important;
	margin-bottom: 1.8rem !important;
}
body .site-footer .widget-column { display: contents !important; }
body .site-footer .widget { width: auto !important; max-width: 100% !important; margin: 0; font-size: .85rem; color: var(--ink-3); }

body .site-footer .widget:has(.wp-block-latest-posts) { grid-column: 1; grid-row: 1; }
body .site-footer .widget:has(.wp-block-search) { grid-column: 1; grid-row: 2; }
body .site-footer .widget:has(.wp-block-archives) { grid-column: 2; grid-row: 1; }
body .site-footer .widget:has(.wp-block-categories) { grid-column: 2; grid-row: 2; }
body .site-footer .widget:has(.wp-block-latest-comments) { grid-column: 2; grid-row: 3; }

.site-footer .widget-title, .site-footer .wp-block-heading,
.site-footer .wp-block-search__label {
	font-size: .78rem;
	font-weight: 600;
	color: var(--ink);
	margin: 0 0 .6rem;
}

/* 搜索：恢复成正常一行高度，按钮不再把「搜索」挤成两行 */
body .site-footer .wp-block-search__inside-wrapper { display: flex !important; gap: .5rem; align-items: stretch; }
body .site-footer .wp-block-search__input {
	height: 2.35rem !important;
	min-height: 0 !important;
	padding: 0 .6rem !important;
	font-size: .85rem !important;
	line-height: 2.35rem !important;
	border-radius: 3px !important;
}
body .site-footer .wp-block-search__button {
	width: auto !important;
	height: 2.35rem !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 1.05rem !important;
	font-size: .85rem !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border-radius: 3px !important;
}

/* 链接列表：紧凑排布。只有月份存档（条目短）分两栏；分类名较长，保持整行不折行 */
body .site-footer .widget ul { list-style: none; padding: 0; margin: 0; }
body .site-footer .widget .wp-block-archives-list { columns: 2; column-gap: 1.5rem; }
body .site-footer .widget .wp-block-categories-list li { white-space: nowrap; }
body .site-footer .widget .wp-block-categories-list { columns: 1; }
body .site-footer .widget li {
	padding: 0;
	margin: 0 0 .35rem;
	font-size: .82rem;
	line-height: 1.6;
	break-inside: avoid;
}
body .site-footer .widget li:last-child { margin-bottom: 0; }
body .site-footer .widget a { color: var(--ink-2); text-decoration: none; }
body .site-footer .widget a:hover { color: var(--accent); text-decoration: underline; }

body .site-footer .site-info {
	padding-top: 1.4rem;
	border-top: 1px solid var(--rule);
	font-size: .78rem;
	color: var(--ink-3);
	text-align: left;
}
.site-info .site-name { color: var(--ink); font-weight: 600; text-decoration: none; }
.site-info .imprint { color: var(--ink-3); }

@media (max-width: 640px) {
	body .site-footer .widget-area { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
	body .site-footer .widget { grid-column: auto !important; grid-row: auto !important; }
}


/* ---------- 11.5 覆盖主题里写死的颜色（否则暗色下会黑底黑字/悬停变深灰）---------- */
body .site-title,
body .site-title a:link,
body .site-title a:visited { color: var(--ink); }
body .site-title a:hover { color: var(--accent); }
body .entry .entry-title a:link,
body .entry .entry-title a:visited { color: var(--ink); }
body .entry .entry-title a:hover { color: var(--accent); }
body .comment .comment-metadata,
body .comment .comment-metadata a,
body .comment .comment-metadata .comment-edit-link,
body .comment .comment-metadata .edit-link { color: var(--ink-3); }
body .entry-content .has-white-background-color,
body .entry-content .has-white-background-color > a { color: var(--ink); }

/* ---------- 12. 主题切换按钮 ---------- */
body .site-branding { display: flex; align-items: flex-start; gap: 1rem; }
body .site-branding > .ttuu-brand-text { min-width: 0; flex: 1 1 auto; }
.ttuu-theme-toggle {
	margin-left: auto;
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: var(--ink-3);
	line-height: 0;
}
.ttuu-theme-toggle:hover { color: var(--accent); }
.ttuu-theme-toggle svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ttuu-theme-toggle .ttuu-ico-moon { display: none; }
:root[data-theme="dark"] .ttuu-theme-toggle .ttuu-ico-moon { display: block; }
:root[data-theme="dark"] .ttuu-theme-toggle .ttuu-ico-sun { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .ttuu-theme-toggle .ttuu-ico-moon { display: block; }
	:root:not([data-theme="light"]) .ttuu-theme-toggle .ttuu-ico-sun { display: none; }
}

/* ---------- 13. 代码块与语法高亮 ---------- */
.singular .entry-content pre {
	background: rgba(127, 127, 127, .09);
	border: 1px solid var(--rule);
	border-radius: 4px;
	padding: 1rem 1.15rem;
	overflow: auto;
	font-size: .86rem;
	line-height: 1.7;
	tab-size: 4;
	-webkit-overflow-scrolling: touch;
}
.singular .entry-content pre code {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	font-size: .86rem;
	white-space: pre;
}
/* 行内代码 */
.singular .entry-content :not(pre) > code {
	background: rgba(127, 127, 127, .12);
	border-radius: 3px;
	padding: .12em .38em;
	font-size: .88em;
	color: var(--ink);
}

/* 高亮配色（跟随主题变量，不引第三方主题文件） */
.hljs { color: var(--ink-2); background: none; }
.hljs-comment, .hljs-quote { color: var(--ink-3); font-style: italic; }
.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-doctag { color: #a12d8f; }
.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute { color: #0a7d54; }
.hljs-number, .hljs-symbol, .hljs-bullet, .hljs-variable, .hljs-template-variable { color: #b4560a; }
.hljs-title, .hljs-section, .hljs-name, .hljs-selector-id, .hljs-selector-class { color: #1b4fd8; }
.hljs-built_in, .hljs-type, .hljs-class .hljs-title { color: #0b6d8f; }
.hljs-attr, .hljs-property, .hljs-meta { color: #7a5b00; }
.hljs-deletion { color: #b3306b; }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 600; }
:root[data-theme="dark"] .hljs-keyword,
:root[data-theme="dark"] .hljs-selector-tag,
:root[data-theme="dark"] .hljs-literal,
:root[data-theme="dark"] .hljs-doctag { color: #d78ac9; }
:root[data-theme="dark"] .hljs-string,
:root[data-theme="dark"] .hljs-regexp,
:root[data-theme="dark"] .hljs-addition,
:root[data-theme="dark"] .hljs-attribute { color: #7fd6a9; }
:root[data-theme="dark"] .hljs-number,
:root[data-theme="dark"] .hljs-symbol,
:root[data-theme="dark"] .hljs-bullet,
:root[data-theme="dark"] .hljs-variable { color: #f0b072; }
:root[data-theme="dark"] .hljs-title,
:root[data-theme="dark"] .hljs-section,
:root[data-theme="dark"] .hljs-name,
:root[data-theme="dark"] .hljs-selector-id,
:root[data-theme="dark"] .hljs-selector-class { color: #8ab4ff; }
:root[data-theme="dark"] .hljs-built_in,
:root[data-theme="dark"] .hljs-type { color: #7fd0e8; }
:root[data-theme="dark"] .hljs-attr,
:root[data-theme="dark"] .hljs-property,
:root[data-theme="dark"] .hljs-meta { color: #d8c477; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .hljs-keyword,
	:root:not([data-theme="light"]) .hljs-selector-tag,
	:root:not([data-theme="light"]) .hljs-literal,
	:root:not([data-theme="light"]) .hljs-doctag { color: #d78ac9; }
	:root:not([data-theme="light"]) .hljs-string,
	:root:not([data-theme="light"]) .hljs-regexp,
	:root:not([data-theme="light"]) .hljs-addition,
	:root:not([data-theme="light"]) .hljs-attribute { color: #7fd6a9; }
	:root:not([data-theme="light"]) .hljs-number,
	:root:not([data-theme="light"]) .hljs-symbol,
	:root:not([data-theme="light"]) .hljs-bullet,
	:root:not([data-theme="light"]) .hljs-variable { color: #f0b072; }
	:root:not([data-theme="light"]) .hljs-title,
	:root:not([data-theme="light"]) .hljs-section,
	:root:not([data-theme="light"]) .hljs-name,
	:root:not([data-theme="light"]) .hljs-selector-id,
	:root:not([data-theme="light"]) .hljs-selector-class { color: #8ab4ff; }
	:root:not([data-theme="light"]) .hljs-built_in,
	:root:not([data-theme="light"]) .hljs-type { color: #7fd0e8; }
	:root:not([data-theme="light"]) .hljs-attr,
	:root:not([data-theme="light"]) .hljs-property,
	:root:not([data-theme="light"]) .hljs-meta { color: #d8c477; }
}
/* 复制按钮（Githuber MD 的剪贴板模块会插入） */
.copy-button {
	position: absolute;
	top: .5rem;
	right: .5rem;
	font-size: .72rem;
	padding: .2rem .5rem;
	border: 1px solid var(--rule);
	border-radius: 3px;
	background: var(--bg);
	color: var(--ink-3);
	cursor: pointer;
	opacity: 0;
	transition: opacity .15s ease;
}
pre:hover .copy-button { opacity: 1; }

/* ---------- 13.5 桌面版式：用满桌面宽度 ---------- */
@media (min-width: 1024px) {
	:root { --col: 1080px; }

	/* 列表条目：左「标题 + 摘要」，右「日期 / 分类」——只用于列表语境，单篇保持整栏 */
	body.home .site-main > article,
	body.blog .site-main > article,
	body.archive .site-main > article,
	body.search .site-main > article {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 11.5rem;
		column-gap: 3rem;
		align-items: start;
	}
	body.home .site-main > article > .entry-header,
	body.blog .site-main > article > .entry-header,
	body.archive .site-main > article > .entry-header,
	body.search .site-main > article > .entry-header { grid-column: 1; }
	body.home .site-main > article > .entry-content,
	body.blog .site-main > article > .entry-content,
	body.archive .site-main > article > .entry-content,
	body.search .site-main > article > .entry-content { grid-column: 1; max-width: 70ch; }

	body.home .entry-footer, body.blog .entry-footer,
	body.archive .entry-footer, body.search .entry-footer {
		grid-column: 2;
		grid-row: 1 / span 3;
		flex-direction: column;
		align-items: flex-end;
		justify-content: flex-start;
		gap: .2rem;
		margin: .2rem 0 0;
		text-align: right;
	}
	body.home .entry-footer > span + span::before,
	body.blog .entry-footer > span + span::before,
	body.archive .entry-footer > span + span::before,
	body.search .entry-footer > span + span::before { content: none; margin: 0; }

	/* 归档/搜索标题与页脚也用满宽度 */
	.page-header { max-width: var(--col); margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; }

	/* 单篇：标题/元信息/文末信息/上下篇/评论区用满桌面容器宽度；
	   只有正文文字（p/h2/h3/列表/引用）保持 --read 的可读行宽 */
	body.singular .site-main > article > .entry-header,
	body.singular .site-main > article > .entry-footer,
	.singular .post-navigation,
	.singular .comments-area,
	.singular .comment-respond {
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* 上下篇：两端对齐，去掉主题的 163px 缩进 */
	.singular .post-navigation .nav-links {
		display: flex !important;
		justify-content: space-between;
		gap: 2.5rem;
		margin: 0 !important;
		max-width: 100% !important;
	}
	.singular .post-navigation .nav-previous { flex: 1 1 0; text-align: left; }
	.singular .post-navigation .nav-next { flex: 1 1 0; text-align: right; }

	/* 评论表单：姓名/邮箱并排，正文与验证行整行 */
	.singular .comment-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem 1.5rem;
		align-items: start;
	}
	.singular .comment-form > p { margin: 0; }
	.singular .comment-form .comment-notes,
	.singular .comment-form .comment-form-comment,
	.singular .comment-form .comment-form-ttuu-captcha,
	.singular .comment-form .logged-in-as,
	.singular .comment-form .form-submit,
	.singular .comment-form .ttuu-hp { grid-column: 1 / -1; }
	.singular .comment-form textarea { min-height: 9rem; }
	body.singular .site-main > article > .entry-content > p,
	body.singular .site-main > article > .entry-content > h2,
	body.singular .site-main > article > .entry-content > h3,
	body.singular .site-main > article > .entry-content > h4,
	body.singular .site-main > article > .entry-content > ul,
	body.singular .site-main > article > .entry-content > ol,
	body.singular .site-main > article > .entry-content > blockquote {
		max-width: var(--read) !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}
	body.singular .site-main > article > .entry-content > pre,
	body.singular .site-main > article > .entry-content > table,
	body.singular .site-main > article > .entry-content > figure,
	body.singular .site-main > article > .entry-content > .wp-block-code {
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.singular .site-main > article { padding-inline: 0; }
}

@media (min-width: 1536px) {
	:root { --col: 1200px; }
}

/* ---------- 14. Live2D 挂件（右侧镜像） ---------- */
@media (min-width: 1024px) {
	#waifu { left: auto !important; right: -40px !important; z-index: 5 !important; }
	#waifu-tips { left: auto !important; right: 20px !important; }
	#waifu-tool { right: auto !important; left: 100px !important; }
	#waifu-toggle {
		left: auto !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: -100px !important;
		border-radius: 5px 0 0 5px !important;
		transition: margin-right 1s !important;
	}
	#waifu-toggle.waifu-toggle-active { margin-right: -50px !important; }
	#waifu-toggle.waifu-toggle-active:hover { margin-right: -30px !important; }
}
@media print {
	#waifu, #waifu-toggle, #waifu-tips { display: none !important; }
}


/* Live2D 挂件跟随明暗（气泡默认是白底，暗色下会刺眼） */
#waifu-tips { border-radius: 6px; transition: opacity 1s, background-color .2s; }
#waifu-tips span { font-weight: 600; }
:root[data-theme="dark"] #waifu-tips {
	background-color: rgba(26, 32, 42, .94) !important;
	color: #dfe6f0 !important;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .55) !important;
}
:root[data-theme="dark"] #waifu-tips span { color: #8ab4ff !important; }
:root[data-theme="dark"] #waifu-tool svg { fill: #97a3b4 !important; }
:root[data-theme="dark"] #waifu-tool svg:hover { fill: #8ab4ff !important; }
:root[data-theme="dark"] #waifu-toggle { background-color: #2b3542 !important; color: #dfe6f0 !important; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) #waifu-tips {
		background-color: rgba(26, 32, 42, .94) !important;
		color: #dfe6f0 !important;
		box-shadow: 0 3px 12px rgba(0, 0, 0, .55) !important;
	}
	:root:not([data-theme="light"]) #waifu-tips span { color: #8ab4ff !important; }
	:root:not([data-theme="light"]) #waifu-tool svg { fill: #97a3b4 !important; }
	:root:not([data-theme="light"]) #waifu-tool svg:hover { fill: #8ab4ff !important; }
	:root:not([data-theme="light"]) #waifu-toggle { background-color: #2b3542 !important; color: #dfe6f0 !important; }
}

/* 空的 <code></code>（历史残留）不显示成小方框 */
.singular .entry-content code:empty,
.site-main .entry-content code:empty { display: none; }

/* 正文图片：截图多为白底，加一条发丝边以便与页面区分；连续图片之间留白 */
.singular .entry-content > p > img:only-child,
.singular .entry-content > img,
.singular .entry-content > figure img {
	border: 1px solid var(--rule);
	border-radius: 4px;
	background: var(--bg);
}
.singular .entry-content > img + img,
.singular .entry-content > p > img:only-child + img { margin-top: 1.1rem; }
.singular .entry-content > p:has(> img:only-child) { margin-bottom: 1.1rem; }

/* ---------- 13.8 分页 ---------- */
.navigation.pagination {
	width: 100%;
	max-width: var(--col) !important;
	margin: 1.6rem auto 0 !important;
	padding: 1.4rem 1.5rem 0 !important;
	border-top: 1px solid var(--rule);
	font-size: .85rem;
}
.navigation.pagination .nav-links {
	display: flex !important;
	align-items: baseline;
	gap: .25rem;
	margin: 0 !important;
	padding: 0 !important;
	flex-wrap: wrap;
}
.navigation.pagination .nav-links > * {
	padding: 0 !important;
	margin: 0 !important;
}
.navigation.pagination .page-numbers {
	display: inline-block;
	min-width: 1.9rem;
	text-align: center;
	padding: .2rem .3rem !important;
	line-height: 1.6;
	color: var(--ink-3) !important;
	text-decoration: none;
	border-radius: 3px;
}
.navigation.pagination a.page-numbers:hover { color: var(--accent) !important; background: var(--surface-2); }
.navigation.pagination .page-numbers.current { color: var(--ink) !important; font-weight: 600; }
.navigation.pagination .prev,
.navigation.pagination .next { min-width: 0; display: inline-flex; align-items: center; gap: .25rem; }
.navigation.pagination .next { margin-left: auto !important; }
.navigation.pagination .svg-icon { width: 15px; height: 15px; fill: currentColor; vertical-align: -.15em; }
.navigation.pagination .screen-reader-text { position: absolute; }

/* ---------- 13.85 单篇「特色图头图」还原成普通图片 ----------
   主题默认把特色图做成 min-height:100vh 的全屏头图 + 蓝色蒙版，视觉上像坏掉 */
.site-header.featured-image {
	display: block !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
	padding-block: 2.4rem 0 !important;
}
.site-header.featured-image .site-featured-image {
	position: static !important;
	min-height: 0 !important;
	width: 100% !important;
	max-width: var(--col) !important;
	margin: 0 auto !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
	overflow: hidden;
}
.site-header.featured-image .site-featured-image .post-thumbnail { display: none !important; }

/* 正文顶部由 mu-plugin 注入的特色图 */
.singular .entry-content > .ttuu-featured {
	max-width: 100% !important;
	margin: 0 0 2rem !important;
}
.singular .entry-content > .ttuu-featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: cover;
	border-radius: 4px;
}
.site-header.featured-image .site-featured-image .post-thumbnail img,
.site-header.featured-image .site-featured-image img {
	display: block !important;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	height: auto !important;
	max-height: 420px;
	object-fit: cover;
	background: transparent !important;
	filter: none !important;
}
.site-header.featured-image .site-featured-image:before,
.site-header.featured-image .site-featured-image:after,
.site-header.featured-image:after,
.image-filters-enabled .site-header.featured-image .site-branding-container:after {
	display: none !important;
	content: none !important;
	background: none !important;
}
.site-header.featured-image .site-featured-image .entry-header {
	position: static !important;
	margin: 1.8rem auto 0 !important;
	max-width: var(--read) !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
	z-index: auto !important;
}
.site-header.featured-image .site-featured-image .entry-header .entry-title { color: var(--ink) !important; }
.site-header.featured-image .site-featured-image .entry-header .entry-meta { color: var(--ink-3) !important; }
.site-header.featured-image .site-branding { position: static !important; }
/* 主题为深色头图把站名/描述设成白色，现在头图已还原成普通图片，这里改回正文色 */
.site-header.featured-image .site-title,
.site-header.featured-image .site-title a:link,
.site-header.featured-image .site-title a:visited { color: var(--ink) !important; }
.site-header.featured-image .site-description { color: var(--ink-3) !important; }
/* 头图区的元信息图标也去掉 */
.site-featured-image .entry-meta .svg-icon,
.site-featured-image .entry-meta svg.svg-icon { display: none !important; }
.site-featured-image .entry-meta .byline,
.site-featured-image .entry-meta .posted-on,
.site-featured-image .entry-meta .comments-link { display: inline; }

/* ---------- 13.9 缩略图 ---------- */
/* 主题的图片滤镜（duotone）与懒加载占位蓝底：一律去掉 */
.image-filters-enabled .post-thumbnail img,
.image-filters-enabled .entry-content img,
.image-filters-enabled .entry-content .wp-block-image img,
.entry-content img.w3tc-lazyload,
.post-thumbnail img { filter: none !important; background: transparent !important; }

/* 列表里不显示缩略图：这些截图/表格类图片在列表里只会把行撑高、显得杂乱；
   文章页照常显示（下方 .singular 规则）。想恢复左侧小方图见文件末尾注释。 */
body.home .site-main > article .post-thumbnail,
body.blog .site-main > article .post-thumbnail,
body.archive .site-main > article .post-thumbnail,
body.search .site-main > article .post-thumbnail { display: none; }

.singular .post-thumbnail { margin: 0 auto 2rem; max-width: var(--read); }
.singular .post-thumbnail img { width: 100%; height: auto; border-radius: 4px; }

/* ---------- 10. 无障碍 ---------- */
.skip-link:focus {
	position: fixed;
	top: .6rem;
	left: .6rem;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	background: var(--ink);
	color: var(--bg);
	padding: .5rem .9rem;
	border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ---------- 11. 窄屏 ---------- */
@media (max-width: 640px) {
	body { font-size: 16px; }
	.site-header { padding-block: 1.9rem 1.3rem; }
	.site-title { font-size: 1.15rem; }
	.site-main > article { padding-block: 1.55rem; }
	.site-main > article:first-of-type { padding-top: 1.8rem; }
	.entry-title { font-size: 1.14rem; }
	.singular .entry-header { padding-top: 2rem; }
	.singular .entry-title { font-size: 1.6rem; }
	.singular .entry-content { margin-top: 1.8rem; font-size: 1rem; }
	.singular .entry-content h2 { font-size: 1.25rem; }
	.post-navigation .nav-links { flex-direction: column; gap: 1rem; }
	.post-navigation .nav-next { text-align: left; }
}

/* 备选：若想在列表里保留「左侧小方图」，把上面的 display:none 换成下面这段
@media (min-width: 1024px) {
  body.home .site-main > article, body.blog .site-main > article,
  body.archive .site-main > article, body.search .site-main > article {
    grid-template-columns: 4rem minmax(0, 1fr) 11.5rem;
    column-gap: 1.6rem;
  }
  body.home .site-main > article > .post-thumbnail, body.blog .site-main > article > .post-thumbnail,
  body.archive .site-main > article > .post-thumbnail, body.search .site-main > article > .post-thumbnail {
    display: block; grid-column: 1; grid-row: 1 / span 2; margin: 0;
  }
  body.home .site-main > article > .post-thumbnail img, body.blog .site-main > article > .post-thumbnail img,
  body.archive .site-main > article > .post-thumbnail img, body.search .site-main > article .post-thumbnail img {
    width: 4rem; height: 4rem; object-fit: cover; border-radius: 4px;
  }
  body.home .site-main > article > .entry-header, body.blog .site-main > article > .entry-header,
  body.archive .site-main > article > .entry-header, body.search .site-main > article > .entry-header { grid-column: 2; grid-row: 1; }
  body.home .site-main > article > .entry-content, body.blog .site-main > article > .entry-content,
  body.archive .site-main > article > .entry-content, body.search .site-main > article > .entry-content { grid-column: 2; grid-row: 2; }
  body.home .site-main > article > .entry-footer, body.blog .site-main > article > .entry-footer,
  body.archive .site-main > article > .entry-footer, body.search .site-main > article > .entry-footer { grid-column: 3; grid-row: 1 / span 2; }
}
*/

/* ---------- 14. 阅读体验：目录 / 灯箱 / 相关阅读 / 代码复制 / 回到顶部 ---------- */

/* 14.1 标题锚点：跳转后给页头留出空间 */
.singular .entry-content h2,
.singular .entry-content h3 { scroll-margin-top: 5rem; }

/* 14.2 折叠目录（≥3 个小节才出现） */
.singular .entry-content .ttuu-toc {
	margin: 0 0 2.2rem;
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
	font-size: .9rem;
}
.singular .entry-content .ttuu-toc > summary {
	display: flex;
	align-items: baseline;
	gap: .7rem;
	padding: .7rem 0;
	cursor: pointer;
	list-style: none;
	color: var(--ink);
}
.singular .entry-content .ttuu-toc > summary::-webkit-details-marker { display: none; }
.singular .entry-content .ttuu-toc > summary::before {
	content: "＋";
	font-size: .78rem;
	color: var(--ink-3);
}
.singular .entry-content .ttuu-toc[open] > summary::before { content: "－"; }
.singular .entry-content .ttuu-toc-title { font-weight: 600; letter-spacing: .04em; }
.singular .entry-content .ttuu-toc-meta { margin-left: auto; font-size: .78rem; color: var(--ink-3); }
.singular .entry-content .ttuu-toc nav { padding: 0 0 .9rem; }
.singular .entry-content .ttuu-toc ol { margin: 0; padding: 0; list-style: none; }
.singular .entry-content .ttuu-toc li { margin: 0; padding: .16rem 0; }
.singular .entry-content .ttuu-toc li::before { content: none; }
.singular .entry-content .ttuu-toc li.ttuu-toc-l3 { padding-left: 1.4rem; font-size: .84rem; }
.singular .entry-content .ttuu-toc a { color: var(--ink-2); text-decoration: none; }
.singular .entry-content .ttuu-toc a:hover { color: var(--accent); text-decoration: underline; }

/* 14.3 图片灯箱 */
.singular .entry-content img,
.ttuu-featured img { cursor: zoom-in; }
.ttuu-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3vmin;
	background: rgba(12, 14, 18, .92);
	cursor: zoom-out;
}
.ttuu-lightbox img { max-width: 100%; max-height: 100%; border: 0; border-radius: 0; background: none; }
.ttuu-lb-close {
	position: absolute;
	top: .5rem;
	right: .7rem;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	border: 0;
	background: none;
	color: #fff;
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
	opacity: .65;
}
.ttuu-lb-close:hover { opacity: 1; }

/* 14.4 插图与图注 */
.singular .entry-content figure { margin: 1.9rem 0; }
.singular .entry-content figure figcaption {
	margin-top: .6rem;
	font-size: .78rem;
	line-height: 1.6;
	color: var(--ink-3);
	text-align: center;
}
.singular .entry-content svg { display: block; max-width: 100%; height: auto; }

/* 14.5 相关阅读 */
.singular .entry-content .ttuu-related {
	margin: 2.6rem 0 0;
	padding-top: 1.4rem;
	border-top: 1px solid var(--rule);
}
.singular .entry-content .ttuu-related h2 {
	margin: 0 0 .8rem;
	font-size: 1rem;
}
.singular .entry-content .ttuu-related ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.singular .entry-content .ttuu-related li {
	margin: 0;
	display: flex;
	gap: 1.2rem;
	align-items: baseline;
	justify-content: space-between;
	font-size: .93rem;
}
.singular .entry-content .ttuu-related li::before { content: none; }
.singular .entry-content .ttuu-related-date { flex: none; font-size: .78rem; color: var(--ink-3); }

/* 14.6 代码块复制按钮 */
.singular .entry-content pre { position: relative; }
.singular .entry-content pre .ttuu-copy {
	position: absolute;
	top: .45rem;
	right: .5rem;
	padding: .16rem .5rem;
	border: 1px solid var(--rule);
	border-radius: 3px;
	background: var(--bg);
	color: var(--ink-3);
	font-family: var(--ui);
	font-size: .72rem;
	line-height: 1.5;
	cursor: pointer;
	opacity: 0;
	transition: opacity .15s linear;
}
.singular .entry-content pre:hover .ttuu-copy,
.singular .entry-content pre .ttuu-copy:focus { opacity: 1; }
.singular .entry-content pre .ttuu-copy.is-done { color: var(--accent); border-color: var(--accent); }

/* 14.7 回到顶部（左下角，避开右下角看板娘） */
.ttuu-top {
	position: fixed;
	left: 1.1rem;
	bottom: 1.1rem;
	z-index: 900;
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.3rem;
	height: 2.3rem;
	padding: 0;
	border: 1px solid var(--rule);
	border-radius: 50%;
	background: var(--bg);
	color: var(--ink-3);
	cursor: pointer;
}
.ttuu-top.is-on { display: flex; }
.ttuu-top:hover { color: var(--accent); border-color: var(--accent); }
.ttuu-top svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 700px) {
	.singular .entry-content .ttuu-toc-meta { display: none; }
	.singular .entry-content .ttuu-related li { flex-direction: column; gap: .15rem; }
	.ttuu-top { left: .7rem; bottom: .7rem; }
}

/* 14.8 正文内联插图：把硬编码的强调色映射到当前主题强调色
   （浅色主题为深蓝、暗色主题为亮蓝，保证暗底上的对比度） */
.singular .entry-content svg [fill="#2563eb"] { fill: var(--accent); }
.singular .entry-content svg [stroke="#2563eb"] { stroke: var(--accent); }

/* 14.9 404 页面的常用入口 */
.error-404 .ttuu-404-links { margin: 1.6rem 0 0; font-size: .92rem; }
.error-404 .ttuu-404-label { display: block; margin-bottom: .5rem; color: var(--ink-3); font-size: .8rem; letter-spacing: .06em; }
.error-404 .ttuu-404-links ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; }
.error-404 .ttuu-404-links li { margin: 0; }
.error-404 .ttuu-404-links a { color: var(--ink-2); text-decoration: none; border-bottom: 1px solid var(--rule); }
.error-404 .ttuu-404-links a:hover { color: var(--accent); border-color: var(--accent); }

/* 14.10 跨栏目延伸阅读（课程笔记 → 运行专题） */
.singular .entry-content .ttuu-xref { margin: 2.4rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--rule); }
.singular .entry-content .ttuu-xref h2 { margin: 0 0 .7rem; font-size: .95rem; color: var(--ink-3); font-weight: 600; letter-spacing: .04em; }
.singular .entry-content .ttuu-xref ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .45rem; }
.singular .entry-content .ttuu-xref li { margin: 0; font-size: .95rem; }
.singular .entry-content .ttuu-xref li::before { content: none; }
.singular .entry-content .ttuu-xref a { color: var(--ink-2); }
.singular .entry-content .ttuu-xref a:hover { color: var(--accent); }

/* 14.11 站头「知识库总览」入口（由渲染层按需注入，仅在总览页发布后出现） */
.ttuu-kb-link {
	display: inline-block;
	margin-top: .35rem;
	padding: .1rem 0;
	font-size: .78rem;
	letter-spacing: .04em;
	color: var(--ink-3);
	text-decoration: none;
	border-bottom: 1px solid var(--rule);
}
.ttuu-kb-link:hover { color: var(--accent); border-color: var(--accent); text-decoration: none; }

/* 14.12 知识库自动索引的说明行 */
.singular .entry-content .ttuu-kb-meta { font-size: .85rem; color: var(--ink-3); margin-top: -.4rem; }

/* 14.13 知识库总览页的主题标签入口 */
.singular .entry-content .ttuu-topics { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin-top: .3rem; }
.singular .entry-content .ttuu-topics .ttuu-topic {
	display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .7rem;
	border: 1px solid var(--rule); border-radius: 999px; font-size: .86rem; text-decoration: none;
	color: var(--ink-2); transition: border-color .15s ease, color .15s ease;
}
.singular .entry-content .ttuu-topics .ttuu-topic:hover { border-color: var(--accent); color: var(--accent); }
.singular .entry-content .ttuu-topics .ttuu-topic span { font-size: .74rem; color: var(--ink-3); }

/* 14.14 正文链接颜色：父主题以更高特异性设了固定灰色，浅色下可用、深色下对比度不足（约 2.4）。
   这里按主题锁定链接色为强调色，两种模式均满足对比度要求。 */
.singular .entry-content a,
.singular .entry-content a:visited { color: var(--accent); }
.singular .entry-content a:hover,
.singular .entry-content a:focus { color: var(--accent); text-decoration-thickness: 2px; }
:root[data-theme="dark"] .singular .entry-content a,
:root[data-theme="dark"] .singular .entry-content a:visited { color: var(--accent); }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .singular .entry-content a,
	:root:not([data-theme="light"]) .singular .entry-content a:visited { color: var(--accent); }
}
