:root {
	--primary:    #1a5fb4;
	--primary-dk: #0d3d7a;
	--primary-lt: #e8f0fb;
	--accent:     #e67e22;
	--accent-lt:  #fef3e8;
	--bg:         #f4f7fc;
	--card-bg:    #ffffff;
	--text:       #1e2a3b;
	--text-muted: #6b7c93;
	--border:     #dce6f5;
	--radius:     12px;
	--shadow:     0 2px 12px rgba(26,95,180,.09);
	--shadow-md:  0 4px 24px rgba(26,95,180,.13);
}
body { font-family: 'Noto Sans SC', sans-serif; background: var(--bg); color: var(--text); }

/* Breadcrumb */
.page-breadcrumb {
	background: linear-gradient(135deg, var(--primary-dk) 0%, var(--primary) 100%);
	padding: 14px 0;
}
.page-breadcrumb .breadcrumb { margin: 0; }
.page-breadcrumb .breadcrumb-item,
.page-breadcrumb .breadcrumb-item a {
	color: rgba(255,255,255,.75); font-size: .85rem; text-decoration: none;
}
.page-breadcrumb .breadcrumb-item.active,
.page-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #fff; }
.page-breadcrumb .breadcrumb-item a:hover { color: #fff; }

.main-content { padding: 2.5rem 0 3.5rem; }

/* Page card */
.page-card {
	background: var(--card-bg);
	border-radius: var(--radius);
	box-shadow: var(--shadow-md);
	overflow: hidden;
}
.page-card-header {
	background: linear-gradient(135deg, var(--primary-dk), var(--primary));
	color: #fff;
	padding: 1.25rem 1.75rem;
}
.page-card-header h5 {
	font-family: 'Noto Serif SC', serif;
	font-size: 1.15rem; font-weight: 700; margin: 0;
}
.page-card-body { padding: 1.75rem; }

/* Course tag item */
.course-tag-item {
	display: flex; align-items: center; justify-content: space-between;
	background: var(--bg);
	border: 1.5px solid var(--border);
	border-radius: 10px;
	padding: .85rem 1rem;
	text-decoration: none;
	color: var(--text);
	height: 100%;
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.course-tag-item:hover {
	border-color: var(--primary);
	background: var(--primary-lt);
	box-shadow: 0 2px 10px rgba(26,95,180,.12);
	color: var(--primary);
}
.course-tag-name {
	font-size: .9rem; font-weight: 500;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.course-tag-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 28px; height: 20px; padding: 0 .45rem;
	background: var(--primary); color: #fff;
	border-radius: 50px; font-size: .72rem; font-weight: 700;
	flex-shrink: 0; margin-left: .5rem;
}
.course-tag-item:hover .course-tag-count { background: var(--primary-dk); }

/* Category icons decoration */
.tag-icon {
	width: 32px; height: 32px; border-radius: 8px;
	background: var(--primary-lt); color: var(--primary);
	display: flex; align-items: center; justify-content: center;
	font-size: .9rem; flex-shrink: 0; margin-right: .65rem;
}
.course-tag-item:hover .tag-icon { background: var(--primary); color: #fff; }

/* Stats strip */
.stats-strip {
	background: var(--primary-lt); border-radius: 8px;
	padding: .65rem 1rem; margin-bottom: 1.5rem;
	font-size: .82rem; color: var(--text-muted);
	display: flex; align-items: center; gap: .5rem;
}
.stats-strip strong { color: var(--primary); }

/* Pagination - 与页面配色统一 */
.pagination .page-link {
	color: var(--primary);
	border-color: var(--border);
	border-radius: 8px !important;
	margin: 0 3px;
	font-size: .875rem;
	min-width: 36px;
	text-align: center;
	background: var(--card-bg);
}
.pagination .page-item.active .page-link {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}
.pagination .page-item.disabled .page-link {
	color: var(--text-muted);
	background: var(--bg);
	border-color: var(--border);
}
.pagination .page-link:hover:not([aria-current]) {
	background: var(--primary-lt);
	border-color: var(--primary);
	color: var(--primary);
}