.lamda-extra-toc--inline {
	position: static;
	margin: 0 0 24px;
}

.lamda-extra-toc--inline .lamda-extra-toc__list {
	max-height: none;
}

.lamda-extra-toc {
	--lamda-toc-glass: blur(18px) saturate(1.35);
	position: sticky;
	top: var(--lamda-toc-offset-top, 100px);
	margin: 0 0 24px;
	background: color-mix(in srgb, var(--lamda-toc-bg, #e8f1fa) 52%, transparent);
	border: 1px solid color-mix(in srgb, var(--lamda-toc-border, #b7cfe8) 48%, #ffffff);
	border-radius: var(--lamda-toc-radius, 18px);
	overflow: hidden;
	backdrop-filter: var(--lamda-toc-glass);
	-webkit-backdrop-filter: var(--lamda-toc-glass);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.88) inset,
		0 12px 32px color-mix(in srgb, var(--lamda-toc-active, #2969b2) 12%, transparent);
}

@supports not (background: color-mix(in srgb, white 50%, transparent)) {
	.lamda-extra-toc {
		background: rgba(255, 255, 255, 0.72);
		border-color: rgba(255, 255, 255, 0.8);
	}
}

.lamda-extra-toc--floating {
	z-index: 30;
	margin: 0;
	width: var(--lamda-toc-width, 260px);
	max-width: calc(100vw - 32px);
}

.lamda-extra-toc--floating .lamda-extra-toc__list {
	max-height: calc(100vh - var(--lamda-toc-offset-top, 100px) - 80px);
}

.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded) .lamda-extra-toc__title-text,
.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded) .lamda-extra-toc__list {
	display: none;
}

.lamda-extra-toc--collapsed .lamda-extra-toc__title {
	cursor: pointer;
}

.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded) .lamda-extra-toc__title {
	justify-content: center;
	padding: 12px;
}

.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded) .lamda-extra-toc__icon {
	width: 24px;
	height: 24px;
	flex-basis: 24px;
}

.lamda-extra-toc__title {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px 15px;
	background: color-mix(in srgb, var(--lamda-toc-title-bg, #2969b2) 86%, transparent);
	color: #fff;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	backdrop-filter: blur(12px) saturate(1.2);
	-webkit-backdrop-filter: blur(12px) saturate(1.2);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset;
}

@supports not (background: color-mix(in srgb, white 50%, transparent)) {
	.lamda-extra-toc__title {
		background: var(--lamda-toc-title-bg, #2969b2);
	}
}

.lamda-extra-toc__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	color: inherit;
}

.lamda-extra-toc__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.lamda-extra-toc__list {
	max-height: calc(100vh - var(--lamda-toc-offset-top, 100px) - 80px);
	overflow: auto;
	padding: 10px 8px;
	scrollbar-color: color-mix(in srgb, var(--lamda-toc-active, #2969b2) 45%, transparent) transparent;
}

.lamda-extra-toc__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lamda-extra-toc__item {
	margin: 0;
}

.lamda-extra-toc__item a {
	display: block;
	padding: 9px 12px;
	margin: 0 0 2px;
	color: var(--lamda-toc-link, #1d2327);
	text-decoration: none;
	line-height: 1.45;
	border-radius: 10px;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.lamda-extra-toc__item-h3 a {
	padding-left: 22px;
}

.lamda-extra-toc__item-h4 a {
	padding-left: 32px;
}

.lamda-extra-toc__item a:hover {
	background: color-mix(in srgb, var(--lamda-toc-active, #2969b2) 12%, transparent);
	color: var(--lamda-toc-active, #2969b2);
}

.lamda-extra-toc__item a:focus-visible {
	outline: 2px solid var(--lamda-toc-active, #2969b2);
	outline-offset: 2px;
}

.lamda-extra-toc__item a.is-active {
	background: linear-gradient(
		90deg,
		var(--lamda-toc-active, #2969b2) 0%,
		var(--lamda-toc-active, #2969b2) 36%,
		transparent 100%
	);
	color: var(--lamda-toc-active-link, #ffffff);
}

@supports not (background: color-mix(in srgb, white 50%, transparent)) {
	.lamda-extra-toc__item a:hover {
		background: rgba(41, 105, 178, 0.12);
	}
}

.lamda-extra-toc ::selection {
	background: color-mix(in srgb, var(--lamda-toc-active, #2969b2) 28%, transparent);
	color: #1d2327;
}

@media (prefers-reduced-motion: reduce) {
	.lamda-extra-toc,
	.lamda-extra-toc__item a {
		transition: none !important;
	}
}

/* Floating TOC below 1680px: icon only until expanded (avoids overlapping text). */
@media (max-width: 1679px) {
	.lamda-extra-toc--floating.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded) {
		position: fixed;
		width: 48px !important;
		max-width: 48px;
		margin: 0;
		visibility: visible !important;
		opacity: var(--lamda-toc-collapsed-opacity, 0.45);
		transition: opacity 0.25s ease;
	}

	.lamda-extra-toc--floating.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded):hover,
	.lamda-extra-toc--floating.lamda-extra-toc--collapsed:not(.lamda-extra-toc--expanded):focus-within {
		opacity: 1;
	}

	.lamda-extra-toc--floating.lamda-extra-toc--expanded {
		position: fixed;
		width: min(var(--lamda-toc-width, 260px), calc(100vw - 32px)) !important;
		max-width: calc(100vw - 32px);
		margin: 0;
		visibility: visible !important;
		opacity: 1;
	}
}
