/* ==================================================================
 * 挖矿软件管理 — 前台落地页样式
 * 版式原则：
 *   1) 每个板块 = 一张独立卡片（白底 + 边框 + 圆角 + 阴影 + 顶部品牌色条）
 *   2) 板块之间用「统一间距 gap」隔开，不再依赖 1px 下边框
 *   3) 每个板块有自己的 accent 色（--msm-accent / --msm-accent-soft），
 *      用于顶部色条、序号徽章、标题竖条、表头，形成可辨识的板块色
 *   4) 卡片头部为 accent 极淡底，与白色正文区形成二级层次
 *   5) 响应式：>=1024 宽松留白 / 600-1023 收紧 / <600 单列并允许表格横向滚动
 * 注意：页脚「来源 / 最后更新 / 署名」区块已于 2026-09-21 移除，样式表不再保留相关规则。
 * ================================================================== */

/* ---------------- 容器与通用 ---------------- */
.msm-landing {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 16px 56px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.msm-landing,
.msm-landing * { box-sizing: border-box; }

/* ---------------- 面包屑 ---------------- */
.msm-breadcrumb { font-size: 13px; color: #64748b; padding: 14px 0 0; }
.msm-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.msm-breadcrumb li + li::before { content: "›"; margin-right: 6px; color: #cbd5e1; }
.msm-breadcrumb a { color: #2563eb; text-decoration: none; }
.msm-breadcrumb a:hover { text-decoration: underline; }
.msm-breadcrumb [aria-current="page"] { color: #334155; }

/* ---------------- Hero ---------------- */
.msm-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(37, 99, 235, 0.35), transparent 55%),
		linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #243449 100%);
	color: #fff;
	padding: 46px 28px 42px;
	border-radius: 16px;
	text-align: center;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
	margin-top: 14px;
}
.msm-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 120px;
	height: 4px;
	border-radius: 4px 4px 0 0;
	background: #2563eb;
}
.msm-hero-inner {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 26px;
	text-align: left;
}
.msm-hero-logo {
	flex: 0 0 96px;
	width: 96px;
	height: 96px;
	border-radius: 20px;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.10);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
.msm-hero-text { flex: 1 1 auto; min-width: 0; }
.msm-hero .msm-badges { justify-content: flex-start; }
.msm-title { font-size: 2.25rem; line-height: 1.25; margin: 0 0 14px; letter-spacing: 0.5px; }
.msm-badges { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 14px; }
.msm-badge {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.22);
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
}
.msm-status-active { background: #16a34a; border-color: #16a34a; }
.msm-status-maintenance { background: #d97706; border-color: #d97706; }
.msm-status-legacy { background: #64748b; border-color: #64748b; }
.msm-status-discontinued { background: #b91c1c; border-color: #b91c1c; }
.msm-short { font-size: 1.05rem; opacity: 0.9; margin: 0; line-height: 1.7; }
.msm-cta {
	display: inline-block;
	margin-top: 20px;
	background: #2563eb;
	color: #fff;
	padding: 11px 30px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}
.msm-cta:hover { background: #1d4ed8; color: #fff; }

/* ------------- 板块色板（协调统一的一组同饱和度色） ------------- */
.msm-tone-download      { --msm-accent: #2563eb; --msm-accent-soft: #eef4ff; }
.msm-tone-overview      { --msm-accent: #0891b2; --msm-accent-soft: #e8f6fa; }
.msm-tone-quick-start   { --msm-accent: #16a34a; --msm-accent-soft: #eaf7ef; }
.msm-tone-configuration { --msm-accent: #7c3aed; --msm-accent-soft: #f2ecfe; }
.msm-tone-monitoring    { --msm-accent: #d97706; --msm-accent-soft: #fdf3e3; }
.msm-tone-messages      { --msm-accent: #dc2626; --msm-accent-soft: #fdecec; }
.msm-tone-related       { --msm-accent: #475569; --msm-accent-soft: #f1f5f9; }

/* ---------------- 板块卡片 ---------------- */
.msm-section { scroll-margin-top: 78px; }
.msm-panel {
	background: #fff;
	border: 1px solid #e6ebf2;
	border-top: 3px solid var(--msm-accent, #2563eb);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}
.msm-section-head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 22px;
	background: var(--msm-accent-soft, #f1f5f9);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.msm-index {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--msm-accent, #2563eb);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
}
.msm-section-head h2 {
	flex: 1 1 auto;
	min-width: 140px;
	font-size: 1.35rem;
	line-height: 1.35;
	margin: 0;
	padding: 0;
	border: none;
	color: #0f172a;
}
.msm-head-tags { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.msm-body { padding: 20px 24px 22px; color: #334155; line-height: 1.78; font-size: 15px; }
.msm-body > *:first-child { margin-top: 0; }
.msm-body > *:last-child { margin-bottom: 0; }

/* ---------------- 正文内部元素 ---------------- */
.msm-body p { margin: 0 0 12px; }
.msm-body h3 {
	font-size: 1.05rem;
	margin: 24px 0 10px;
	padding-left: 10px;
	border-left: 3px solid var(--msm-accent, #2563eb);
	color: #0f172a;
}
.msm-body h4 { font-size: 1rem; margin: 18px 0 8px; color: #0f172a; }
.msm-body ul,
.msm-body ol { margin: 0 0 12px; padding-left: 22px; }
.msm-body li { margin: 0 0 6px; }
.msm-body a { color: #2563eb; }
.msm-body strong { color: #0f172a; }
.msm-body code {
	background: #f1f5f9;
	border: 1px solid #e6ebf2;
	border-radius: 4px;
	padding: 1px 5px;
	font-size: 0.88em;
	word-break: break-all;
}
.msm-body pre {
	background: #0f172a;
	color: #e2e8f0;
	padding: 14px 16px;
	border-radius: 10px;
	overflow-x: auto;
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.65;
}
.msm-body pre code {
	background: none;
	border: none;
	padding: 0;
	color: inherit;
	font-size: inherit;
	word-break: normal;
}
.msm-body table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 14px; }
.msm-body th,
.msm-body td { border: 1px solid #e6ebf2; padding: 8px 10px; text-align: left; vertical-align: top; }
.msm-body th { background: var(--msm-accent-soft, #f8fafc); font-weight: 600; color: #0f172a; }
.msm-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 14px; }
.msm-tablewrap table { margin: 0; }

/* ---------------- 元信息标签 ---------------- */
.msm-meta-card {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	background: none;
	border-radius: 0;
	font-size: 13px;
}
.msm-meta-card span {
	background: #f8fafc;
	border: 1px solid #e6ebf2;
	border-radius: 8px;
	padding: 6px 12px;
	color: #475569;
}
.msm-meta-card a { color: #2563eb; text-decoration: none; }
.msm-meta-card a:hover { text-decoration: underline; }

/* ---------------- 下载板块 ---------------- */
.msm-download-band .msm-panel { border-top-color: #2563eb; }
.msm-download-head { margin-bottom: 12px; }
.msm-download-lead { color: #334155; }
.msm-download-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.msm-badge-solid {
	background: #0f172a;
	color: #fff;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	border-color: #0f172a;
}
.msm-badge-muted {
	background: #fff;
	color: #475569;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	border: 1px solid #d8e0ea;
}
.msm-download-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 4px 0 0; }
.msm-downloads { border-collapse: collapse; width: 100%; font-size: 14px; min-width: 640px; }
.msm-downloads th,
.msm-downloads td { border: 1px solid #e6ebf2; padding: 9px 10px; text-align: left; vertical-align: top; }
.msm-downloads thead th { background: #eef4ff; color: #0f172a; font-weight: 600; white-space: nowrap; }
.msm-downloads tbody tr:nth-child(even) { background: #fbfcfe; }
.msm-filename { word-break: break-all; font-size: 13px; }
.msm-sha code { font-size: 12px; word-break: break-all; }
.msm-dl-btn {
	display: inline-block;
	background: #2563eb;
	color: #fff;
	text-decoration: none;
	padding: 6px 16px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 1px 3px rgba(37, 99, 235, 0.30);
}
/*
 * 层叠修正（2026-09-21）：下载按钮位于 .msm-body 内部，
 * 而 `.msm-body a { color:#2563eb }` 优先级 (0,1,1) 高于 `.msm-dl-btn` (0,1,0)，
 * 会把白字刷成蓝字 —— 蓝底蓝字等于看不见。
 * 下面用 `.msm-body a.msm-dl-btn` (0,2,1) 显式压回去；改版式时不要删掉。
 */
.msm-body a.msm-dl-btn,
.msm-downloads a.msm-dl-btn,
a.msm-dl-btn {
	color: #fff;
	background: #2563eb;
	text-decoration: none;
}
.msm-body a.msm-dl-btn:hover,
.msm-downloads a.msm-dl-btn:hover,
a.msm-dl-btn:hover { background: #1d4ed8; color: #fff; }
.msm-body a.msm-dl-btn:visited,
a.msm-dl-btn:visited { color: #fff; }
.msm-download-pending {
	background: #fff8e6;
	border: 1px solid #f0dcae;
	border-left: 4px solid #9a6700;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 14px;
	color: #4a3a12;
}
.msm-download-pending p { margin: 0 0 8px; }
.msm-download-pending p:last-child { margin-bottom: 0; }
.msm-download-official a { color: #2563eb; margin-right: 10px; }

/* ---------------- 提示条 ---------------- */
.msm-note {
	margin: 14px 0 0;
	padding: 10px 14px;
	background: #f8fafc;
	border: 1px solid #e6ebf2;
	border-left: 3px solid var(--msm-accent, #cbd5e1);
	border-radius: 8px;
	color: #64748b;
	font-size: 13px;
	line-height: 1.7;
}
.msm-pending { color: #b45309; font-size: 13px; }

/* ---------------- 锚点导航 ---------------- */
.msm-anchors {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #fff;
	border: 1px solid #e6ebf2;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.07);
	margin: 0;
}
.msm-anchors ul {
	list-style: none;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 10px 12px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.msm-anchors li { flex: 0 0 auto; }
.msm-anchors a {
	display: block;
	text-decoration: none;
	color: #334155;
	padding: 6px 14px;
	border: 1px solid #e6ebf2;
	border-radius: 999px;
	white-space: nowrap;
	font-size: 14px;
	background: #f8fafc;
}
.msm-anchors a:hover { background: #eef4ff; border-color: #2563eb; color: #1d4ed8; }
.msm-anchors a.is-active {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
	font-weight: 600;
}

/* ---------------- 相关软件 ---------------- */
.msm-related .msm-body { padding: 18px 24px 22px; }
.msm-related ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 10px;
}
.msm-related li { margin: 0; }
.msm-related a {
	display: block;
	padding: 12px 14px;
	border: 1px solid #e6ebf2;
	border-radius: 10px;
	background: #f8fafc;
	color: #0f172a;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.msm-related a:hover { background: #eef4ff; border-color: #2563eb; color: #1d4ed8; }

/* ==================================================================
 * 响应式
 * ================================================================== */
@media (max-width: 1023px) {
	.msm-landing { gap: 20px; }
	.msm-hero { padding: 38px 22px 34px; }
	.msm-title { font-size: 1.95rem; }
	.msm-section-head { padding: 12px 18px; }
	.msm-body { padding: 18px 20px 20px; }
}

@media (max-width: 600px) {
	.msm-landing { padding: 0 12px 40px; gap: 16px; }
	.msm-hero { padding: 28px 18px 26px; border-radius: 14px; }
	.msm-title { font-size: 1.6rem; margin-bottom: 12px; }
	.msm-hero-inner { flex-direction: column; gap: 16px; text-align: center; }
	.msm-hero-logo { flex-basis: 80px; width: 80px; height: 80px; border-radius: 18px; }
	.msm-hero .msm-badges { justify-content: center; }
	.msm-short { font-size: 0.98rem; }
	.msm-cta { padding: 10px 24px; width: 100%; }
	.msm-section-head { padding: 11px 14px; gap: 10px; }
	.msm-section-head h2 { font-size: 1.15rem; min-width: 0; }
	.msm-index { width: 24px; height: 24px; line-height: 24px; font-size: 13px; }
	.msm-body { padding: 15px 14px 18px; font-size: 14.5px; }
	.msm-body h3 { font-size: 1rem; margin: 20px 0 8px; }
	.msm-body table { font-size: 13px; }
	.msm-body th,
	.msm-body td { padding: 7px 8px; }
	.msm-downloads { font-size: 12.5px; min-width: 560px; }
	.msm-meta-card { gap: 6px; }
	.msm-meta-card span { padding: 5px 10px; font-size: 12.5px; }
	.msm-related .msm-body { padding: 14px 14px 16px; }
	.msm-related ul { grid-template-columns: 1fr 1fr; gap: 8px; }
	.msm-related a { padding: 10px 12px; font-size: 13px; }
	.msm-anchors ul { padding: 8px 10px; }
	.msm-anchors a { padding: 5px 12px; font-size: 13px; }
}

@media (max-width: 380px) {
	.msm-related ul { grid-template-columns: 1fr; }
}
