/* Uni Table Content — base + themes + positions */

.uni-toc {
	--uni-toc-bg: #ffffff;
	--uni-toc-border: #e5e7eb;
	--uni-toc-title: #111827;
	--uni-toc-text: #374151;
	--uni-toc-link: #2563eb;
	--uni-toc-link-hover: #1d4ed8;
	--uni-toc-radius: 8px;
	--uni-toc-font-size: 14px;
	--uni-toc-width: 300px;
	--uni-toc-sticky-top: 80px;

	box-sizing: border-box;
	background: var(--uni-toc-bg);
	color: var(--uni-toc-text);
	border: 1px solid var(--uni-toc-border);
	border-radius: var(--uni-toc-radius);
	padding: 16px 18px;
	margin: 1.5em 0;
	font-size: var(--uni-toc-font-size);
	line-height: 1.6;
	max-width: 100%;
}

.uni-toc *,
.uni-toc *::before,
.uni-toc *::after {
	box-sizing: inherit;
}

.uni-toc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

/* 收合動畫 — 使用 grid 0fr/1fr 實現可過渡高度 */
.uni-toc-body {
	display: grid;
	grid-template-rows: 1fr;
	transition: grid-template-rows .28s ease, opacity .22s ease, margin .22s ease;
	opacity: 1;
	overflow: hidden;
}
.uni-toc-body > * {
	min-height: 0; /* 關鍵：讓 grid child 可以被壓縮 */
}
.uni-toc-collapsed .uni-toc-body {
	grid-template-rows: 0fr;
	opacity: 0;
	margin-top: 0;
	margin-bottom: 0;
}

/* 手機觸控區放大 */
@media (max-width: 768px) {
	.uni-toc-header { padding: 4px 0; }
	.uni-toc-toggle { width: 36px; height: 36px; }
	.uni-toc-title { font-size: 1.05em; }
}

.uni-toc-title {
	font-weight: 700;
	color: var(--uni-toc-title);
	font-size: 1.05em;
}

.uni-toc-toggle {
	background: transparent;
	border: 0;
	padding: 4px 8px;
	cursor: pointer;
	color: var(--uni-toc-title);
	line-height: 1;
}

.uni-toc-toggle-icon::before {
	content: "▾";
	display: inline-block;
	transition: transform .2s ease;
}

.uni-toc-collapsed .uni-toc-toggle-icon::before,
.uni-toc[aria-expanded="false"] .uni-toc-toggle-icon::before {
	transform: rotate(-90deg);
}

/* legacy — 已由下方 grid 動畫取代 */

.uni-toc-list,
.uni-toc-sublist {
	margin: 0;
	padding-left: 1.5em;
}

.uni-toc-list {
	padding-left: 1.25em;
}

.uni-toc-item {
	margin: 4px 0;
}

.uni-toc-link {
	color: var(--uni-toc-link);
	text-decoration: none;
	transition: color .15s ease;
	word-break: break-word;
}

.uni-toc-link:hover,
.uni-toc-link:focus {
	color: var(--uni-toc-link-hover);
	text-decoration: underline;
}

.uni-toc-link.is-active {
	color: var(--uni-toc-link-hover);
	font-weight: 600;
}

/* Counter variants */
.uni-toc-counter-decimal { list-style: decimal; }
.uni-toc-counter-roman { list-style: upper-roman; }
.uni-toc-counter-none,
.uni-toc-counter-none .uni-toc-sublist { list-style: none; padding-left: 1em; }

/* ---- Positions ---- */

.uni-toc-pos-none {
	width: auto;
}

.uni-toc-pos-float-left {
	float: left;
	width: var(--uni-toc-width);
	max-width: 100%;
	margin: 0 1.5em 1em 0;
}

.uni-toc-pos-float-right {
	float: right;
	width: var(--uni-toc-width);
	max-width: 100%;
	margin: 0 0 1em 1.5em;
}

.uni-toc-pos-center {
	margin-left: auto;
	margin-right: auto;
	width: var(--uni-toc-width);
	max-width: 100%;
}

.uni-toc-pos-sticky-sidebar {
	position: sticky;
	top: var(--uni-toc-sticky-top);
	width: var(--uni-toc-width);
	max-width: 100%;
	max-height: calc(100vh - var(--uni-toc-sticky-top) - 20px);
	overflow: auto;
	float: right;
	margin: 0 0 1em 1.5em;
}

/* 在 sidebar widget 裡不要 float，讓它填滿 widget 寬度 */
.uni-toc-in-widget.uni-toc-pos-sticky-sidebar,
.uni-toc-in-widget.uni-toc-pos-none,
.uni-toc-in-widget {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1em 0;
}

/* 內層取消 sticky — sticky 由 JS 掛在 widget 外層 */
.uni-toc-in-widget.uni-toc-pos-sticky-sidebar {
	position: static;
	max-height: none;
	overflow: visible;
}

/* sticky 捲動條美化（套到 JS 掛 sticky 的那個元素） */
[style*="position: sticky"]::-webkit-scrollbar,
[style*="position:sticky"]::-webkit-scrollbar,
[style*="position: fixed"]::-webkit-scrollbar,
[style*="position:fixed"]::-webkit-scrollbar { width: 6px; }
[style*="position: sticky"]::-webkit-scrollbar-thumb,
[style*="position:sticky"]::-webkit-scrollbar-thumb,
[style*="position: fixed"]::-webkit-scrollbar-thumb,
[style*="position:fixed"]::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 3px; }

/* 被 JS 搬到 <body> 的 widget wrapper：別被主題 sidebar 的 margin 繼承干擾 */
body > .uni-toc-widget {
	box-sizing: border-box;
}

/* placeholder 佔位用：保留 layout 空間但不可見、不吃滑鼠事件 */
.uni-toc-sticky-placeholder {
	visibility: hidden !important;
	pointer-events: none !important;
}

@media (max-width: 768px) {
	.uni-toc-pos-float-left,
	.uni-toc-pos-float-right,
	.uni-toc-pos-sticky-sidebar {
		float: none;
		width: 100%;
		margin: 1.5em 0;
		position: static;
		max-height: none;
	}
	.uni-toc-widget:has(.uni-toc-pos-sticky-sidebar),
	.uni-toc-widget.is-sticky {
		position: static;
		max-height: none;
		overflow: visible;
	}
}

/* 文章內 TOC：當選「桌面靠 widget」時，桌面隱藏、手機顯示 */
@media (min-width: 769px) {
	.uni-toc-mobile-only { display: none !important; }
}

/* ==== Mobile FAB（浮動目錄按鈕 + 滑出抽屜） ==== */
/* 繞開 WP Rocket 的 Lazy Render Content — 強制一直渲染 */
.uni-toc-fab-root,
.uni-toc-fab-root * {
	content-visibility: visible !important;
	contain-intrinsic-size: auto !important;
}
/* 桌面隱藏整個 FAB（含浮動的 button/drawer/overlay，因為它們是 fixed 不受父層影響，用 .uni-toc-fab-root .xxx 一起隱） */
@media (min-width: 769px) {
	.uni-toc-fab-root,
	.uni-toc-fab-btn,
	.uni-toc-fab-drawer,
	.uni-toc-fab-overlay {
		display: none !important;
	}
}
@media (max-width: 768px) {
	body.uni-toc-has-fab .uni-toc-mobile-only,
	body.uni-toc-has-fab.uni-toc-fab-hide-inline .uni-toc:not(.uni-toc-fab-panel):not(.uni-toc-in-widget) {
		display: none !important;
	}
}

/* ==== FAB 抽屜：深色霧面玻璃 + H2 做 section 小標 + H3 做主項目（apple 風） ==== */
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-list,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 !important;
}
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist {
	padding-left: 0 !important;
	margin: 2px 0 14px !important;
}
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-item::before,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-item::marker {
	display: none !important;
	content: none !important;
}

/* H2：section 小標（灰色小字、大寫字距） */
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-list > .uni-toc-item.uni-toc-level-2 > .uni-toc-link,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-list > .uni-toc-item:not(.uni-toc-level-3):not(.uni-toc-level-4):not(.uni-toc-level-5):not(.uni-toc-level-6) > .uni-toc-link {
	display: block !important;
	padding: 14px 14px 6px !important;
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: rgba(235, 235, 245, 0.55) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
	text-shadow: none !important;
	line-height: 1.4 !important;
}
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-list > .uni-toc-item.uni-toc-level-2 > .uni-toc-link:hover {
	color: rgba(235, 235, 245, 0.75) !important;
	background: transparent !important;
}

/* H3+：主項目（白色大字、圓角 pill） */
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-level-3 .uni-toc-link,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-level-4 .uni-toc-link,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-level-5 .uni-toc-link,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-level-6 .uni-toc-link {
	display: block !important;
	padding: 12px 14px !important;
	margin: 2px 0 !important;
	border-radius: 12px !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em !important;
	background: transparent !important;
	border: 0 !important;
	text-transform: none !important;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease !important;
	-webkit-tap-highlight-color: transparent !important;
	word-break: break-word;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

/* hover：半透明白覆蓋（bg-white/20） */
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link:hover,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link:focus,
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link:active {
	background: rgba(255, 255, 255, 0.2) !important;
	color: #ffffff !important;
	outline: none !important;
	text-shadow: none !important;
}
/* current（scrollspy 對應的那一項）：實心白底 + 深字 */
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link.is-active {
	background: #ffffff !important;
	color: #262626 !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
	text-shadow: none !important;
}
.uni-toc-fab-drawer .uni-toc-fab-panel .uni-toc-sublist .uni-toc-link.is-active:hover {
	background: #f5f5f5 !important;
	color: #262626 !important;
}

/* 關閉按鈕 hover */
.uni-toc-fab-drawer .uni-toc-fab-close:hover,
.uni-toc-fab-drawer .uni-toc-fab-close:focus {
	background: rgba(255, 255, 255, 0.18) !important;
	outline: none !important;
}

/* 內部捲動條細緻化（深色版） */
.uni-toc-fab-panel::-webkit-scrollbar { width: 5px; }
.uni-toc-fab-panel::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.22);
	border-radius: 10px;
}
.uni-toc-fab-panel::-webkit-scrollbar-track { background: transparent; }

/* 如果瀏覽器不支援 backdrop-filter，回退到不透明深灰底，維持可讀性 */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.uni-toc-fab-drawer { background: #2a2a2d !important; }
}

.uni-toc-fab-btn {
	position: fixed;
	bottom: 20px;
	z-index: 9998;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	background: var(--uni-toc-link, #2563eb);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0,0,0,0.25), 0 2px 6px rgba(0,0,0,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
}
.uni-toc-fab-right .uni-toc-fab-btn { right: 18px; }
.uni-toc-fab-left .uni-toc-fab-btn { left: 18px; }
.uni-toc-fab-btn:hover,
.uni-toc-fab-btn:focus-visible {
	background: var(--uni-toc-link-hover, #1d4ed8);
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.3), 0 3px 8px rgba(0,0,0,0.2);
	outline: none;
}
.uni-toc-fab-btn:active { transform: translateY(0); }
.uni-toc-fab-icon { display: block; }

/* 開啟時換成 X icon 的小 hint（透過 class） */
.uni-toc-fab-root.is-open .uni-toc-fab-btn { transform: rotate(90deg); }

/* 半透明遮罩 */
.uni-toc-fab-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease;
	z-index: 9996;
}
.uni-toc-fab-root.is-open .uni-toc-fab-overlay {
	opacity: 1;
	visibility: visible;
}

/* 抽屜 */
.uni-toc-fab-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	width: min(88vw, 360px);
	background: var(--uni-toc-bg, #fff);
	color: var(--uni-toc-text, #374151);
	z-index: 9997;
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 30px rgba(0,0,0,0.25);
	transition: transform .3s cubic-bezier(.22,.61,.36,1);
	-webkit-overflow-scrolling: touch;
}
.uni-toc-fab-right .uni-toc-fab-drawer {
	right: 0;
	transform: translateX(100%);
}
.uni-toc-fab-left .uni-toc-fab-drawer {
	left: 0;
	transform: translateX(-100%);
}
.uni-toc-fab-root.is-open .uni-toc-fab-drawer {
	transform: translateX(0);
}

.uni-toc-fab-head {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid var(--uni-toc-border, #e5e7eb);
	font-weight: 600;
}
.uni-toc-fab-title {
	color: var(--uni-toc-title, #111827);
	font-size: 16px;
}
.uni-toc-fab-close {
	background: transparent;
	border: 0;
	color: var(--uni-toc-text, #374151);
	cursor: pointer;
	padding: 6px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-tap-highlight-color: transparent;
}
.uni-toc-fab-close:hover,
.uni-toc-fab-close:focus-visible {
	background: rgba(0,0,0,0.06);
	outline: none;
}

/* 抽屜內的 TOC：把 .uni-toc 的自帶 border / padding 拿掉，改貼邊 */
.uni-toc-fab-panel.uni-toc {
	border: 0;
	border-radius: 0;
	padding: 12px 16px;
	margin: 0;
	flex: 1 1 auto;
	overflow-y: auto;
	max-width: none;
	width: 100%;
	background: transparent;
}

/* 深色 / apple / tech theme 下抽屜背景也跟上 */
.uni-toc-fab-root .uni-toc-theme-dark + .uni-toc-fab-panel,
.uni-toc-fab-drawer .uni-toc-fab-panel.uni-toc-theme-dark,
.uni-toc-fab-drawer .uni-toc-fab-panel.uni-toc-theme-tech {
	color: #e5e7eb;
}

/* 點到抽屜中的 active 項強化 */
.uni-toc-fab-panel .uni-toc-link.is-active {
	font-weight: 700;
}

/* ---- Themes ---- */

/* default theme uses the base styles above */

.uni-toc-theme-minimal {
	border: 0;
	background: transparent;
	padding: 12px 0;
}

.uni-toc-theme-minimal .uni-toc-header {
	border-bottom: 1px solid var(--uni-toc-border);
	padding-bottom: 6px;
}

.uni-toc-theme-light {
	background: #f9fafb;
	border-color: #e5e7eb;
}

.uni-toc-theme-dark {
	background: #1f2937;
	border-color: #374151;
	color: #e5e7eb;
}
.uni-toc-theme-dark .uni-toc-title { color: #f9fafb; }
.uni-toc-theme-dark .uni-toc-link { color: #93c5fd; }
.uni-toc-theme-dark .uni-toc-link:hover { color: #bfdbfe; }
.uni-toc-theme-dark .uni-toc-toggle { color: #f9fafb; }

.uni-toc-theme-bordered {
	border-width: 2px;
	border-color: var(--uni-toc-link);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* custom theme — defers to CSS variables only, no overrides */

/* =======================================================
   Apple theme — 毛玻璃、細緻陰影、大圓角、流暢動畫
   ======================================================= */
.uni-toc-theme-apple {
	background: rgba(255, 255, 255, 0.72);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 16px;
	padding: 20px 22px;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, 0.04),
		0 8px 24px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.5);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang TC", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: -0.01em;
	color: #1d1d1f;
}

.uni-toc-theme-apple .uni-toc-header {
	padding-bottom: 12px;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.uni-toc-theme-apple .uni-toc-title {
	color: #1d1d1f;
	font-weight: 600;
	font-size: 1.02em;
	letter-spacing: -0.015em;
}

.uni-toc-theme-apple .uni-toc-toggle {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.04);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #1d1d1f;
	transition: background .2s ease;
}
.uni-toc-theme-apple .uni-toc-toggle:hover {
	background: rgba(0, 0, 0, 0.08);
}

.uni-toc-theme-apple .uni-toc-list,
.uni-toc-theme-apple .uni-toc-sublist {
	padding-left: 1.4em;
}

.uni-toc-theme-apple .uni-toc-item {
	margin: 6px 0;
}

.uni-toc-theme-apple .uni-toc-link {
	color: #1d1d1f;
	border-radius: 6px;
	padding: 3px 6px;
	margin-left: -6px;
	display: inline-block;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}
.uni-toc-theme-apple .uni-toc-link:hover,
.uni-toc-theme-apple .uni-toc-link:focus {
	background: rgba(0, 122, 255, 0.08);
	color: #0071e3;
	text-decoration: none;
}
.uni-toc-theme-apple .uni-toc-link.is-active {
	background: rgba(0, 122, 255, 0.12);
	color: #0071e3;
	font-weight: 600;
}

/* 深色模式自動切換（主題或系統偏好） */
@media (prefers-color-scheme: dark) {
	.uni-toc-theme-apple:not([data-scheme="light"]) {
		background: rgba(28, 28, 30, 0.72);
		border-color: rgba(255, 255, 255, 0.08);
		color: #f5f5f7;
		box-shadow:
			0 1px 2px rgba(0, 0, 0, 0.3),
			0 8px 24px rgba(0, 0, 0, 0.4),
			inset 0 1px 0 rgba(255, 255, 255, 0.06);
	}
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-title { color: #f5f5f7; }
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-header { border-color: rgba(255, 255, 255, 0.08); }
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-link { color: #f5f5f7; }
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-link:hover,
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-link.is-active {
		background: rgba(10, 132, 255, 0.18);
		color: #64b1ff;
	}
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-toggle { background: rgba(255, 255, 255, 0.08); color: #f5f5f7; }
	.uni-toc-theme-apple:not([data-scheme="light"]) .uni-toc-toggle:hover { background: rgba(255, 255, 255, 0.14); }
}

/* =======================================================
   Tech theme — 深色、霓虹 accent、線性漸層邊框
   ======================================================= */
.uni-toc-theme-tech {
	background:
		linear-gradient(180deg, rgba(18, 22, 36, 0.92), rgba(12, 15, 26, 0.96));
	border: 1px solid transparent;
	background-clip: padding-box;
	position: relative;
	border-radius: 14px;
	padding: 20px 22px;
	color: #c7d2fe;
	font-family: "SF Mono", ui-monospace, Menlo, Consolas, "PingFang TC", -apple-system, sans-serif;
	font-feature-settings: "tnum" 1;
	box-shadow:
		0 0 0 1px rgba(99, 102, 241, 0.12),
		0 10px 40px rgba(59, 130, 246, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* 漸層邊框 (用 ::before 做 1px gradient ring) */
.uni-toc-theme-tech::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background: linear-gradient(135deg, #60a5fa, #a78bfa 50%, #22d3ee);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
			mask-composite: exclude;
	pointer-events: none;
	opacity: 0.55;
}

.uni-toc-theme-tech .uni-toc-header {
	padding-bottom: 12px;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(148, 163, 184, 0.12);
	position: relative;
	z-index: 1;
}

.uni-toc-theme-tech .uni-toc-title {
	background: linear-gradient(90deg, #93c5fd, #c4b5fd);
	-webkit-background-clip: text;
			background-clip: text;
	color: transparent;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.95em;
}

.uni-toc-theme-tech .uni-toc-body {
	position: relative;
	z-index: 1;
}

.uni-toc-theme-tech .uni-toc-list,
.uni-toc-theme-tech .uni-toc-sublist {
	padding-left: 1.5em;
}

.uni-toc-theme-tech .uni-toc-item::marker {
	color: #60a5fa;
}

.uni-toc-theme-tech .uni-toc-link {
	color: #c7d2fe;
	padding: 3px 8px;
	margin-left: -8px;
	border-radius: 6px;
	border-left: 2px solid transparent;
	transition: color .18s ease, border-color .18s ease, background .18s ease, text-shadow .18s ease;
}
.uni-toc-theme-tech .uni-toc-link:hover,
.uni-toc-theme-tech .uni-toc-link:focus {
	color: #e0e7ff;
	background: rgba(99, 102, 241, 0.12);
	text-decoration: none;
	text-shadow: 0 0 12px rgba(165, 180, 252, 0.5);
}
.uni-toc-theme-tech .uni-toc-link.is-active {
	color: #a5f3fc;
	border-left-color: #22d3ee;
	background: rgba(34, 211, 238, 0.08);
	text-shadow: 0 0 10px rgba(34, 211, 238, 0.45);
	font-weight: 600;
}

.uni-toc-theme-tech .uni-toc-toggle {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: rgba(99, 102, 241, 0.12);
	color: #c7d2fe;
	transition: background .2s ease, color .2s ease;
}
.uni-toc-theme-tech .uni-toc-toggle:hover {
	background: rgba(99, 102, 241, 0.22);
	color: #e0e7ff;
}

.uni-toc-theme-tech .uni-toc-counter-decimal,
.uni-toc-theme-tech .uni-toc-sublist {
	color: #94a3b8;
}
