.pc-chip {
	--pc-bg: #FDDF82;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--pc-bg);
	color: #16161a !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: filter .15s ease;
}
.pc-chip:hover { filter: brightness(.96); }
.pc-chip:focus-visible { outline: 2px solid #16161a; outline-offset: 2px; }
.pc-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f0437a;
	flex: none;
}
.pc-chip.pc-is-dark { color: #fff !important; }
.pc-chip.pc-is-dark .pc-dot { background: #fff; }

/* ---------- Numbered H2 headings ---------- */
.pc-h2 { scroll-margin-top: 90px; }
.pc-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.9em;
	height: 1.5em;
	padding: 0 .35em;
	margin-right: .35em;
	border-radius: 6px;
	background: #f0437a;
	color: #fff;
	font-size: .62em;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
	vertical-align: .25em;
}

/* ---------- Table of contents ---------- */
.pc-toc {
	--pc-toc-cols: 2;
	--pc-pink: #f0437a;
	border: 1px solid #e6e6ea;
	border-radius: 22px;
	padding: 24px 24px 22px;
	margin: 1.5em 0 2em;
	background: #fff;
	color: #16161a;
	box-sizing: border-box;
}
.pc-toc-title {
	margin: 0 0 16px !important;
	padding: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.pc-toc-list {
	margin: 0 !important;
	padding: 0 0 0 1.9em !important;
	column-count: var(--pc-toc-cols);
	column-gap: 34px;
	list-style: decimal;
}
.pc-toc-list li {
	break-inside: avoid;
	margin: 0 0 12px !important;
	padding-left: 2px;
	font-size: 16px;
	line-height: 1.5;
}
.pc-toc-list li::marker {
	color: var(--pc-pink);
	font-weight: 500;
}
.pc-toc-list a {
	color: #16161a !important;
	text-decoration: underline !important;
	text-decoration-color: var(--pc-pink) !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 5px;
	box-shadow: none !important;
	transition: color .15s ease;
}
.pc-toc-list a:hover { color: var(--pc-pink) !important; }

@media (max-width: 640px) {
	.pc-toc { padding: 20px 18px 16px; border-radius: 18px; }
	.pc-toc-title { font-size: 19px; }
	.pc-toc-list { column-count: 1; }
	.pc-toc-list li { font-size: 15px; margin-bottom: 10px !important; }
}

/* ---------- Related posts ---------- */
.pc-related {
	border: 1px solid #e6e6ea;
	border-radius: 22px;
	padding: 22px 22px 8px;
	margin: 0 0 2em;
	background: #fff;
	color: #16161a;
	box-sizing: border-box;
}
.pc-related-title {
	margin: 0 0 16px !important;
	padding: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.pc-related-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.pc-related-list li {
	margin: 0 0 16px !important;
	padding: 0 !important;
}
.pc-related-list li::before { content: none !important; }
.pc-related-item {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #16161a !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.pc-related-thumb {
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 12px;
	overflow: hidden;
	background: #eee;
}
.pc-related-thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	margin: 0 !important;
	transition: transform .3s ease;
}
.pc-related-name {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.01em;
	min-width: 0;
}
.pc-related-item:hover .pc-related-name {
	text-decoration: underline;
	text-decoration-color: #f0437a;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.pc-related-item:hover .pc-related-thumb img { transform: scale(1.06); }

@media (prefers-reduced-motion: no-preference) {
	html:has(.pc-toc) { scroll-behavior: smooth; }
}
