/* ============================================================
   Aether TOC (Table of Contents) — Material Design 3 Style
   ============================================================ */

/* ---- 平滑滚动由 JS 控制 #S3-Body 内滚动，不设全局 scroll-behavior ---- */

/* ---- 目录容器 ---- */
#table_of_contents__thread {
	float: right;
	max-width: 280px;
	margin: 0 0 1rem 1.5rem;
	z-index: 2;
}

#table_of_contents__thread > details {
	background: var(--md3-surface-container-low, var(--bs-tertiary-bg));
	border: 1px solid var(--md3-outline-variant, var(--bs-border-color));
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	transition: box-shadow .2s ease;
}

#table_of_contents__thread > details[open] {
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

/* ---- Summary / 标题栏 ---- */
#table_of_contents__thread > details > summary {
	padding: .625rem 1rem;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--md3-on-surface, var(--bs-body-color));
	background: var(--md3-surface-container, var(--bs-tertiary-bg));
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: .5rem;
	user-select: none;
	transition: background .15s ease;
}

#table_of_contents__thread > details > summary::-webkit-details-marker,
#table_of_contents__thread > details > summary::marker {
	display: none;
	content: '';
}

#table_of_contents__thread > details > summary::before {
	content: '\f0ca'; /* la-list-ul */
	font-family: 'Line Awesome Free';
	font-weight: 900;
	font-size: .875rem;
	color: var(--md3-primary, var(--bs-primary));
}

#table_of_contents__thread > details > summary::after {
	margin-left: auto;
	color: var(--md3-on-surface-variant, var(--bs-secondary-color));
	transform: rotate(0deg);
	transition: transform .2s ease;
}

#table_of_contents__thread > details[open] > summary::after {
	transform: rotate(180deg);
}

#table_of_contents__thread > details > summary:hover {
	background: var(--md3-surface-container-high, rgba(0,0,0,.06));
}

/* ---- 目录内容区 ---- */
#table_of_contents__thread .accordion-body {
	padding: .5rem 0;
}

.table_of_contents {
	max-height: 50vh;
	overflow-y: auto;
	scrollbar-width: thin;
}

.table_of_contents::-webkit-scrollbar {
	width: 4px;
}

.table_of_contents::-webkit-scrollbar-thumb {
	background: var(--md3-outline-variant, var(--bs-border-color));
	border-radius: 2px;
}

/* ---- 目录列表项 ---- */
.table_of_contents ol {
	margin: 0;
	padding: 0;
}

.table_of_contents li {
	list-style: none;
}

.table_of_contents li a {
	display: block;
	padding: .375rem 1rem;
	font-size: .8125rem;
	line-height: 1.4;
	color: var(--md3-on-surface-variant, var(--bs-secondary-color));
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
	border-left: 3px solid transparent;
}

.table_of_contents li a:hover {
	background: var(--md3-surface-container-high, rgba(0,0,0,.06));
	color: var(--md3-primary, var(--bs-primary));
	border-left-color: var(--md3-primary, var(--bs-primary));
}

.table_of_contents li a:active {
	background: var(--md3-surface-container-highest, rgba(0,0,0,.1));
}

/* 层级缩进 */
.table_of_contents li.item-h3 a { padding-left: 1.5rem; }
.table_of_contents li.item-h4 a { padding-left: 2rem; }
.table_of_contents li.item-h5 a { padding-left: 2.5rem; }
.table_of_contents li.item-h6 a { padding-left: 3rem; }

/* 编号前缀 */
.toc-prefix {
	color: var(--md3-on-surface-variant, var(--bs-secondary-color));
	font-variant-numeric: tabular-nums;
	margin-right: .25rem;
}

/* ---- 帖内标题锚点偏移 ---- */
.post-content .message [id^="index-"] {
	scroll-margin-top: 1rem;
}

/* ---- 响应式 ---- */
@media (max-width: 575.98px) {
	#table_of_contents__thread {
		float: none;
		max-width: 100%;
		margin: 0 0 1rem 0;
	}
}
