/* ===== Mục lục (thu gọn mặc định) ===== */
.gpi-toc {
	--gpi-a: var(--gpi-accent, #4f46e5);
	margin: 1.25em 0 1.75em;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--gpi-a) 18%, #e5e7eb);
	border-left: 4px solid var(--gpi-a);
	border-radius: 12px;
	font-size: 15px;
	line-height: 1.45;
	overflow: hidden;
}
.gpi-toc__head {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 16px;
	cursor: pointer; list-style: none; user-select: none;
}
.gpi-toc__head::-webkit-details-marker { display: none; }
.gpi-toc__head::marker { content: ""; }
.gpi-toc__icon {
	flex: none; width: 36px; height: 36px; border-radius: 9px;
	background: color-mix(in srgb, var(--gpi-a) 10%, #fff);
	display: grid; place-content: center; gap: 4px;
}
.gpi-toc__icon i { display: block; width: 16px; height: 2px; border-radius: 2px; background: var(--gpi-a); }
.gpi-toc__icon i:nth-child(2) { width: 11px; }
.gpi-toc__title { font-weight: 700; color: #111827; }
.gpi-toc__count {
	font-size: 12px; font-weight: 600; color: var(--gpi-a);
	background: color-mix(in srgb, var(--gpi-a) 10%, #fff);
	padding: 2px 9px; border-radius: 999px;
}
.gpi-toc__chev {
	margin-left: auto; width: 9px; height: 9px;
	border-right: 2px solid #6b7280; border-bottom: 2px solid #6b7280;
	transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s ease;
}
.gpi-toc[open] .gpi-toc__chev { transform: rotate(-135deg) translate(-2px, -2px); }
.gpi-toc__head:hover .gpi-toc__title { color: var(--gpi-a); }

.gpi-toc__list {
	list-style: none !important; margin: 0 !important; padding: 4px 10px 12px !important;
	border-top: 1px solid #f0f1f4;
	max-height: min(60vh, 460px); overflow-y: auto;
}
.gpi-toc__item { margin: 0 !important; padding: 0 !important; }
.gpi-toc__item::before { content: none !important; }
.gpi-toc__item a {
	display: flex; gap: 12px; align-items: baseline;
	padding: 8px 10px; border-radius: 8px;
	color: #374151 !important; text-decoration: none !important;
}
.gpi-toc__item a:hover { background: color-mix(in srgb, var(--gpi-a) 8%, #fff); color: var(--gpi-a) !important; }
.gpi-toc__n { flex: none; min-width: 22px; font-size: 12px; font-weight: 700; color: var(--gpi-a); font-variant-numeric: tabular-nums; }
.gpi-toc__item--sub a { padding-left: 34px; font-size: 14px; color: #4b5563 !important; }
.gpi-toc__item--sub .gpi-toc__n { font-weight: 600; opacity: .8; }



