.tocnest {
	--tocnest-background: #f0fdfa;
	--tocnest-border: #99c9c2;
	--tocnest-title-color: #134e4a;
	--tocnest-link: #0f665f;
	--tocnest-hover: #92400e;
	--tocnest-visited: #55516c;
	box-sizing: border-box;
	background: var(--tocnest-background);
	border: 1px solid var(--tocnest-border);
	border-radius: 0.65rem;
	color: var(--tocnest-title-color);
	padding: 1.2rem 1.4rem;
	margin: 1.5rem 0;
	max-width: 100%;
	width: var(--tocnest-width, auto);
	clear: both;
	font-family: inherit;
}

.tocnest--dark {
	--tocnest-background: #162c2a;
	--tocnest-border: #3e6d67;
	--tocnest-title-color: #f0fdfa;
	--tocnest-link: #a7f3d0;
	--tocnest-hover: #fcd34d;
	--tocnest-visited: #ddd6fe;
}

.tocnest--white {
	--tocnest-background: #fff;
	--tocnest-border: #d1d5db;
	--tocnest-title-color: #1f2937;
	--tocnest-link: #0f665f;
}

.tocnest--transparent {
	--tocnest-background: transparent;
}

.tocnest--inherit {
	--tocnest-background: transparent;
	--tocnest-border: currentColor;
	--tocnest-title-color: inherit;
	--tocnest-link: inherit;
	--tocnest-hover: inherit;
	--tocnest-visited: inherit;
}

.tocnest--left {
	float: left;
	margin-right: 1.5rem;
	clear: none;
}

.tocnest--right {
	float: right;
	margin-left: 1.5rem;
	clear: none;
}

.tocnest--center {
	margin-inline: auto;
	width: var(--tocnest-width, fit-content);
}

.tocnest__header {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.6rem;
}

.tocnest .tocnest__title {
	margin: 0;
	font-size: var(--tocnest-title-size, 1.1em);
	font-weight: var(--tocnest-title-weight, 700);
	color: var(--tocnest-title-color);
	line-height: 1.5;
}

.tocnest__toggle {
	font: inherit;
	font-size: 0.85em;
	color: var(--tocnest-link);
	background: transparent;
	border: 1px solid var(--tocnest-border);
	border-radius: 0.25rem;
	padding: 0.15rem 0.6rem;
	cursor: pointer;
}

.tocnest [hidden] {
	display: none !important;
}

.tocnest .tocnest__items {
	font-size: var(--tocnest-items-size, 1em);
}

.tocnest ol,
.tocnest ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tocnest li {
	margin: 0.35em 0;
	padding: 0;
	line-height: 1.6;
}

.tocnest li ol,
.tocnest li ul {
	padding-inline-start: 1.35em;
}

.tocnest a {
	color: var(--tocnest-link);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.tocnest a:visited {
	color: var(--tocnest-visited);
}

.tocnest a:hover,
.tocnest a[aria-current] {
	color: var(--tocnest-hover);
	text-decoration: underline;
}

.tocnest a:focus-visible,
.tocnest button:focus-visible {
	outline: 3px solid #f59e0b;
	outline-offset: 3px;
}

.tocnest__number {
	font-variant-numeric: tabular-nums;
	margin-inline-end: 0.25em;
}

@media (max-width: 480px) {
	.tocnest--left,
	.tocnest--right {
		float: none;
		margin-inline: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tocnest,
	.tocnest * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
