

:root {
	--gb-primary: #e9b10a;
	--gb-primary-dark: #cf9c07;
	--gb-title: #595959;
	--gb-text: #676767;
	--gb-muted: #828282;
	--gb-bg-soft: #f5f6f7;
}

html { -webkit-font-smoothing: antialiased; }
body { background: #ffffff; }
::selection { background: var(--gb-primary); color: #fff; }


.build {
	background: linear-gradient(135deg, #c98f04 0%, #e9b10a 45%, #f6c623 100%);
}
.build-left h1 { color: #fff; letter-spacing: 1px; }
.build-left h1 span { color: #171717; font-weight: 700; }
.build-left h2 { color: #fff; letter-spacing: 1px; }
.build-left p { color: rgba(255, 255, 255, 0.9); }
.build-right a {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 30px;
	padding: 14px 30px;
	font-size: 20px;
	letter-spacing: 1px;
	backdrop-filter: blur(2px);
}
.build-right a:hover {
	background: #fff;
	color: #b8860b;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	text-decoration: none;
}

/* ---------------- Banner ---------------- */
.banner { padding-bottom: 1em; }
.banner .callbacks_container {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.banner-1, .banner-2, .banner-3 {
	background-size: cover !important;
	background-position: center;
}

/* ---------------- ---------------- */
.about-main h3,
#genelibsgenome h3,
#genelibsfunctionalgenome h3,
#genelibsplatform h3,
.work-top h3 {
	color: var(--gb-title);
	text-align: center;
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 1.4em !important;
	font-weight: 600;
}
.about-main h3::after,
#genelibsgenome h3::after,
#genelibsfunctionalgenome h3::after,
#genelibsplatform h3::after,
.work-top h3::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #f2c14e, var(--gb-primary-dark));
}

/* ----------------  ---------------- */
.about { background: #fff; }
.about-main h5 {
	color: var(--gb-text);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.95em;
	text-align: justify;
}
.about-text-left {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
	padding: 22px 18px;
	transition: transform .3s ease, box-shadow .3s ease;
}
.about-text-left:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.about-text-left img { border-radius: 8px; }
.about-text-left h5 { color: var(--gb-title); font-weight: 600; }

/* */
@media (min-width: 769px) {
	.about-text { display: flex; flex-wrap: wrap; gap: 20px; }
	.about-text .col-md-4 { width: calc(33.3333% - 13.4px); float: none; display: flex; }
	.about-text-left {
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	.about-text-left img { height: 190px; object-fit: cover; }
	.about-text-left p { flex: 1; }
}


#genelibsgenome h4,
#genelibsfunctionalgenome h4,
#genelibsplatform h4 {
	color: var(--gb-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 2em;
	text-align: justify;
}

#genelibsplatform h4 {
	position: relative;
	padding-left: 20px;
	text-align: left;
}
#genelibsplatform h4::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 12px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gb-primary);
}


.design { background: var(--gb-bg-soft); }
.design-text {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	padding: 2.4em 1.2em;
	transition: transform .3s ease, box-shadow .3s ease;
}
.design-text:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}
.design-text h3 { color: var(--gb-title); font-weight: 600; }
.design-text p { color: var(--gb-muted); }


.work { background: #fff; }
.work-bottom {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
	padding: 1.4em 0;
}
.work-mian p, .work-one p { color: var(--gb-title); }
.work-mian p span, .work-one p span { color: var(--gb-muted) !important; }


.project { background: var(--gb-bg-soft); border-radius: 10px; }
.item img { border-radius: 6px; }


.clients { background: #fff; }
.clients-top h3 { color: var(--gb-title); }


/* ---------------- 手机端导航（与 ai.genelibs.org 移动端方案一致） ---------------- */
#menu_toggle { display: none; }

@media (max-width: 900px) {
	html, body { overflow-x: hidden; }
	#main_head_box {
		position: sticky;
		top: 0;
		z-index: 9999;
		background: #fff;
		box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08);
	}
	#main_head_box #menu_wrap {
		width: 100%;
		height: auto;
		padding: 0;
		position: relative;
		min-height: 54px;
		box-sizing: border-box;
	}
	/* 与 ai.genelibs.org 移动端方案一致；选择器必须用 3 个 ID，
	   否则压不过 style.css 桌面端 #main_head_box #menu_wrap #menu_logo 等的规则 */
	#menu_toggle {
		display: flex;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
		width: 34px;
		height: 34px;
		padding: 0;
		border: 1px solid #e5e5e5;
		border-radius: 6px;
		background: #fff;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		cursor: pointer;
		box-sizing: border-box;
		z-index: 3;
		text-decoration: none;
		outline: none;
	}
	#menu_toggle span {
		display: block;
		width: 18px;
		height: 2px;
		background: #555;
		margin: 0;
		border-radius: 2px;
	}
	#menu_toggle:hover span { background: #F45551; }
	#main_head_box #menu_wrap #menu_logo {
		width: auto;
		height: 54px;
		line-height: normal;
		margin: 0 auto;
		float: none;
		text-align: center;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#main_head_box #menu_wrap #menu_logo a { display: inline-flex; align-items: center; }
	#main_head_box #menu_wrap #menu_logo img {
		max-height: 38px;
		max-width: 100%;
		width: auto;
		height: auto;
		margin: 0;
		display: inline-block;
		vertical-align: middle;
	}
	#main_head_box #menu_wrap #menu_nav {
		display: none;
		float: none;
		width: 100%;
		height: auto;
		margin: 0;
		margin-left: 0;
		background: #fff;
		border-top: 1px solid #f0f0f0;
		position: absolute;
		top: 54px;
		left: 0;
		z-index: 999;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
		clear: both;
	}
	#main_head_box #menu_wrap #menu_nav.show_m { display: block; }
	#main_head_box #menu_wrap #menu_nav ul {
		list-style: none;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	#main_head_box #menu_wrap #menu_nav ul li {
		float: none;
		display: block;
		width: 100%;
		line-height: 44px;
		padding: 0 14px;
		text-align: left;
		border-bottom: 1px solid #f5f5f5;
	}
	#main_head_box #menu_wrap #menu_nav ul li a {
		display: block;
		width: 100%;
		font-size: 14px;
		color: #2b2b2b;
	}
	#main_head_box #menu_wrap #menu_nav ul li:hover {
		background: #fafafa;
		border-bottom: 1px solid #f5f5f5;
	}
	#main_head_box #mainbut {
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		float: none;
		z-index: 3;
	}
	#main_head_box #mainbut p.tiy {
		display: inline-block !important;
		margin: 0;
		padding: 5px 10px;
		background-color: #F88E8B;
		color: #fff;
		border-radius: 4px;
		font-size: 12px;
		line-height: 1.4;
		white-space: nowrap;
		box-sizing: border-box;
	}
	/* “登录系统”链接：所有状态（含已访问）强制白字。
	   修复旧规则缺陷：p.tiy a 基础色为 #000，而 :visited 选择器误写为
	   div#maincontent 作用域，导致已访问链接在页头回退为黑色。 */
	#main_head_box #mainbut p.tiy a,
	#main_head_box #mainbut p.tiy a:link,
	#main_head_box #mainbut p.tiy a:visited,
	#main_head_box #mainbut p.tiy a:hover,
	#main_head_box #mainbut p.tiy a:active,
	#main_head_box #mainbut p.tiy a:focus {
		color: #fff;
		text-decoration: none;
	}

	/* 中部内容显示全：覆盖全局样式中的定宽溢出 */
	.about-text-left { margin-bottom: 14px; }
	.design-text { margin: 6px 0 14px; }

	.build, .build .container, .banner, .about, .design, .work, .project, .clients,
	.touch, .footer { width: auto; min-width: 0; max-width: 100%; }
	.container { width: 100% !important; max-width: 100%; padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
	img { max-width: 100%; height: auto; }
	/* 所有可能的定宽内容容器强制自适应 */
	.about-main, .design-main, .work-bottom, .clients-bottom, .touch-main,
	.about-main *, .design-main * {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* 金黄/数据库特点 横幅：标题整行、按钮整行水平并排不换行 */
	.build-left, .build-right { width: 100%; float: none; text-align: left; }
	.build-left h2, .build-left h1 { font-size: 20px; line-height: 1.5; margin-bottom: 8px; }
	/* 覆盖 style.css 640px 断点的 height:22px + overflow:hidden，避免描述文字被截断 */
	.build-left p { font-size: 14px; line-height: 1.8; margin: 0 0 6px; height: auto; overflow: visible; }
	.build-right { padding-top: 10px; }
	.build-right a {
		display: inline-block;
		width: auto;
		padding: 8px 22px;
		margin: 4px 10px 4px 0;
		font-size: 15px;
		line-height: 1.4;
		white-space: nowrap;
		text-align: center;
	}
	/* Banner 高度随屏宽等比缩放，避免小屏过高或文字区被压 */
	.banner-1, .banner-2, .banner-3 { min-height: 180px; height: 44vw; max-height: 340px; }

	/* 联系方式区：三列变整行、二维码居中 */
	.touch .touch-left, .touch .touch-right { width: 100%; float: none; margin-bottom: 14px; }
	.touch .touch-right { text-align: center; }
	.touch .touch-right img { margin-top: 8px; }

	/* JSF 模板（common.xhtml）内容区用 570px 占位图保持最小宽度，移动端取消避免横向溢出 */
	#content td.maincontent > img[width="570"] { width: 0 !important; }
	/* JSF 皮肤样式 css/style.css 给 .maincontent 设了 min-width:570px，移动端取消 */
	#content td.maincontent { min-width: 0 !important; }
	/* JSF 模板内容表格的固定最小高度（内联 min-height:72vh）和 440px 占位图，移动端取消，避免大片空白 */
	#content > table { min-height: 0 !important; height: auto !important; }
	#content td > img[height="440"] { height: 0 !important; }

	/* Bootstrap 栅格在 <992px 只有 float 没有宽度，强制整行堆叠 */
	.build-mian .col-md-8, .build-mian .col-md-4,
	.design-main .col-md-3, .work-bottom .col-md-6, .touch-main .col-md-4 {
		width: 100%;
		float: none;
	}

	/* 最新项目区：清除 style.css 各断点残留的 margin-left 百分比和负 margin 定位 */
	.work-mian p { font-size: 15px; margin: 8px 0; line-height: 1.5; }
	.work-mian p span {
		display: block;
		margin-left: 0 !important;
		font-size: 14px;
		line-height: 1.6;
	}
	.work-one { margin-top: 12px; }
	.work-one p { font-size: 15px; }
	.work-one p span {
		display: block;
		margin-left: 0 !important;
		margin-top: 6px !important;
		height: auto !important;
		font-size: 14px;
		line-height: 1.9;
	}
	.work-one p label { margin-left: 0 !important; }
	.work-left img { border-radius: 6px; margin-bottom: 12px; }
	/* 播放按钮改到右下角，避免遮挡内容 */
	.pop-up { bottom: 10px; left: auto; right: 12px; }
	.pop-up a img { width: 44px; }

	/* 项目轮播：手机上每格很窄，悬浮标签改为图片下方静态显示 */
	.project { padding: 1.5em 12px 2.5em; }
	.project .item { position: relative; margin: 0 4px; }
	.project-name {
		position: static;
		width: 100%;
		left: 0;
		padding: 6px 10px;
		border-radius: 0 0 6px 6px;
	}
	.project-name p { font-size: 13px; line-height: 1.4; }
	.project-name span { display: none; }

	/* 覆盖 style.css 480px 断点的 width:65% */
	.clients-top h3 { width: 100%; font-size: 1.45em; line-height: 1.5; }
	.clients-bottom p { font-size: 15px; line-height: 1.8; }

	/* 页脚 */
	.footer-text p { font-size: 13px; line-height: 1.8; }
	.footer-text a.scroll img { width: 40px; height: auto; }
}

/* ≤768px：三张"主要部分"卡片改为整行堆叠（769px 以上保持三列 flex） */
@media (max-width: 768px) {
	.about-text .col-md-4 { width: 100%; float: none; }
}

/* ≤360px 小屏微调（与 ai.genelibs.org 一致）：logo 和登录按钮再小一号 */
@media (max-width: 360px) {
	#main_head_box #menu_wrap #menu_logo img { max-height: 32px; margin-top: 0; }
	#main_head_box #mainbut p.tiy { padding: 4px 8px; font-size: 11px; }
}

/* ============================================================
   首页 splashpage 协议卡片美化
   ============================================================ */

/* 外层容器：改为白色卡片 + 橙色渐变顶部 */
#homeIndent {
	border-radius: 12px;
	overflow: hidden;
}

/* 协议区域整体 */
#homeIndent .protocols {
	background: linear-gradient(180deg, #f0f0ff, #fff) !important;
	border: 1px solid #CCCCFF !important;
	border-radius: 12px;
	padding: 24px 28px 28px !important;
	box-shadow: 0 2px 12px rgba(102, 102, 204, 0.08);
}

/* 欢迎标题 */
.protocols h3#Welcomeoutput {
	font-size: 16px;
	font-weight: 700;
	color: #6666cc;
	margin: 0 0 18px;
	padding: 0;
}
.protocols h3#Welcomeoutput.gradient-text-long {
	background: linear-gradient(90deg, #6666cc, #a8b2e0, #6666cc);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* 单个协议条目：卡片化 */
#homeIndent .protocol_list_item {
	clear: none;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	margin-bottom: 12px;
	background: #fff;
	border: 1px solid #eef0f3;
	border-radius: 10px;
	transition: all 0.25s ease;
}
#homeIndent .protocol_list_item:hover {
	border-color: #6666cc;
	box-shadow: 0 4px 16px rgba(102, 102, 204, 0.15);
	transform: translateY(-2px);
}
#homeIndent .protocol_list_item:last-child {
	margin-bottom: 0;
}

/* 图片区 */
#homeIndent .protocol_list_img {
	float: none;
	padding: 0;
	flex-shrink: 0;
}
#homeIndent .protocol_list_img img {
	width: 60px;
	height: 60px;
	border-radius: 8px;
	object-fit: cover;
	border: none;
	transition: transform 0.25s ease;
}
#homeIndent .protocol_list_item:hover .protocol_list_img img {
	transform: scale(1.08);
}

/* 文本区 */
#homeIndent .protocol_list_block {
	padding: 0;
	line-height: 1.65;
	font-size: 13px;
	color: #6b7280;
}
#homeIndent .protocol_list_block b,
#homeIndent .protocol_list_block .protocolLink {
	font-size: 14px;
	color: #6666cc;
}

/* 链接去掉 old-win-icon 背景 */
#homeIndent .protocols .protocol_list a,
#homeIndent .protocols .protocolLink {
	background-image: none !important;
	padding-right: 0 !important;
	font-weight: 700;
	font-size: 14px;
	color: #6666cc;
	text-decoration: none;
}
#homeIndent .protocols .protocolLink:hover {
	text-decoration: underline;
}

/* ============================================================
   首页 runTaskForm 表单美化
   ============================================================ */

/* 任务表单整体容器 */
#submitJob #submitForm {
	background: #fff;
	border-radius: 12px;
	border: 1px solid #eef0f3;
	box-shadow: 0 2px 12px rgba(31, 45, 61, 0.06);
	overflow: hidden;
	padding: 0 16px 16px;
}

/* 任务头部：紫色渐变（保持原有配色基调） */
.task_header {
	background: linear-gradient(135deg, #a8b2e0, #6666cc) !important;
	color: #fff !important;
	border-radius: 6px;
	margin: 12px 0 0;
}
.task_header span,
.task_header label,
.task_header a {
	color: #fff !important;
}
.task_header #task_name {
	font-size: 15px;
	font-weight: 700;
}
.task_header #onlineHelp a,
.task_header #documentation {
	font-size: 12px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.92) !important;
}
.task_header #onlineHelp a:hover,
.task_header #documentation:hover {
	color: #fff;
	text-decoration: underline;
}
.task_header select#task_versions {
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 4px;
	padding: 2px 6px;
	font-size: 12px;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
}
.task_header select#task_versions option {
	color: #333;
	background: #fff;
}

/* 参数表格 */
#paramsTable {
	border-spacing: 0 4px;
	width: 100%;
}
#paramsTable tr.pRow td {
	border-top: 1px solid #f0f2f5;
}
#paramsTable tr.pRow:first-child td {
	border: none;
}
#paramsTable td {
	padding: 8px 10px;
	font-size: 13px;
}
#paramsTable td.pTitle {
	padding-left: 8px;
}
#paramsTable input[type=text],
#paramsTable input[type=textarea],
#paramsTable textarea {
	border: 1px solid #e0e3e8;
	border-radius: 6px;
	padding: 6px 10px;
	font-size: 13px;
	color: #212529;
	background: #fafbfc;
	transition: all 0.2s ease;
	height: auto !important;
}
#paramsTable input[type=text]:focus,
#paramsTable textarea:focus {
	outline: none;
	border-color: #ff6700;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(255, 103, 0, 0.12);
}

/* 文件上传区 */
.fileDiv {
	border: 2px solid #e8eaef !important;
	border-radius: 8px !important;
	background: #fafbfc;
}
.fileDiv:hover {
	border-color: #ff6700 !important;
}

/* 参数说明 */
#paramsTable .paramDescription {
	font-size: 12px;
	color: #8a94a6;
}

/* 运行/重置按钮：紫色主题，紧凑尺寸 */
#submitJob button.Run {
	background: linear-gradient(90deg, #7a7ad6, #6666cc) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 5px 16px !important;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(102, 102, 204, 0.3);
	transition: all 0.2s ease;
}
#submitJob button.Run:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(102, 102, 204, 0.4);
}
#submitJob button.Run img {
	display: none;
}
#submitJob button.Reset {
	background: #fff !important;
	color: #5a5a8a !important;
	border: 1px solid #c8c8e0 !important;
	border-radius: 6px !important;
	padding: 5px 14px !important;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
}
#submitJob button.Reset:hover {
	color: #6666cc !important;
	border-color: #6666cc !important;
	background: #f8f8ff !important;
}
#submitJob button.Reset img {
	display: none;
}

/* 按钮行间距 */
#runbuttonIcon1,
#runbuttonIcon2 {
	padding: 6px 16px;
}
#runbuttonIcon1 .otherControlsDiv,
#runbuttonIcon2 .otherControlsDiv {
	font-size: 12px;
	color: #8a94a6;
}

/* 分割线 */
#submitJob hr,
#submitJob .clear-t {
	border: none;
	border-top: 1px solid #f0f2f5;
	margin: 8px 0;
}

/* 必填项标记 */
#runbuttonIcon1 span.otherControlsDiv {
	color: #e74c3c;
	font-size: 12px;
}

/* 描述区域 */
#description_main {
	width: 100%;
}
#mod_description {
	padding: 12px 16px;
	font-size: 13px;
	color: #6b7280;
	line-height: 1.65;
}

/* ============================================================
   系统信息提示框美化
   ============================================================ */
#systemMessageForm.systemMessageForm {
	background: rgba(245, 243, 250, 0.45) !important;
	border: 1px solid #c8c0e0 !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	font-size: 13px;
	color: #4a3b72;
	line-height: 1.8;
	box-shadow: 0 2px 8px rgba(91, 75, 138, 0.1);
}
#systemMessageForm .alert-info {
	color: #4a3b72;
}
#systemMessageClose {
	float: right;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.2s;
}
#systemMessageClose:hover {
	opacity: 1;
}

/* ===== 左侧模块菜单 · 紫色主题 ===== */
#tasks #moduleChooserForm table.sidebarhead-bkg {
	background: #ffffff;
	border: 1px solid #e8e8f5;
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(102, 102, 204, 0.08);
	padding: 14px;
	height: auto;
	border-bottom: 1px solid #e8e8f5;
}
#tasks .sidebarhead {
	font-size: 14px;
	font-weight: 600;
	color: #4a4a9e;
	line-height: 24px;
	text-indent: 0;
	padding-left: 6px;
}
#tasks #moduleComboBox {
	border: 1px solid #dcdaf2;
	border-radius: 8px;
	height: 26px;
	font-size: 12px;
	padding: 2px 8px 2px 24px !important;
	background-color: #fafaff;
	background-position: 6px center;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}
#tasks #moduleComboBox:focus {
	border-color: #6666cc;
	box-shadow: 0 0 0 3px rgba(102, 102, 204, 0.15);
	background-color: #fff;
}
/* “打开所有 / 关闭所有”行与搜索框拉开距离 */
#tasks table.sidebarhead-bkg tr:nth-child(2) td {
	padding-top: 10px;
}
#tasks table.sidebarhead-bkg a {
	color: #6666cc;
	text-decoration: none;
	font-size: 12px;
}
#tasks table.sidebarhead-bkg a:hover {
	color: #4a4a9e;
	text-decoration: underline;
}

/* 一级分类标题：flex 垂直居中，解决文字靠下 */
#tasks .task-categories {
	display: flex;
	align-items: center;
	font-size: 13px;
	line-height: 22px;
	font-weight: 600;
	color: #4a4a9e;
	padding: 6px 10px;
	margin-top: 4px;
	border-radius: 8px;
	transition: background-color 0.15s ease;
}
#tasks .task-categories:hover {
	background-color: #f0f0fb;
}
#tasks .task-categories img {
	vertical-align: middle;
	margin-right: 5px;
}


/* 搜索下拉候选框 */
#comboBoxChoices {
	background: #fff;
	border: 1px solid #dcdaf2;
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(102, 102, 204, 0.15);
	max-height: 320px;
	overflow-y: auto;
	padding: 4px 0;
}
#comboBoxChoices a {
	color: #555 !important;
	display: block;
	padding: 6px 14px;
	font-size: 13px;
	text-decoration: none;
}
#comboBoxChoices div:hover {
	background: #f0f0fb;
}
#comboBoxChoices div:hover a {
	color: #4a4a9e !important;
}

/* ===== 右侧最近分析结果 · 卡片化紫色主题 ===== */
#recentjobs {
	padding-top: 0;
}

/* 标题条：加大、顶头 */
#recentjobs #left_div_tab_txt {
	background: #ffffff;
	border: 1px solid #e8e8f5;
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(102, 102, 204, 0.08);
	height: 56px;
	display: flex;
	align-items: center;
	padding: 0 18px;
	margin-bottom: 10px;
}
#recentjobs #left_div_tab_txt span {
	font-size: 15px;
	font-weight: 600;
	color: #4a4a9e;
}

/* 卡片列表 */
#recentjobs .rj-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#recentjobs .rj-empty {
	color: #999;
	font-size: 13px;
	text-align: center;
	padding: 30px 0;
}

/* 单个结果卡片 */
#recentjobs .rj-card {
	background: #ffffff;
	border: 1px solid #e8e8f5;
	border-radius: 10px;
	box-shadow: 0 3px 10px rgba(102, 102, 204, 0.07);
	overflow: hidden;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
#recentjobs .rj-card:hover {
	border-color: #d4d2ee;
	box-shadow: 0 5px 16px rgba(102, 102, 204, 0.13);
}

/* 卡片头部：箭头槽固定宽度，展开后图标纹丝不动 */
#recentjobs .rj-head {
	display: flex;
	align-items: center;
	padding: 9px 10px;
	gap: 6px;
}
#recentjobs .rj-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	min-width: 18px;
	height: 18px;
	cursor: pointer;
}
#recentjobs .rj-arrow img {
	width: 12px !important;
	height: 12px !important;
}
#recentjobs .rj-title {
	flex: 1;
	color: #4a4a9e;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#recentjobs .rj-title:hover {
	color: #6666cc;
	text-decoration: underline;
}
#recentjobs .rj-gear {
	cursor: pointer;
	opacity: 0.65;
	transition: opacity 0.15s ease;
}
#recentjobs .rj-gear:hover {
	opacity: 1;
}

/* 卡片主体：顶部淡紫分隔线 */
#recentjobs .rj-body {
	border-top: 1px solid #f2f2fa;
	padding: 8px 12px 10px;
}
#recentjobs .rj-meta {
	color: #999;
	font-size: 12px;
	line-height: 20px;
	margin-bottom: 4px;
}
#recentjobs .rj-meta a {
	color: #6666cc;
	text-decoration: none;
}
#recentjobs .rj-meta a:hover {
	text-decoration: underline;
}

/* 文件条目 */
#recentjobs .rj-files {
	font-size: 12px;
	line-height: 22px;
}
#recentjobs .rj-files a {
	color: #6666cc;
	text-decoration: none;
}
#recentjobs .rj-files a:hover {
	color: #4a4a9e;
	text-decoration: underline;
}
#recentjobs .rj-files img {
	vertical-align: middle;
	cursor: pointer;
	opacity: 0.6;
	margin: 0 2px;
}
#recentjobs .rj-files img:hover {
	opacity: 1;
}

/* 流水线子任务 */
#recentjobs .rj-child {
	border-top: 1px dashed #ececf8;
	padding: 8px 12px;
	margin: 0 8px;
}
#recentjobs .rj-child-name {
	color: #7a7ab0;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 2px;
}

/* ===== 首页 Tab 内容（资源/下载/帮助）· Hero + 卡片 ===== */
.sp-page {
	padding: 6px 4px 30px;
}

/* 顶部渐变横幅（与 aboutus 风格一致） */
.sp-hero {
	background: linear-gradient(120deg, #a8b2e0, #6666cc);
	border-radius: 14px;
	padding: 38px 32px;
	text-align: center;
	box-shadow: 0 8px 24px rgba(102, 102, 204, 0.25);
}
.sp-hero h2 {
	margin: 0;
	font-size: 25px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 2px;
}
.sp-hero p {
	margin: 10px 0 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 1px;
}

/* 白色正文卡片 */
.sp-content {
	margin-top: 22px;
	background: #fff;
	border: 1px solid #e8e8f5;
	border-radius: 14px;
	padding: 24px 28px 30px;
	box-shadow: 0 4px 18px rgba(102, 102, 204, 0.08);
}

/* 区块标题 */
.sp-section-head {
	margin: 22px 0 14px;
}
.sp-section-head:first-child {
	margin-top: 0;
}
.sp-section-title {
	font-size: 17px;
	font-weight: 600;
	color: #4a4a9e;
	margin: 0 0 4px;
	position: relative;
	padding-left: 12px;
}
.sp-section-title:before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	border-radius: 2px;
	background: linear-gradient(180deg, #8a8ad9, #6666cc);
}
.sp-section-sub {
	color: #888;
	font-size: 13px;
	margin: 0;
	padding-left: 12px;
}

/* 卡片网格 */
.sp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
}

/* 单张功能卡片 */
a.sp-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e8e8f5;
	border-radius: 12px;
	padding: 18px 16px;
	box-shadow: 0 3px 10px rgba(102, 102, 204, 0.07);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
a.sp-card:hover {
	transform: translateY(-4px);
	border-color: #d4d2ee;
	box-shadow: 0 10px 22px rgba(102, 102, 204, 0.14);
}
.sp-card-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: linear-gradient(135deg, #8a8ad9, #6666cc);
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 12px;
	box-shadow: 0 4px 10px rgba(102, 102, 204, 0.25);
}
.sp-card-title {
	font-size: 15px;
	font-weight: 600;
	color: #4a4a9e;
	margin-bottom: 5px;
}
.sp-card-desc {
	font-size: 12.5px;
	color: #888;
	line-height: 20px;
}

/* 核心能力行 */
.sp-feature-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.sp-feature {
	flex: 1 1 170px;
	background: #f6f6fd;
	border: 1px solid #ececf8;
	border-radius: 10px;
	padding: 14px 16px;
}
.sp-feature-name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #5555aa;
	margin-bottom: 4px;
}
.sp-feature-desc {
	font-size: 12px;
	color: #8a8aa8;
	line-height: 19px;
}

/* 开发工具胶囊 */
.sp-tool-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}
.sp-tool {
	background: #f6f6fd;
	border: 1px solid #dcdaf2;
	border-radius: 999px;
	padding: 8px 24px;
}
.sp-tool-name {
	font-size: 13.5px;
	font-weight: 600;
	color: #6666cc;
}

/* 帮助页联系方式（大白卡片内的内嵌列表） */
.sp-contact-card {
	margin-top: 22px;
	border-top: 1px solid #f2f2fa;
}
.sp-contact-line {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 11px 4px;
	border-bottom: 1px solid #f6f6fd;
}
.sp-contact-line:last-child {
	border-bottom: none;
}
.sp-contact-label {
	flex: 0 0 64px;
	font-size: 12.5px;
	color: #999;
	font-weight: 600;
}
.sp-contact-val {
	font-size: 13px;
	color: #4a4a9e;
	line-height: 20px;
}
