body {
	background: #fff;
	font-family: "Microsoft YaHei", Arial, sans-serif;
	margin: 0;
	padding: 0;
}
.mainbox {
	display: flex;
	align-items: flex-start;
	margin: 40px 0 0 60px;
	justify-self: center;
}
.school-title {
	writing-mode: vertical-lr;        
	font-size: 44px;
	color: #226eb5;
	font-weight: 540;
	letter-spacing: 14px;
	margin-right: 150px;
	line-height: 1.16;
	position: relative;
	user-select: none;
	top: 850px;
}
.school-title::after{
	content: "";
	position: absolute;
	left: 60px;
	top: 166px;
	width: 150px;
	height: 0;
	border-top: 3px solid #276eb6;
	z-index: 2;
}
.treeroot {
	position: relative;
	padding-left: 56px;
}
.treeroot::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 22px;
	bottom: 0;
	width: 3px;
	background: #226eb5;
	z-index: 0;
	height: calc(100% - 121px);
}
.tree-ul {
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	z-index: 2;
}
.tree-li {
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-bottom: 5px;

}
.tree-li:last-child { margin-bottom: 0; }

/* 1. 学院到主干的横线 */
.faculty-row {
	position: relative;
	min-width: 220px;
	display: flex;
	align-items: center;
	height: 46px;
}
.faculty-row::before {
	content: "";
	position: absolute;
	left: -50px;
	top: 50%;
	transform: translateY(-50%);
	height: 0;
	width: 50px;
	border-top: 3px solid #226eb5;
	z-index: 2;
}
.faculty-row::after{
	content: "";
	position: absolute;
	right: -45px;
	top: 23px;
	width: 45px;
	height: 0;
	border-top: 3px solid #276eb6;
	z-index: 2;
}
.faculty-bg {
	background: #f2f2f1;
	color: #226eb5;
	font-size: 18px;
	font-weight: bold;
	padding: 3px 30px 3px 27px;
	min-width: 200px;
	min-height: 25px;
	display: flex;
	align-items: center;
	box-shadow: 0 0 0 0 #0001;
	user-select: none;
	justify-content: center;
}
/* 2. 学院到专业块横线（细浅蓝色） */
.major-block {
	position: relative;
	display: flex;
	align-items: flex-start;
	margin-left: 0;

}

/* 3. 专业块左侧竖线 */
.major-ul {
	display: flex;
	flex-direction: column;
	padding-left:35px;
	padding-top:7px;

	margin-left: 45px;
	min-width: 340px;
	background: transparent;
	position: relative;
}
.major-ul::before{
	content: "";
	position: absolute;
	left: 0;
	/* 调整 top 和 height 控制显示哪一段 */
	top: 26px;   /* 距顶部 30% */
	height: calc(100% - 42px); /* 占整体高度的 40% */
	width: 3px;  /* 边框粗细 */
	background: #276eb6; /* 边框颜色 */

}
.major-li {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	position: relative;
	min-height: 32px;
}
 .major-li::before { 
	content: "";
	position: absolute;
	left: -35px;
	top: 50%;
	height: 3px;
	width: 35px;
	background: #276eb6;
	z-index: 2;
 }
.major-li:last-child { margin-bottom: 0; }
.major-bg {
	background: #f2f2f1;
	
	font-size: 17px;
	padding: 2px 24px 2px 18px;
	border-radius: 7px;
	min-width: 162px;
	min-height: 28px;
	display: flex;
	align-items: center;
	font-weight: 550;
	box-shadow: 0 0 0 0 #0001;
	user-select: none;
}
.major-bg a,
.major-bg a:hover,
.major-bg a:active{
	text-decoration: none;
	color: #226eb5;
}
.major-li .note {
	color: #15a4dc!important;
	font-size: 0.98em;
	margin-left: 2px;
}

/* 响应适配调整（移动端可适当缩放） */
@media (max-width: 900px) {
	.mainbox { flex-direction: column; margin: 12px 0 0 12px; }
	.school-title { font-size: 30px; margin-right: 0; margin-bottom: 12px;}
	.faculty-bg { font-size: 18px; min-width: 90px; padding: 3px 12px 3px 11px;}
	.major-bg { font-size: 15px; min-width: 86px; padding: 2px 10px 2px 8px;}
	.major-ul { padding-left: 14px; min-width: 120px;}
}