/**
 * DocSync Table of Contents Styles
 *
 * Standalone styles for the TOC sidebar. Uses --docsync-* design tokens
 * with sensible fallbacks.
 */

.docsync-toc {
	position: sticky;
	top: 2rem;
	padding: var(--docsync-space-md, 0.75rem);
	background: var(--docsync-background-card, #ffffff);
	border: 1px solid var(--docsync-border-light, #e9ecef);
	border-radius: 8px;
}

.docsync-toc-title {
	margin: 0 0 var(--docsync-space-md, 0.75rem);
	font-size: var(--docsync-font-size-sm, 0.875rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--docsync-muted-text-color, #868e96);
}

.docsync-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.docsync-toc-item {
	margin: 0;
	padding: 0;
}

.docsync-toc-item.docsync-toc-nested {
	padding-left: 1rem;
}

.docsync-toc-link {
	display: block;
	padding: 0.35rem 0.75rem;
	margin: 1px 0;
	font-size: var(--docsync-font-size-sm, 0.875rem);
	line-height: 1.5;
	color: var(--docsync-text-secondary, #495057);
	text-decoration: none;
	border-left: 2px solid transparent;
	border-radius: 0 4px 4px 0;
	transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.docsync-toc-link:hover {
	color: var(--docsync-accent-strong, #0066cc);
	background: var(--docsync-accent-subtle, #e6f0fa);
}

.docsync-toc-link.docsync-toc-active {
	color: var(--docsync-accent-strong, #0066cc);
	border-left-color: var(--docsync-accent-strong, #0066cc);
	font-weight: 500;
}
