/* -------------------------------------------------------------------------------- */
/*	主题变量与明暗配色
/* -------------------------------------------------------------------------------- */

:root {
	--kj-bg: #F6F7F8;
	--kj-surface: #FFFFFF;
	--kj-surface-2: #F4F5F7;
	--kj-text: #232D37;
	--kj-text-soft: #4B555F;
	--kj-text-muted: #7A838D;
	--kj-border: #EDEFF1;
	--kj-border-strong: #DDE2E7;
	--kj-code-bg: #F0F1F2;
	--kj-shadow: 0 .3rem 1.2rem rgba( 5, 10, 15, .05 );
	--kj-shadow-hover: 0 1.2rem 3rem rgba( 5, 10, 15, .1 );
	--kj-focus-ring: rgba( 35, 45, 55, .18 );
	--kj-overlay: rgba( 16, 22, 29, .42 );
	--kj-skeleton: linear-gradient( 90deg, #EFF1F3 25%, #E2E6EA 37%, #EFF1F3 63% );
}

[data-theme="dark"] {
	--kj-bg: #0C1015;
	--kj-surface: #141A21;
	--kj-surface-2: #1B232C;
	--kj-text: #E8ECF1;
	--kj-text-soft: #BAC3CE;
	--kj-text-muted: #8A95A2;
	--kj-border: #232C36;
	--kj-border-strong: #303B47;
	--kj-code-bg: #1A222B;
	--kj-shadow: 0 .3rem 1.2rem rgba( 0, 0, 0, .32 );
	--kj-shadow-hover: 0 1.4rem 3.4rem rgba( 0, 0, 0, .5 );
	--kj-focus-ring: rgba( 232, 236, 241, .24 );
	--kj-overlay: rgba( 3, 6, 10, .62 );
	--kj-skeleton: linear-gradient( 90deg, #1A222B 25%, #232D37 37%, #1A222B 63% );
}

html {
	background: var(--kj-bg);
}

body {
	background: var(--kj-bg);
	color: var(--kj-text);
}

.theme-transition,
.theme-transition body,
.theme-transition #site-header,
.theme-transition .preview-wrapper,
.theme-transition .mobile-menu-wrapper,
.theme-transition .search-overlay,
.theme-transition .koji-reader-panel,
.theme-transition input,
.theme-transition textarea,
.theme-transition select {
	transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

@media ( prefers-reduced-motion: reduce ) {
	.theme-transition,
	.theme-transition *,
	.theme-transition *::before,
	.theme-transition *::after {
		transition: none !important;
	}
}

::selection {
	background: var(--kj-text);
	color: var(--kj-bg);
}

hr {
	border-top-color: var(--kj-border-strong);
}

blockquote {
	border-color: var(--kj-border-strong);
}

kbd,
pre,
samp {
	background: var(--kj-code-bg);
}

/* 头部操作区 */

.header-actions {
	align-items: center;
	display: flex;
	gap: .4rem;
}

.header-actions .nav-toggle {
	min-width: 8.6rem;
}

.theme-toggle {
	align-items: center;
	background: transparent;
	border: none;
	border-radius: 999rem;
	display: flex;
	flex-shrink: 0;
	height: 3.4rem;
	justify-content: center;
	min-width: 0;
	padding: 0;
	transition: none;
	-webkit-tap-highlight-color: transparent;
}

.theme-toggle:focus {
	outline: none;
	text-decoration: none;
}

.theme-toggle:focus-visible .theme-toggle-track {
	box-shadow: 0 0 0 3px var(--kj-focus-ring);
}

.theme-toggle-track {
	background: var(--kj-surface-2);
	border: 1px solid var(--kj-border);
	border-radius: 999rem;
	display: block;
	height: 2.8rem;
	position: relative;
	transition: background-color .3s ease, border-color .3s ease;
	width: 5.2rem;
}

.theme-toggle-icon {
	align-items: center;
	color: var(--kj-text-muted);
	display: flex;
	height: 1.5rem;
	justify-content: center;
	opacity: .55;
	position: absolute;
	top: 50%;
	transform: translateY( -50% );
	transition: opacity .25s ease, color .25s ease;
	width: 1.5rem;
}

.theme-toggle-sun { left: .62rem; }
.theme-toggle-moon { right: .62rem; }

.theme-toggle-thumb {
	background: var(--kj-surface);
	border-radius: 50%;
	box-shadow: 0 .1rem .35rem rgba( 5, 10, 15, .18 );
	height: 2.24rem;
	left: .27rem;
	position: absolute;
	top: .27rem;
	transition: transform .32s cubic-bezier( .2, .8, .3, 1 );
	width: 2.24rem;
}

[data-theme="light"] .theme-toggle-sun,
[data-theme="dark"] .theme-toggle-moon {
	color: var(--kj-text);
	opacity: 1;
}

[data-theme="dark"] .theme-toggle-thumb {
	transform: translateX( 2.4rem );
}

@media ( max-width: 999px ) {
	.header-actions .nav-toggle {
		min-width: 8.6rem;
	}
}

/* 侧边栏与页头的深色适配 */

[data-theme="dark"] #site-header {
	background: var(--kj-surface);
	border-right-color: var(--kj-border);
}

[data-theme="dark"] #site-header .header-top {
	border-bottom-color: var(--kj-border);
}

[data-theme="dark"] .site-title a,
[data-theme="dark"] .site-nav li,
[data-theme="dark"] .site-nav > li > a {
	color: var(--kj-text);
}

[data-theme="dark"] .site-title a:hover,
[data-theme="dark"] .site-nav > li > a:hover,
[data-theme="dark"] .site-nav > li.current-menu-item > a,
[data-theme="dark"] .site-nav > li.current-menu-ancestor > a {
	color: #FFFFFF;
}

[data-theme="dark"] .site-description,
[data-theme="dark"] .site-nav ul li,
[data-theme="dark"] .sidebar-widgets,
[data-theme="dark"] .widget-content {
	color: var(--kj-text-muted);
}

[data-theme="dark"] .site-nav ul {
	border-left-color: var(--kj-border);
}

[data-theme="dark"] .site-nav ul li a:hover,
[data-theme="dark"] .site-nav ul li.current-menu-item > a {
	color: var(--kj-text);
}

[data-theme="dark"] .social-menu-wrapper {
	border-top-color: var(--kj-border);
}

[data-theme="dark"] .social-icons .search-toggle {
	background-color: var(--kj-surface-2);
	background-image: url( ./assets/images/icons/spyglass-white.svg );
}

[data-theme="dark"] .social-icons .search-toggle:hover {
	background-color: var(--kj-border);
}

[data-theme="dark"] #site-header .yunjii-social-icons-wrapper .yunjii-social-icon {
	background: var(--kj-surface-2);
}

[data-theme="dark"] #site-header .yunjii-social-icons-wrapper .yunjii-social-icon:hover {
	background: var(--kj-surface);
	box-shadow: 0 .3rem .9rem rgba( 0, 0, 0, .45 );
}

[data-theme="dark"] .nav-toggle label,
[data-theme="dark"] .site-nav li {
	color: var(--kj-text);
}

[data-theme="dark"] .nav-toggle .bar {
	background: var(--kj-text);
}

[data-theme="dark"] .mobile-menu-wrapper {
	background: var(--kj-surface);
}

[data-theme="dark"] .search-overlay,
[data-theme="dark"] .search-untoggle-inner {
	background-color: var(--kj-bg);
}

[data-theme="dark"] .search-untoggle:hover .search-untoggle-inner,
[data-theme="dark"] .search-untoggle:focus .search-untoggle-inner {
	background: var(--kj-surface-2);
}

/* 内容区通用深色适配 */

[data-theme="dark"] .archive-header-desktop .preview-wrapper {
	background: var(--kj-surface-2);
}

[data-theme="dark"] .entry-content .wp-block-file {
	background: var(--kj-surface-2);
}

[data-theme="dark"] .entry-content hr {
	border-top-color: var(--kj-border-strong);
}

[data-theme="dark"] .pagination-single a,
[data-theme="dark"] .credits,
[data-theme="dark"] .widget-title,
[data-theme="dark"] .comment-metadata,
[data-theme="dark"] .related-posts-title,
[data-theme="dark"] .error404 .go-home {
	color: var(--kj-text-muted);
}

[data-theme="dark"] .pagination-single .arrow {
	background: var(--kj-surface-2);
}

[data-theme="dark"] .pagination-single a:hover {
	color: var(--kj-text);
}

[data-theme="dark"] figcaption,
[data-theme="dark"] .entry-content figcaption,
[data-theme="dark"] .wp-caption-text {
	color: var(--kj-text-muted);
}

[data-theme="dark"] table caption,
[data-theme="dark"] th {
	border-bottom-color: var(--kj-border-strong);
}

[data-theme="dark"] tbody > tr:nth-child(even) {
	background-color: var(--kj-surface-2);
}

[data-theme="dark"] .post-meta img,
[data-theme="dark"] .pagination-single .arrow img {
	filter: invert( 1 ) brightness( 1.7 );
	opacity: .7;
}

[data-theme="dark"] .comment-author b a {
	border-bottom-color: var(--kj-border-strong);
}

[data-theme="dark"] .comment-reply-link {
	border-color: var(--kj-border-strong);
	color: var(--kj-text-muted);
}

[data-theme="dark"] .comment-reply-link:hover,
[data-theme="dark"] .comment-reply-link:focus {
	background: var(--kj-text-muted);
	border-color: var(--kj-text-muted);
	color: var(--kj-bg);
}

/* 表单控件 */

[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="month"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="datetime"],
[data-theme="dark"] input[type="datetime-local"],
[data-theme="dark"] input[type="week"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="color"],
[data-theme="dark"] textarea {
	background-color: var(--kj-surface-2);
	border-color: var(--kj-border-strong);
	color: var(--kj-text);
}

[data-theme="dark"] select {
	background-color: var(--kj-surface-2);
	border-color: var(--kj-border-strong);
	color: var(--kj-text);
}

[data-theme="dark"] textarea:focus,
[data-theme="dark"] input[type="email"]:focus,
[data-theme="dark"] input[type="password"]:focus,
[data-theme="dark"] input[type="search"]:focus,
[data-theme="dark"] input[type="tel"]:focus,
[data-theme="dark"] input[type="text"]:focus,
[data-theme="dark"] input[type="url"]:focus {
	border-color: var(--kj-text-muted);
}

[data-theme="dark"] button,
[data-theme="dark"] .faux-button,
[data-theme="dark"] input[type="button"],
[data-theme="dark"] input[type="reset"],
[data-theme="dark"] input[type="submit"] {
	background: var(--kj-surface-2);
	color: var(--kj-text);
}


/* -------------------------------------------------------------------------------- */
/*	沉浸式阅读浮层
/* -------------------------------------------------------------------------------- */


.koji-reader {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	padding: 4rem;
	transition: opacity .3s ease;
	z-index: 99999;
}

.koji-reader[hidden] {
	display: none;
}

.koji-reader.is-open {
	opacity: 1;
	pointer-events: auto;
}

.koji-reader-backdrop {
	background: var(--kj-overlay);
	-webkit-backdrop-filter: blur( 10px ) saturate( 120% );
	backdrop-filter: blur( 10px ) saturate( 120% );
	inset: 0;
	position: absolute;
}

.koji-reader-panel {
	background: var(--kj-surface);
	border: 1px solid var(--kj-border);
	border-radius: 1.8rem;
	box-shadow: 0 3rem 8rem rgba( 8, 12, 18, .22 );
	display: flex;
	flex-direction: column;
	max-height: min( 88vh, 92rem );
	opacity: 0;
	overflow: hidden;
	position: relative;
	transform: translateY( 2.4rem ) scale( .975 );
	transition: transform .34s cubic-bezier( .2, .8, .3, 1 ), opacity .28s ease;
	width: min( 72rem, calc( 100vw - 6rem ) );
}

.koji-reader.is-open .koji-reader-panel {
	opacity: 1;
	transform: translateY( 0 ) scale( 1 );
}

.koji-reader.is-closing .koji-reader-panel {
	opacity: 0;
	transform: translateY( 1.4rem ) scale( .985 );
}

[data-theme="dark"] .koji-reader-panel {
	box-shadow: 0 3rem 8rem rgba( 0, 0, 0, .6 );
}

.koji-reader-progress {
	background: transparent;
	height: 3px;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 4;
}

.koji-reader-progress span {
	background: var(--kj-text);
	display: block;
	height: 100%;
	opacity: .5;
	transition: width .1s linear;
	width: 0;
}

.koji-reader-close {
	align-items: center;
	background: var(--kj-surface-2);
	border: 1px solid var(--kj-border);
	border-radius: 50%;
	color: var(--kj-text-muted);
	display: flex;
	height: 3.8rem;
	justify-content: center;
	padding: 0;
	position: absolute;
		right: 1.6rem;
		top: 1.6rem;
	width: 3.8rem;
	z-index: 4;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.koji-reader-close:hover,
.koji-reader-close:focus {
	background: var(--kj-surface);
	border-color: var(--kj-border-strong);
	color: var(--kj-text);
	text-decoration: none;
	transform: scale( 1.04 );
}

.koji-reader-close:focus {
	outline: none;
	box-shadow: 0 0 0 3px var(--kj-focus-ring);
}

.koji-reader-scroll {
	flex: 1 1 auto;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 5.6rem 5.6rem 3.6rem;
	scrollbar-width: thin;
	scrollbar-color: var(--kj-border-strong) transparent;
}

.koji-reader-scroll:focus {
	outline: none;
}

.koji-reader-scroll::-webkit-scrollbar {
	width: 10px;
}

.koji-reader-scroll::-webkit-scrollbar-track {
	background: transparent;
}

.koji-reader-scroll::-webkit-scrollbar-thumb {
	background: var(--kj-border-strong);
	border: 3px solid var(--kj-surface);
	border-radius: 999rem;
}

.koji-reader-inner {
	margin: 0 auto;
	max-width: 62rem;
}

.koji-reader-head {
	padding-right: 2rem;
}

.koji-reader-eyebrow {
	align-items: center;
	color: var(--kj-text-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .07em;
	line-height: 1.5;
	margin: 0 0 1.4rem;
	text-transform: uppercase;
}

.koji-reader-category {
	background: var(--kj-surface-2);
	border: 1px solid var(--kj-border);
	border-radius: 999rem;
	color: var(--kj-text-soft);
	display: inline-flex;
	padding: .35rem 1rem;
}

.koji-reader-dot {
	margin: 0 .7rem;
	opacity: .6;
}

.koji-reader-title {
	color: var(--kj-text);
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.36;
	margin: 0 0 1.4rem;
	text-wrap: balance;
}

.koji-reader-stats {
	color: var(--kj-text-muted);
	font-size: 1.3rem;
	font-variant-numeric: tabular-nums;
	margin: 0;
}

.koji-reader-body {
	color: var(--kj-text-soft);
	font-size: 1.7rem;
	line-height: 1.9;
	margin-top: 3.6rem;
}

.koji-reader-body p,
.koji-reader-body li {
	line-height: 1.9;
}

.koji-reader-body h1,
.koji-reader-body h2,
.koji-reader-body h3,
.koji-reader-body h4,
.koji-reader-body h5,
.koji-reader-body h6 {
	color: var(--kj-text);
	line-height: 1.42;
	margin: 3.4rem 0 1.4rem;
}

.koji-reader-body h1 { font-size: 2.5rem; }
.koji-reader-body h2 { font-size: 2.25rem; }
.koji-reader-body h3 { font-size: 2rem; }
.koji-reader-body h4 { font-size: 1.8rem; }
.koji-reader-body h5 { font-size: 1.7rem; }
.koji-reader-body h6 { font-size: 1.6rem; }

.koji-reader-body a {
	color: var(--kj-text);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
}

.koji-reader-body a:hover {
	text-decoration: none;
}

.koji-reader-body img {
	border-radius: .8rem;
	height: auto;
}

.koji-reader-body figure {
	margin: 2.6rem 0;
}

.koji-reader-body figcaption {
	color: var(--kj-text-muted);
	font-size: 1.35rem;
	margin-top: 1rem;
	text-align: center;
}

.koji-reader-body blockquote {
	border-left: 2px solid var(--kj-border-strong);
	color: var(--kj-text-soft);
	margin: 2.4rem 0;
	padding: .2em 0 .2em 1.8rem;
}

.koji-reader-body pre {
	background: var(--kj-code-bg);
	border-radius: .8rem;
	font-size: 1.35rem;
	line-height: 1.7;
	margin: 2.4rem 0;
	overflow-x: auto;
	padding: 1.6rem 1.8rem;
}

.koji-reader-body code {
	background: var(--kj-code-bg);
	border-radius: .4rem;
	font-size: .88em;
	padding: .15rem .45rem;
}

.koji-reader-body pre code {
	background: none;
	padding: 0;
}

.koji-reader-body .alignwide,
.koji-reader-body .alignfull {
	left: auto;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	right: auto;
	width: 100%;
}

.koji-reader-body .alignleft,
.koji-reader-body .alignright {
	margin-top: .4rem;
	max-width: 48%;
}

.koji-reader-body .alignleft {
	margin-right: 2.4rem;
}

.koji-reader-body .alignright {
	margin-left: 2.4rem;
}

.koji-reader-body table {
	font-size: 1.4rem;
}

.koji-reader-body th,
.koji-reader-body td {
	border-bottom: 1px solid var(--kj-border);
}

.koji-reader-footer {
	align-items: center;
	border-top: 1px solid var(--kj-border);
	display: flex;
	gap: 1.6rem;
	justify-content: space-between;
	margin-top: 4.8rem;
	padding-top: 2.2rem;
}

.koji-reader-origin {
	align-items: center;
	color: var(--kj-text-soft);
	display: inline-flex;
	font-size: 1.4rem;
	font-weight: 600;
	gap: .5rem;
	text-decoration: none;
}

.koji-reader-origin:hover {
	color: var(--kj-text);
	text-decoration: none;
}

.koji-reader-origin svg {
	transition: transform .25s ease;
}

.koji-reader-origin:hover svg {
	transform: translateX( .25rem );
}

.koji-reader-dismiss {
	background: var(--kj-surface-2);
	border: 1px solid var(--kj-border);
	border-radius: 999rem;
	color: var(--kj-text-soft);
	font-size: 1.4rem;
	font-weight: 600;
	padding: 1rem 2.2rem;
}

.koji-reader-dismiss:hover {
	background: var(--kj-surface);
	border-color: var(--kj-border-strong);
	color: var(--kj-text);
	opacity: 1;
}

.koji-reader-error {
	color: var(--kj-text-muted);
	padding: 2rem 0;
	text-align: center;
}

/* 加载骨架 */

.koji-reader-skeleton {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	padding-top: .4rem;
}

.koji-reader-skeleton span {
	animation: koji-shimmer 1.4s ease infinite;
	background: var( --kj-skeleton );
	background-size: 400% 100%;
	border-radius: 999rem;
	display: block;
	height: 1.4rem;
}

.koji-reader-skeleton span:nth-child(1) { width: 94%; }
.koji-reader-skeleton span:nth-child(2) { width: 86%; }
.koji-reader-skeleton span:nth-child(3) { width: 97%; }
.koji-reader-skeleton span:nth-child(4) { width: 72%; margin-top: 1.2rem; }
.koji-reader-skeleton span:nth-child(5) { width: 90%; }
.koji-reader-skeleton span:nth-child(6) { width: 64%; }

@keyframes koji-shimmer {
	0% { background-position: 100% 50%; }
	100% { background-position: 0 50%; }
}

/* 移动端：底部抽屉 */

@media ( max-width: 782px ) {

	.koji-reader {
		align-items: flex-end;
		padding: 0;
	}

	.koji-reader-panel {
		border-left: none;
		border-radius: 2rem 2rem 0 0;
		border-right: none;
		border-bottom: none;
		max-height: 92vh;
		transform: translateY( 10% ) scale( 1 );
		width: 100%;
	}

	.koji-reader.is-open .koji-reader-panel {
		transform: translateY( 0 ) scale( 1 );
	}

	.koji-reader-scroll {
		padding: 4.8rem 2.2rem 2.8rem;
	}

	.koji-reader-close {
		height: 3.6rem;
		right: 1.2rem;
		top: 1.2rem;
		width: 3.6rem;
	}

	.koji-reader-head {
		padding-right: 0;
	}

	.koji-reader-title {
		font-size: 2.4rem;
		line-height: 1.42;
	}

	.koji-reader-body {
		font-size: 1.64rem;
		margin-top: 2.8rem;
	}

	.koji-reader-body .alignleft,
	.koji-reader-body .alignright {
		float: none;
		margin: 2.4rem 0;
		max-width: 100%;
	}

	.koji-reader-footer {
		margin-top: 3.6rem;
	}

	.preview-title {
		font-size: 1.85rem;
	}

}

/* 加载失败后的重试 */

.koji-reader-error p {
	margin: 0;
}

.koji-reader-retry {
	background: var(--kj-surface-2);
	border: 1px solid var(--kj-border-strong);
	border-radius: 999rem;
	color: var(--kj-text-soft);
	font-size: 1.4rem;
	font-weight: 600;
	margin-top: 1.6rem;
	padding: .8rem 2rem;
}

.koji-reader-retry:hover,
.koji-reader-retry:focus {
	background: var(--kj-surface);
	color: var(--kj-text);
}

.koji-reader-retry:focus-visible {
	box-shadow: 0 0 0 3px var(--kj-focus-ring);
	outline: none;
}

/* 移动端抽屉把手 */

.koji-reader-handle {
	display: none;
}

/* 深色模式补充适配 */

[data-theme="dark"] label,
[data-theme="dark"] fieldset legend,
[data-theme="dark"] .comment-form p.logged-in-as,
[data-theme="dark"] .leave-comment-link,
[data-theme="dark"] .comment-reply-title small a,
[data-theme="dark"] .bypostauthor .by-post-author-wrapper,
[data-theme="dark"] .post-meta,
[data-theme="dark"] .link-pagination {
	color: var(--kj-text-muted);
}

[data-theme="dark"] fieldset {
	border-color: var(--kj-border-strong);
}

[data-theme="dark"] .leave-comment-link:hover,
[data-theme="dark"] .leave-comment-link:focus,
[data-theme="dark"] .comment-reply-title small a:hover,
[data-theme="dark"] .comment-reply-title small a:focus,
[data-theme="dark"] .link-pagination a:hover,
[data-theme="dark"] .link-pagination a:focus {
	color: var(--kj-text);
}

[data-theme="dark"] *::placeholder {
	color: var(--kj-text-muted);
	opacity: 1;
}

[data-theme="dark"] .social-icons a,
[data-theme="dark"] .social-icons button {
	background: var(--kj-surface-2);
	color: var(--kj-text-soft);
}

[data-theme="dark"] .social-icons button.active {
	background: var(--kj-text);
	color: var(--kj-bg);
}

[data-theme="dark"] .search-overlay .search-field {
	color: var(--kj-text);
}

[data-theme="dark"] .search-overlay label img,
[data-theme="dark"] .search-untoggle img {
	filter: invert( 1 );
	opacity: .78;
}

[data-theme="dark"] .comments-pagination .page-numbers {
	color: var(--kj-text-muted);
}

[data-theme="dark"] .comments-pagination a.page-numbers:hover,
[data-theme="dark"] .comments-pagination a.page-numbers:focus {
	color: var(--kj-text);
}

[data-theme="dark"] .comments-pagination ul.page-numbers.dots {
	color: var(--kj-text-muted);
}

[data-theme="dark"] .comment-meta a:hover,
[data-theme="dark"] .comment-meta a:focus {
	border-bottom-color: var(--kj-text-muted);
}

[data-theme="dark"] .entry-content code {
	background: var(--kj-code-bg);
}

[data-theme="dark"] .entry-content blockquote {
	border-left-color: var(--kj-border-strong);
}

[data-theme="dark"] .widget_tag_cloud a {
	background: var(--kj-surface-2);
	color: var(--kj-text-soft);
}

[data-theme="dark"] .widget_tag_cloud a:hover,
[data-theme="dark"] .widget_tag_cloud a:focus {
	background: var(--kj-text);
	color: var(--kj-bg);
}

/* 卡片细节打磨 */

.preview-title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	overflow: hidden;
}

.preview-no-media .preview-inner {
	padding-top: 2.5rem;
}

/* 触屏设备不保留悬停态，避免点击后样式「粘住」 */

@media ( hover: none ) {

	.preview-wrapper:hover {
		border-color: var(--kj-border);
		box-shadow: var(--kj-shadow);
		transform: none;
	}

	.preview-wrapper:hover .preview-media img {
		transform: none;
	}

	.preview-wrapper:hover .preview-media:after {
		opacity: 0;
	}

	.preview-wrapper:hover .preview-hint {
		color: var(--kj-text-soft);
		gap: .4rem;
	}

	.preview-wrapper:hover .preview-hint-icon {
		transform: none;
	}

}

/* 窄屏：让主题切换与菜单按钮更紧凑 */

@media ( max-width: 400px ) {

	.header-actions {
		gap: .2rem;
	}

	.header-actions .nav-toggle {
		min-width: 7.6rem;
	}

	.theme-toggle-track {
		height: 2.6rem;
		width: 4.8rem;
	}

	.theme-toggle-thumb {
		height: 2.08rem;
		width: 2.08rem;
	}

	[data-theme="dark"] .theme-toggle-thumb {
		transform: translateX( 2.18rem );
	}

	.koji-reader-scroll {
		padding-left: 1.9rem;
		padding-right: 1.9rem;
	}

}

@media ( max-width: 782px ) {

	.koji-reader-handle {
		display: flex;
		justify-content: center;
		left: 0;
		padding-top: .9rem;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 5;
	}

	.koji-reader-handle span {
		background: var(--kj-border-strong);
		border-radius: 999rem;
		display: block;
		height: .42rem;
		width: 4.4rem;
	}

	.koji-reader-panel.is-dragging {
		transition: none;
	}

	.koji-reader-scroll {
		padding-bottom: calc( 2.8rem + env( safe-area-inset-bottom, 0px ) );
	}

}

@media ( prefers-reduced-motion: reduce ) {

	.koji-reader,
	.koji-reader-panel,
	.koji-reader-progress span,
	.preview-wrapper,
	.preview-media img,
	.theme-toggle-thumb,
	.theme-toggle-icon {
		transition: none !important;
	}

	.koji-reader-skeleton span {
		animation: none;
	}

	.preview-wrapper:hover {
		transform: none;
	}

	.preview-wrapper:hover .preview-media img {
		transform: none;
	}

}
