.page-41 {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.4rem, 3vw, 2.4rem) clamp(1.4rem, 3vw, 2.4rem) clamp(3.6rem, 7vh, 5.4rem);
	gap: 1rem;
}

.page-41-body {
	flex: 1;
	min-height: 0;
	width: 100%;
	display: grid;
	grid-template-columns: 52fr 48fr;
	gap: clamp(0.9rem, 2vw, 1.3rem);
}

/* 左侧：大段总结文字（可内部滚动） */
.page-41-summary {
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.page-41-summary-text {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 1rem 1.1rem;
	border-radius: 1rem;
	background: rgba(255, 252, 246, 0.72);
	border: 1px solid rgba(31, 31, 31, 0.14);
	box-shadow: 0 18px 45px rgba(31, 31, 31, 0.08);
	backdrop-filter: blur(8px);
	scrollbar-width: thin;
	scrollbar-color: rgba(23, 72, 106, 0.28) transparent;
}

.page-41-summary-text::-webkit-scrollbar {
	width: 4px;
}

.page-41-summary-text::-webkit-scrollbar-thumb {
	background: rgba(23, 72, 106, 0.28);
	border-radius: 2px;
}

.page-41-lead {
	margin: 0 0 0.9rem;
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
	font-weight: 600;
	line-height: 1.58;
	color: #17486a;
}

.page-41-summary-text p {
	margin: 0 0 0.75rem;
	font-size: clamp(0.88rem, 1.15vw, 0.98rem);
	line-height: 1.72;
	opacity: 0.88;
}

.page-41-summary-text p:last-child {
	margin-bottom: 0;
}

/* 右侧：雷达图 + 时间轴控制 */
.page-41-radar {
	min-height: 0;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: clamp(1rem, 2vw, 1.3rem);
	border-radius: 1.3rem;
	background:
		linear-gradient(160deg, rgba(255, 255, 255, 0.82), rgba(230, 240, 245, 0.64)),
		radial-gradient(circle at top left, rgba(44, 109, 142, 0.12), transparent 48%);
	border: 1px solid rgba(23, 72, 106, 0.12);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 24px 56px rgba(31, 31, 31, 0.08);
}

.page-41-radar-canvas {
	flex: 1;
	min-height: 0;
	border-radius: 1rem;
	border: 1.5px dashed rgba(23, 72, 106, 0.28);
	background:
		radial-gradient(circle at center, rgba(255, 255, 255, 0.5), rgba(215, 229, 236, 0.28)),
		repeating-radial-gradient(
			circle at center,
			rgba(23, 72, 106, 0.08) 0,
			rgba(23, 72, 106, 0.08) 1px,
			transparent 1px,
			transparent 22px
		);
	display: grid;
	place-items: center;
	padding: 1.2rem;
}

.page-41-radar-canvas p {
	margin: 0;
	text-align: center;
	font-size: clamp(0.95rem, 1.5vw, 1.08rem);
	line-height: 1.65;
	opacity: 0.76;
}

.page-41-controls {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.62rem 0.9rem;
	border-radius: 0.9rem;
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid rgba(23, 72, 106, 0.1);
	box-shadow: 0 4px 14px rgba(23, 72, 106, 0.07);
	backdrop-filter: blur(6px);
}

.page-41-play-btn {
	flex-shrink: 0;
	width: 2.2rem;
	height: 2.2rem;
	border: 0;
	border-radius: 50%;
	background: linear-gradient(135deg, #17486a, #2c6d8e);
	color: #f7f4ea;
	font-size: 0.82rem;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 6px 16px rgba(23, 72, 106, 0.28);
}

.page-41-play-btn:hover,
.page-41-play-btn:focus-visible {
	transform: scale(1.1);
	box-shadow: 0 10px 22px rgba(23, 72, 106, 0.34);
	outline: none;
}

.page-41-timeline {
	flex: 1;
	-webkit-appearance: none;
	appearance: none;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(
		to right,
		#2c6d8e 0%,
		#2c6d8e calc((var(--pct, 0) * 1%)),
		rgba(23, 72, 106, 0.2) calc((var(--pct, 0) * 1%))
	);
	cursor: pointer;
	outline: none;
}

.page-41-timeline::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 50%;
	background: #17486a;
	box-shadow: 0 2px 8px rgba(23, 72, 106, 0.38);
	transition: transform 0.18s ease;
	cursor: grab;
}

.page-41-timeline::-webkit-slider-thumb:hover {
	transform: scale(1.22);
}

.page-41-timeline::-moz-range-thumb {
	width: 1.05rem;
	height: 1.05rem;
	border: 0;
	border-radius: 50%;
	background: #17486a;
	box-shadow: 0 2px 8px rgba(23, 72, 106, 0.38);
	transition: transform 0.18s ease;
	cursor: grab;
}

.page-41-timeline::-moz-range-progress {
	background: #2c6d8e;
	border-radius: 2px;
}

.page-41-year-label {
	flex-shrink: 0;
	min-width: 2.8rem;
	text-align: right;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #17486a;
}

#radarTimeline {
	--pct: 0;
}

.page-41-hint {
	margin: 0;
	font-size: clamp(0.88rem, 1.1vw, 0.96rem);
	letter-spacing: 0.03em;
	opacity: 0.72;
	text-align: center;
}

.team-footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: var(--footer-height);
	display: grid;
	place-items: center;
	padding: 0.8rem 1.2rem;
	background:
		linear-gradient(180deg, rgba(19, 51, 74, 0.92), rgba(11, 28, 41, 0.98)),
		radial-gradient(circle at top, rgba(255, 255, 255, 0.12), transparent 55%);
	color: #f5f1e8;
	transform: translateY(100%);
	transition: transform 0.56s ease;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 -16px 36px rgba(11, 28, 41, 0.18);
	z-index: 3;
}

.team-footer.revealed {
	transform: translateY(0);
}

.team-footer p {
	margin: 0;
	font-size: clamp(0.9rem, 1.6vw, 1.05rem);
	letter-spacing: 0.08em;
	text-align: center;
}

@media (max-width: 980px) {
	.page-41-body {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.page-41 {
		padding-bottom: clamp(4.2rem, 10vh, 6rem);
	}
}