	.parent-shell {
		min-height: 78vh;
		background:
			radial-gradient(circle at 10% 5%, rgba(13,110,253,.14), transparent 28%),
			radial-gradient(circle at 90% 12%, rgba(255,193,7,.16), transparent 30%),
			linear-gradient(180deg, rgba(248,249,250,.8), transparent);
	}
	.parent-card {
		border: 1px solid var(--bs-border-color-translucent);
		border-radius: 22px;
		background: var(--bs-body-bg);
		box-shadow: 0 18px 50px rgba(15,23,42,.08);
	}
	.student-card {
		border: 1px solid rgba(13,110,253,.28);
		border-radius: 18px;
		padding: 1rem;
		background: linear-gradient(135deg, rgba(13,110,253,.08), rgba(255,193,7,.10));
		cursor: pointer;
		color: var(--bs-body-color);
	}
	.student-card.active {
		border-color: var(--bs-primary);
		box-shadow: 0 0 0 3px rgba(13,110,253,.16);
	}
	.timeline-row {
		border-bottom: 1px solid var(--bs-border-color-translucent);
		padding: .8rem 0;
	}
	.timeline-row:last-child {
		border-bottom: 0;
	}
	.parent-pre {
		max-height: 300px;
		overflow: auto;
		white-space: pre-wrap;
	}

	/* Dark mode 適配 — Bootstrap 5.3 `data-bs-theme="dark"` 切換時覆寫亮色硬編碼 */
	[data-bs-theme="dark"] .parent-shell {
		background:
			radial-gradient(circle at 10% 5%, rgba(13,110,253,.22), transparent 28%),
			radial-gradient(circle at 90% 12%, rgba(255,193,7,.18), transparent 30%),
			linear-gradient(180deg, rgba(33,37,41,.6), transparent);
	}
	[data-bs-theme="dark"] .parent-card {
		box-shadow: 0 18px 50px rgba(0,0,0,.5);
	}
	[data-bs-theme="dark"] .student-card {
		border-color: rgba(110,168,254,.38);
		background: linear-gradient(135deg, rgba(110,168,254,.16), rgba(255,193,7,.12));
	}
	[data-bs-theme="dark"] .student-card.active {
		border-color: #6ea8fe;
		box-shadow: 0 0 0 3px rgba(110,168,254,.28);
	}
