.pc-list {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 10px;
	padding: 10px;
}

.pc-col-12 {
	grid-column: span 12;
}

.pc-col-6 {
	grid-column: span 6;
}

.pc-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 14px;
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.pc-item {
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: var(--radius-xs);
	background: var(--surface-2);
	transition: transform .12s ease, background .2s ease, border-color .2s ease;
}

.pc-item:hover {
	transform: translateY(-1px);
	background: color-mix(in oklab, var(--surface-2) 85%, var(--brand) 15%);
	border-color: color-mix(in oklab, var(--border) 60%, var(--brand) 40%);
}

.pc-ico {
	width: 32px;
	height: 32px;
	display: inline-block;
	background: currentColor;
	-webkit-mask: var(--ico) center / contain no-repeat;
	mask: var(--ico) center / contain no-repeat;
	opacity: .95;
	transition: color .2s ease, transform .12s ease;
}

.pc-item .pc-ico {
	color: var(--text);
}

.pc-item:hover .pc-ico {
	color: var(--brand);
}

.pc-type {
	font-size: 12px;
	color: var(--muted);
	line-height: 1.2;
	margin-bottom: 2px;
}

.pc-name {
	font-weight: 700;
	color: var(--text);
	text-decoration: none;
}

.pc-name:hover {
	text-decoration: underline;
}

.pc-open {
	background: var(--surface);
	color: var(--text);
	border: 1px solid var(--border);
	padding: 8px 12px;
	border-radius: 12px;
	font-weight: 600;
	letter-spacing: .2px;
	text-decoration: none;
	transition: transform .08s ease, filter .2s ease, background .2s ease, border-color .2s ease;
	white-space: nowrap;
}

.pc-open:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
	background: var(--surface-2);
	border-color: color-mix(in oklab, var(--border) 60%, var(--brand) 40%);
}

@media (prefers-color-scheme: light) {
	html[data-theme="auto"] {
		--pc-icon-filter: none;
	}
}

html[data-theme="light"] {
	--pc-icon-filter: none;
}

.pc-img {
	width: 32px;
	height: 32px;
	filter: var(--pc-icon-filter);
	opacity: .95;
	transition: filter .2s ease;
}

.pc-item:hover .pc-img {
	filter: var(--pc-icon-filter) drop-shadow(0 0 0.2px color-mix(in oklab, var(--brand) 60%, transparent));
}

.pc-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

@media (max-width: 900px) {
	.pc-card {
		padding: 12px;
	}

	.pc-col-6 {
		grid-column: span 12;
	}
}

@media (max-width: 680px) {
	.pc-list {
		gap: 8px;
	}

	.pc-col-6 {
		grid-column: span 12;
	}

	.pc-item {
		grid-template-columns: 30px 1fr;
		grid-auto-rows: auto;
		gap: 10px;
		padding: 10px 12px;
		border-radius: var(--radius-xs);
	}

	.pc-ico,
	.pc-img {
		width: 28px;
		height: 28px;
	}

	.pc-body {
		align-self: center;
	}

	.pc-type {
		font-size: 11px;
		margin-bottom: 2px;
	}

	.pc-open {
		grid-column: 1 / -1;
		justify-self: stretch;
		text-align: center;
		padding: 9px 12px;
		border-radius: 10px;
	}

	.pc-item:hover {
		transform: none;
	}

	.pc-open:hover {
		transform: none;
	}
}

@media (max-width: 380px) {
	.section-title {
		font-size: 16px;
	}

	.pc-item {
		padding: 9px 10px;
		gap: 8px;
	}

	.pc-ico,
	.pc-img {
		width: 26px;
		height: 26px;
	}
}