.shen-sources {
	--shen-src-org-width: 240px;
	padding: 30px 34px;
	border: 1px solid #e6e9f0;
	border-radius: 8px;
	background-color: #fff;
}

.shen-sources__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.shen-sources__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #1d4ed8;
	font-size: 20px;
	line-height: 1;
}
.shen-sources__icon i {
	display: block;
	line-height: 1;
	font-style: normal;
}
.shen-sources__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	stroke: none;
}

/* 提升优先级：小部件可能位于文章正文内，避免继承正文标题的边距与下边框 */
.shen-sources .shen-sources__heading,
.shen-article-content .shen-sources .shen-sources__heading {
	margin: 0;
	padding: 0;
	border: 0;
	color: #1a3a7a;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
}

.shen-sources__desc {
	margin-bottom: 20px;
	color: #5a6478;
	font-size: 13px;
	line-height: 1.8;
}
.shen-sources .shen-sources__desc > :first-child { margin-top: 0; }
.shen-sources .shen-sources__desc > :last-child { margin-bottom: 0; }
.shen-sources .shen-sources__desc p {
	margin: 0 0 6px;
	text-align: left;
}

.shen-sources__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: shen-src;
}
.shen-sources__row {
	margin: 0;
	padding: 0;
	list-style: none;
}

.shen-sources__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 14px;
	border-top: 1px solid #eef0f4;
	border-radius: 4px;
	color: inherit;
	text-decoration: none;
	transition: background-color .18s ease;
}
/* 首行不需要上分隔线 */
.shen-sources__row:first-child .shen-sources__item {
	border-top: 0;
}
.shen-sources__item:hover {
	background-color: #f7f9fc;
}
.shen-sources__item.is-static {
	cursor: default;
}
.shen-sources__item:focus-visible {
	outline: 2px solid #1d4ed8;
	outline-offset: -2px;
}

/* 序号 */
.shen-sources.is-numbered .shen-sources__row { counter-increment: shen-src; }
.shen-sources.is-numbered .shen-sources__item::before {
	content: counter(shen-src) ".";
	flex: 0 0 auto;
	min-width: 1.4em;
	color: #aeb5c0;
	font-size: 13px;
}

.shen-sources__org {
	flex: 0 0 var(--shen-src-org-width);
	max-width: var(--shen-src-org-width);
	color: #5a6478;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: break-word;
}

.shen-sources__main {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex: 1 1 auto;
	min-width: 0;
}

.shen-sources__title {
	color: #2b3348;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: break-word;
	transition: color .18s ease;
}

.shen-sources__note {
	color: #98a1b0;
	font-size: .86em;
	line-height: 1.6;
}

.shen-sources__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #98a1b0;
	font-size: 15px;
	line-height: 1;
	transition: color .18s ease, transform .18s ease;
}
.shen-sources__arrow svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.shen-sources__item:hover .shen-sources__arrow {
	transform: translate(2px, -2px);
}

/* 窄屏：机构名与标题上下排列 */
@media (max-width: 767px) {
	.shen-sources__item {
		align-items: flex-start;
		gap: 10px;
		padding: 13px 10px;
		flex-wrap: wrap;
	}
	.shen-sources__org {
		flex: 1 1 100%;
		max-width: 100%;
		font-weight: 600;
	}
	.shen-sources__main {
		flex: 1 1 auto;
	}
	.shen-sources__arrow {
		align-self: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shen-sources__item,
	.shen-sources__title,
	.shen-sources__arrow { transition: none; }
	.shen-sources__item:hover .shen-sources__arrow { transform: none; }
}
