/*
 * QmClient Obsidian Publish Theme
 * 从零编写的 Publish 专用样式，不依赖任何旧主题，不使用会插入括号/图标的主题伪元素。
 */

:root,
body {
	--qm-bg-0: #080c16;
	--qm-bg-1: #11182a;
	--qm-bg-2: #1b2035;
	--qm-page-bg: #f3f3f3;
	--qm-grid-line: rgba(225, 225, 225, 0.92);
	--qm-card: rgba(17, 24, 42, 0.72);
	--qm-card-soft: rgba(255, 255, 255, 0.055);
	--qm-card-hover: rgba(255, 255, 255, 0.09);
	--qm-liquid-fill: rgba(255, 255, 255, 0.04);
	--qm-liquid-fill-soft: rgba(255, 255, 255, 0.035);
	--qm-liquid-highlight: rgba(255, 255, 255, 0.8);
	--qm-liquid-shadow: rgba(72, 84, 98, 0.28);
	--qm-text: #111827;
	--qm-muted: rgba(17, 24, 39, 0.68);
	--qm-faint: rgba(17, 24, 39, 0.44);
	--qm-cyan: #64e8ff;
	--qm-blue: #7c9cff;
	--qm-purple: #bd8cff;
	--qm-pink: #ff7aae;
	--qm-green: #88ffc2;
	--qm-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
	--qm-shadow-soft: 0 14px 36px rgba(0, 0, 0, 0.24);
	--qm-radius-xl: 30px;
	--qm-radius-lg: 22px;
	--qm-radius-md: 14px;
	--qm-left-sidebar: 360px;
	--qm-right-sidebar: 320px;
	--qm-content: 1040px;
	--font-interface: "LXGW WenKai", "霞鹜文楷", "Inter", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
	--font-text: "LXGW WenKai", "霞鹜文楷", "Noto Serif SC", "Microsoft YaHei", serif;
	--font-monospace: "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;
	--font-interface-theme: var(--font-interface);
	--font-text-theme: var(--font-text);
	--font-monospace-theme: var(--font-monospace);
	--file-line-width: var(--qm-content);
	--line-height-normal: 1.86;
	--line-height-tight: 1.42;
	--text-normal: var(--qm-text);
	--text-muted: var(--qm-muted);
	--text-faint: var(--qm-faint);
	--text-accent: var(--qm-cyan);
	--text-accent-hover: #ffffff;
	--link-color: var(--qm-cyan);
	--link-color-hover: #ffffff;
	--interactive-accent: var(--qm-cyan);
	--interactive-accent-hover: var(--qm-purple);
	--background-primary: transparent;
	--background-secondary: transparent;
	--background-modifier-border: transparent;
	--background-modifier-hover: rgba(255, 255, 255, 0.08);
	--background-modifier-active-hover: rgba(100, 232, 255, 0.16);
	--code-background: rgba(255, 255, 255, 0.2);
	--h1-size: 2.35em;
	--h2-size: 1.72em;
	--h3-size: 1.38em;
}

body {
	--bold-color: #000000;
	--italic-color: #2f2365;
	--code-normal: #b91c1c;
	--link-color: #2563eb;
	--link-color-hover: #111827;
}

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

html {
	min-height: 100%;
	scroll-behavior: smooth;
	background: var(--qm-page-bg);
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	min-height: 100vh;
	margin: 0;
	color: var(--qm-text);
	font-family: var(--font-text);
	overflow-x: hidden;
	overflow-y: auto;
	--qm-grid-size: 55px;
	background:
		radial-gradient(circle at var(--qm-mouse-x, 86%) var(--qm-mouse-y, 12%), rgba(100, 232, 255, 0.05), transparent 7.5rem),
		radial-gradient(circle at 9% 14%, rgba(255, 255, 255, 0.96), transparent 18rem),
		radial-gradient(circle at 92% 78%, rgba(210, 225, 238, 0.72), transparent 24rem),
		linear-gradient(0deg, transparent 24%, var(--qm-grid-line) 25%, var(--qm-grid-line) 26%, transparent 27%, transparent 74%, var(--qm-grid-line) 75%, var(--qm-grid-line) 76%, transparent 77%, transparent),
		linear-gradient(90deg, transparent 24%, var(--qm-grid-line) 25%, var(--qm-grid-line) 26%, transparent 27%, transparent 74%, var(--qm-grid-line) 75%, var(--qm-grid-line) 76%, transparent 77%, transparent),
		var(--qm-page-bg);
	background-size:
		auto,
		auto,
		auto,
		var(--qm-grid-size) var(--qm-grid-size),
		var(--qm-grid-size) var(--qm-grid-size),
		auto;
}

body::before,
body::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: -2;
}

body::before {
	background:
		radial-gradient(28rem 20rem at 18% 28%, rgba(255, 255, 255, 0.36), transparent 62%),
		radial-gradient(24rem 18rem at 82% 20%, rgba(170, 190, 210, 0.22), transparent 64%),
		radial-gradient(26rem 22rem at 72% 86%, rgba(255, 255, 255, 0.28), transparent 66%);
	filter: blur(1px);
	opacity: 0.9;
	animation: qm-bg-drift 24s ease-in-out infinite alternate;
}

body::after {
	z-index: -1;
	background:
		radial-gradient(16rem 14rem at 20% 78%, rgba(255, 255, 255, 0.22), transparent 70%),
		radial-gradient(18rem 16rem at 88% 42%, rgba(128, 150, 170, 0.14), transparent 72%);
	filter: blur(3px);
	opacity: 0.38;
}

img,
svg,
video,
canvas {
	max-width: 100%;
}

button,
input,
textarea,
select {
	font: inherit;
}

a {
	color: var(--qm-cyan);
	text-decoration: none;
	transition: color 180ms ease, text-shadow 180ms ease;
}

a:hover {
	color: #111827;
	text-shadow: 0 0 12px rgba(100, 232, 255, 0.34);
}

hr {
	height: 1px;
	margin: 2.2rem 0;
	border: 0;
	background: linear-gradient(90deg, transparent, rgba(100, 232, 255, 0.42), rgba(255, 122, 174, 0.32), transparent);
}

::selection {
	background: rgba(100, 232, 255, 0.28);
	color: #000000;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.035);
}

::-webkit-scrollbar-thumb {
	border: 2px solid transparent;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--qm-cyan), var(--qm-purple)) border-box;
}

.published-container,
.site-body,
.site-header,
.site-footer,
.site-body-center-column,
.site-body-left-column,
.site-body-right-column,
.markdown-preview-view,
.markdown-rendered {
	background: transparent !important;
	color: var(--qm-text);
}

.published-container {
	width: 100%;
	min-height: 100vh;
}

.site-header {
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
}

.site-body {
	display: flex;
	gap: 24px;
	width: 100%;
	max-width: 1680px;
	margin: 0 auto;
	padding: 24px clamp(64px, 5vw, 104px);
	overflow: visible;
}

.site-body-left-column,
.site-body-right-column {
	position: sticky;
	top: 18px;
	align-self: flex-start;
	max-height: calc(100vh - 36px);
	padding: 22px 18px;
	border: 0 !important;
	border-radius: var(--qm-radius-xl);
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.08) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.08) 100%),
		var(--qm-liquid-fill) !important;
	box-shadow:
		0 25px 34px rgba(102, 102, 102, 0.16),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.9),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.9),
		inset 6px -6px 1px -6px rgba(255, 255, 255, 0.55),
		inset -6px 6px 1px -6px rgba(255, 255, 255, 0.55),
		inset 0 0 2px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
	isolation: isolate;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.site-body-left-column::before,
.site-body-right-column::before,
.markdown-preview-view::before,
.markdown-rendered .qm-table-scroll::before,
.markdown-rendered blockquote::before,
.markdown-rendered .callout::before,
.markdown-rendered pre::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	pointer-events: none;
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.18) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.18) 100%),
		radial-gradient(70% 54% at 18% 12%, rgba(255, 255, 255, 0.16), transparent 58%),
		radial-gradient(70% 54% at 88% 92%, rgba(0, 0, 0, 0.08), transparent 64%);
	filter: blur(3px);
	mix-blend-mode: screen;
	opacity: 0.38;
}

.site-body-left-column::after,
.site-body-right-column::after,
.markdown-preview-view::after,
.markdown-rendered .qm-table-scroll::after,
.markdown-rendered blockquote::after,
.markdown-rendered .callout::after,
.markdown-rendered pre::after {
	content: "";
	position: absolute;
	inset: 8px;
	z-index: 0;
	border-radius: calc(var(--qm-radius-xl) - 8px);
	pointer-events: none;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 30%, transparent 72%, rgba(255, 255, 255, 0.08)),
		radial-gradient(48% 38% at 20% 18%, rgba(255, 255, 255, 0.12), transparent 70%);
	filter: blur(1px);
	opacity: 0.38;
}

.site-body-left-column > *,
.site-body-right-column > *,
.markdown-preview-view > *,
.markdown-rendered .qm-table-scroll > *,
.markdown-rendered blockquote > *,
.markdown-rendered .callout > *,
.markdown-rendered pre > * {
	position: relative;
	z-index: 1;
}

.site-body-left-column {
	flex: 0 0 var(--qm-left-sidebar);
	width: var(--qm-left-sidebar);
	min-width: var(--qm-left-sidebar);
}

.site-body-right-column {
	flex: 0 0 var(--qm-right-sidebar);
	width: var(--qm-right-sidebar);
	min-width: var(--qm-right-sidebar);
}

.site-body-center-column {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
}

.markdown-preview-view,
.markdown-preview-sizer,
.markdown-rendered {
	width: 100%;
	max-width: var(--qm-content) !important;
}

.markdown-preview-view {
	position: relative;
	margin: 0 auto;
	padding: clamp(30px, 5vw, 64px) clamp(28px, 5vw, 76px) !important;
	border: 0 !important;
	border-radius: calc(var(--qm-radius-xl) + 4px);
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.075) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.075) 100%),
		var(--qm-liquid-fill) !important;
	box-shadow:
		0 25px 34px rgba(102, 102, 102, 0.16),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.9),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.9),
		inset 6px -6px 1px -6px rgba(255, 255, 255, 0.55),
		inset -6px 6px 1px -6px rgba(255, 255, 255, 0.55),
		inset 0 0 2px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
	isolation: isolate;
	overflow-x: hidden;
	overflow-y: visible;
}

.markdown-rendered {
	font-size: 17px;
	letter-spacing: 0.012em;
}

.markdown-preview-view,
.markdown-rendered,
.markdown-rendered p,
.markdown-rendered li,
.markdown-rendered td,
.markdown-rendered th,
.site-body-left-column,
.site-body-right-column,
.site-body-left-column *,
.site-body-right-column * {
	color: var(--qm-text);
}

.markdown-rendered p,
.markdown-rendered li {
	line-height: 1.9;
}

.markdown-rendered p {
	margin: 0.75em 0 1.05em;
}

.markdown-rendered ul,
.markdown-rendered ol {
	padding-inline-start: 1.45em;
}

.markdown-rendered li + li {
	margin-top: 0.38em;
}

.markdown-rendered h1,
.markdown-rendered h2,
.markdown-rendered h3,
.markdown-rendered h4,
.markdown-rendered h5,
.markdown-rendered h6 {
	font-family: var(--font-interface);
	font-weight: 850;
	line-height: 1.28;
	letter-spacing: 0.025em;
	scroll-margin-top: 92px;
	color: var(--qm-text) !important;
}

.markdown-rendered h1 {
	margin: 0 0 1.05em;
	text-align: center;
	font-size: var(--h1-size);
	background: linear-gradient(90deg, #ffffff, var(--qm-cyan), var(--qm-purple), var(--qm-pink), #ffffff);
	background-size: 260% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	text-shadow: 0 0 30px rgba(100, 232, 255, 0.12);
	animation: qm-gradient-flow 8s linear infinite;
}

.markdown-rendered h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 1.8em 0 0.8em;
	font-size: var(--h2-size);
	color: #ff5d6c !important;
	text-shadow: 0 0 18px rgba(255, 93, 108, 0.22);
}

.markdown-rendered h2::before {
	content: "";
	flex: 0 0 8px;
	width: 8px;
	height: 30px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--qm-cyan), var(--qm-purple), var(--qm-pink));
	box-shadow: 0 0 18px rgba(100, 232, 255, 0.44);
}

.markdown-rendered h3 {
	margin: 1.45em 0 0.7em;
	font-size: var(--h3-size);
	color: #111827 !important;
}

.markdown-rendered h4,
.markdown-rendered h5,
.markdown-rendered h6 {
	color: rgba(17, 24, 39, 0.86) !important;
}

.markdown-rendered strong {
	color: #000000;
}

.markdown-rendered em {
	color: #2f2365;
}

.markdown-rendered mark {
	padding: 0.08em 0.26em;
	border-radius: 0.38em;
	background: rgba(255, 217, 102, 0.24);
	color: #7a4b00;
}

.markdown-rendered a {
	position: relative;
	font-weight: 620;
}

.markdown-rendered a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.16em;
	height: 1px;
	background: linear-gradient(90deg, var(--qm-cyan), var(--qm-purple), transparent);
	transform: scaleX(0.62);
	transform-origin: left;
	transition: transform 220ms ease;
}

.markdown-rendered a:hover::after {
	transform: scaleX(1);
}

.markdown-rendered blockquote,
.markdown-rendered .callout,
.markdown-rendered pre,
.markdown-rendered .internal-embed,
.markdown-rendered .metadata-container {
	position: relative;
	border: 0 !important;
	border-radius: var(--qm-radius-lg);
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.075) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.075) 100%),
		var(--qm-liquid-fill) !important;
	box-shadow:
		0 16px 26px rgba(102, 102, 102, 0.12),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.82),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.72),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
	isolation: isolate;
}

.markdown-rendered blockquote {
	margin: 1.25em 0;
	padding: 1em 1.2em;
	color: rgba(17, 24, 39, 0.76);
}

.markdown-rendered .callout {
	margin: 1.35em 0;
	padding: 1em 1.1em;
	overflow: hidden;
}

.markdown-rendered .callout-title {
	color: #111827;
	font-family: var(--font-interface);
	font-weight: 800;
}

.markdown-rendered .qm-table-scroll {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 1.6em 0;
	border-radius: 24px;
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.075) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.075) 100%),
		var(--qm-liquid-fill) !important;
	box-shadow:
		0 18px 30px rgba(102, 102, 102, 0.13),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.82),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.72),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
	isolation: isolate;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

.markdown-rendered .qm-table-scroll.qm-scroll-left {
	box-shadow:
		0 18px 30px rgba(102, 102, 102, 0.13),
		inset 32px 0 34px -34px rgba(100, 232, 255, 0.42),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.82),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.72),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
}

.markdown-rendered .qm-table-scroll.qm-scroll-right {
	box-shadow:
		0 18px 30px rgba(102, 102, 102, 0.13),
		inset -32px 0 34px -34px rgba(100, 232, 255, 0.42),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.82),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.72),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
}

.markdown-rendered table {
	display: table;
	width: max-content;
	min-width: 100%;
	max-width: none;
	margin: 0;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 24px;
	table-layout: auto;
	background: transparent !important;
	box-shadow: none;
	overflow: visible;
	white-space: nowrap;
}

.markdown-rendered th,
.markdown-rendered td {
	border: 0 !important;
	padding: 0.95em 1.05em;
	background: transparent !important;
	vertical-align: middle;
	min-width: max-content;
	white-space: nowrap;
	word-break: keep-all;
	transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.markdown-rendered th {
	color: #111827 !important;
	font-family: var(--font-interface);
	font-size: 0.96em;
	font-weight: 850;
	letter-spacing: 0.04em;
	text-shadow: 0 0 14px rgba(100, 232, 255, 0.22);
}

.markdown-rendered thead tr {
	background: linear-gradient(90deg, rgba(100, 232, 255, 0.2), rgba(189, 140, 255, 0.14), rgba(255, 122, 174, 0.12));
}

.markdown-rendered tbody tr {
	position: relative;
	color: rgba(17, 24, 39, 0.82);
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.markdown-rendered tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.032);
}

.markdown-rendered tbody tr:hover {
	background: linear-gradient(90deg, rgba(100, 232, 255, 0.12), rgba(189, 140, 255, 0.08), rgba(255, 122, 174, 0.08));
	color: #000000;
}

.markdown-rendered table.qm-table-crosshair tr.qm-row-hover {
	background: linear-gradient(90deg, rgba(100, 232, 255, 0.13), rgba(189, 140, 255, 0.09), rgba(255, 122, 174, 0.09)) !important;
	color: #000000;
}

.markdown-rendered table.qm-table-crosshair th.qm-column-hover,
.markdown-rendered table.qm-table-crosshair td.qm-column-hover {
	background: rgba(100, 232, 255, 0.105) !important;
	box-shadow: inset 0 0 0 9999px rgba(100, 232, 255, 0.018);
	color: #000000;
}

.markdown-rendered table.qm-table-crosshair th.qm-cell-hover,
.markdown-rendered table.qm-table-crosshair td.qm-cell-hover {
	background: linear-gradient(135deg, rgba(100, 232, 255, 0.26), rgba(255, 122, 174, 0.16)) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 0 22px rgba(100, 232, 255, 0.18);
	color: #000000;
}

.markdown-rendered tbody tr + tr td {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.markdown-rendered th:first-child {
	border-top-left-radius: 24px;
}

.markdown-rendered th:last-child {
	border-top-right-radius: 24px;
}

.markdown-rendered tr:last-child td:first-child {
	border-bottom-left-radius: 24px;
}

.markdown-rendered tr:last-child td:last-child {
	border-bottom-right-radius: 24px;
}

.markdown-rendered pre {
	position: relative;
	margin: 1.35em 0;
	padding: 1.25em 1.35em !important;
	overflow: auto;
}

.markdown-rendered code {
	padding: 0.13em 0.36em;
	border-radius: 8px;
	background: rgba(100, 232, 255, 0.12) !important;
	color: #ff6472 !important;
	font-family: var(--font-monospace);
	font-size: 0.92em;
	font-weight: 700;
}

.markdown-rendered pre code {
	padding: 0;
	background: transparent !important;
	color: rgba(17, 24, 39, 0.92) !important;
	font-weight: 500;
}

.markdown-rendered img,
.markdown-rendered video {
	display: block;
	margin: 1.25em auto;
	border-radius: var(--qm-radius-md);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
	transition: transform 280ms ease, box-shadow 280ms ease, filter 280ms ease;
}

.markdown-rendered img:hover,
.markdown-rendered video:hover {
	transform: translateY(-3px) scale(1.012);
	box-shadow: 0 26px 64px rgba(0, 0, 0, 0.42), 0 0 34px rgba(100, 232, 255, 0.12);
	filter: saturate(1.08);
}

.tree-item-self,
.nav-file-title,
.nav-folder-title,
.outline .tree-item-self,
.search-result-file-title {
	min-height: 38px !important;
	padding: 8px 12px !important;
	border: 0 !important;
	border-radius: 14px !important;
	color: rgba(17, 24, 39, 0.72) !important;
	font-family: var(--font-interface);
	transition:
		transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
		background 220ms ease,
		color 220ms ease,
		box-shadow 220ms ease;
}

.tree-item-self:hover,
.nav-file-title:hover,
.nav-folder-title:hover,
.outline .tree-item-self:hover,
.search-result-file-title:hover {
	transform: translateX(5px);
	color: #000000 !important;
	background: linear-gradient(90deg, rgba(100, 232, 255, 0.15), rgba(189, 140, 255, 0.1)) !important;
	box-shadow: inset 3px 0 0 rgba(100, 232, 255, 0.72), 0 10px 28px rgba(0, 0, 0, 0.18);
}

.tree-item-self.is-active,
.nav-file-title.is-active,
.nav-folder-title.is-active,
.outline .tree-item-self.is-active {
	color: #000000 !important;
	background: linear-gradient(90deg, rgba(100, 232, 255, 0.22), rgba(255, 122, 174, 0.14)) !important;
	box-shadow: inset 3px 0 0 var(--qm-cyan), 0 12px 34px rgba(100, 232, 255, 0.1);
}

.tree-item-inner,
.nav-file-title-content,
.nav-folder-title-content,
.outline .tree-item-inner {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tree-item-children,
.nav-folder-children {
	margin-left: 10px !important;
	padding-left: 10px !important;
}

.search-input-container input,
.site-body-left-column input,
.site-body-right-column input {
	width: 100%;
	min-height: 44px;
	border: 0 !important;
	border-radius: 999px !important;
	background:
		linear-gradient(45deg, rgba(255, 255, 255, 0.09) 0%, transparent 24%, transparent 76%, rgba(255, 255, 255, 0.09) 100%),
		var(--qm-liquid-fill) !important;
	box-shadow:
		0 10px 18px rgba(102, 102, 102, 0.12),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.9),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.82),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
	color: #111827 !important;
	outline: none;
	backdrop-filter: blur(2px) saturate(1.08);
	-webkit-backdrop-filter: blur(2px) saturate(1.08);
}

.search-input-container input:focus,
.site-body-left-column input:focus,
.site-body-right-column input:focus {
	box-shadow:
		0 0 0 4px rgba(255, 255, 255, 0.18),
		0 12px 22px rgba(102, 102, 102, 0.16),
		inset 2px -2px 1px -1px rgba(255, 255, 255, 0.95),
		inset -2px 2px 1px -1px rgba(255, 255, 255, 0.86),
		inset 0 0 2px rgba(0, 0, 0, 0.18);
}

.site-body-left-column-site-name,
.site-body-left-column .site-name,
.site-header-text {
	font-family: var(--font-interface);
	font-weight: 900 !important;
	letter-spacing: 0.04em;
	background: linear-gradient(90deg, #111827, var(--qm-cyan), var(--qm-purple), var(--qm-pink));
	background-size: 240% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	text-shadow: 0 0 18px rgba(100, 232, 255, 0.28);
	animation: qm-gradient-flow 8s linear infinite;
}

.site-body-left-column-site-logo img,
.site-logo img {
	border-radius: 24px;
	box-shadow: 0 18px 46px rgba(100, 232, 255, 0.14);
	transition: transform 300ms ease, filter 300ms ease;
}

.site-body-left-column-site-logo img:hover,
.site-logo img:hover {
	transform: translateY(-2px) scale(1.035);
	filter: drop-shadow(0 0 18px rgba(100, 232, 255, 0.42));
}

.qm-code-copy {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	border: 0;
	border-radius: 999px;
	padding: 6px 11px;
	background: rgba(255, 255, 255, 0.55);
	color: rgba(17, 24, 39, 0.88);
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.qm-code-copy:hover {
	transform: translateY(-1px);
	background: rgba(100, 232, 255, 0.2);
	color: #000000;
}

.qm-code-copy.is-copied {
	background: rgba(136, 255, 194, 0.2);
}

#qm-publish-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	height: 3px;
	transform: scaleX(var(--qm-progress, 0));
	transform-origin: left center;
	background: linear-gradient(90deg, var(--qm-cyan), var(--qm-purple), var(--qm-pink));
	box-shadow: 0 0 16px rgba(100, 232, 255, 0.56);
}

#qm-publish-backtop {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 9999;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 16px;
	background: rgba(12, 18, 34, 0.78);
	color: #111827;
	box-shadow: var(--qm-shadow-soft);
	cursor: pointer;
	opacity: 0;
	transform: translateY(16px) scale(0.92);
	pointer-events: none;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transition: opacity 220ms ease, transform 220ms ease, background 220ms ease;
}

#qm-publish-backtop.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

#qm-publish-backtop:hover {
	background: rgba(100, 232, 255, 0.2);
	transform: translateY(-2px) scale(1.03);
}

.qm-publish-cursor-glow {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(100, 232, 255, 0.035), rgba(189, 140, 255, 0.02) 42%, transparent 68%);
	filter: blur(2px);
	mix-blend-mode: screen;
	pointer-events: none;
	will-change: transform;
}

.qm-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 520ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qm-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@keyframes qm-gradient-flow {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: 260% center;
	}
}

@keyframes qm-bg-drift {
	0% {
		transform: translate3d(-1.5%, -1%, 0) scale(1);
	}
	100% {
		transform: translate3d(1.5%, 1%, 0) scale(1.04);
	}
}

@media (max-width: 1460px) {
	:root,
	body {
		--qm-left-sidebar: 320px;
		--qm-right-sidebar: 286px;
		--qm-content: 920px;
	}
}

@media (max-width: 1180px) {
	.site-body {
		gap: 12px;
		padding: 16px 24px;
	}

	.site-body-left-column {
		flex-basis: 292px;
		width: 292px;
		min-width: 292px;
	}

	.site-body-right-column {
		display: none;
	}
}

@media (max-width: 860px) {
	.site-body {
		display: block;
		padding: 10px;
	}

	.site-body-left-column,
	.site-body-right-column {
		position: relative;
		top: auto;
		display: block;
		width: auto;
		min-width: 0;
		max-height: none;
		margin-bottom: 10px;
		border-radius: 22px;
	}

	.markdown-preview-view {
		padding: 28px 22px !important;
		border-radius: 22px;
	}

	#qm-publish-backtop {
		right: 16px;
		bottom: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	.qm-publish-cursor-glow {
		display: none !important;
	}
}
