.pcsm-map {
	--pcsm-border: #e2e8f0;
	--pcsm-muted: #64748b;
	--pcsm-surface: #f8fafc;
	margin-block: 2rem;
}

.pcsm-index {
	margin-bottom: 2.5rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--pcsm-border);
	border-radius: 0.5rem;
	background: var(--pcsm-surface);
}

.pcsm-index__title {
	margin: 0 0 0.75rem;
	font-weight: 700;
}

.pcsm-index__list {
	columns: 3 15rem;
	column-gap: 2rem;
	margin: 0;
	padding-left: 1.25rem;
}

.pcsm-index__list .pcsm-index__list {
	columns: auto;
	margin-top: 0.35rem;
}

.pcsm-index__list li {
	break-inside: avoid;
	margin-bottom: 0.4rem;
}

.pcsm-category {
	scroll-margin-top: 2rem;
	margin-block: 0 2.25rem;
}

.pcsm-category__title {
	margin-bottom: 0.75rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--pcsm-border);
}

.pcsm-category__count,
.pcsm-posts__date {
	color: var(--pcsm-muted);
	font-size: 0.85em;
	font-weight: 400;
}

.pcsm-posts {
	margin-top: 0;
	padding-left: 1.4rem;
}

.pcsm-posts__item {
	margin-bottom: 0.45rem;
}

.pcsm-category__children {
	margin-top: 1.5rem;
	padding-left: clamp(0.75rem, 3vw, 2rem);
	border-left: 2px solid var(--pcsm-border);
}

.pcsm-empty {
	color: var(--pcsm-muted);
	font-style: italic;
}

@media (max-width: 600px) {
	.pcsm-index__list {
		columns: 1;
	}

	.pcsm-category__children {
		padding-left: 0.75rem;
	}
}

