/* ==========================================================================
   临床决策助手 (medevid) —— 前台样式
   ========================================================================== */

/* 变量定义在 :root，不再挂在 .mev-app 上（1.49.2）。
 *
 * 原因是底栏与抽屉渲染在 .mev-app **之外**（`$dockhtml` 在 footer 之前输出），
 * 拿不到 .mev-app 上声明的自定义属性，于是 1.49.0 上线以来手机底栏一直是
 * 一条**裸文字**：border 简写里含无效 var() 会整条失效 → 没有胶囊边框；
 * color 回落到站点默认色；背景透明。截图里的「一排黑字」就是这个 bug，
 * 不是设计成那样。改挂 :root 之后，app 内外的插件元素共用同一套值。
 * 前缀是插件私有的 --mev-，落在 :root 不会影响站点其它页面。 */
:root {
	--mev-primary: #1d6fb8;
	--mev-primary-dark: #0c447c;
	--mev-primary-soft: #eaf2fb;
	--mev-teal: #0f6e56;
	--mev-teal-soft: #e6f4ef;
	--mev-amber: #8a5a08;
	--mev-amber-soft: #fdf3e0;
	--mev-red: #a32d2d;
	--mev-red-soft: #fdeceb;
	--mev-text: #1f2937;
	--mev-muted: #6b7280;
	--mev-faint: #9aa3ae;
	--mev-border: #e4e9f0;
	--mev-bg: #f5f7fa;
	--mev-card: #ffffff;
	/* 站点主导航高度（X5 模板 .topbox，线上实测 73px）。插件页任何贴顶的
	   元素都要让开这段，否则会被主导航盖住——这是 1.11.1 把主导航按成
	   static 的真实原因，1.41.4 改成补偿而不是取消吸顶。 */
	--mev-navh: 73px;
}

.mev-app {
	max-width: 1320px;
	margin: 0 auto;
	padding: 16px 0 32px;
	color: var(--mev-text);
	font-size: 14px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.mev-app *,
.mev-app *::before,
.mev-app *::after {
	box-sizing: border-box;
}

.mev-app button {
	font-family: inherit;
	cursor: pointer;
}

/* ---------- 头部 ---------- */

.mev-head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 14px 20px;
}

.mev-brand {
	display: flex;
	gap: 12px;
	align-items: center;
}

.mev-logo {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--mev-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 500;
	flex: 0 0 auto;
}

/* 页头方块用「证」字（1.13.16）：站点 logo 已承担「明证」字标，
   方块内用「证」点题循证；样式与 1.13.13 时期一致，不另加覆盖。 */

.mev-brandtext h1 {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--mev-primary-dark);
}

.mev-brandtext p {
	margin: 2px 0 0;
	font-size: 12px;
	color: var(--mev-muted);
	line-height: 1.3;
}

.mev-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.mev-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 18px;
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
	background: #fafbfc;
}

.mev-tag-on {
	border-color: #b8ddcd;
	color: var(--mev-teal);
	background: var(--mev-teal-soft);
}

.mev-tag-off {
	border-color: #e6dcc2;
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
}

/* 顶部日期锚：把「今天是哪天、内容今天动过没有」摊在页头。
   它是整个首页最便宜的一个「系统在动」的信号，所以给了它一点视觉重量，
   但又不能抢过标题——用浅底 + 主色字，而不是实心块。 */
.mev-tag-date {
	border-color: #cfe0f2;
	color: var(--mev-primary-dark);
	background: var(--mev-primary-soft);
	font-variant-numeric: tabular-nums;
}

/* ---------- 提示条 ---------- */

.mev-alert {
	margin-top: 12px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 13px;
	border: 1px solid;
}

.mev-alert-txt {
	margin: 0;
	line-height: 1.8;
}

/* 提示条内的行动按钮：手机端文字链接太难点，做成实心小按钮独立一行 */
.mev-alert-btn {
	display: inline-block;
	margin-top: 10px;
	padding: 7px 20px;
	border-radius: 7px;
	background: #1d6fb8;
	color: #fff !important;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none;
}

.mev-alert-btn:hover {
	background: #0c447c;
	color: #fff !important;
	text-decoration: none;
}

.mev-alert-warn {
	background: var(--mev-amber-soft);
	border-color: #e8d4ab;
	color: #6b4406;
}

.mev-alert-error {
	background: var(--mev-red-soft);
	border-color: #f0c3c1;
	color: var(--mev-red);
}

/* 1.45.0 等待/进行中的提示（报名审核中）：与 error 区分色，蓝灰系 */
.mev-alert-info {
	background: var(--mev-primary-soft);
	border-color: #cfe0f2;
	color: var(--mev-primary-dark);
}

.mev-alert a {
	color: inherit;
	text-decoration: underline;
}

/* ---------- 场景模式 ---------- */

.mev-modes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0;
}

.mev-chip {
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid var(--mev-border);
	background: var(--mev-card);
	color: var(--mev-muted);
	font-size: 13px;
	transition: all .15s ease;
}

.mev-chip:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

/* 选中项必须带上 :hover 且吃饱权重（1.49.1）。
   触屏上点过的元素会一直挂着 :hover，而 .mev-chip:hover（0,2,0）斗得过
   .mev-chip-on（0,1,0）——结果是蓝底配蓝字，整块文字消失，只剩一个色块。
   桌面上悬停当前项也有同样的问题，只是鼠标移开就恢复，不容易发现。 */
.mev-chip.mev-chip-on,
.mev-chip.mev-chip-on:hover {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}

/* ---------- 主体布局 ---------- */

.mev-body {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.mev-main {
	flex: 1 1 auto;
	min-width: 0;
}

.mev-side {
	flex: 0 0 336px;
	width: 336px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	position: sticky;
	/* 1.41.4：主导航吸顶后侧栏要让开 73px，否则滚动时被压在导航条底下
	   （旧版这里是 top:12px，视觉上就是「侧栏标题被切掉了一截」）。 */
	top: calc(var(--mev-navh, 0px) + 12px);
	max-height: calc(100vh - var(--mev-navh, 0px) - 40px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.mev-side-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid var(--mev-border);
	font-size: 13px;
	font-weight: 500;
	color: var(--mev-primary-dark);
	flex: 0 0 auto;
}

.mev-side-count {
	display: inline-block;
	min-width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	border-radius: 10px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary);
	font-size: 11px;
	font-weight: 400;
	padding: 0 6px;
}

.mev-side-body {
	padding: 12px;
	overflow-y: auto;
	flex: 1 1 auto;
}

.mev-empty {
	color: var(--mev-faint);
	font-size: 12.5px;
	line-height: 1.7;
	margin: 6px 4px;
}

/* ---------- 对话流 ---------- */

.mev-stream {
	min-height: 180px;
}

.mev-welcome {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 22px 24px;
}

.mev-welcome h2 {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 500;
	color: var(--mev-primary-dark);
}

.mev-welcome-sub {
	margin: 0 0 16px;
	font-size: 13px;
	color: var(--mev-muted);
}

/* 场景卡：把「有哪些场景」和「同类问题还能问什么」合成一张卡。
 * 之前每个场景只给一句 hint，医生看到的是六个孤立按钮，看不出它们各自能答什么；
 * 换成卡片后同一场景的多个真实问题并列，更容易对上他此刻的处境。 */
.mev-scenes {
	margin-top: 4px;
}

.mev-scenes-head {
	font-size: 11.5px;
	color: var(--mev-faint);
	margin-bottom: 8px;
}

.mev-scenes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(272px, 1fr));
	gap: 10px;
}

.mev-scene {
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: #fafbfc;
	padding: 10px 12px 6px;
}

.mev-scene-head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 4px;
}

.mev-scene-name {
	font-size: 12.5px;
	color: var(--mev-primary);
}

.mev-scene-desc {
	font-size: 11px;
	color: var(--mev-faint);
}

.mev-scene-q {
	display: block;
	width: 100%;
	text-align: left;
	padding: 6px 0;
	border: 0;
	border-top: 1px dashed var(--mev-border);
	background: transparent;
	font-size: 12.5px;
	color: var(--mev-text);
	line-height: 1.6;
	transition: color .15s ease;
}

.mev-scene-q:first-child {
	border-top: 0;
}

.mev-scene-q:hover {
	color: var(--mev-primary);
}

/* 锁定场景（1.13.9）：示例文字照常可读——模糊或压暗会毁掉它唯一的价值，
 * 让人看见「这种问题这个工具答得了」。只在卡片头加一枚状态标签、
 * 背景压灰一档，表示「看得见、点了要登录」。
 * 点击行为由 medevid.js 兜住：弹层给出登录入口，不发送、不扣额度。 */
.mev-scene-lock {
	background: #f6f7f9;
}

.mev-scene-locktag {
	display: inline-block;
	padding: 0 6px;
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	background: #ffffff;
	font-size: 10.5px;
	line-height: 16px;
	color: var(--mev-faint);
}

/* 语料超期提示：不是错误，只是提醒这条该重新核了。
 * 用琥珀色而不是红色——依据老化是常态，不该吓到医生。 */
.mev-daily-stale {
	color: var(--mev-amber);
}

.mev-fineprint {
	margin: 14px 0 0;
	font-size: 11.5px;
	color: var(--mev-faint);
	line-height: 1.7;
}

/* 未登录访客的说明条。
 * 站点未开放注册时，这段是唯一能解释「为什么我的额度比别人小」的地方，
 * 所以要能一眼看到，不能只是一行淡灰小字。 */
.mev-guestnote {
	margin: 10px 0 0;
	padding: 9px 12px;
	background: #fff8e8;
	border-left: 3px solid #d99100;
	border-radius: 6px;
	color: #6b5a2e;
	font-size: 12px;
	line-height: 1.7;
}

.mev-guestnote strong {
	color: #8a5a00;
}

/* 分享奖励说明（1.9.0）。
 * 比访客提示轻一档：它讲的是「还能再多拿几次」，不是「你被限制了什么」，
 * 所以用蓝而不是黄，避免和「额度受限」混成同一种颜色语言。 */
.mev-bonusnote {
	margin: 10px 0 0;
	padding: 8px 12px;
	background: var(--mev-primary-soft);
	border-left: 3px solid var(--mev-primary);
	border-radius: 6px;
	color: var(--mev-primary-dark);
	font-size: 12px;
	line-height: 1.7;
}

/* 回答尾部的分享奖励提示（1.18.1）。
 * 比 mev-bonusnote 还要轻一档：它是跟在一条具体回答后面的行动提示，
 * 不是页面级的说明块——所以不带底色不带宽边，只是一行淡蓝小字，
 * 与上方正文留出间距即可。出现条件在 JS：有分享按钮 + 服务端给了文案。 */
.mev-a-bonus {
	margin: 12px 0 2px;
	padding-top: 9px;
	border-top: 1px dashed var(--mev-faint);
	color: var(--mev-primary-dark);
	font-size: 12px;
	line-height: 1.6;
}

/* 流式输出自检结果（1.9.0，管理员面板）。
 * 三种结论用三种颜色：绿=可以做流式、黄=部分缓冲、红=完全缓冲。
 * 这不是「功能好坏」的评分，而是「要不要动手做」的依据，所以颜色只在边框与标题上，
 * 正文保持可读的深色，避免整块泛红泛绿看不清。 */
.mev-streamresult {
	margin: 10px 0 0;
	padding: 10px 13px;
	border-radius: 8px;
	border-left: 3px solid var(--mev-faint);
	background: #f7f9fc;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mev-text);
}

.mev-streamresult-h {
	font-weight: 600;
	margin-bottom: 4px;
}

.mev-streamresult-t {
	color: var(--mev-muted);
}

.mev-streamresult-raw {
	margin-top: 7px;
	padding-top: 7px;
	border-top: 1px dashed var(--mev-border);
	font-family: Consolas, Menlo, monospace;
	font-size: 11.5px;
	color: var(--mev-faint);
	word-break: break-all;
}

.mev-streamresult-ok {
	border-left-color: var(--mev-teal);
	background: var(--mev-teal-soft);
}

.mev-streamresult-ok .mev-streamresult-h {
	color: var(--mev-teal);
}

.mev-streamresult-warn {
	border-left-color: #e0a53a;
	background: var(--mev-amber-soft);
}

.mev-streamresult-warn .mev-streamresult-h {
	color: var(--mev-amber);
}

.mev-streamresult-bad {
	border-left-color: var(--mev-red);
	background: var(--mev-red-soft);
}

.mev-streamresult-bad .mev-streamresult-h {
	color: var(--mev-red);
}

/* 单轮问答 */

.mev-turn {
	margin-bottom: 14px;
}

.mev-q {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
}

.mev-q-inner {
	max-width: 82%;
	background: var(--mev-primary);
	color: #fff;
	border-radius: 12px 12px 2px 12px;
	padding: 10px 14px;
	font-size: 13.5px;
	line-height: 1.7;
	white-space: pre-wrap;
	word-break: break-word;
}

.mev-a {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 16px 20px 14px;
}

/* ---------- 高危场景警示块 ---------- */

/* 这块由前端在渲染回答时强制插入，不由模型生成——模型可能漏写或一笔带过，
   而风险提示恰恰是不能缺席的那一种。三档用颜色区分：琥珀=留意，红色=高风险/拦截。 */

.mev-risk {
	margin: 0 0 12px;
	padding: 11px 14px;
	border-radius: 10px;
	border: 1px solid transparent;
	border-left-width: 3px;
}

.mev-risk-head {
	font-size: 12.5px;
	font-weight: 500;
	margin-bottom: 5px;
}

.mev-risk-list {
	margin: 0;
	padding-left: 18px;
	font-size: 12.5px;
	line-height: 1.75;
}

.mev-risk-list li {
	margin: 2px 0;
}

.mev-risk-warn {
	background: var(--mev-amber-soft);
	border-color: #f0dcb4;
	border-left-color: #d9a441;
	color: #6b4708;
}

.mev-risk-warn .mev-risk-head {
	color: #8a5a08;
}

.mev-risk-high,
.mev-risk-block {
	background: var(--mev-red-soft);
	border-color: #f5c6c3;
	border-left-color: var(--mev-red);
	color: #7d2323;
}

.mev-risk-high .mev-risk-head,
.mev-risk-block .mev-risk-head {
	color: #a32d2d;
}

/* 拦截态加粗左侧竖条：这是「明确不给建议」，比一般警示更硬 */
.mev-risk-block {
	border-left-width: 4px;
}

/* 回答头（1.44.5）：问题摘要 + 复制/分享/导出 Word，钉在卡片顶部。
   原来这一行只有「模型 · 用时 · 引用」与三个按钮，长回答一滚就全跑掉了，
   医生既看不到自己问的什么，也找不到导出。现在把问题摘要并进来一并吸顶。
   卡片自身有 20px 内边距，正文滚过时会从左右缝里露出来——背景用伪元素
   向两侧各外扩 21px 盖住；不用负 margin，免得动了原排版。 */
.mev-a-head {
	position: sticky;
	top: calc(var(--mev-navh, 0px) + 8px);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	padding: 6px 0 8px;
	border-bottom: 1px dashed var(--mev-border);
}

.mev-a-head::before {
	content: '';
	position: absolute;
	/* 横向只外扩到内边距外沿（20px），不要盖到卡片那 1px 边框：
	   子元素背景画在父元素边框之上，-21px 会把卡片左边线擦掉一段。 */
	inset: -8px -20px -1px;
	z-index: -1;
	background: var(--mev-card);
}

/* 问题气泡还在视野里时不重复显示这一行：默认藏起来，由
   IntersectionObserver 在气泡滚出视野后加 .mev-a-showask 再显示。
   两个都在时「问题」出现两次，看着像渲染重复。 */
.mev-a-ask-tag,
.mev-a-ask {
	display: none;
}

.mev-a-head.mev-a-showask .mev-a-ask-tag {
	display: inline-block;
}

.mev-a-head.mev-a-showask .mev-a-ask {
	display: block;
}

.mev-a-ask-tag {
	flex: 0 0 auto;
	height: 18px;
	line-height: 18px;
	padding: 0 6px;
	border-radius: 4px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary);
	font-size: 11px;
}

/* 一行到底：完整问题在气泡里、也在 title 里，这里只负责「别让读者忘了在答什么」 */
.mev-a-ask {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 12.5px;
	color: var(--mev-text);
}

.mev-a-provider {
	font-size: 11.5px;
	color: var(--mev-faint);
	margin: 0 0 10px;
}

.mev-a-tools {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	/* 问题行藏起来时（气泡还在视野里）按钮仍要靠右，
	   否则会跟着 flex 跑到左边去 */
	margin-left: auto;
}

/* 生成中的占位按钮：说明「完成才有」，同时不让按钮在完成那一刻突然冒出来 */
.mev-a-tools .mev-mini[disabled] {
	opacity: 0.45;
	cursor: default;
}

.mev-a-tools .mev-mini[disabled]:hover {
	border-color: var(--mev-border);
	color: var(--mev-muted);
}

.mev-mini {
	background: none;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	padding: 2px 8px;
	font-size: 11.5px;
	color: var(--mev-muted);
}

.mev-mini:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

/* Markdown 渲染结果 */

.mev-md {
	font-size: 14px;
	line-height: 1.8;
	word-break: break-word;
}

.mev-md h3,
.mev-md h4 {
	font-size: 14px;
	font-weight: 500;
	color: var(--mev-primary-dark);
	margin: 14px 0 6px;
}

.mev-md p {
	margin: 0 0 10px;
}

.mev-md ul,
.mev-md ol {
	margin: 0 0 10px;
	padding-left: 22px;
}

.mev-md li {
	margin-bottom: 5px;
}

.mev-md strong {
	font-weight: 500;
	color: #111827;
}

.mev-md code {
	background: #f2f4f7;
	border-radius: 4px;
	padding: 1px 5px;
	font-size: 12.5px;
	font-family: Consolas, Monaco, monospace;
}

.mev-md blockquote {
	margin: 0 0 10px;
	padding: 6px 12px;
	border-left: 3px solid var(--mev-primary);
	background: var(--mev-primary-soft);
	color: #374151;
	font-size: 13px;
}

.mev-md hr {
	border: none;
	border-top: 1px solid var(--mev-border);
	margin: 14px 0;
}

.mev-md table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	margin: 0 0 12px;
}

.mev-md th,
.mev-md td {
	border: 1px solid var(--mev-border);
	padding: 6px 10px;
	text-align: left;
}

.mev-md th {
	background: #f7f9fc;
	font-weight: 500;
}

.mev-md a {
	color: var(--mev-primary);
}

/* ---------- 结构化小节（由回答里的小节标题驱动） ---------- */

.mev-sec {
	margin: 0 0 14px;
	padding-left: 12px;
	border-left: 2px solid var(--mev-border);
}

.mev-sec-h {
	font-size: 12.5px;
	font-weight: 500;
	color: var(--mev-muted);
	letter-spacing: .3px;
	margin-bottom: 5px;
}

/* 结论 / 证据不足：本次回答的核心判断，给一层底色 */
.mev-sec-lead {
	padding: 11px 15px;
	border-left: 2px solid var(--mev-primary);
	background: var(--mev-primary-soft);
	border-radius: 0 8px 8px 0;
}

.mev-sec-lead .mev-sec-h {
	color: var(--mev-primary-dark);
}

.mev-sec-lead p {
	margin: 0;
	font-size: 14.5px;
	color: #14263c;
}

/* 需要注意：风险、禁忌与不确定之处 */
.mev-sec-warn {
	padding: 11px 15px;
	border-left: 2px solid #e0a53a;
	background: var(--mev-amber-soft);
	border-radius: 0 8px 8px 0;
}

.mev-sec-warn .mev-sec-h {
	color: var(--mev-amber);
}

/* 鉴别诊断三层 */
.mev-sec-tier {
	margin: 0 0 6px;
	padding: 10px 14px 8px;
	border-left: none;
	border-radius: 10px;
}

.mev-sec-tier .mev-sec-h {
	margin-bottom: 4px;
}

.mev-tier-likely {
	background: var(--mev-teal-soft);
}

.mev-tier-likely .mev-sec-h {
	color: var(--mev-teal);
}

.mev-tier-watch {
	background: var(--mev-amber-soft);
}

.mev-tier-watch .mev-sec-h {
	color: var(--mev-amber);
}

.mev-tier-never {
	background: var(--mev-red-soft);
}

.mev-tier-never .mev-sec-h {
	color: var(--mev-red);
}

.mev-tier-row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	font-size: 13.5px;
	line-height: 1.65;
	padding: 4px 0;
}

.mev-tier-row + .mev-tier-row {
	border-top: 1px solid rgba(0, 0, 0, .05);
}

.mev-tier-tag {
	margin-left: auto;
	flex: none;
	font-size: 11.5px;
	line-height: 1.5;
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	white-space: nowrap;
}

/* ---------- 证据分组头 ---------- */

.mev-ev-grp {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 14px 4px 7px;
}

.mev-ev-grp-h {
	font-size: 12px;
	font-weight: 500;
	color: var(--mev-primary-dark);
}

.mev-ev-grp-n {
	font-size: 11.5px;
	color: var(--mev-faint);
}

.mev-ev-grp::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--mev-border);
}

/* 引用角标 */

.mev-ref {
	display: inline-block;
	min-width: 17px;
	height: 17px;
	line-height: 16px;
	padding: 0 4px;
	margin: 0 1px;
	border-radius: 5px;
	background: var(--mev-primary-soft);
	border: 1px solid #c5dcf2;
	color: var(--mev-primary);
	font-size: 11px;
	vertical-align: 2px;
	text-align: center;
}

.mev-ref:hover {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}

.mev-ref-on {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}

/* 加载状态 */

.mev-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--mev-muted);
	font-size: 13px;
	padding: 14px 0;
}

.mev-dots {
	display: inline-flex;
	gap: 4px;
}

.mev-dots i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--mev-primary);
	opacity: .3;
	animation: mevBlink 1.2s infinite;
}

.mev-dots i:nth-child(2) { animation-delay: .2s; }
.mev-dots i:nth-child(3) { animation-delay: .4s; }

@keyframes mevBlink {
	0%, 60%, 100% { opacity: .25; }
	30% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.mev-dots i { animation: none; opacity: .6; }
}

/* 错误提示 */

.mev-error {
	background: var(--mev-red-soft);
	border: 1px solid #f0c3c1;
	border-radius: 10px;
	padding: 12px 14px;
	color: var(--mev-red);
	font-size: 13px;
	line-height: 1.7;
}

.mev-error a {
	color: inherit;
	font-weight: 500;
}

/* ---------- 输入区 ---------- */

/* 指南原文（1.12.0）
   只在「指南解读」场景出现。底色与问答页的文库证据卡（虚线、琥珀）同一族，
   但这里用实线 + 琥珀浅底：它不是「候选证据」，是用户自己带进来的原文，
   视觉上要和系统检索到的东西分开，否则读者会以为是我们查到的。
   刻意不用 .mev-composer 的样式体系——那个容器里的 textarea 是无边框的，
   放进来会看不出可编辑区域。 */
.mev-src {
	background: var(--mev-amber-soft);
	border: 1px solid #f0dcb6;
	border-radius: 12px;
	padding: 10px 12px;
	margin-top: 14px;
}

.mev-src-head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mev-src-tag {
	font-size: 12px;
	font-weight: 600;
	color: var(--mev-amber);
	background: #fff;
	border: 1px solid #f0dcb6;
	border-radius: 999px;
	padding: 1px 8px;
}

.mev-src-count {
	margin-left: auto;
	font-size: 12px;
	color: #8a6a32;
	font-variant-numeric: tabular-nums;
}

.mev-src-toggle {
	border: none;
	background: none;
	color: var(--mev-amber);
	font-size: 12px;
	cursor: pointer;
	padding: 2px 4px;
}

.mev-src-toggle:hover { text-decoration: underline; }

.mev-src-tip {
	margin: 8px 0 6px;
	font-size: 12px;
	line-height: 1.75;
	color: #6b4a08;
}

.mev-src-tip strong { color: #a33; }

.mev-src textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e6d3ae;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 13px;
	line-height: 1.75;
	font-family: inherit;
	background: #fff;
	color: var(--mev-ink);
	resize: vertical;
	min-height: 84px;
}

.mev-src textarea:focus {
	outline: none;
	border-color: var(--mev-amber);
}

.mev-src[data-collapsed="1"] .mev-src-body { display: none; }

/* 面板内直接提交（1.12.0 补）：粘完原文就能发，不必再去找下方输入框旁的「发送」。 */
.mev-src-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.mev-src-send {
	background: var(--mev-amber);
	border: 1px solid var(--mev-amber);
	color: #fff;
	border-radius: 8px;
	padding: 6px 18px;
	font-size: 13px;
	cursor: pointer;
}

.mev-src-send:hover { background: #6f4706; border-color: #6f4706; }

.mev-src-send:disabled { opacity: 0.55; cursor: default; }

.mev-src-hint {
	font-size: 11.5px;
	color: #9a7a3d;
	line-height: 1.6;
}

/* 原文角标（1.12.0）：模型引用用户粘贴的原文时渲染成这个。
   与证据角标 [n] 刻意不同形：数字角标指向系统检索到的文献，
   这个指向「你自己贴的那段话」，两者混淆等于把两种可信度混为一谈。 */
.mev-ref-doc {
	font-size: 12px;
	color: #6b4a08;
	background: #fff;
	border: 1px dashed #d8bd8c;
	border-radius: 6px;
	padding: 0 5px;
	margin-left: 2px;
	white-space: nowrap;
}

.mev-composer {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 10px 12px 14px;
	margin-top: 14px;
	/* 1.49.9：下内边距 10→14，让出 4px 给「回答中」那条心电。
	   原来想画在卡片外面（更干净），但输入卡是 position:sticky bottom:0，
	   滚到底时贴住视口底、外面根本没有空间，那条线会被裁掉——
	   所以收回框内下沿，只吃掉 4px。 */
	position: sticky;
	bottom: 0;
}

/* 「回答中」心电：.mev-composer-busy 由脚本在 setBusy(true/false) 里挂上。
   平时 opacity:0（不显示、也不吃事件），只在等待回答那几秒淡入并在跑。
   高度 13px、viewBox 16，不用 slice 用 none——这条要的是「走纸」的均匀速度，
   不是保持比例；压扁一点反而更像监护仪上那条细线。 */
.mev-ccg {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 1px;
	height: 10px;
	width: auto;
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s ease;
}

.mev-composer-busy .mev-ccg { opacity: 1; }

/* 框线一起亮：这条线只有 10px 高，光靠它自己说「在跑」太轻，
   边框变主色之后整块输入区才像「开着」，与那条走纸是一件事。 */
.mev-composer-busy { border-color: rgba(43, 136, 208, .45); }

.mev-ccg-line {
	fill: none;
	stroke: rgba(29, 111, 184, .6);
	stroke-width: 1.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mev-ccg-pulse {
	fill: none;
	stroke: rgba(43, 136, 208, 1);
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 40 900;
	stroke-dashoffset: 0;
	animation: mevCcgRun 2.6s linear infinite;
}

@keyframes mevCcgRun {
	from { stroke-dashoffset: 0; }
	to { stroke-dashoffset: -940; }
}

/* 系统开了「减少动画」：这条线不跑，但保留（它是状态提示，不是装饰）。 */
@media (prefers-reduced-motion: reduce) {
	.mev-ccg-pulse { animation: none; }
}

.mev-composer textarea {
	width: 100%;
	border: none;
	outline: none;
	resize: vertical;
	min-height: 62px;
	font-size: 14px;
	line-height: 1.7;
	font-family: inherit;
	color: var(--mev-text);
	background: transparent;
}

.mev-composer-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 8px;
	border-top: 1px solid var(--mev-border);
}

.mev-status {
	font-size: 11.5px;
	color: var(--mev-faint);
	/* 同一行现在有三个东西（清空会话 / 临时消息 / 证据+发送）。临时消息最长的那句
	   是「已填入上次的问题，可直接发送或修改」，不裁剪就会把发送按钮顶出屏幕。 */
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 清空会话（1.49.1 从页头挪到这里）。原先它在页头胶囊下方独占一排——手机首屏
   最贵的一排空间，只放一个几乎不用的撤退动作；而它本来只对「这次对话」生效，
   放在输入框这一行的左侧才对得上。压小一档：撤退动作不该跟「发送」抢注意力。 */
.mev-clear {
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 12px;
	color: var(--mev-faint);
	white-space: nowrap;
}

.mev-composer-actions {
	display: flex;
	gap: 8px;
}

.mev-send {
	background: var(--mev-primary);
	border: 1px solid var(--mev-primary);
	color: #fff;
	border-radius: 8px;
	padding: 6px 20px;
	font-size: 13px;
}

.mev-send:hover {
	background: var(--mev-primary-dark);
	border-color: var(--mev-primary-dark);
}

.mev-send[disabled] {
	opacity: .55;
	cursor: not-allowed;
}

.mev-ghost {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
	border-radius: 8px;
	padding: 5px 12px;
	font-size: 12.5px;
}

.mev-ghost:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

/* ---------- 证据卡片 ---------- */

.mev-ev {
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 10px;
	background: #fcfdfe;
	transition: all .2s ease;
}

.mev-ev-dim {
	opacity: .5;
}

.mev-ev-on {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
	opacity: 1;
}

.mev-ev-head {
	display: flex;
	gap: 6px;
	align-items: center;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.mev-ev-no {
	display: inline-block;
	min-width: 18px;
	height: 18px;
	line-height: 17px;
	text-align: center;
	border-radius: 5px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 11px;
	padding: 0 4px;
}

.mev-ev-kind {
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 4px;
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
}

.mev-ev-kind-pubmed {
	border-color: #b8ddcd;
	color: var(--mev-teal);
	background: var(--mev-teal-soft);
}

/* 指南库线索（1.11.0）：用 amber 与 PubMed 的 teal 区分开。
   这批条目只有标题和链接、没有正文，所以整张卡片刻意做轻——虚线边框 +
   一句边界说明。不这么做的话，一份印着「XX 指南（2026）」的中文标题
   看起来会和其它证据一样硬，读者会以为回答里的推荐来自它。 */
.mev-ev-kind-library {
	border-color: #e6dcc2;
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
}

.mev-ev-library {
	border-style: dashed;
}

.mev-ev-note {
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--mev-faint);
	background: var(--mev-bg);
	border-radius: 6px;
	padding: 6px 9px;
	margin: 6px 0 0;
}

.mev-ev-title {
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--mev-text);
	margin: 0 0 4px;
	word-break: break-word;
}

.mev-ev-src {
	font-size: 11.5px;
	color: var(--mev-faint);
	margin: 0 0 6px;
}

.mev-ev-src a {
	color: var(--mev-primary);
}

.mev-ev-text {
	font-size: 12px;
	line-height: 1.7;
	color: var(--mev-muted);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mev-ev-open .mev-ev-text {
	-webkit-line-clamp: unset;
	display: block;
}

.mev-ev-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
}

.mev-ev-more {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font-size: 11.5px;
	color: var(--mev-muted);
	font-family: inherit;
}

.mev-ev-more:hover {
	color: var(--mev-primary);
}

.mev-ev-dl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	padding: 4px 12px;
	border-radius: 999px;
	border: 1px solid rgba(29, 111, 184, 0.35);
	background: rgba(29, 111, 184, 0.06);
	color: var(--mev-primary);
	font-size: 11.5px;
	font-family: inherit;
	line-height: 1.6;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}

.mev-ev-dl:hover {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
	text-decoration: none;
}

.mev-ev-dl[disabled] {
	opacity: 0.6;
	cursor: default;
}

.mev-ev-via {
	font-size: 11px;
	color: var(--mev-muted);
	white-space: nowrap;
}

.mev-ev-via-docpro {
	color: #0f6e9b;
}

/* ---------- 证据反馈面板 ---------- */

.mev-ev-fb-btn {
	background: none;
	border: none;
	padding: 0;
	margin: 0 0 0 auto;   /* 推到最右侧，与「下载原文」拉开距离，避免误点 */
	font-size: 11.5px;
	color: var(--mev-muted);
	font-family: inherit;
}

.mev-ev-fb-btn:hover {
	color: var(--mev-red);
}

.mev-ev-fb-btn[disabled] {
	color: var(--mev-faint);
	cursor: default;
}

.mev-ev-fb-btn.mev-ev-fb-on,
.mev-ev-fb-btn.mev-ev-fb-on[disabled] {
	color: var(--mev-teal);
}

.mev-fb {
	margin-top: 10px;
	padding: 10px 12px;
	background: var(--mev-bg);
	border: 1px solid var(--mev-border);
	border-radius: 8px;
}

.mev-fb-h {
	margin: 0 0 8px;
	font-size: 12px;
	color: var(--mev-muted);
	line-height: 1.6;
}

.mev-fb-reasons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.mev-fb-r {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 12px;
	color: var(--mev-text);
	font-family: inherit;
	line-height: 1.7;
}

.mev-fb-r:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

.mev-fb-r-on {
	background: var(--mev-red-soft);
	border-color: var(--mev-red);
	color: var(--mev-red);
}

.mev-fb-note {
	width: 100%;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	padding: 6px 8px;
	font-size: 12.5px;
	font-family: inherit;
	color: var(--mev-text);
	background: var(--mev-card);
	line-height: 1.6;
	resize: vertical;
}

.mev-fb-note:focus {
	outline: none;
	border-color: var(--mev-primary);
}

.mev-fb-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
}

.mev-fb-submit {
	background: var(--mev-primary);
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 5px 12px;
	font-size: 12.5px;
	font-family: inherit;
}

.mev-fb-submit[disabled] {
	background: #cbd5e1;
	cursor: default;
}

.mev-fb-cancel {
	background: none;
	border: none;
	padding: 0;
	font-size: 12.5px;
	color: var(--mev-muted);
	font-family: inherit;
}

.mev-fb-cancel:hover {
	color: var(--mev-text);
}

.mev-fb-status {
	font-size: 11.5px;
	color: var(--mev-muted);
}

.mev-fb-done {
	margin: 0;
	font-size: 12.5px;
	color: var(--mev-teal);
}

/* ---------- 管理员面板 ---------- */

.mev-admin {
	margin-top: 16px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 12px 16px;
}

.mev-admin summary {
	cursor: pointer;
	font-size: 13px;
	color: var(--mev-primary-dark);
	font-weight: 500;
}

.mev-admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 10px;
	margin: 14px 0;
}

.mev-admin-grid label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12px;
	color: var(--mev-muted);
}

.mev-admin-grid input,
.mev-admin-grid select {
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	padding: 6px 10px;
	font-size: 13px;
	font-family: inherit;
	color: var(--mev-text);
	background: #fff;
}

.mev-admin-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* ---------- 页脚声明 ---------- */

.mev-footnote {
	margin-top: 16px;
	padding: 10px 14px;
	border-radius: 10px;
	background: #f7f9fc;
	border: 1px solid var(--mev-border);
	font-size: 11.5px;
	color: var(--mev-muted);
	line-height: 1.7;
	text-align: center;
}

/* ---------- 全站悬浮入口 ---------- */

.mev-floatbtn {
	position: fixed;
	right: 22px;
	bottom: 88px;
	z-index: 900;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border-radius: 999px;
	background: #1d6fb8;
	color: #fff !important;
	font-size: 13px;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(29, 111, 184, .32);
}

.mev-floatbtn:hover {
	background: #0c447c;
}

/* ==========================================================================
   科室维度
   ========================================================================== */

.mev-deptbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 12px 0;
	padding: 10px 14px;
	background: linear-gradient(180deg, #f7fafd, #ffffff);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	font-size: 13px;
}

.mev-dept-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 11px;
	font-weight: 600;
	flex: 0 0 auto;
}

.mev-dept-label {
	color: var(--mev-muted);
}

.mev-dept-select {
	padding: 4px 8px;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	background: #fff;
	font-size: 13px;
	font-family: inherit;
	color: var(--mev-text);
	max-width: 200px;
}

.mev-dept-name {
	font-weight: 600;
	color: var(--mev-primary-dark);
}

.mev-dept-note {
	color: var(--mev-faint);
	font-size: 12px;
}

.mev-dept-lock {
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
	padding: 2px 8px;
	border-radius: 999px;
}

.mev-dept-focus {
	flex: 1 1 100%;
	color: var(--mev-muted);
	font-size: 12px;
	line-height: 1.7;
	padding-top: 6px;
	border-top: 1px dashed var(--mev-border);
}

/* ==========================================================================
   身份徽章与会员锁
   ========================================================================== */

.mev-tier {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 600;
	white-space: nowrap;
}

.mev-tier-guest  { background: #eceff3; color: #5b636e; }
.mev-tier-free   { background: #eef2f7; color: #4a5568; }
.mev-tier-member { background: var(--mev-teal-soft); color: var(--mev-teal); }
.mev-tier-admin  { background: var(--mev-amber-soft); color: var(--mev-amber); }
/* 1.45.0 语料审核员徽章：teal 系与会员/管理区分开——审核是「为内容负责」的身份，
   不是权限身份，所以用最安静的一档色。 */
.mev-tier-review { background: var(--mev-teal-soft); color: var(--mev-teal); }

/* 1.45.0 审核工作台（plugin.php?id=medevid:review） */
.mev-rev-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 12px 0 10px;
}
.mev-rev-tab {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 8px;
	font-size: 13px;
	text-decoration: none;
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
	background: var(--mev-card);
}
.mev-rev-tab.is-on {
	border-color: #9db8d6;
	color: var(--mev-primary);
	background: var(--mev-primary-soft);
	font-weight: 600;
}
.mev-rev-depts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}
.mev-rev-depts .mev-tag.is-on {
	border-color: var(--mev-primary);
	font-weight: 600;
}
.mev-rev-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 8px;
}
.mev-rev-table th, .mev-rev-table td {
	text-align: left;
	padding: 7px 10px;
	border-bottom: 1px solid var(--mev-border);
	vertical-align: top;
}
.mev-rev-table th {
	font-size: 11.5px;
	color: var(--mev-muted);
	font-weight: 600;
}
.mev-rev-id {
	font-family: ui-monospace, Menlo, Consolas, monospace;
	font-size: 11.5px;
	color: var(--mev-muted);
}
.mev-rev-un {
	color: var(--mev-amber);
}
.mev-rev-ok  { color: var(--mev-teal); font-weight: 600; }
.mev-rev-rw  { color: var(--mev-amber); font-weight: 600; }
.mev-rev-rj  { color: var(--mev-red); font-weight: 600; }
.mev-rev-claimbtn {
	padding: 2px 10px;
	font-size: 12px;
	border-radius: 6px;
	border: 1px solid #9db8d6;
	background: var(--mev-primary-soft);
	color: var(--mev-primary);
	cursor: pointer;
}
.mev-rev-submitbtn {
	padding: 5px 16px;
	font-size: 13px;
}
/* 额度用完时替掉「认领」按钮（1.56.9）：按钮变灰仍然能点，人会以为
   是网络没反应——这里干脆不出按钮，只留一句实话，理由在页头状态栏里。 */
.mev-rev-quota-none {
	display: inline-block;
	padding: 2px 8px;
	font-size: 11.5px;
	color: var(--mev-faint);
	border: 1px dashed var(--mev-border);
	border-radius: 6px;
	white-space: nowrap;
}
.mev-rev-releasebtn {
	padding: 1px 8px;
	font-size: 11.5px;
	border-radius: 6px;
	border: 1px solid var(--mev-border);
	background: transparent;
	color: var(--mev-faint);
	cursor: pointer;
}
.mev-rev-pager {
	margin: 10px 0;
	font-size: 13px;
}
.mev-rev-pager a {
	margin-right: 10px;
}
.mev-rev-card {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 12px;
}
.mev-rev-card-head {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: baseline;
}
/* 1.56.8：出处框一圈红边。逐列核里有一行就叫「出处」，要对着上面这一串核；
   它原来是灰字、混在标题行里，眼睛找不到落点，往下看选项时只能凭记忆。
   红边只做「锚点」——文字仍是正文色，用的是框不是红字：这里不是警情。 */
.mev-rev-src {
	font-size: 11.5px;
	color: var(--mev-text);
	display: inline-block;
	max-width: 100%;
	padding: 0 7px;
	border: 1px solid var(--mev-red);
	border-radius: 4px;
	background: var(--mev-card);
	line-height: 1.75;
}
.mev-rev-card-text {
	font-size: 13px;
	line-height: 1.8;
	margin: 8px 0;
	padding: 8px 10px;
	background: var(--mev-bg);
	border-radius: 6px;
}
.mev-rev-verdicts {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin-bottom: 6px;
	font-size: 13px;
}
.mev-rev-verdicts label {
	cursor: pointer;
}
.mev-rev-form textarea { width: 100%; }
.mev-rev-card-acts { margin-top: 6px; }

/* 1.55.0 列式评审
   为什么是「表格 + 每列一格页码」而不是一段自由文本：三档只能得出「这条不行」，
   得不出「正确值是什么」，而能落到 corpus.json / 卡片 md 的恰恰只能是后者。
   桌面是表，≤820px 转成每列一张小卡——11 列表格横滑会把三个 radio 挤成
   一列竖字，点都点不准，比横滑更难用。 */
.mev-rev-orig {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: center;
	margin: 0 0 10px;
}
.mev-rev-orig-hint { font-size: 11.5px; color: var(--mev-muted); }
.mev-rev-orig-none { font-size: 12px; color: var(--mev-amber); }
.mev-rev-prior {
	display: block;
	width: 100%;
	font-size: 11.5px;
	color: var(--mev-muted);
	white-space: nowrap;
}
.mev-rev-tips summary {
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--mev-teal);
	list-style: none;
}
.mev-rev-tips summary::-webkit-details-marker { display: none; }
.mev-rev-tips summary::after { content: " ＋"; font-weight: 400; }
.mev-rev-tips[open] summary::after { content: " －"; }
.mev-rev-tips[open] summary { margin-bottom: 6px; }
.mev-rev-colbar {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	align-items: center;
	margin: 0 0 6px;
}
.mev-rev-colbar-t { font-size: 12.5px; font-weight: 500; color: var(--mev-text); }
.mev-rev-colbar-hint { font-size: 11.5px; color: var(--mev-faint); }
.mev-rev-fillbtn {
	font-size: 12px;
	padding: 3px 10px;
	border: 1px solid var(--mev-teal);
	background: var(--mev-teal-soft);
	color: var(--mev-teal);
	border-radius: 6px;
	cursor: pointer;
}
.mev-rev-fillbtn:hover { background: #d8ede4; }
.mev-rev-cols {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	margin: 0 0 10px;
}
.mev-rev-cols th {
	text-align: left;
	font-weight: 500;
	font-size: 11.5px;
	color: var(--mev-muted);
	padding: 4px 8px 6px;
	border-bottom: 1px solid var(--mev-border);
}
.mev-rev-colrow td {
	padding: 7px 8px;
	border-bottom: 1px solid var(--mev-border);
	vertical-align: top;
}
.mev-rev-colname { width: 24%; min-width: 132px; }
.mev-rev-colhint {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	line-height: 1.55;
	color: var(--mev-faint);
}
.mev-rev-colstates { white-space: nowrap; }
.mev-rev-st {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-right: 9px;
	white-space: nowrap;
	cursor: pointer;
}
.mev-rev-thsub { margin-left: 6px; font-weight: 400; color: var(--mev-faint); }
/* 1.56.8：正确值与页码在同一格。值占满剩余宽度、页码定宽贴右——
   用 flex 而不是两个百分比：中文一换行，百分比那套会把页码挤到下一行。
   页码原来独占一列，六行里五个空框，看着像漏填五个格子。 */
.mev-rev-colval-in { display: flex; align-items: center; gap: 6px; }
.mev-rev-colinput, .mev-rev-colsel { flex: 1 1 auto; min-width: 0; width: auto; font-size: 12.5px; }
.mev-rev-pg { flex: none; display: inline-flex; align-items: center; }
.mev-rev-pg .mev-rev-colpginput { width: 58px; font-size: 12.5px; }
/* 没开 JS 时页码框还在（判「不符」要填），只压暗；开了 JS 由 rev155.js 收起来 */
.mev-rev-colrow:not(.is-x) .mev-rev-pg { opacity: .5; }
.mev-rev-colrow:not(.is-x) .mev-rev-pg:focus-within { opacity: 1; }
.mev-rev-colpginput { width: 62px; font-size: 12.5px; }
/* 出处页那一列：这一格本身就是页码，占满 */
.mev-rev-colval-in-pg .mev-rev-colpginput { width: 100%; }
/* 「本条：2022」/「本条未载明」——记录里写的是什么。灰、小、不抢三态的眼，
   可它决定了这一列能不能说「一致」：记录里没有的东西，本来就没法一致。 */
.mev-rev-cur { display: block; margin-top: 3px; font-size: 11px; color: var(--mev-muted); }
.mev-rev-cur b { font-weight: 600; color: var(--mev-text); }
/* 「原文未写」选上后，值与页码由 rev155.js 禁用：留着能填就是让人白写一遍，
   交上去一定被打回来。禁用态要看得出来，否则会以为框坏了。 */
.mev-rev-colinput:disabled, .mev-rev-colsel:disabled, .mev-rev-colpginput:disabled {
	background: var(--mev-bg);
	color: var(--mev-faint);
	cursor: not-allowed;
}
.mev-rev-verdicts-h {
	display: block;
	width: 100%;
	font-size: 11.5px;
	color: var(--mev-muted);
	margin-bottom: 2px;
}
@media (max-width: 820px) {
	/* tr 不能一起 blockify：`.mev-rev-cols tr` 是 0,1,1，会压过 .mev-rev-colrow（0,1,0），
	   栅格就不生效——表现是值框与页码各占一行，一条卡白白高出一倍。 */
	.mev-rev-cols, .mev-rev-cols tbody, .mev-rev-cols td { display: block; width: auto; }
	.mev-rev-cols tr:first-child { display: none; }
	/* 每列一张小卡：11 列表格横滑会把三个 radio 挤成一列竖字，点都点不准。
	   卡内用两列栅格——值占满、页码靠右，一条卡从 150px 压到约 96px。 */
	.mev-rev-colrow {
		display: grid;
		/* minmax(0,1fr) 而不是 1fr：1fr 的最小值是 min-content，
		   三态那一排的 label 一长，整列就被撑出卡片右边（页码框跑到屏外）。 */
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "name" "states" "val";
		gap: 3px 8px;
		border: 1px solid var(--mev-border);
		border-radius: 8px;
		padding: 8px 10px;
		margin-bottom: 8px;
		background: var(--mev-card);
	}
	.mev-rev-colrow td { border-bottom: 0; padding: 0; }
	.mev-rev-colname { grid-area: name; min-width: 0; font-weight: 500; }
	/* 说明在窄屏一律不显示：11 段说明加起来比表格本身还高，
	   而它们只在「这一列到底指什么」说不清时才需要看，那时会在桌面上看。 */
	.mev-rev-colhint { display: none; }
	/* 「本条：2022」不跟着说明一起藏：说明是背景，这一行是判据 */
	.mev-rev-cur { margin-top: 2px; }
	.mev-rev-colstates { grid-area: states; white-space: normal; display: flex; flex-wrap: wrap; gap: 4px 14px; }
	.mev-rev-st { margin-right: 0; }
	.mev-rev-colval { grid-area: val; min-width: 0; }
	/* 页码不再单独占一栏，跟着值框并排：一行放得下「值 + 4 位页码」，
	   这一条卡的高度也比四栏时少一行。 */
	.mev-rev-pg .mev-rev-colpginput { width: 54px; }
	.mev-rev-colval-in-pg .mev-rev-colpginput { width: 100%; }
}
/* 1.46.0 核对指引：三条按固定顺序写死（原文核对 → 版本时效 → 附件），
   与 schema 里「不看原文就会做错且事后难察觉」同一套判据。
   底色刻意比正文浅、边框只留左边一条竖线：它是提示，不该盖过要核的那段语料。 */
.mev-rev-tips {
	margin: 0 0 10px;
	padding: 10px 12px;
	background: #f7fbf9;
	border: 1px solid #dcebe4;
	border-left: 3px solid var(--mev-teal);
	border-radius: 8px;
}
.mev-rev-tips-h {
	margin: 0 0 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: #0f6e56;
}
.mev-rev-tips-list {
	margin: 0;
	padding-left: 20px;
	font-size: 12.5px;
	line-height: 1.85;
	color: #374151;
}
.mev-rev-tips-list li { margin-bottom: 4px; }
.mev-rev-tips-list strong { color: #1f2937; }
.mev-rev-pdfbtn {
	display: inline-block;
	margin-top: 8px;
	padding: 6px 14px;
	border: 1px solid #9db8d6;
	border-radius: 8px;
	background: #f2f7fd;
	color: #1d6fb8;
	font-size: 12.5px;
	text-decoration: none;
}
.mev-rev-pdfbtn:hover { background: #e6f0fa; }
.mev-rev-pdfok {
	color: var(--mev-teal);
	font-weight: 600;
}
/* 1.54.0 三圈（本科室 / 跨科）与用户报错置顶
   口气：跨科是「排在后面」，不是「不许核」——所以用小号灰字和浅琥珀标签，
   不用红、不用禁用色；红只留给「判废」和真错误。 */
.mev-rev-dept {
	display: inline-block;
	margin-left: 6px;
	font-size: 11.5px;
	color: var(--mev-faint);
}
.mev-rev-cross {
	display: inline-block;
	margin-left: 6px;
	padding: 0 6px;
	border: 1px solid #efdcbc;
	border-radius: 4px;
	font-size: 11px;
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
}
.mev-rev-claimform {
	display: inline-block;
	white-space: nowrap;
}
.mev-rev-crossok {
	display: block;
	margin-bottom: 4px;
	font-size: 11.5px;
	color: var(--mev-muted);
	cursor: pointer;
}
.mev-rev-pin {
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid #f0e2cb;
	border-left: 3px solid var(--mev-amber);
	border-radius: 8px;
	background: #fdfaf4;
}
.mev-rev-pin-h {
	margin: 0 0 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--mev-amber);
}
.mev-rev-pin-sub {
	margin-left: 8px;
	font-weight: 400;
	font-size: 11.5px;
	color: var(--mev-muted);
}
.mev-rev-pin-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12.5px;
	line-height: 1.7;
}
.mev-rev-pin-item {
	padding: 3px 0;
	border-top: 1px dashed #f0e2cb;
}
.mev-rev-pin-item:first-child {
	border-top: none;
}
.mev-rev-pin-tag {
	display: inline-block;
	margin-right: 6px;
	padding: 0 6px;
	border-radius: 4px;
	font-size: 11px;
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
	border: 1px solid #efdcbc;
}
.mev-rev-pin-tag-card {
	color: var(--mev-muted);
	background: var(--mev-bg);
	border-color: var(--mev-border);
}
.mev-rev-pin-t {
	color: var(--mev-text);
	font-weight: 600;
	text-decoration: none;
}
.mev-rev-pin-t:hover {
	text-decoration: underline;
}
.mev-rev-pin-r {
	margin-left: 8px;
	font-size: 11.5px;
	color: var(--mev-red);
}
.mev-rev-pin-n {
	margin-left: 8px;
	color: var(--mev-muted);
}
.mev-rev-pin-m {
	margin-left: 8px;
	font-size: 11.5px;
	color: var(--mev-faint);
}
/* 回执：已复核是最要紧的一档（判了算数），待处理不催不吓（灰），
   条目不在库里说明原因而不是报错（淡字）。
   这一组都不许折行：「已复核 · 2026-11-01」在窄列里会断成
   「已复核 · 2026-11-」+「01」，日期断行比不显示更难看。 */
.mev-rev-back {
	color: var(--mev-teal);
	font-weight: 600;
	white-space: nowrap;
}
.mev-rev-wait {
	color: var(--mev-faint);
	white-space: nowrap;
}
.mev-rev-gone {
	color: var(--mev-faint);
	font-style: normal;
	white-space: nowrap;
}
/* 判定档与「无/未复核」同样不折行：「判断不了」断成「判断不」+「了」会被读成另一个意思 */
.mev-rev-ok, .mev-rev-rw, .mev-rev-rj, .mev-rev-un {
	white-space: nowrap;
}
/* 表格里不该折行的两处：编号（CARD-135 断成 CARD-/135 就看不出是哪个号了）
   与表头（「原文」竖成两行）。表本身窄屏可横滑，不必靠折行省宽度。
   第一列在「我的提交」里是时间，「2026-10-28 16:20」断成两行最容易读错日期。 */
.mev-rev-table .mev-rev-id,
.mev-rev-table th,
.mev-rev-table td:first-child {
	white-space: nowrap;
}
/* 「已有 2 轮判定」单独占一行：跟「可认领」挤一行时中点会掉到行首，
   看着像列表符号。独立一行、小字灰，读作补充说明。 */
.mev-rev-rounds {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--mev-muted);
	white-space: nowrap;
}
.mev-rev-unsure-note {
	margin: 0 0 6px;
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--mev-muted);
}
@media (max-width: 640px) {
	.mev-rev-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	/* 窄屏下表格该「横滑」而不是「挤扁」：中文可以在任意字之间断行，
	   不设下限时表格会把「条目」挤成一条 60px 的竖缝（标题一字一行），
	   反而比横滑更难读。给条目列一个下限，超出就交给 overflow-x 滚动。 */
	.mev-rev-table td:nth-child(2) { min-width: 170px; }
}

.mev-tag-link {
	text-decoration: none;
	color: var(--mev-primary) !important;
	background: var(--mev-primary-soft);
	border-color: #cfe0f2;
}

/* 1.45.0 功能入口容器：桌面 display:contents，链接直接参与 .mev-meta 的
   flex 流（观感与拆分前一致）；≤480px 切 3 列等宽网格——6 个入口正好
   两排对齐。不改的话窄屏 flex 换行实测是 3 排参差（4+4+1）。 */
.mev-meta-links { display: contents; }
@media (max-width: 480px) {
	.mev-meta-links {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 6px;
		width: 100%;
		margin-top: 2px;
	}
	.mev-meta-links .mev-tag {
		display: block;
		text-align: center;
		padding: 4px 4px;
		white-space: nowrap;
	}
}

.mev-tag-lock {
	background: var(--mev-amber-soft);
	color: var(--mev-amber);
	border-color: #f0dcb6;
}

.mev-chip-lock {
	opacity: .74;
	border-style: dashed;
}

.mev-chip-lockicon {
	margin-left: 5px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--mev-amber-soft);
	color: var(--mev-amber);
	font-size: 10px;
	font-weight: 600;
}

a.mev-ghost {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

/* ---------- 权益对照表 ---------- */

.mev-tiers {
	margin-top: 18px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 12px 16px;
}

.mev-tiers summary {
	cursor: pointer;
	font-size: 13.5px;
	color: var(--mev-primary-dark);
	font-weight: 600;
}

.mev-tiertable {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
	font-size: 13px;
}

.mev-tiertable th,
.mev-tiertable td {
	padding: 8px 10px;
	border-bottom: 1px solid #f1f4f8;
	text-align: left;
}

.mev-tiertable th {
	color: var(--mev-muted);
	font-weight: 600;
	font-size: 12.5px;
	background: #f7f9fc;
}

.mev-tiertable-on {
	color: var(--mev-teal);
	font-weight: 600;
}

/* 高亮落在访客列时改用中性色：这里的绿色读作「更好的那一档」，
 * 用在访客身上会变成误导 */
.mev-tiertable [data-col="guest"].mev-tiertable-on {
	color: #5b636e;
}

/* ==========================================================================
   证据库说明页
   ========================================================================== */

.mev-lib {
	max-width: 1100px;
}

.mev-lib-stat {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin: 14px 0;
}

.mev-lib-statcard {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 14px 10px;
	text-align: center;
}

.mev-lib-num {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--mev-primary-dark);
	line-height: 1.2;
}

.mev-lib-label {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--mev-muted);
}

.mev-lib-note {
	background: var(--mev-amber-soft);
	border: 1px solid #f0dcb6;
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 13px;
	line-height: 1.85;
	color: #6b4a08;
}

/* 文库书目线索说明块（1.11.1）。
   与上面 .mev-lib-note 的差别是故意做出来的：那一块是实线，说的是「本页是什么」；
   这一块是虚线，说的是「另外还有一份不算证据的东西」。虚线 + 「仅书目线索」标签
   与问答页的文库证据卡片（.mev-ev-library）是同一套语言，读者在两处看到同样的
   形状，不必重新理解一遍。数字只读本地配置，这一页不发任何外部请求。 */
.mev-lib-more {
	margin-top: 12px;
	padding: 12px 16px;
	background: var(--mev-amber-soft);
	border: 1px dashed #e6dcc2;
	border-radius: 10px;
}

.mev-lib-more-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 6px;
	color: var(--mev-amber);
}

.mev-lib-more-head strong {
	font-size: 13.5px;
	font-weight: 600;
}

.mev-lib-more-badge {
	display: inline-block;
	padding: 1px 6px;
	font-size: 11px;
	line-height: 1.7;
	color: var(--mev-amber);
	background: var(--mev-card);
	border: 1px solid #e6dcc2;
	border-radius: 4px;
}

.mev-lib-more-body {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-text);
}

.mev-lib-more-link {
	margin: 8px 0 0;
	font-size: 12.5px;
}

.mev-lib-more-link a {
	color: var(--mev-amber);
	text-decoration: none;
	border-bottom: 1px dashed currentColor;
}

.mev-lib-more-link a:hover {
	opacity: .78;
}

.mev-lib-sec {
	margin-top: 22px;
}

.mev-lib-h2 {
	font-size: 16px;
	margin: 0 0 6px;
	color: var(--mev-primary-dark);
}

.mev-lib-h3 {
	font-size: 13.5px;
	margin: 0 0 8px;
	color: var(--mev-muted);
	font-weight: 600;
}

.mev-lib-sub {
	margin: 0 0 12px;
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.8;
}

.mev-lib-depts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mev-lib-dept {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	font-size: 13px;
}

.mev-lib-deptcount {
	color: var(--mev-primary);
	font-weight: 600;
}

.mev-lib-cols {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.mev-lib-col {
	flex: 1 1 240px;
}

.mev-lib-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mev-lib-list li {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px dashed var(--mev-border);
	font-size: 13px;
}

.mev-lib-k { color: var(--mev-text); }
.mev-lib-v { color: var(--mev-muted); }

.mev-lib-searchwrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.mev-lib-search {
	flex: 1 1 auto;
	padding: 9px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	background: #fff;
	color: var(--mev-text);
}

.mev-lib-search:focus {
	outline: none;
	border-color: var(--mev-primary);
}

.mev-lib-searchcount {
	font-size: 12px;
	color: var(--mev-muted);
	white-space: nowrap;
}

.mev-lib-tablewrap {
	overflow-x: auto;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: var(--mev-card);
	-webkit-overflow-scrolling: touch;
}

.mev-lib-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	min-width: 640px;
}

.mev-lib-table th {
	text-align: left;
	padding: 10px 12px;
	background: #f7f9fc;
	color: var(--mev-muted);
	font-weight: 600;
	font-size: 12.5px;
	border-bottom: 1px solid var(--mev-border);
	white-space: nowrap;
}

.mev-lib-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #f1f4f8;
	vertical-align: top;
}

.mev-lib-grouprow td {
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-weight: 600;
	font-size: 12.5px;
	padding: 7px 12px;
}

.mev-lib-src { color: var(--mev-text); }
.mev-lib-type,
.mev-lib-year,
.mev-lib-num2 { color: var(--mev-muted); white-space: nowrap; }

.mev-lib-act a {
	color: var(--mev-primary);
	text-decoration: none;
	white-space: nowrap;
}

.mev-lib-act a:hover {
	text-decoration: underline;
}

.mev-lib-nolink { color: var(--mev-faint); }

/* ==========================================================================
   移动端证据抽屉
   ========================================================================== */

/* 数量与关闭按钮一起靠右（side-head 本身是 space-between） */
.mev-side-count { margin-left: auto; }

.mev-side-toggle { display: none; }
.mev-side-close { display: none; }

.mev-mask {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(15, 23, 42, .38);
	z-index: 998;
}

.mev-mask-on { display: block; }

/* ==========================================================================
   响应式：1000px 以下收成单列
   ========================================================================== */

@media (max-width: 1000px) {
	/* Discuz X5 的 body 与 .wp 写死了 min-width:1200px（实测线上 body/#wp 均为 1200px），
	   手机上整页横向滚动——插件自己的响应式断点虽然生效了，但版心被撑到 1200，
	   日期锚、发送按钮这类 space-between 右侧元素全被推出屏幕外。
	   只作用于插件页（Discuz 给插件页 body 加 pg_medevid 类），不碰论坛其它页面。 */
	body.pg_medevid,
	body.pg_medevid .wp {
		min-width: 0 !important;
		width: auto !important;
		max-width: 100% !important;
	}
	.mev-body {
		flex-direction: column;
	}
	/* 窄屏（1.13.10，≤1000px 双栏堆叠后生效）：输入框是主动作，
	   提到欢迎区之前——18 条示例再有价值，也不能把「打字提问」
	   压到两三屏之下。用 flex order 调整显示顺序，DOM 不动，
	   宽屏双栏布局不受影响。粘贴原文面板（.mev-src）与输入框
	   同级前置，展开时才不会跑到示例后面。 */
	.mev-main {
		display: flex;
		flex-direction: column;
	}
	.mev-main > .mev-stream {
		order: 2;
	}
	.mev-main > .mev-src,
	.mev-main > .mev-composer {
		order: 1;
	}
	.mev-side {
		flex: 1 1 auto;
		width: 100%;
		position: static;
		max-height: none;
	}
	.mev-side-body {
		max-height: 340px;
	}
	.mev-q-inner {
		max-width: 94%;
	}
	.mev-lib-stat {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ==========================================================================
   响应式：820px 以下侧栏改为右侧抽屉
   ========================================================================== */

@media (max-width: 820px) {
	.mev-app {
		padding: 10px 10px 22px;
	}
	.mev-head {
		padding: 12px 14px;
	}
	.mev-brandtext h1 {
		font-size: 16px;
	}
	.mev-brandtext p {
		font-size: 12px;
	}
	/* 场景栏（1.13.8）：窄屏回归全局的 flex-wrap: wrap 平铺规则，
	   6 个场景全部直接可见——1.13.1 的横滚 + 渐隐方案让「能滑」不可见、
	   看全要滑两次，用户实测后仍不满意，整段移除。 */
	.mev-side-toggle {
		display: inline-flex;
		align-items: center;
		gap: 5px;
	}
	.mev-side-toggle-num {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 18px;
		height: 18px;
		padding: 0 4px;
		border-radius: 999px;
		background: var(--mev-primary);
		color: #fff;
		font-size: 11px;
	}
	.mev-side-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 26px;
		height: 26px;
		border: none;
		background: none;
		color: var(--mev-muted);
		font-size: 20px;
		line-height: 1;
		margin-left: auto;
	}
	.mev-side {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(90vw, 400px);
		max-height: none;
		border-radius: 0;
		z-index: 999;
		transform: translateX(102%);
		transition: transform .26s ease;
		box-shadow: -6px 0 26px rgba(15, 23, 42, .16);
	}
	.mev-side-on {
		transform: translateX(0);
	}
	.mev-side-body {
		max-height: none;
		flex: 1 1 auto;
	}
	.mev-composer textarea {
		font-size: 16px;   /* 防止 iOS 聚焦时自动放大 */
	}
	.mev-lib-stat {
		grid-template-columns: repeat(2, 1fr);
	}
	.mev-lib-dept {
		font-size: 12.5px;
		padding: 6px 10px;
	}
	.mev-scenes-grid {
		grid-template-columns: 1fr;
	}
	.mev-tiertable {
		font-size: 12.5px;
	}
}

@media (max-width: 480px) {
	.mev-side {
		width: 100vw;
	}
	.mev-deptbar {
		font-size: 12.5px;
		padding: 9px 11px;
	}
	.mev-dept-select {
		max-width: 150px;
	}
	.mev-lib-num {
		font-size: 19px;
	}
	.mev-composer-bar {
		flex-wrap: wrap;
	}
}

/* ==========================================================================
   今日循证卡（首页侧栏空态时显示）
   ========================================================================== */

.mev-daily {
	margin: 2px 4px 10px;
	padding: 12px 13px 11px;
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-teal);
	border-radius: 10px;
	background: var(--mev-card);
}

.mev-daily-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

.mev-daily-badge {
	color: var(--mev-teal);
	font-size: 12px;
	font-weight: 600;
}

.mev-daily-date {
	color: var(--mev-faint);
	font-size: 11.5px;
	white-space: nowrap;
}

.mev-daily-kind {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--mev-teal-soft);
	color: var(--mev-teal);
	font-size: 11.5px;
	line-height: 1.6;
}

.mev-daily-h {
	margin: 7px 0 5px;
	color: var(--mev-text);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.5;
}

.mev-daily-text {
	margin: 0 0 8px;
	color: var(--mev-muted);
	font-size: 12.5px;
	line-height: 1.75;
}

.mev-daily-src {
	margin: 0 0 9px;
	color: var(--mev-faint);
	font-size: 11.5px;
	line-height: 1.6;
}

.mev-daily-act {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
}

.mev-daily-link {
	color: var(--mev-primary);
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
}

.mev-daily-link:hover {
	text-decoration: underline;
}

.mev-daily-idx {
	color: var(--mev-faint);
	font-size: 11.5px;
	white-space: nowrap;
}

.mev-empty-sub {
	margin-top: 2px;
}

/* ==========================================================================
   指南与共识更新（首页侧栏空态）
   数据只读 data/guides_cache.json，首页绝不发起外部请求
   ========================================================================== */

.mev-guides {
	margin: 2px 4px 10px;
	padding: 12px 13px 11px;
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 10px;
	background: var(--mev-card);
}

.mev-guides-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 9px;
}

.mev-guides-badge {
	color: var(--mev-primary-dark);
	font-size: 12px;
	font-weight: 600;
}

.mev-guides-date {
	color: var(--mev-faint);
	font-size: 11.5px;
	white-space: nowrap;
}

.mev-guides-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mev-guide {
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--mev-border);
}

.mev-guide:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.mev-guide-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	margin-bottom: 4px;
}

.mev-guide-new {
	padding: 0 5px;
	border-radius: 4px;
	background: var(--mev-teal);
	color: #fff;
	font-size: 10.5px;
	line-height: 16px;
}

.mev-guide-kind {
	padding: 0 6px;
	border-radius: 999px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 11px;
	line-height: 17px;
}

.mev-guide-ok,
.mev-guide-unver {
	padding: 0 6px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 17px;
}

.mev-guide-ok {
	background: var(--mev-teal-soft);
	color: var(--mev-teal);
}

/* 「待核实」刻意用最轻的灰：它要能被看见，但不能让整列看起来像有问题 */
.mev-guide-unver {
	background: #f2f4f7;
	color: var(--mev-faint);
}

.mev-guide-date {
	margin-left: auto;
	color: var(--mev-faint);
	font-size: 11px;
	white-space: nowrap;
}

/* 1.41.0「机译」小标：字号与「新」一致，用琥珀色系区别于通道色 —— 它必须
   显眼到「看一眼知道这不是人工校对过的中文」，又不能抢走标题的注意力 */
.mev-guide-mt {
	padding: 0 5px;
	border-radius: 4px;
	background: #fdf3dd;
	border: 1px solid #eddcb0;
	color: #8a6a17;
	font-size: 10.5px;
	line-height: 15px;
	white-space: nowrap;
}

/* 英文原题：标题位给了机器译文时，原文降级为小字放在中文下面 ——
   医生先读中文定位，需要核对时再看英文。不允许截断（标题是主要信息） */
.mev-guide-title-en {
	margin-top: 2px;
	color: var(--mev-faint);
	font-size: 11px;
	line-height: 1.55;
	word-break: break-word;
}

.mev-guide-title {
	display: block;
	color: var(--mev-text);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.55;
	text-decoration: none;
}

a.mev-guide-title:hover {
	color: var(--mev-primary);
	text-decoration: underline;
}

.mev-guide-title-plain {
	color: var(--mev-muted);
}

.mev-guide-src {
	margin-top: 3px;
	color: var(--mev-faint);
	font-size: 11.5px;
	line-height: 1.55;
}

/* ---- 指南落地页：点击标题展开摘要 ---- */

/* 标题作为展开按钮时，去掉按钮默认观感，保持与普通标题一致的排版 */
.mev-guide-toggle {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	font: inherit;
	color: var(--mev-text);
	cursor: pointer;
}

.mev-guide-toggle:hover {
	color: var(--mev-primary);
}

/* 展开指示符：随展开状态旋转，帮助用户意识到标题可点 */
.mev-guide-toggle::after {
	content: '▸';
	float: right;
	color: var(--mev-faint);
	font-size: 11px;
	line-height: inherit;
	transition: transform .15s ease;
}

.mev-guide-open .mev-guide-toggle::after {
	transform: rotate(90deg);
	color: var(--mev-primary);
}

.mev-guide-detail {
	margin-top: 6px;
}

.mev-guide-brief {
	margin: 0;
	padding: 8px 10px;
	background: var(--mev-bg);
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	color: var(--mev-muted);
	font-size: 11.5px;
	line-height: 1.65;
	/* 摘要最长 1400 字符，限高滚动，避免一条指南撑开整个侧栏 */
	max-height: 200px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.mev-guide-link {
	display: inline-block;
	margin-top: 6px;
	color: var(--mev-primary);
	font-size: 11.5px;
	text-decoration: none;
}

.mev-guide-link:hover {
	text-decoration: underline;
}

/* ---- 证据面板头：召回统计 + 复制引用按钮 ---- */

.mev-ev-headbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 11.5px;
	color: #9aa3ae;
	margin: 0 4px 10px;
}

.mev-guides-foot {
	margin-top: 9px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
	color: var(--mev-faint);
	font-size: 11px;
	line-height: 1.6;
}

/* ==========================================================================
   继续上次（首页欢迎区，仅登录用户）
   ========================================================================== */

.mev-recent {
	margin: 14px 0 6px;
}

.mev-recent-head {
	margin-bottom: 6px;
	color: var(--mev-faint);
	font-size: 12px;
}

/* 最近大家在问（1.22.0）：与「继续上次」同一套视觉，但整体更轻——
   它是「看看别人问什么」的辅助，不该比示例卡更抢眼 */
.mev-hotq {
	margin: 12px 0 6px;
}

.mev-hotq-head {
	margin-bottom: 6px;
	color: var(--mev-faint);
	font-size: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: baseline;
}

.mev-hotq-sub {
	color: var(--mev-faint);
	font-size: 11.5px;
}

.mev-hotq-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.mev-hotq-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 6px 11px;
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	background: var(--mev-card);
	color: var(--mev-text);
	font-family: inherit;
	font-size: 12.5px;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.mev-hotq-item:hover {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
}

.mev-hotq-q {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 42em;
}

.mev-hotq-n {
	color: var(--mev-faint);
	font-size: 11.5px;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.mev-hotq-q { max-width: 16em; }
}

.mev-recent-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 9px 12px;
	margin-bottom: 6px;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: var(--mev-card);
	color: var(--mev-text);
	font-family: inherit;
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
}

.mev-recent-item:hover {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
}

.mev-recent-q {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.mev-recent-when {
	flex: 0 0 auto;
	color: var(--mev-faint);
	font-size: 11.5px;
}

@media (max-width: 820px) {
	.mev-daily-h {
		font-size: 14px;
	}
	.mev-daily-text {
		font-size: 13px;
	}
}

/* ==========================================================================
   PubMed 筛选器（仅 PubMed 通道可用时渲染）
   ========================================================================== */

.mev-pmfilters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin: 10px 0 0;
	padding: 8px 12px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	font-size: 12.5px;
}

.mev-pm-label {
	color: var(--mev-faint);
	font-weight: 600;
	white-space: nowrap;
}

.mev-pm-select {
	padding: 4px 8px;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	background: #fff;
	font-size: 12.5px;
	font-family: inherit;
	color: var(--mev-text);
	max-width: 180px;
}

.mev-pm-select:focus {
	outline: none;
	border-color: var(--mev-primary);
}

@media (max-width: 480px) {
	.mev-pm-select {
		flex: 1 1 100px;
		max-width: none;
	}
}

/* ==========================================================================
   期刊近似分层徽标（内置名单，非商业分区）
   ========================================================================== */

.mev-ev-tier {
	padding: 1px 6px;
	border-radius: 999px;
	font-size: 11px;
	white-space: nowrap;
}

.mev-ev-tier-a {
	background: var(--mev-amber-soft);
	color: var(--mev-amber);
}

/* B 档用最轻的中性色：它只是加分项，不该和 A 档抢注意力 */
.mev-ev-tier-b {
	background: #f2f4f7;
	color: var(--mev-muted);
}

/* ==========================================================================
   引用审计（1.9.0）—— 无效角标 / 未标注句子 / 分享页
   ========================================================================== */

/* 引用了不存在的编号：这是模型自由发挥的痕迹，必须显眼但不刺眼。
   用红框 + 划掉的底色，而不是纯红填充——纯红在深色标题块里会糊成一片。 */
.mev-ref-bad {
	background: var(--mev-red-soft);
	border-color: #e3b0ad;
	color: var(--mev-red);
	text-decoration: line-through;
}

/* 未标注证据的句子：只在用户主动点「未标注 N 句」时才亮起来。
   常态下不标记——每条都圈出来会让整篇回答看起来像错题本。 */
.mev-nocite {
	background: linear-gradient(transparent 62%, #fdf3e0 62%);
	border-radius: 2px;
}

/* 回答头部那条质检按钮 */
.mev-audit-btn {
	border: 1px solid #e3b0ad;
	background: var(--mev-red-soft);
	color: var(--mev-red);
}
.mev-audit-btn-on {
	background: var(--mev-red);
	border-color: var(--mev-red);
	color: #fff;
}
.mev-audit-plain {
	color: var(--mev-faint);
}

/* 无效引用的提示块（复用风险块的版式，但不参与「风险」的语义） */
.mev-citepanel {
	border: 1px solid #e3b0ad;
	background: var(--mev-red-soft);
	border-radius: 10px;
	padding: 10px 12px;
	margin: 0 0 12px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mev-red);
}
.mev-citepanel strong {
	font-weight: 600;
}
.mev-citepanel ul {
	margin: 6px 0 0;
	padding-left: 18px;
}

/* ---------- 对话页的分享入口与面板 ---------- */

/* 「分享」按钮复用 mev-mini 的形状，只把颜色点一下——
   它是发布行为，和「复制」「下载原文」不是一类操作，值得一个视觉区分。 */
.mev-share-btn {
	color: var(--mev-primary);
	border-color: #c6d9ee;
	background: var(--mev-primary-soft);
}

.mev-sharebox {
	margin: 8px 0 2px;
}

.mev-share-panel {
	border: 1px solid #c6d9ee;
	background: var(--mev-primary-soft);
	border-radius: 10px;
	padding: 11px 13px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mev-text);
}

/* 行内消息态（「正在生成…」「已撤回分享」）不需要那么大块。
   用 :only-child 之类会脆弱，交给内容自然撑开即可。 */
.mev-share-p-title {
	font-weight: 600;
	color: var(--mev-primary-dark);
	margin-bottom: 8px;
}

.mev-share-p-row {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

.mev-share-p-input {
	flex: 1 1 280px;
	min-width: 0;
	font-family: Consolas, Menlo, monospace;
	font-size: 12px;
	color: var(--mev-text);
	background: var(--mev-card);
	border: 1px solid #c6d9ee;
	border-radius: 7px;
	padding: 6px 9px;
}

.mev-share-p-input:focus {
	outline: none;
	border-color: var(--mev-primary);
}

/* 「撤回」与其它按钮拉开距离：它是唯一不可逆的一个 */
.mev-share-p-revoke {
	color: var(--mev-red);
	border-color: #e3b0ad;
	background: var(--mev-red-soft);
}

.mev-share-p-note {
	margin-top: 8px;
	font-size: 11.5px;
	color: var(--mev-muted);
}

/* 没有「发微信」按钮时（http / 微信内置浏览器）的下一步指引。
   比说明文字重一档：这是唯一可走的路，不能让人以为功能坏了。 */
.mev-share-p-how {
	margin-top: 9px;
	padding: 7px 9px;
	border-radius: 7px;
	background: var(--mev-card);
	border-left: 3px solid var(--mev-primary);
	font-size: 12px;
	line-height: 1.7;
	color: var(--mev-text);
}

.mev-share-p-note b {
	color: var(--mev-primary-dark);
	font-weight: 600;
}

/* ---------- 分享页 ---------- */

.mev-share {
	max-width: 820px;
	margin: 0 auto;
}

.mev-share-time {
	font-size: 12px;
	color: var(--mev-faint);
	margin: 2px 0 14px;
}

.mev-share-q {
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 10px;
	background: var(--mev-card);
	padding: 12px 14px;
	margin-bottom: 14px;
}

.mev-share-qlabel {
	display: inline-block;
	font-size: 11.5px;
	color: var(--mev-primary);
	background: var(--mev-primary-soft);
	border-radius: 4px;
	padding: 1px 7px;
	margin-bottom: 7px;
}

.mev-share-qtext {
	font-size: 15px;
	line-height: 1.75;
	color: var(--mev-text);
	word-break: break-word;
}

.mev-share-answer {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 4px 14px 12px;
	margin-bottom: 14px;
}

.mev-share-audit {
	font-size: 12px;
	color: var(--mev-amber);
	background: var(--mev-amber-soft);
	border-radius: 8px;
	padding: 8px 10px;
	margin: 4px 0 2px;
	line-height: 1.7;
}

.mev-share-ev {
	margin-bottom: 4px;
}

.mev-share-evhead {
	font-size: 12.5px;
	color: var(--mev-muted);
	margin: 0 0 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: baseline;
}

.mev-share-evtip {
	font-size: 11.5px;
	color: var(--mev-faint);
}

/* 证据编号做成按钮：点击反向定位回答中的引用位置 */
.mev-ev-nobtn {
	border: none;
	cursor: pointer;
	font-family: inherit;
}

.mev-share-cta {
	margin: 22px 0 10px;
	text-align: center;
}

.mev-share-ctabtn {
	display: inline-block;
	background: var(--mev-primary);
	color: #fff;
	border-radius: 10px;
	padding: 11px 30px;
	font-size: 14.5px;
	text-decoration: none;
}

.mev-share-ctabtn:hover {
	background: var(--mev-primary-dark);
	color: #fff;
}

.mev-share-ctanote {
	font-size: 12.5px;
	color: var(--mev-muted);
	margin: 9px 0 0;
}

@media (max-width: 480px) {
	.mev-share-qtext {
		font-size: 14.5px;
	}
	.mev-share-answer {
		padding: 2px 11px 10px;
	}
	.mev-share-ctabtn {
		display: block;
		padding: 12px 0;
	}
}

/* 流式作答（1.10.0）。
 * 壳里只有三样东西：风险提示 / 证据落点（.mev-streamhost）、正在生长的正文
 * （.mev-md-live）、以及状态行（.mev-streamwait，复用 .mev-loading 的排版）。
 * 正文刻意不加「光标闪烁」之类的装饰：done 帧一到整块会被 appendAnswer 重建成
 * 最终版式，闪烁光标在中断场景下会留在页面上，反倒像没生成完。
 * 这里只给行高与最小高度做一点约束，让逐字生长时页面不要跳。 */
.mev-streamhost {
	margin-bottom: 2px;
}

.mev-md-live {
	min-height: 1.6em;
}

.mev-streamwait {
	margin-top: 2px;
}

/* ==========================================================================
   站点主导航吸顶（1.41.4 恢复 1.11.1 的改动）
   X5 模板（discuzx5）本来就是 .topbox{position:sticky;top:0;z-index:199}
   （线上实测：首页与插件页同一条规则，高度 73px）。1.11.1 我们在插件页把它
   按成 static，理由是「悬浮条压住首屏」——但那不是吸顶的错，是插件页自己的
   吸顶元素没算这 73px：侧栏 top:12px、文献速递页头 top:0，滚动时都被主导航
   盖住，看上去就像「问答框被遮了」。用户反馈长页面滚下去找不到导航，所以
   这里把主导航放回来，改用变量统一补偿，谁吸顶谁加 var(--mev-navh)。
   注意：触屏模板没有 .topbox（用的是 mfoot 底栏），这条规则对手机无影响。
   插件 CSS 仍然只调自己的元素，不去改站点模板的定位——那会在别的页面留下
   一半效果。 --mev-navh 定义在 .mev-app 里（下方变量表）。
   ========================================================================== */

/* 深链落点要避开两层吸顶：站点导航 73px + 插件页头贴顶后 66px。
   scroll-margin-top 落在目标元素上，比在 html 上写 scroll-padding-top 稳——
   后者要写到 html 元素，插件 CSS 改不动（会波及全站）。 */
body.pg_medevid [id^="doc-"],
body.pg_medevid [id^="tool-"] {
	scroll-margin-top: calc(var(--mev-navh, 0px) + 78px);
}

/* ==========================================================================
   触屏版底部导航归位（1.13.2）
   Discuz 触屏版底栏是 .foot{position:fixed;bottom:0;z-index:99999}，而它压在
   输入区上方：医生在手机上要看「最近一小时还能问几次」「引用清单」，底栏
   正好盖住最后一屏。它是论坛级导航（首页 / 论坛 / 发布 / 发现 / 我的），
   不应该为插件的阅读体验让路，所以只在插件页藏起来，论坛其它页照旧。
   .foot_height 是给 fixed 底栏撑高的空占位（线上实测 height:60px），必须
   一起隐藏——只藏 #mfoot 会在每页底部留 60px 空白。
   想全站关闭的话，把下面两条去掉 body.pg_medevid 前缀即可。
   ========================================================================== */
body.pg_medevid #mfoot,
body.pg_medevid .foot_height {
	display: none !important;
}

/* ==========================================================================
   如何提问（1.13.0）
   这一页是「陌生用户第一次用」的落地页：说清问法，比在输入框 placeholder
   里塞一句话有效。正文控制在 860px——说明性长文超过这个宽度眼睛会跳行。
   ========================================================================== */

.mev-howto-lead,
.mev-howto-sec,
.mev-howto-cta,
.mev-trust {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.mev-howto-lead {
	margin-top: 16px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 12px;
	padding: 18px 22px 20px;
}

.mev-howto-kicker {
	display: inline-block;
	font-size: 11px;
	color: var(--mev-primary);
	background: var(--mev-primary-soft);
	border-radius: 999px;
	padding: 1px 9px;
	letter-spacing: .04em;
}

.mev-howto-lead-h {
	margin: 8px 0 14px;
	font-size: 19px;
	font-weight: 600;
	color: var(--mev-primary-dark);
}

.mev-howto-formula {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	margin-bottom: 14px;
}

.mev-howto-f-item {
	flex: 1 1 160px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: #f7f9fc;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-howto-f-item em {
	font-style: normal;
	font-weight: 400;
	font-size: 11.5px;
	color: var(--mev-muted);
}

.mev-howto-f-plus {
	display: flex;
	align-items: center;
	color: var(--mev-faint);
	font-size: 16px;
}

.mev-howto-lead-p {
	margin: 0;
	font-size: 13px;
	line-height: 1.85;
	color: var(--mev-muted);
}

/* ---------- 正反例 ---------- */

.mev-howto-sec {
	margin-top: 26px;
}

.mev-howto-h2 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	color: var(--mev-text);
	padding-left: 10px;
	border-left: 3px solid var(--mev-primary);
	line-height: 1.4;
}

.mev-howto-sub {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--mev-muted);
	line-height: 1.8;
}

.mev-howto-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}

.mev-howto-bad,
.mev-howto-good {
	border-radius: 10px;
	padding: 12px 14px 13px;
	border: 1px solid;
}

.mev-howto-bad {
	background: #fcfaf9;
	border-color: #ecdcd6;
}

.mev-howto-good {
	background: #f7fbf9;
	border-color: #cfe6dc;
}

.mev-howto-badge {
	display: inline-block;
	font-size: 11px;
	border-radius: 4px;
	padding: 0 6px;
	margin-bottom: 7px;
}

.mev-howto-badge-bad {
	color: #a3452f;
	background: #f7e7e2;
}

.mev-howto-badge-good {
	color: var(--mev-teal);
	background: #e2f2ec;
}

.mev-howto-bad-q {
	margin: 0;
	font-size: 13.5px;
	color: #7a6a63;
	text-decoration: line-through;
	text-decoration-color: #c9b7b0;
}

.mev-howto-good-q {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--mev-text);
}

.mev-howto-why {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.75;
	color: var(--mev-faint);
}

.mev-howto-take {
	display: inline-block;
	margin-top: 9px;
	font-size: 12px;
	color: var(--mev-primary);
	text-decoration: none;
}

.mev-howto-take:hover { text-decoration: underline; }

/* ---------- 技巧卡 ---------- */

.mev-howto-tips {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.mev-howto-tip {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 13px 15px 14px;
}

.mev-howto-tip-h {
	margin: 0 0 9px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-howto-tip-row {
	display: flex;
	gap: 8px;
	margin: 0 0 5px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mev-muted);
}

.mev-howto-tip-k {
	flex: 0 0 auto;
	font-size: 11px;
	height: 18px;
	line-height: 18px;
	padding: 0 6px;
	border-radius: 4px;
	margin-top: 2px;
}

.mev-howto-tip-kbad {
	color: #a3452f;
	background: #f7e7e2;
}

.mev-howto-tip-kgood {
	color: var(--mev-teal);
	background: #e2f2ec;
}

/* ---------- 证据不足三种情形 ---------- */

.mev-howto-gaps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.mev-howto-gap {
	background: var(--mev-amber-soft);
	border: 1px dashed #e6d3ae;
	border-radius: 10px;
	padding: 13px 14px;
}

.mev-howto-gap strong {
	display: block;
	font-size: 13px;
	color: #6b4406;
	margin-bottom: 6px;
}

.mev-howto-gap p {
	margin: 0 0 6px;
	font-size: 12.5px;
	line-height: 1.75;
	color: #7a5a20;
}

.mev-howto-gap-act {
	padding-top: 6px;
	border-top: 1px dashed #e0cba4;
	color: #6b4406 !important;
}

.mev-howto-gap-act a {
	color: var(--mev-amber);
}

/* ---------- 两种链路对照（1.13.3）----------
   复用 .mev-howto-bad / -good 的卡片底，只补步骤列表：编号用自定义计数器，
   左栏（常见做法）灰红、右栏（本工具）青绿——颜色不是装饰，是让「顺序
   反过来」这件事一眼可见。 */

.mev-howto-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: hstep;
}

.mev-howto-steps li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 7px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--mev-muted);
	counter-increment: hstep;
}

.mev-howto-steps li:last-child { margin-bottom: 0; }

.mev-howto-steps li::before {
	content: counter(hstep);
	position: absolute;
	left: 0;
	top: 3px;
	width: 15px;
	height: 15px;
	line-height: 15px;
	text-align: center;
	border-radius: 50%;
	font-size: 9.5px;
	font-weight: 600;
	background: #eceff3;
	color: var(--mev-faint);
}

.mev-howto-steps b {
	font-weight: 600;
	color: var(--mev-text);
}

.mev-howto-bad .mev-howto-steps li::before {
	background: #f2e3dd;
	color: #a3452f;
}

.mev-howto-bad .mev-howto-steps b { color: #7a6a63; }

.mev-howto-good .mev-howto-steps li::before {
	background: #e2f2ec;
	color: var(--mev-teal);
}

.mev-howto-note {
	margin: 12px 0 0;
	padding-left: 10px;
	border-left: 2px solid var(--mev-border);
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-faint);
}

/* ---------- 对照表 ---------- */

.mev-howto-tablewrap {
	overflow-x: auto;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
}

.mev-howto-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
}

.mev-howto-table th,
.mev-howto-table td {
	text-align: left;
	padding: 9px 14px;
	border-bottom: 1px solid var(--mev-border);
	line-height: 1.75;
	vertical-align: top;
}

.mev-howto-table thead th {
	background: #f7f9fc;
	font-weight: 600;
	color: var(--mev-muted);
	font-size: 12px;
}

.mev-howto-table td:first-child {
	color: var(--mev-faint);
	width: 40%;
}

.mev-howto-table tbody tr:last-child td { border-bottom: none; }

/* ---------- 结尾 ---------- */

.mev-howto-cta {
	margin-top: 26px;
	display: flex;
	gap: 12px;
	align-items: center;
	/* 1.41.9 居中：容器虽然 max-width+auto 居中，但 flex 默认 flex-start，
	   三个按钮实际贴在 860px 盒子的左边——下方「两个来源」那段是居中盒，
	   两者左沿对不齐，看着像没排版。窄屏折行时也保持居中。 */
	justify-content: center;
	flex-wrap: wrap;
}

.mev-howto-go {
	display: inline-block;
	background: var(--mev-primary);
	border: 1px solid var(--mev-primary);
	color: #fff;
	border-radius: 8px;
	padding: 8px 26px;
	font-size: 13.5px;
	text-decoration: none;
}

.mev-howto-go:hover { background: var(--mev-primary-dark); }

.mev-howto-second {
	display: inline-block;
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
	background: var(--mev-card);
	border-radius: 8px;
	padding: 8px 18px;
	font-size: 13px;
	text-decoration: none;
}

.mev-howto-second:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

/* ---------- 页脚信任条（1.13.0，问答页 / 证据库 / 提问指南共用） ----
   三句话回答的是「凭什么信它」：只依据检索到的证据、不联网搜全网、
   不编文献、不替代判断。这不是免责声明凑数，而是这个工具唯一能兑现的承诺。 */

.mev-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-top: 28px;
	padding-top: 14px;
	border-top: 1px solid var(--mev-border);
	font-size: 11.5px;
	color: var(--mev-faint);
}

.mev-trust-line { white-space: nowrap; }

/* 分隔点改成伪元素（1.46.1）
 *
 * 原来每个点是一个独立 <span>，flex 换行时它会被当成「下一个元素」留在上一行末尾，
 * 于是第一行尾挂一个孤零零的「·」。改成 `::before` 后点属于该行文字的一部分，
 * nowrap 保证「· 文字」整体换行——行尾再也不会剩一个点。
 * margin-right 与 flex gap 一致（6px），观感与改前相同。 */
.mev-trust-line + .mev-trust-line::before {
	content: '·';
	color: #d3d9e0;
	margin-right: 6px;
}

.mev-trust-dot { color: #d3d9e0; }

/* 今日额度用完那一格（1.56.9）：整条状态栏都是灰字，这里得跳出来——
   不然「今日额度已用完」混在一排灰字里，看着像又一串统计数字。
   整行独立：这句比别的都长，跟着挤在一排必然换行，而
   .mev-trust-line + .mev-trust-line::before 那个「·」会落到行首，
   读起来像个列表符号。整行居中、不要那个点。 */
.mev-trust-warn {
	display: block;
	flex-basis: 100%;
	text-align: center;
	color: #a35a2d;
	font-weight: 600;
}
.mev-trust-line.mev-trust-warn::before { content: none; margin: 0; }

@media (max-width: 820px) {
	.mev-howto-pair,
	.mev-howto-tips,
	.mev-howto-gaps {
		grid-template-columns: 1fr;
	}
	.mev-howto-lead { padding: 16px 16px 18px; }
	.mev-howto-table td:first-child { width: 38%; }
}

.mev-trust a {
	color: var(--mev-faint);
	text-decoration: underline;
}

.mev-trust a:hover { color: var(--mev-primary); }

/* ---------- 页脚服务入口（1.13.1）----------
   开通会员 / 客服中心 / 关注微信服务号。与信任条同区、字号略大半档：
   信任条说「凭什么信」，这一行说「用顺手了接下来去哪」，两件事都值得
   在页脚占位，但都不能抢正戏。链接在后台填，不填的项不出现。 */
.mev-serviceline {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 12px;
	max-width: 860px;
	margin: 8px auto 0;
	font-size: 12.5px;
}

.mev-serviceline a {
	color: var(--mev-muted);
	text-decoration: none;
}

.mev-serviceline a:hover {
	color: var(--mev-primary);
	text-decoration: underline;
}

.mev-serviceline-dot { color: #d3d9e0; }

/* ---------- 拦截提示弹层（1.13.6）----------
   替代 window.alert：原生弹窗只有一个「确定」，把人拦下了却没给路。
   页内弹层两个按钮——主按钮直接去该去的地方（访客→登录，非会员→
   开通会员），「知晓」/点遮罩/Esc 关闭。注意：弹层挂在 body 下，
   不在 .mev-app 作用域内，CSS 变量取不到值，这里全部用字面量。 */
.mev-gate-mask {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 100000; /* 高于论坛触屏底栏的 99999（插件页虽已隐藏底栏，弹层仍须盖过一切） */
	background: rgba(15, 30, 48, .45);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

/* 弹层不在 .mev-app 内，吃不到它的 box-sizing: border-box —— 不补这一条，
   width:100% 会在 padding 之外再撑出 40px，窄屏直接溢出视口。 */
.mev-gate {
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 10px;
	max-width: 340px;
	width: 100%;
	padding: 20px 20px 16px;
	box-shadow: 0 12px 40px rgba(12, 68, 124, .18);
	position: relative;
}

/* 右上角叉（1.16.5）：卡片加了样例预览后变高，「知晓」沉到底部，
   顺手往右上找关闭的人需要一个看得见的出口。绝对定位不占排版空间，
   带预览（卡片加宽）与纯提示两种形态都通用。 */
.mev-gate-x {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	color: #94a3b8;
	font-size: 20px;
	line-height: 30px;
	text-align: center;
	cursor: pointer;
	border-radius: 6px;
	padding: 0;
}

.mev-gate-x:hover {
	background: #eef4fa;
	color: #1d6fb8;
}

.mev-gate-msg {
	font-size: 14px;
	line-height: 1.7;
	color: #1f2937;
	word-break: break-word;
	/* 右上角那个叉是绝对定位的，不占排版：不在这里留一列，
	   两行以上的提示会顶到叉底下（1.56.3 介绍页的登录提示就是两句）。 */
	padding-right: 22px;
}

.mev-gate-actions {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.mev-gate-actions button {
	font-family: inherit;
	font-size: 14px;
	padding: 9px 0;
	border-radius: 8px;
	cursor: pointer;
}

.mev-gate-ghost {
	flex: 1;
	border: 1px solid #e4e9f0;
	background: #ffffff;
	color: #6b7280;
}

.mev-gate-ghost:hover {
	border-color: #1d6fb8;
	color: #1d6fb8;
}

.mev-gate-go {
	flex: 1.4;
	border: 0;
	background: #1d6fb8;
	color: #ffffff;
	font-weight: 600;
}

.mev-gate-go:hover { background: #0c447c; }

/* ---------- 登录层（1.56.5）：iframe 里放站内登录页 ----------

   Discuz 登录成功后必走一次 showmessage 的「现在将转入登录前页面」。
   拦不住它，就让它发生在 iframe 里：父页面轮询 :whoami，登录上就整页
   replace 到目标页。所以这里的窗要**够高**——里面是真正的登录表单，
   塞在 340px 的窄卡片里，密码框会被挤成两行。
   高度按视口算（42vh + 上下限），横屏手机与桌面都放得下。 */
/* 登录层（1.56.6）：里面是站内登录页，裁到只剩表单。
   宽度给到 560 是因为 Discuz 桌面登录表单是两列（标签右对齐 + 输入框），
   窄于 480 时「安全提问」那行会折成两行。

   为什么弹层要自己管高度：iframe 里的页已经被剥掉页头页脚，剩下的表单
   高度随「有没有验证码、有没有安全提问」变——写死一个高度，不是露半张脸
   就是底下一条白。JS 量完写 inline height，这里的值只是脚本没跑起来时的
   兜底。 */
.mev-gate.mev-gate-login { max-width: 560px; }

.mev-gate-frame {
	margin-top: 12px;
	border: 1px solid #e4e9f0;
	border-radius: 8px;
	overflow: hidden;
	background: #ffffff;
}

.mev-gate-if {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
}

.mev-gate-alt {
	margin: 10px 2px 0;
	font-size: 12px;
	line-height: 1.6;
	color: #6b7280;
	text-align: center;
}

.mev-gate-alt a { color: #1d6fb8; }

/* ---------- 锁定场景的样例预览（1.16.5）----------

   非会员点一个锁着的场景，光弹「开通会员」等于让他盲买。这里先把该场景
   能产出什么回答摆出来，再接按钮。样例文本里的 ### 与数字角标是示意的
   Markdown 记号，这里不做渲染——渲染反而会让人以为那是真实引用，
   反倒坐实不了「可追溯」。只做等宽留白，让人一眼看出「这是一段回答」。 */
.mev-gate-pv {
	margin-top: 30px; /* 给右上角叉让位，避免压住预览区滚动条 */
	margin-bottom: 14px;
	padding: 12px 13px;
	background: #f6f9fc;
	border: 1px solid #e4edf6;
	border-radius: 8px;
	max-height: 46vh;
	overflow-y: auto;
}

.mev-gate-pv-head {
	font-size: 12px;
	font-weight: 600;
	color: #1d6fb8;
	margin-bottom: 8px;
}

.mev-gate-pv-q {
	font-size: 13px;
	line-height: 1.6;
	color: #334155;
	padding-left: 9px;
	border-left: 3px solid #1d6fb8;
	margin-bottom: 9px;
}

.mev-gate-pv-a {
	font-size: 12.5px;
	line-height: 1.75;
	color: #475569;
	white-space: pre-wrap;
	word-break: break-word;
}

.mev-gate-pv-tip {
	margin-top: 10px;
	padding-top: 9px;
	border-top: 1px dashed #dbe6f1;
	font-size: 11.5px;
	line-height: 1.6;
	color: #94a3b8;
}

/* 带预览时卡片放宽一点，窄屏仍守视口。
   不用 :has()——老浏览器不认会丢整条规则，由 JS 给卡片加 mev-gate-wide。 */
@media (min-width: 560px) {
	.mev-gate.mev-gate-wide {
		max-width: 460px;
	}
}

/* ---------- 微信服务号弹码（1.13.17）----------

   PC 端点页脚「关注微信服务号」直接弹二维码，手机端保持跳转
   （端别由内联脚本判 ≥821px，与移动端断点一致）。卡片复用
   .mev-gate 的白底圆角，这里只补标题、二维码图与说明三件。 */
.mev-wxqr-title {
	font-size: 15px;
	font-weight: 600;
	color: #0c447c;
	text-align: center;
}

.mev-wxqr-img {
	display: block;
	width: 240px;
	max-width: 100%;
	margin: 14px auto 0;
	border: 1px solid #e4e9f0;
	border-radius: 8px;
}

.mev-wxqr-tip {
	margin-top: 10px;
	font-size: 12.5px;
	color: #6b7280;
	text-align: center;
}

@media (max-width: 480px) {
	.mev-gate-mask { padding: 18px; }
	.mev-gate { padding: 18px 16px 14px; }
}

/* 手机上的登录层：表单里有验证码图，整卡可能高过一屏。
   flex 居中在内容超出时会从顶部裁掉（顶部的标题和关闭键先没了），
   所以窄屏改成「可滚 + margin:auto」——放得下仍居中，放不下从顶上滚。 */
@media (max-width: 820px) {
	.mev-gate-mask {
		align-items: flex-start;
		overflow-y: auto;
		padding: 16px 16px 24px;
	}
	.mev-gate { margin: auto; }
	.mev-gate.mev-gate-login { max-width: 100%; }
}

/* ==========================================================================
   会员权益页（1.13.13）
   这一页是「报价页」：先给对照表（数字），再给三档适合谁（定性），
   最后把「不因身份改变」的部分单独列出。顺序不能倒——先说免费的，
   再说付费的，读起来才像说明；反过来就是在推销了。
   正文宽度与提问指南一致（880px），两者都是说明性长文。
   ========================================================================== */

.mev-benefits .mev-ben-now,
.mev-benefits .mev-ben-sec,
.mev-benefits .mev-ben-cta,
.mev-benefits .mev-trust {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- 当前身份条 ---------- */

.mev-ben-now {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 14px;
	margin-top: 16px;
	padding: 14px 20px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 12px;
}

.mev-ben-now-l {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
}

.mev-ben-now-k {
	font-size: 12px;
	color: var(--mev-muted);
}

.mev-ben-now-who {
	font-size: 17px;
	font-weight: 600;
	color: var(--mev-primary-dark);
}

.mev-ben-now-q {
	font-size: 12.5px;
	color: var(--mev-muted);
	background: #f2f5f9;
	border-radius: 999px;
	padding: 2px 10px;
}

.mev-ben-now-r {
	display: flex;
	gap: 8px;
	align-items: center;
}

.mev-ben-now-tag {
	font-size: 12.5px;
	color: var(--mev-teal);
}

.mev-ben-now-note {
	flex: 1 0 100%;
	margin: 0;
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.7;
}

.mev-ben-btn {
	display: inline-block;
	padding: 7px 16px;
	border-radius: 8px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 13px;
	text-decoration: none;
	white-space: nowrap;
}

.mev-ben-btn:hover,
.mev-ben-btn:visited {
	background: var(--mev-primary-dark);
	color: #fff;
}

.mev-ben-btn-ghost {
	background: #fff;
	border: 1px solid var(--mev-border);
	color: var(--mev-muted);
}

.mev-ben-btn-ghost:hover,
.mev-ben-btn-ghost:visited {
	background: #fff;
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

/* ---------- 小节 ---------- */

.mev-ben-sec { margin-top: 28px; }

.mev-ben-h2 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	color: var(--mev-text);
	line-height: 1.4;
	padding-left: 10px;
	border-left: 3px solid var(--mev-primary);
}

.mev-ben-sub {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--mev-muted);
	line-height: 1.8;
}

.mev-ben-tablewrap {
	overflow-x: auto;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 0 16px 4px;
}

.mev-ben-table { margin-top: 4px; }
.mev-ben-table th { border-radius: 0; }
.mev-ben-table tbody tr:last-child td { border-bottom: 0; }

/* 未启用分层时的说明块：不能只写「没有会员」，要说清眼下是什么额度 */
.mev-ben-off {
	max-width: 880px;
	margin: 16px auto 0;
	padding: 14px 18px;
	background: var(--mev-primary-soft);
	border: 1px solid #cfe0f2;
	border-radius: 10px;
	font-size: 13px;
	color: var(--mev-primary-dark);
	line-height: 1.85;
}

/* ---------- 不因身份改变 ---------- */

.mev-ben-free {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 16px;
}

.mev-ben-free li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 9px 12px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	font-size: 13px;
}

.mev-ben-tick {
	color: var(--mev-teal);
	font-weight: 700;
	font-size: 12px;
}

.mev-ben-free b {
	font-weight: 600;
	color: var(--mev-text);
}

.mev-ben-free em {
	margin-left: auto;
	font-style: normal;
	font-size: 12px;
	color: var(--mev-muted);
	white-space: nowrap;
}

.mev-ben-callout {
	margin: 12px 0 0;
	padding: 10px 14px;
	background: var(--mev-teal-soft);
	border-radius: 8px;
	font-size: 12.5px;
	color: var(--mev-teal);
	line-height: 1.8;
}

/* ---------- 三档卡 ---------- */

.mev-ben-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.mev-ben-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
}

/* 当前身份用左侧色条标，不改底色：底色与「锁定」状态（灰底）共用一套语义，
   混用会让灰底一会儿表示「不可用」、一会儿表示「你在这」 */
.mev-ben-card-on {
	border-left: 3px solid var(--mev-primary);
	box-shadow: 0 2px 10px rgba(29, 111, 184, .08);
}

.mev-ben-card-h {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mev-ben-card-n {
	font-size: 15px;
	font-weight: 600;
	color: var(--mev-primary-dark);
}

.mev-ben-card-tag,
.mev-ben-card-you {
	font-size: 11px;
	border-radius: 999px;
	padding: 1px 8px;
	line-height: 1.6;
}

.mev-ben-card-tag {
	color: var(--mev-faint);
	background: #f2f5f9;
}

.mev-ben-card-you {
	color: #fff;
	background: var(--mev-primary);
}

.mev-ben-card-for {
	margin: 0;
	font-size: 13px;
	color: var(--mev-text);
	line-height: 1.75;
	min-height: 3.5em;
}

.mev-ben-card-list {
	list-style: none;
	margin: 0;
	padding: 10px 0 0;
	border-top: 1px dashed var(--mev-border);
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.9;
}

.mev-ben-card-note {
	margin: 0;
	font-size: 11.5px;
	color: var(--mev-faint);
	line-height: 1.7;
}

/* ---------- 常见问题 ---------- */

.mev-ben-faq {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	padding: 4px 20px 8px;
}

.mev-ben-qa { padding: 14px 0; }
.mev-ben-qa + .mev-ben-qa { border-top: 1px solid #f1f4f8; }

.mev-ben-qa h3 {
	margin: 0 0 4px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-ben-qa p {
	margin: 0;
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.85;
}

.mev-ben-qa a { color: var(--mev-primary); }

/* ---------- 底部 ---------- */

.mev-ben-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	padding: 16px 20px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
}

.mev-ben-go {
	display: inline-block;
	padding: 9px 24px;
	border-radius: 8px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.mev-ben-go:hover,
.mev-ben-go:visited {
	background: var(--mev-primary-dark);
	color: #fff;
}

.mev-ben-cta-tip {
	flex: 1 1 260px;
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.75;
}

@media (max-width: 820px) {
	.mev-ben-free,
	.mev-ben-cards {
		grid-template-columns: 1fr;
	}
	.mev-ben-card-for { min-height: 0; }
	.mev-ben-now { padding: 13px 16px; }
	.mev-ben-tablewrap { padding: 0 10px 4px; }
	.mev-ben-faq { padding: 2px 16px 6px; }
}

/* 站点页头 logo：模板默认压成 140x36；取 251x65 的 0.8 倍显示，与 73px 页头、18px 导航协调 */
.dz_nav_logo img.boardlogo{width:200px;height:52px;}
@media (max-width:820px){
	.dz_nav_logo img.boardlogo{width:145px;height:38px;}
}

/* 站点页头右上角的多语言切换（discuzx5 模板自带的 header-i18n 块）：
   下拉里只有「默认 / 简体中文」两项，同一种语言切来切去没有意义，
   站点又只有中文内容，故整体隐藏（含悬停下拉）。 */
.header-i18n { display: none !important; }

/* ---------- 联系客服页（1.13.18）：表单收集来件，复用 benefits 版式骨架 ---------- */
.mev-contact-form{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #e4e9f0;border-radius:12px;padding:18px;max-width:640px;}
.mev-contact-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.mev-contact-k{width:64px;flex:none;padding-top:8px;font-size:13px;color:#374151;text-align:right;}
/* 报名页的标签比客服页长（姓名 / 笔名、最熟的科室、职称 / 身份），
   64px 装不下就被折成两行，和右边输入框顶对不齐——看着像整张表错位。
   这里只在报名页放宽到 92px 并禁止折行，客服页那几个短标签不受影响。 */
.mev-join .mev-contact-k{width:124px;white-space:nowrap;}
/* 必填星号（1.56.6）：与 input 的 required 一一对应；星号只是视觉，
   真正拦住空提交的是 required（手机端不跑 JS 也拦得住）。
   label 是 124px 定宽右对齐，靠左的星号只会往左伸，不会顶掉文字。 */
.mev-contact-req{font-style:normal;color:#a32d2d;margin-right:2px;}
/* 表头说明里的那颗星（1.56.6 第三稿）：不是贴在标签前的记号，后面不该留 2px，
   否则括号里会读成「星号　为必填项」。 */
.mev-howto-sub .mev-contact-req{margin-right:0;}
.mev-contact-types{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:6px;}
.mev-contact-type{font-size:13px;color:#374151;cursor:pointer;white-space:nowrap;}
.mev-contact-type input{margin-right:4px;vertical-align:-2px;}
.mev-contact-input{flex:1;min-width:220px;border:1px solid #d7dee8;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;}
.mev-contact-textarea{flex:1;min-width:220px;border:1px solid #d7dee8;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical;}
.mev-contact-input:focus,.mev-contact-textarea:focus{outline:none;border-color:#1d6fb8;}
.mev-contact-okacts{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap;}
.mev-contact-okprimary{display:inline-block;background:#1d6fb8;border:1px solid #1d6fb8;color:#fff !important;border-radius:8px;padding:7px 22px;font-size:13px;text-decoration:none;}
.mev-contact-okprimary:hover{background:#0c447c;border-color:#0c447c;color:#fff !important;text-decoration:none;}
.mev-contact-submit{align-items:center;}
/* 提交按钮居中（1.56.6 第四稿，站长圈图）：整张表是「标签右对齐 + 输入框左起」，
   按钮原样坐在第 0 列，看着像表格掉了一格；它不属于任何一栏，居中收尾更干净。
   只改报名页：客服页那三栏的表单按钮跟字段左边缘对齐才是对的。 */
.mev-join .mev-contact-submit{justify-content:center;}
.mev-contact-submit button{background:#1d6fb8;border:1px solid #1d6fb8;color:#fff;border-radius:8px;padding:8px 30px;font-size:13.5px;cursor:pointer;font-family:inherit;}
.mev-contact-limit{font-size:12px;color:#9aa3ae;}
/* 字段下方的补充说明（1.56.6）：说明不塞进 label——label 是 nowrap 定宽，
   多出来的字会把这一行拉宽，右边八个字段跟着错位。
   flex:0 0 100% 让它独占一行，再 padding 到输入框左沿（64+10 / join 页 116+10，
   后者给「所在科室/擅长科室」这个长标签留的宽）。 */
.mev-contact-hint{flex:0 0 100%;box-sizing:border-box;padding-left:74px;margin-top:-6px;font-size:12px;line-height:1.65;color:#8a94a2;}
.mev-join .mev-contact-hint{padding-left:134px;}
.mev-contact-ok{max-width:640px;background:#f0f9f4;border:1px solid #bfe5d0;color:#0f6e56;border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.7;}
.mev-contact-ok a{color:#0f6e56;}
/* 署名样例（1.46.1）：报名者最关心「我的名字最后长什么样」，
   一句话说不清，给一张真实版式的卡片图。图是 2x 存的高清 PNG，
   width:100% 撑满栏宽，手机上也不会糊。 */
.mev-contact-note{max-width:640px;margin:-6px 0 0 74px;padding:8px 12px;background:#f7f9fc;border-left:3px solid #1d6fb8;border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.8;color:#5a6b80;}
.mev-contact-file{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mev-contact-file input[type=file]{font-size:12.5px;color:#374151;max-width:320px;}
.mev-contact-filename{font-size:12px;color:#9aa3ae;}
.mev-contact-fileok{color:#0f6e56;}
.mev-contact-fileerr{color:#a32d2d;}
@media (max-width:820px){
	.mev-contact-note{margin-left:0;}
}
@media (max-width:820px){
	.mev-contact-k{width:auto;text-align:left;padding-top:0;}
	.mev-contact-row{flex-direction:column;}
	.mev-contact-hint,.mev-join .mev-contact-hint{padding-left:0;margin-top:0;}
}


/* ---------------------------------------------------------------
   手机端品牌呈现（≤820px）
   手机框架里没有站点 logo，用户只看到方块「证」，联系不到「明证」。
   PC 端站点 logo 已有「明证 Evidlab」，页头保持「证」字方块避免重复；
   手机端把方块字（页面功能字）换成同源取景框图标、标题前补「明证」，
   页头升级为完整品牌：[取景框] 明证 · 临床决策助手。
   只动 CSS：模板与 touch/mobile 镜像零改动。
   --------------------------------------------------------------- */
@media (max-width: 820px) {
	.mev-logo {
		font-size: 0; /* 隐藏功能字（证/权/服/问/据），方块底色保留作图标底 */
	}

	.mev-logo::before {
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='14.5' stroke-width='5.5'/%3E%3Cg stroke-width='4.8'%3E%3Cpath d='M7 19V7h12'/%3E%3Cpath d='M57 19V7H45'/%3E%3Cpath d='M7 45v12h12'/%3E%3Cpath d='M57 45v12H45'/%3E%3C/g%3E%3C/g%3E%3Ccircle cx='32' cy='32' r='7.5' fill='%239fe1cb'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.mev-brandtext h1::before {
		content: "明证 · ";
		color: #1d6fb8;
	}
}

/* ---------- 手机端页头减负（≤820px）：隐藏配额标签 ----------
   「今日 X/Y 次 · 本小时 X/Y 次」是三条 meta 里最长的，
   手机端窄行里把「证据库」「如何提问」挤得局促。
   信息不丢：访客页底有「今日 X/Y 次」，登录用户看「我的权益」；
   额度用完时发送会被明确拦下并告知等待时间。
   PC 端保持原样。 */
@media (max-width: 820px) {
	.mev-tag-quota { display: none; }
}

/* ---------- 手机端场景栏与输入框之间的空隙收紧（≤820px） ----------
   PC 端场景栏 margin-bottom 12px + 输入框 margin-top 14px = 26px，
   大屏上是正常呼吸感；手机端两块内容贴得近，26px 夹在中间像漏了东西。
   收紧为 6 + 8 = 14px。仅窄屏，PC 不变。 */
@media (max-width: 820px) {
	.mev-modes { margin-bottom: 6px; }
	.mev-composer { margin-top: 8px; }
}

/* ---------- 侧栏底部渐隐（1.13.25） ----------
   「指南与共识」列表在侧栏内部滚动（overflow-y:auto），Chromium 不显示
   滚动条，底部被截断时没有任何「下面还有」的提示。渐隐遮罩由前端 JS 按
   「可滚且未滚到底」开关（.mev-side-more），滚到底自动消失，不遮挡末行。 */
.mev-side-fade {
	position: absolute;
	left: 1px;
	right: 1px;
	bottom: 1px;
	height: 34px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 72%);
	opacity: 0;
	transition: opacity .18s ease;
	pointer-events: none;
	border-radius: 0 0 11px 11px;
}

.mev-side-more .mev-side-fade {
	opacity: 1;
}

/* ---------- 主题右缘浮动件（dz_rnav）在插件页内重绘（1.13.25） ----------
   站点主题的右缘浮动件用图标字体 dzicon 渲染，实机显示为灰色「?」气泡，
   与插件页风格不符。只在插件页（body.pg_medevid）内重绘：微信弹码按钮
   换成二维码图形、返回顶部换成上箭头，白卡 + 品牌蓝 hover；论坛其它页面
   不受影响。悬停展开的二维码弹层同步换成白卡样式。 */
body.pg_medevid .dz_rnav a {
	width: 44px;
	height: 44px;
	line-height: 1;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #e4e9f0;
	box-shadow: 0 2px 10px rgba(15, 23, 42, .08);
	color: #1d6fb8;
	font-size: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.pg_medevid .dz_rnav a:before {
	content: "" !important;
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
	font-family: none;
	background: center / contain no-repeat;
}

body.pg_medevid .dz_rnav a.dz_rwx:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%231d6fb8' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.2'/%3E%3C/g%3E%3Cg fill='%231d6fb8'%3E%3Crect x='14' y='14' width='3' height='3'/%3E%3Crect x='18' y='14' width='3' height='3'/%3E%3Crect x='14' y='18' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E");
}

body.pg_medevid .dz_rnav a.dz_rwx:hover:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.2'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Crect x='14' y='14' width='3' height='3'/%3E%3Crect x='18' y='14' width='3' height='3'/%3E%3Crect x='14' y='18' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E");
}

body.pg_medevid .dz_rnav a.dz_rtop:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%231d6fb8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M5 12l7-7 7 7'/%3E%3C/g%3E%3C/svg%3E");
}

body.pg_medevid .dz_rnav a.dz_rtop:hover:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M5 12l7-7 7 7'/%3E%3C/g%3E%3C/svg%3E");
}

/* 右缘微信入口（1.13.26）：由前端插进 #dz_rnav 的首位（见 medevid.js），
   沿用上面 .dz_rnav a 的白卡底座，这里只补图标与悬停反色。 */
body.pg_medevid .dz_rnav a.mev-float-wx:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%231d6fb8' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.2'/%3E%3C/g%3E%3Cg fill='%231d6fb8'%3E%3Crect x='14' y='14' width='3' height='3'/%3E%3Crect x='18' y='14' width='3' height='3'/%3E%3Crect x='14' y='18' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E");
}

body.pg_medevid .dz_rnav a.mev-float-wx:hover:before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.2'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Crect x='14' y='14' width='3' height='3'/%3E%3Crect x='18' y='14' width='3' height='3'/%3E%3Crect x='14' y='18' width='3' height='3'/%3E%3Crect x='18' y='18' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E");
}

body.pg_medevid .dz_rnav a:hover,
body.pg_medevid .dz_rnav a.dz_light_on {
	background: #1d6fb8;
	border-color: #1d6fb8;
	color: #fff;
}

body.pg_medevid .dz_rnav a.dz_rwx .dz_rewm {
	background: #fff;
	border: 1px solid #e4e9f0;
	border-radius: 12px;
	box-shadow: 0 6px 24px rgba(15, 23, 42, .14);
}

body.pg_medevid .dz_rnav a.dz_rwx .dz_rewm span {
	color: #5a6b80;
	font-size: 13px;
}

/* ---------- 领取会员（1.14.0） ---------- */

.mev-bind-ok {
	margin-top: 14px;
	padding: 18px 20px;
	background: #e6f4ef;
	border: 1px solid #b9dfd0;
	border-radius: 12px;
}

.mev-bind-ok-h {
	font-size: 15px;
	font-weight: 700;
	color: #0f6e56;
	letter-spacing: .02em;
}

.mev-bind-ok-p {
	margin: 6px 0 14px;
	font-size: 13px;
	line-height: 1.85;
	color: #2a5348;
}

.mev-bind-ok-p strong {
	color: #0f6e56;
	font-variant-numeric: tabular-nums;
}

/* 校验失败可能有多条（格式 / 名单 / 已过期），用列表而不是拼成一大段 */
.mev-bind-errs {
	margin: 0;
	padding-left: 18px;
}

.mev-bind-errs li + li { margin-top: 6px; }

.mev-bind-form { margin-top: 4px; }

.mev-bind-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.mev-bind-input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 11px 14px;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: #fff;
	color: var(--mev-text);
	font-size: 14px;
	font-family: inherit;
	letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
}

.mev-bind-input:focus {
	outline: none;
	border-color: var(--mev-primary);
	box-shadow: 0 0 0 3px rgba(29, 111, 184, .12);
}

.mev-bind-btn {
	flex: 0 0 auto;
	padding: 0 26px;
	border: 1px solid var(--mev-primary);
	border-radius: 9px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}

.mev-bind-btn:hover { background: var(--mev-primary-dark); border-color: var(--mev-primary-dark); }

.mev-bind-hint {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-bind-steps {
	margin-top: 18px;
	padding: 14px 18px;
	background: #f7f9fc;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
}

.mev-bind-steps h3 {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-bind-steps p {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-bind-steps a { color: var(--mev-primary); }

.mev-bind-steps code {
	padding: 1px 6px;
	border-radius: 4px;
	background: #eef2f7;
	color: #374151;
	font-family: Consolas, Monaco, monospace;
	font-size: 12px;
}

@media (max-width: 820px) {
	/* 窄屏上输入框与按钮并排会把 ID 挤到看不见末尾，改为上下两行 */
	.mev-bind-row { flex-direction: column; }
	.mev-bind-btn { padding: 12px 20px; }
	.mev-bind-ok { padding: 16px 16px; }
}

/* ---------- 权益页「合作方会员领取」横幅（1.14.2） ----------
   1.14.0 只把入口放在 FAQ 最后一句里（内联链接），实际等于没有入口：
   用户根本不会翻到那条问答的末尾。改为身份卡下方一条横幅，
   只对「已登录 + 普通用户 + 授权功能就绪」显示，会员与访客都不出现。 */

.mev-ben-grantbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 14px;
	margin-top: 12px;
	padding: 12px 18px;
	border: 1px solid rgba(29, 111, 184, .22);
	border-radius: 10px;
	background: rgba(29, 111, 184, .055);
}

.mev-ben-grantbar-t {
	flex: 1 1 260px;
	min-width: 0;
	font-size: 13px;
	line-height: 1.7;
	color: #2c4f70;
}

.mev-ben-grantbar-t strong {
	font-weight: 700;
	color: #17527f;
}

.mev-ben-grantbar .mev-ben-btn {
	flex: 0 0 auto;
	padding: 6px 16px;
	font-size: 12.5px;
}

@media (max-width: 820px) {
	.mev-ben-grantbar {
		padding: 12px 14px;
	}
	/* 窄屏上按钮撑满一行，方便拇指点 */
	.mev-ben-grantbar .mev-ben-btn {
		display: block;
		text-align: center;
	}
}

/* ==========================================================================
   关于明证（1.17.0）
   这一页不是营销页，是「这东西凭什么值得信」的说明页。所以版式上刻意与
   如何提问页同宽同节奏（860px、左竖线小节），但内容块换成四种：数字事实、
   四步流程、三条通道、明确不做。宣传口号一律不进正文——医生看到营销话术
   会立刻降低信任，信任是这一页唯一要交付的东西。
   ========================================================================== */

.mev-about .mev-howto-lead {
	border-left-color: var(--mev-primary);
}

/* 首屏下方的四个数字：一行四项，窄屏两列。
   用 <b> 强调数字、单位用正常字重，避免整行都在喊。 */
.mev-about-fact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.mev-about-fact-i {
	flex: 1 1 150px;
	background: #f7f9fc;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 12px;
	color: var(--mev-muted);
}

.mev-about-fact-i b {
	display: block;
	font-size: 19px;
	line-height: 1.25;
	color: var(--mev-primary-dark);
	font-weight: 600;
}

/* ---------- 四步流程 ---------- */

.mev-about-steps {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mev-about-step {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 11px 14px;
}

.mev-about-step-n {
	flex: 0 0 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	border-radius: 50%;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 12px;
	font-weight: 600;
	margin-top: 1px;
}

.mev-about-step-b { flex: 1 1 auto; }

.mev-about-step-h {
	margin: 0 0 3px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-about-step-d {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

/* ---------- 三条通道 ---------- */

.mev-about-srcs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.mev-about-src {
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-top: 2px solid var(--mev-primary);
	border-radius: 10px;
	padding: 12px 14px 13px;
}

.mev-about-src-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 7px;
}

.mev-about-src-t {
	font-size: 13px;
	font-weight: 600;
	color: var(--mev-primary-dark);
}

.mev-about-src-n {
	flex: 0 0 auto;
	font-size: 11px;
	color: var(--mev-primary);
	background: var(--mev-primary-soft);
	border-radius: 999px;
	padding: 1px 8px;
	white-space: nowrap;
}

.mev-about-src-d {
	margin: 0;
	font-size: 12px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-about-src-d strong {
	color: var(--mev-text);
	font-weight: 600;
}

/* ---------- 高危三档 ---------- */

.mev-about-risks {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mev-about-risk {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	border: 1px solid;
	border-radius: 10px;
	padding: 10px 14px;
}

.mev-about-risk-k {
	flex: 0 0 52px;
	text-align: center;
	font-size: 11.5px;
	font-weight: 600;
	border-radius: 6px;
	padding: 2px 0;
	background: rgba(255, 255, 255, .75);
}

.mev-about-risk-d {
	flex: 1 1 auto;
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
}

.mev-about-risk.mc-red {
	background: var(--mev-red-soft);
	border-color: #f6cdca;
}
.mev-about-risk.mc-red .mev-about-risk-k,
.mev-about-risk.mc-red .mev-about-risk-d { color: var(--mev-red); }

.mev-about-risk.mc-amber {
	background: var(--mev-amber-soft);
	border-color: #f2e0bd;
}
.mev-about-risk.mc-amber .mev-about-risk-k,
.mev-about-risk.mc-amber .mev-about-risk-d { color: var(--mev-amber); }

.mev-about-risk.mc-blue {
	background: var(--mev-primary-soft);
	border-color: #cfe1f3;
}
.mev-about-risk.mc-blue .mev-about-risk-k,
.mev-about-risk.mc-blue .mev-about-risk-d { color: var(--mev-primary-dark); }

/* ---------- 明确不做 ---------- */

.mev-about-nots {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.mev-about-not {
	background: #fbfcfd;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	padding: 11px 14px 12px;
}

/* 最后一条落单时占满整行，避免右半格空着显脏 */
.mev-about-not:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.mev-about-not-h {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mev-text);
	position: relative;
	padding-left: 14px;
}

.mev-about-not-h::before {
	content: "×";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--mev-faint);
	font-weight: 400;
}

.mev-about-not-d {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

/* ---------- 核对四步 ---------- */

.mev-about-verify {
	margin: 0 0 12px;
	padding-left: 22px;
	font-size: 12.5px;
	line-height: 2;
	color: var(--mev-muted);
}

.mev-about-verify li strong { color: var(--mev-text); font-weight: 600; }

/* ---------- 合规声明 ---------- */

.mev-about-fine {
	max-width: 860px;
	margin: 24px auto 0;
	padding: 12px 16px;
	background: #fbfcfd;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	font-size: 11.5px;
	line-height: 1.9;
	color: var(--mev-faint);
}

.mev-about-fine strong {
	color: var(--mev-muted);
	font-weight: 600;
}

@media (max-width: 820px) {
	.mev-about-srcs { grid-template-columns: 1fr; }
	.mev-about-nots { grid-template-columns: 1fr; }
	.mev-about-fact-i { flex: 1 1 calc(50% - 4px); }
	.mev-about-risk { flex-direction: column; gap: 6px; }
	.mev-about-risk-k { flex: none; }
}

/* ===================== 文献速递（1.18.0 建页，1.41.2 并入今日新收并更名） =====================
 * 这一页的价值是「扫一眼知道有什么新的」，所以视觉重心全部压在
 * 期次标题与两类小标题上：新收录走品牌蓝（与 mev-bonusnote 同一
 * 颜色语言——都是「还能更多」而不是「出了问题」），有新版走琥珀
 * （提醒去看新旧年份差）。列表本身刻意朴素：一行一条，链接即内容。
 * 1.41.2：顶部「今日新收」复用首页侧栏的 mev-guides/mev-guide 系列
 * 类——同一数据两个出口不许两套样式；这里只补宽栏下的间距与
 * 分区小标题。
 * 1.41.3 两处用户反馈（2026-10-26）：
 *   ① 中英上下堆叠把这一节拉太长 → 宽栏改中英并排；
 *   ② 长页面滚下去就找不到导航 → 页头吸顶。 */

/* ---- 1.41.3 页头吸顶 ----
 * 只吸插件自己的页头（含返回问答 / 证据库 / 书目 / 订阅 / 关于 五个入口），
 * 不动站点主导航——那是站点模板的事，插件 CSS 去改它会在别的页面留下一半效果。
 * 窄屏（<=760px）不吸：手机屏高小，页头换行后有两行高，吸住就吃掉正文。
 * 贴顶后由 JS 加 .mev-head-stuck 收紧（CSS 自己判断不了「是否已贴顶」）。 */
.mev-head-sentinel {
	height: 0;
}

@media (min-width: 761px) {
	.mev-digest-head {
		position: -webkit-sticky;
		position: sticky;
		/* 1.41.4：让开站点主导航 73px（旧值 0，主导航一吸顶就会把插件页头
		   整个盖住——这正是当初把主导航按成 static 的现场）。 */
		top: var(--mev-navh, 0px);
		z-index: 30;
		transition: padding .16s ease, box-shadow .16s ease;
	}
	.mev-digest-head.mev-head-stuck {
		padding-top: 9px;
		padding-bottom: 9px;
		border-radius: 0 0 12px 12px;
		box-shadow: 0 6px 18px rgba(15, 23, 42, .09);
	}
	.mev-digest-head.mev-head-stuck .mev-brandtext p {
		display: none;      /* 贴顶时只留一行标题，腾出屏高 */
	}
}

/* ---- 1.41.3 宽栏下中英并排 ----
 * 中文在左、英文原题在右，右列带一条细分隔线做「对照」暗示。
 * 右列必须限行：英文在原宽度下 2 行，砍一半宽度后会变 3–4 行，
 * 那点压缩立刻被吃掉（实测只省 5%，个别条目甚至更高）。限两行 + 悬停
 * 看全（title 属性）之后，一条稳定落在「meta + 2 行 + 出处」，
 * 实测该区块 795 → 690px。窄栏仍上下堆叠、正文一律不截断——
 * 手机上本来就没有悬停，截断等于把标题砍掉一半。 */
@media (min-width: 860px) {
	.mev-digest-latest .mev-guide-body {
		display: grid;
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
		column-gap: 18px;
		align-items: start;
	}
	.mev-digest-latest .mev-guide-title {
		font-size: 13px;
	}
	/* 没有译文时标题独占两列：否则英文标题被挤进 0.95fr 的左半列，
	   反而比上下堆叠更高（实测 93 vs 73px）。 */
	.mev-digest-latest .mev-guide-title:only-child {
		grid-column: 1 / -1;
	}
	.mev-digest-latest .mev-guide-title-en {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		margin-top: 1px;
		padding-left: 14px;
		border-left: 1px solid var(--mev-border);
		font-size: 11.5px;
		line-height: 1.5;
	}
}

.mev-digest-latest {
	margin: 0 0 22px;
}

/* ---- 1.41.6 「今日新收」看得到全部 ----
 * 缓存里 83 条，默认只发 8 条，页脚却写「共 83 条」——数字与能看到的对不上。
 * 展开态（?today=all）放进定高滚动框：内容可看全，页面总高不跟着 83 条走
 * （全铺开会到 6000px 以上，正是 1.41.3 花力气压下去的那种长度）。 */
.mev-guides-list.mev-today-scroll {
	max-height: min(70vh, 720px);
	overflow-y: auto;
	overscroll-behavior: contain;   /* 滚到底别带着整页一起跑 */
	padding-right: 8px;             /* 给滚动条留位，条目不贴边 */
	scrollbar-width: thin;
	/* 框上沿给吸顶页头留一点呼吸，滚动时条目不紧贴框边 */
	scroll-padding-top: 8px;
}

/* 锚点落点：站点导航 73px + 插件页头 ~66px，不然跳过去标题被盖住 */
#mev-today {
	scroll-margin-top: calc(var(--mev-navh, 0px) + 78px);
}

.mev-digest-moretoday {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 2px;
}

.mev-digest-moretoday .mev-morebtn {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 16px;
	border-radius: 8px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 13px;
	text-decoration: none;
}

.mev-digest-moretoday .mev-morebtn:hover {
	background: var(--mev-primary-dark);
}

.mev-morebtn-plain {
	color: var(--mev-primary);
	font-size: 13px;
	text-decoration: none;
}

.mev-morebtn-plain:hover { text-decoration: underline; }

.mev-digest-cap {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--mev-text);
}

/* 1.41.7 期次下拉挪到章节标题右侧：标题与控件同一行，滚到「文库索引」就看得见。
   窄屏（<720px）自动折行，下拉独占一行，不会把标题挤断。 */
.mev-digest-sechead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0 0 12px;
}

.mev-digest-sechead .mev-digest-cap {
	margin: 0;
}

.mev-digest-sechead .mev-digest-issuepick {
	margin: 0;
}

/* 换期次后脚本滚回这一节，落点要让开主导航 73px + 插件页头 ~66px */
#mev-index {
	scroll-margin-top: calc(var(--mev-navh, 0px) + 78px);
}

.mev-digest-status {
	margin: 0 0 18px;
	padding: 10px 14px;
	background: var(--mev-primary-soft);
	border-left: 3px solid var(--mev-primary);
	border-radius: 6px;
	color: var(--mev-primary-dark);
	font-size: 13px;
	line-height: 1.8;
}

/* 1.41.3「同步了、但没检出变化」要说出来（2026-10-26 反馈：后台 10-26 同步完成，
   前台还停在 10-19，用户只能理解为页面坏了）。虚线轻底，与蓝色状态条的
   「系统正常」语气分开——这一行是解释，不是告警。 */
.mev-digest-note {
	margin: -8px 0 14px;
	padding: 9px 14px;
	background: #fff;
	border: 1px dashed var(--mev-border);
	border-radius: 6px;
	color: var(--mev-muted);
	font-size: 12.5px;
	line-height: 1.75;
}

.mev-digest-notices {
	margin: -4px 0 14px;
}

.mev-digest-notice {
	color: var(--mev-faint);
	font-size: 12px;
	line-height: 1.7;
}

.mev-dn-at {
	margin-right: 8px;
	color: var(--mev-faint);
	font-variant-numeric: tabular-nums;
}

/* 「含口径调整」：来源通道切换那一期的标记，琥珀色系与「有新版」同族 */
.mev-digest-switch {
	margin-left: 6px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--mev-amber-soft);
	color: var(--mev-amber);
	font-size: 11px;
	line-height: 17px;
	white-space: nowrap;
}

.mev-digest-issue {
	margin: 0 0 26px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
}

/* 1.41.3 期次下拉：原来 8 期铺开（每期最多 50 条）一页 13000px，滚到底几十屏。
   现在服务端只渲染选中的一期（GET issue），页高落到 2000px 量级。
   样式与上面的筛选行同族：同一排控件，用户不用重新学一套。 */
.mev-digest-issuepick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 4px 0 14px;
	font-size: 13px;
	color: var(--mev-muted);
}

.mev-digest-issuepick label {
	color: var(--mev-muted);
	white-space: nowrap;
}

/* 「共 N 期」贴在「期次」后面，不再单独吊在整行最右边
 * （1.41.7 那句「点右侧箭头切换」落在容器右沿上，用户反馈「太靠右了」——
 *  而且需要一句话去教用户「右边有箭头」，本身就说明箭头没起作用）。 */
.mev-issue-n {
	margin-left: 6px;
	color: var(--mev-faint);
	font-size: 12px;
}

.mev-digest-issuepick .mev-df-dept {
	flex: 0 1 auto;
	max-width: 100%;
}

/* ---------- 1.41.8 期次下拉的箭头改成真实 DOM 元素 ----------
 *
 * 1.41.6/1.41.7 用 CSS background-image(data:SVG) 自绘箭头，像素级确实画出来了
 * （放大截图可见一枚深蓝 V 形），但 12×8 在 1280 宽下等于一条细线，用户连着
 * 三轮反馈「看不到下拉框、也看不到箭头」。data: URI 另有两个隐患：站点若设
 * CSP img-src 不含 data:，图会被静默拦掉；系统高对比/缩放时也不保证画。
 *
 * 现在箭头是模板里的 <svg>：不发起图片请求、不受 CSP 与 DPR 影响，且独占
 * 右侧一条带分隔线的「箭头区」——看起来就是一个控件，而不是一段蓝字。
 */
.mev-issue-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

/* 期次这一个下拉不要背景图箭头（它有自己的 svg），右侧留出箭头区宽度。
   科室筛选那两个 select 仍走 .mev-df-dept 的背景图箭头，不受影响。
   右侧 29px 的底带与那 1px 分隔线都用**下拉自己的渐变**画：
   做成覆盖层（伪元素）会盖住 1px 边框，圆角处留缝；画在背景里则由
   border-radius 自动裁切，不会有接缝。 */
.mev-issue-wrap .mev-df-dept {
	background-color: #f2f7fd !important;
	background-image: linear-gradient(to right,
		#f2f7fd 0, #f2f7fd calc(100% - 30px),
		#c3d6ea calc(100% - 30px), #c3d6ea calc(100% - 29px),
		#e3eefb calc(100% - 29px), #e3eefb 100%) !important;
	background-repeat: no-repeat !important;
	/* 这两条不能省：.mev-df-dept 为背景图箭头设了 12×8 与 right 10px center，
	   不覆盖的话渐变会被压成箭头后面那一小块（offscreen 实测过一次）。 */
	background-size: auto !important;
	background-position: 0 0 !important;
	padding: 0 42px 0 12px !important;
	box-shadow: 0 1px 2px rgba(29, 111, 184, .12);
}

/* 悬停：渐变是不透明的，站点那条 background-color 的 hover 会被它整个盖住，
   所以这里把渐变的底色也换一档（浅蓝再深一点），保留分隔线与箭头区。 */
.mev-issue-wrap .mev-df-dept:hover {
	background-image: linear-gradient(to right,
		#e6f0fb 0, #e6f0fb calc(100% - 30px),
		#c3d6ea calc(100% - 30px), #c3d6ea calc(100% - 29px),
		#dce9f8 calc(100% - 29px), #dce9f8 100%) !important;
}

.mev-issue-caret {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 10px;
	z-index: 2;
	pointer-events: none;    /* 点在箭头上也要能打开下拉 */
	display: block;
}

.mev-issue-wrap .mev-df-dept:hover + .mev-issue-caret path {
	stroke: var(--mev-primary);
}

/* 只有一期时的那一行只读说明 */
.mev-issue-single {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	font-size: 12.5px;
	color: var(--mev-muted);
}

.mev-issue-single-v {
	color: var(--mev-primary-dark);
	font-variant-numeric: tabular-nums;
}

.mev-issue-single .mev-issue-n {
	margin-left: 0;
}

.mev-digest-issue-h {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}

.mev-digest-issue-h h2 {
	margin: 0;
	font-size: 16px;
	color: var(--mev-text);
}

.mev-digest-issue-n {
	font-size: 12.5px;
	color: var(--mev-muted);
}

.mev-digest-sub {
	margin: 14px 0 6px;
	font-size: 13px;
	font-weight: 600;
}

.mev-digest-sub-new { color: var(--mev-primary-dark); }
.mev-digest-sub-upd { color: #8a6116; }

.mev-digest-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mev-digest-list li {
	padding: 6px 0;
	border-bottom: 1px dashed var(--mev-faint);
	font-size: 13.5px;
	line-height: 1.6;
}

.mev-digest-list li:last-child { border-bottom: none; }

.mev-digest-list a {
	color: var(--mev-text);
	text-decoration: none;
}

.mev-digest-list a:hover {
	color: var(--mev-primary);
	text-decoration: underline;
}

.mev-digest-year {
	margin-left: 8px;
	font-size: 12px;
	color: var(--mev-muted);
	white-space: nowrap;
}

/* 标题右侧的外链箭头（1.20.3）：速递页条目全部指向文库站原文，
   必须在点击之前就把「这是外部链接」说出来——
   蓝色标题点出去才发现跳站，比明示外链更伤信任。 */
.mev-digest-ext {
	margin-left: 3px;
	font-size: 11px;
	color: var(--mev-faint);
	text-decoration: none;
}

.mev-digest-list a:hover .mev-digest-ext {
	color: var(--mev-primary);
}

.mev-digest-more {
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--mev-faint);
}

/* ---- 1.41.9 索引列表自己滚（用户说的「这块内容区需要下拉框」） ----
 * 起因：每期 2163 条只发 50 条，这 50 条把页面撑到 1900px——条目摊在页面里，
 * 不是「一个能往下翻的框」。前几轮我把「下拉框」理解成了期次选择器，改错了地方。
 *
 * 框高按视口给（62vh，封顶 620px）：一屏约 15 条，滚轮在框内走；
 * overscroll-behavior: contain 防止滚到底把整页带着跑（1.41.6 同口径）。
 * 分组标题 sticky：滚到第 40 条时仍知道自己在「新收录」还是「有新版」。
 * 有边框才读得出「这是一个框」——只有滚动条、没有边界，看起来还是普通列表。
 */
.mev-digest-issue-body {
	max-height: min(62vh, 620px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 2px 10px 8px;
	border: 1px solid var(--mev-faint);
	border-radius: 8px;
	background: #fcfdff;
	scrollbar-width: thin;          /* Firefox：细条，别占 16px */
	scroll-padding-top: 36px;       /* 锚点跳到框内条目时别被 sticky 标题压住 */
}

/* 展开态（全量，上限 2000 条）：框更高，但仍然固定——页面总高不能跟着条目数走 */
.mev-digest-issue-body.mev-digest-issue-body-full {
	max-height: min(72vh, 760px);
}

/* WebKit 滚动条：站点的细窄滚动条在这些旧版主题里不一定有，
   显式给一条浅轨道 + 蓝色滑块，让「可以往下翻」这件事看得见 */
.mev-digest-issue-body::-webkit-scrollbar { width: 10px; }

.mev-digest-issue-body::-webkit-scrollbar-track {
	background: #eef3f9;
	border-radius: 6px;
}

.mev-digest-issue-body::-webkit-scrollbar-thumb {
	background: #b9cbe0;
	border-radius: 6px;
}

.mev-digest-issue-body::-webkit-scrollbar-thumb:hover { background: #8fa9c6; }

.mev-digest-issue-body .mev-digest-sub {
	position: sticky;
	top: 0;
	z-index: 1;
	margin: 0;
	padding: 7px 0 6px;
	background: #fcfdff;            /* 不透明，否则条目会从标题底下透出来 */
}

/* 框内的「展开看全部 / 收起」：做成小描边按钮（.mev-morebtn 的色块版
   只作用于 .mev-digest-moretoday，这里要另一套，否则裸奔成普通链接） */
.mev-digest-more .mev-morebtn {
	display: inline-flex;
	align-items: center;
	height: 26px;
	margin-left: 6px;
	padding: 0 10px;
	border: 1px solid #b9cbe0;
	border-radius: 6px;
	background: #f2f7fd;
	color: var(--mev-primary-dark);
	font-size: 12px;
	text-decoration: none;
}

.mev-digest-more .mev-morebtn:hover { background: #e3eefb; }

.mev-digest-more .mev-morebtn-plain { margin-left: 6px; }

.mev-digest-more-fine {
	margin-left: 8px;
	color: var(--mev-faint);
}

/* 框外那句「已展开全量 / 收起」离框远一点，别被当成框内条目 */
.mev-digest-more-collapse { margin: 8px 0 0; }

/* ---------- 筛选条（1.21.0）：速递页与全部书目页共用 ---------- */
.mev-digest-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 12px 0 8px;
}

.mev-df-dept,
.mev-df-q {
	height: 34px;
	border: 1px solid #cfd9e6;
	border-radius: 8px;
	background: #fff;
	color: var(--mev-text);
	font-size: 13px;
	padding: 0 10px;
}

/* 1.41.6 下拉「看不出来」的第三轮修法：不再依赖浏览器默认箭头
 *
 * 背景：站点 style_2_common.css 有一条全局
 *   select{appearance:none; background:… url(ico_jt.svg) … !important; padding-right:28px !important}
 * 把下拉刷成白底 + 一枚极淡的自绘箭头。1.41.5 把原生箭头要了回来
 * （appearance:auto），但原生箭头浓淡随浏览器与系统主题变，用户仍然
 * 反馈「中文指南这块看不到下拉框」——把「能不能看见」押在浏览器默认样式上
 * 是错的。这一版完全自绘：浅蓝底 + 蓝边 + 深蓝 V 形，用 !important 正面
 * 压掉站点那条（它的箭头图和 28px 内边距都是 !important，只有同样
 * 带 !important 且选择器更具体才盖得住）。
 *
 * 1.41.8 追加：这条背景图箭头现在只服务「科室筛选」那两个 select。
 * 期次下拉因为图太小（12×8）被连着误认三轮，已改成模板里的真实 <svg>
 * ——见下面的 .mev-issue-wrap/.mev-issue-caret。 */
.mev-df-dept {
	min-width: 132px;
	-webkit-appearance: none;
	appearance: none;
	background-color: #f2f7fd !important;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.7 6 6.3 11 1.7' fill='none' stroke='%230c447c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 12px 8px !important;
	border: 1px solid #9db8d6 !important;
	color: var(--mev-primary-dark) !important;
	padding: 0 32px 0 12px !important;   /* 右侧留给自绘箭头 */
	font-weight: 600;
	cursor: pointer;
}

.mev-df-dept:hover {
	background-color: #e6f0fb !important;
	border-color: var(--mev-primary) !important;
}

.mev-df-dept:focus,
.mev-df-dept:focus-visible {
	border-color: var(--mev-primary) !important;
	box-shadow: 0 0 0 3px rgba(29, 111, 184, .16);
	outline: none;
}

.mev-df-q {
	flex: 1 1 220px;
	min-width: 180px;
}

.mev-df-q::placeholder { color: var(--mev-faint); }

.mev-df-go {
	height: 34px;
	padding: 0 18px;
	border: none;
	border-radius: 8px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 13px;
	cursor: pointer;
}

.mev-df-go:hover { filter: brightness(1.06); }

.mev-df-clear {
	font-size: 12.5px;
	color: var(--mev-muted);
	text-decoration: none;
	border-bottom: 1px dashed var(--mev-border);
}

.mev-df-clear:hover { color: var(--mev-primary); }

.mev-digest-filter-sum {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: var(--mev-muted);
	line-height: 1.7;
}

.mev-df-tip {
	margin-left: 6px;
	color: var(--mev-faint);
	font-size: 12px;
}

/* ---------- 评分与检验换算（1.22.0） ---------- */
.mev-tools-toc {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: baseline;
	margin: 10px 0 4px;
}

.mev-tools-toc a {
	display: inline-block;
	padding: 4px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mev-text);
	font-size: 12.5px;
	text-decoration: none;
}

.mev-tools-toc a:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

.mev-tools-toc-tip {
	color: var(--mev-faint);
	font-size: 12px;
}

.mev-tools-sec {
	margin: 22px 0 8px;
	font-size: 15px;
	color: var(--mev-text);
	border-left: 3px solid var(--mev-primary);
	padding-left: 8px;
	line-height: 1.2;
}

.mev-tool {
	margin: 0 0 12px;
	padding: 13px 15px;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: var(--mev-card);
}

.mev-tool-head {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
	margin-bottom: 10px;
}

.mev-tool-head h3 {
	margin: 0;
	font-size: 14px;
	color: var(--mev-text);
}

.mev-tool-sub {
	color: var(--mev-muted);
	font-size: 12.5px;
}

.mev-tool-body {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	align-items: center;
}

.mev-tool-chk {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--mev-text);
	cursor: pointer;
	padding: 4px 0;
}

.mev-tool-chk input { margin: 0; }

.mev-tool-field {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--mev-text);
}

.mev-tool-field span {
	color: var(--mev-muted);
	font-size: 12.5px;
	white-space: nowrap;
}

.mev-tool-field input,
.mev-tool-field select {
	height: 32px;
	width: 108px;
	padding: 0 8px;
	border: 1px solid var(--mev-border);
	border-radius: 7px;
	background: #fff;
	color: var(--mev-text);
	font-size: 13px;
	font-family: inherit;
}

.mev-tool-field select { width: auto; min-width: 108px; }

.mev-tool-out {
	margin-top: 10px;
	padding: 9px 12px;
	border-radius: 8px;
	background: var(--mev-bg);
	font-size: 13px;
	line-height: 1.75;
	color: var(--mev-muted);
	min-height: 38px;
	box-sizing: border-box;
}

.mev-tool-out-on {
	background: var(--mev-primary-soft);
	color: var(--mev-text);
}

.mev-tool-score {
	display: inline-block;
	margin-right: 10px;
	font-size: 18px;
	font-weight: 600;
	color: var(--mev-primary-dark);
	line-height: 1.2;
	vertical-align: -1px;
}

.mev-tool-hint { color: var(--mev-faint); font-size: 12.5px; }

/* 1.25.1 复选框卡的「以上情况均无」：
 * 零危险因素是合法输入，要有地方表达，但不能长得像一个主动作发的按钮。 */
.mev-tool-zero {
	margin-left: 8px;
	padding: 0;
	border: 0;
	border-bottom: 1px dashed var(--mev-line);
	background: none;
	color: var(--mev-muted);
	font: inherit;
	font-size: 12.5px;
	cursor: pointer;
}
.mev-tool-zero:hover { color: var(--mev-accent); border-bottom-color: var(--mev-accent); }

.mev-tool-src {
	margin-top: 8px;
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--mev-faint);
}

/* ---------- 工具卡「使用边界与下一步」/「复制评估摘要」（1.23.0） ---------- */
/* 折起来是因为四段合起来比输入区还长，摊开会把十张卡变成长文；
   但 summary 必须自己说清里面是什么，不能只写「更多」。 */
.mev-tool-scope {
	margin-top: 8px;
	padding-top: 7px;
	border-top: 1px dashed var(--mev-border);
}

.mev-tool-scope > summary {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--mev-primary);
	cursor: pointer;
	list-style: none;
}

.mev-tool-scope > summary::-webkit-details-marker { display: none; }

.mev-tool-scope > summary::before {
	content: "▸";
	font-size: 10px;
	color: var(--mev-faint);
}

.mev-tool-scope[open] > summary::before { content: "▾"; }
.mev-tool-scope > summary:hover { color: var(--mev-primary-dark); }

.mev-scope-list {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 5px 10px;
	margin: 8px 0 2px;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--mev-bg);
	font-size: 12.5px;
	line-height: 1.75;
}

.mev-scope-list dt {
	color: var(--mev-muted);
	font-weight: 600;
	white-space: nowrap;
}

.mev-scope-list dt.mev-scope-warn { color: var(--mev-amber); }

.mev-scope-list dd {
	margin: 0;
	color: var(--mev-text);
}

.mev-tool-act {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
}

.mev-tool-copy {
	height: 26px;
	padding: 0 10px;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	background: #fff;
	color: var(--mev-muted);
	font-size: 11.5px;
	line-height: 1.6;
}

.mev-tool-copy:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

.mev-tool-copy-done {
	border-color: var(--mev-teal);
	color: var(--mev-teal);
}

.mev-tool-copytxt {
	width: 100%;
	min-height: 118px;
	padding: 8px 10px;
	border: 1px solid var(--mev-border);
	border-radius: 7px;
	background: #fff;
	color: var(--mev-text);
	font-family: inherit;
	font-size: 12px;
	line-height: 1.7;
	resize: vertical;
}

@media (max-width: 640px) {
	.mev-tool-field { width: 100%; }
	.mev-tool-field input { flex: 1 1 auto; width: auto; }
	.mev-scope-list { grid-template-columns: 1fr; gap: 2px; }
	.mev-scope-list dt { margin-top: 6px; }
	.mev-scope-list dt:first-of-type { margin-top: 0; }
}

/* ---------- 全部书目页（1.21.0） ---------- */
.mev-cat-range {
	margin: 10px 0 2px;
	font-size: 12.5px;
	color: var(--mev-muted);
}

.mev-cat-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mev-cat-item {
	padding: 9px 0;
	border-bottom: 1px dashed var(--mev-faint);
}

.mev-cat-item:last-child { border-bottom: none; }

.mev-cat-title {
	display: inline-block;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--mev-text);
	text-decoration: none;
}

.mev-cat-title:hover {
	color: var(--mev-primary);
	text-decoration: underline;
}

.mev-cat-title:hover .mev-digest-ext { color: var(--mev-primary); }

.mev-cat-meta {
	margin-top: 2px;
	font-size: 12px;
	color: var(--mev-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.mev-cat-new {
	display: inline-block;
	padding: 0 5px;
	border-radius: 4px;
	background: #e8f3ff;
	color: #1d6fb8;
	font-size: 11px;
	line-height: 16px;
}

.mev-cat-year { color: var(--mev-text); }

.mev-cat-depts { color: var(--mev-muted); }

.mev-cat-first { color: var(--mev-faint); }

.mev-cat-pager {
	margin: 14px 0 4px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.mev-cat-pg {
	display: inline-block;
	min-width: 30px;
	height: 30px;
	line-height: 28px;
	padding: 0 8px;
	text-align: center;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: #fff;
	color: var(--mev-text);
	font-size: 12.5px;
	text-decoration: none;
}

a.mev-cat-pg:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}

.mev-cat-pg-cur {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}

.mev-cat-pg-dot {
	border: none;
	background: transparent;
	color: var(--mev-faint);
	min-width: 16px;
	padding: 0;
}

@media (max-width: 640px) {
	.mev-digest-filter { gap: 6px; }
	.mev-df-dept, .mev-df-q, .mev-df-go { height: 32px; }
	.mev-df-q { flex: 1 1 100%; }
}


.mev-digest-empty {
	margin: 0 0 18px;
	padding: 26px 20px;
	background: #fff;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	text-align: center;
	color: var(--mev-muted);
	font-size: 13.5px;
	line-height: 1.9;
}

.mev-digest-empty h2 {
	margin: 0 0 8px;
	font-size: 16px;
	color: var(--mev-text);
}

.mev-digest-empty-fine { color: var(--mev-faint); font-size: 12.5px; }

.mev-digest-empty-quiet { padding: 18px 20px; }

/* ===================== 订阅设置（1.19.0） =====================
 * 这一页的三个判断都体现在样式里：
 *   ① 科室是「标签墙」而不是下拉多选——一眼看全 10 个科，
 *      勾起来是一个动作，下拉里翻找是三个动作；
 *   ② 渠道说明写在开关右边而不是下面——用户是在「勾不勾」的同一刻做决定；
 *   ③ 退订按钮刻意小而灰、单独一行、与保存隔开——不是主要的行动，
 *      但也绝不能藏起来（找不到退订的订阅，下一次就是拉黑）。 */
.mev-alert-ok {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 8px;
	border-left: 3px solid #1f9d63;
	background: #f2fbf6;
	color: #146c43;
	font-size: 13px;
	line-height: 1.8;
}

.mev-sub-status {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin: 0 0 16px;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.8;
}

.mev-sub-status strong { font-size: 14px; }
.mev-sub-status span { color: var(--mev-muted); }

.mev-sub-status-on {
	background: var(--mev-primary-soft);
	border-left: 3px solid var(--mev-primary);
}
.mev-sub-status-on strong { color: var(--mev-primary-dark); }

.mev-sub-status-off {
	background: #f7f9fc;
	border-left: 3px solid var(--mev-faint);
}
.mev-sub-status-off strong { color: var(--mev-muted); }

.mev-sub-warn {
	margin: 0 0 16px;
	padding: 10px 14px;
	border-radius: 8px;
	border-left: 3px solid #e0a83a;
	background: #fdf7ea;
	color: #8a6116;
	font-size: 12.5px;
	line-height: 1.8;
}

.mev-sub-sec {
	margin: 0 0 22px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
}

.mev-sub-h {
	margin: 0 0 6px;
	font-size: 15px;
	color: var(--mev-text);
}

.mev-sub-note {
	margin: 0 0 12px;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-sub-depts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* 勾选态不靠原生 checkbox 表达（各浏览器差异大），
 * 而是整块变色——在手机上一眼能数出自己选了几个。 */
.mev-sub-dept {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	color: var(--mev-text);
	cursor: pointer;
	user-select: none;
}

.mev-sub-dept input { margin: 0; }

.mev-sub-dept-on {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-weight: 600;
}

.mev-sub-ch {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 0;
	font-size: 13px;
	line-height: 1.75;
	color: var(--mev-text);
	cursor: pointer;
}

.mev-sub-ch input { margin-top: 4px; }
.mev-sub-ch-off { color: var(--mev-faint); cursor: default; }

.mev-sub-actions {
	margin: 0 0 10px;
}

.mev-sub-save {
	border: none;
	cursor: pointer;
	font-family: inherit;
}

.mev-sub-offform {
	margin: 0 0 24px;
	padding-top: 14px;
	border-top: 1px dashed var(--mev-border);
	font-size: 12.5px;
}

.mev-sub-off {
	padding: 5px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	background: #fff;
	color: var(--mev-muted);
	font-size: 12.5px;
	cursor: pointer;
	font-family: inherit;
}

.mev-sub-off:hover { color: #a32d2d; border-color: #e3b7b7; }

.mev-sub-offnote {
	margin-left: 8px;
	color: var(--mev-faint);
}

.mev-sub-guest {
	margin: 0 0 18px;
	padding: 26px 22px;
	background: #fff;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	text-align: center;
	line-height: 1.9;
}

.mev-sub-guest h2 {
	margin: 0 0 8px;
	font-size: 16px;
	color: var(--mev-text);
}

.mev-sub-guest p {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--mev-muted);
}

@media (max-width: 820px) {
	.mev-sub-depts { gap: 6px; }
	.mev-sub-dept { padding: 7px 10px; font-size: 12.5px; }
	.mev-sub-status { flex-direction: column; gap: 4px; }
}

/* ==========================================================================
   决策路径（1.24.0）
   纵向流程：左侧序号圆点 + 竖线，右侧「问题 → 说明 → 分支 → 出处」。
   不用 JS：分支与摘录都是 details/静态结构，离线也能读。
   ========================================================================== */

.mev-path-crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font-size: 13px;
}

.mev-path-crumb-name {
	font-weight: 500;
	color: var(--mev-text);
}

/* 路径切换条（1.25.0）：五条路径之后才有意义，一条时不显示 */
.mev-path-switch {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 14px;
}

.mev-path-switch-t {
	margin-right: 2px;
	font-size: 12px;
	color: var(--mev-faint);
}

.mev-path-switch-a {
	display: inline-block;
	padding: 4px 10px;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--mev-text);
	text-decoration: none;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 999px;
}

.mev-path-switch-a:hover {
	color: var(--mev-primary);
	border-color: var(--mev-primary);
	text-decoration: none;
}

.mev-path-switch-a.is-on {
	color: #fff;
	background: var(--mev-primary);
	border-color: var(--mev-primary);
}

.mev-path-switch-n {
	margin-left: auto;
	font-size: 12px;
	color: var(--mev-faint);
}

.mev-path-crumb-sub {
	font-size: 12.5px;
	color: var(--mev-faint);
}

.mev-path-scope {
	margin: 0 0 20px;
	padding: 12px 14px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 10px;
}

.mev-path-scope-t {
	display: block;
	margin-bottom: 2px;
	font-size: 12px;
	font-weight: 500;
	color: var(--mev-primary-dark);
}

.mev-path-scope-d {
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-path-flow {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mev-path-step {
	position: relative;
	display: flex;
	gap: 14px;
	padding-bottom: 24px;
}

.mev-path-step.is-last {
	padding-bottom: 0;
}

.mev-path-num {
	position: relative;
	z-index: 1;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mev-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
}

.mev-path-step:not(.is-last) .mev-path-num::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	bottom: -24px;
	width: 1px;
	background: var(--mev-border);
	transform: translateX(-50%);
}

.mev-path-body {
	flex: 1 1 auto;
	min-width: 0;
}

.mev-path-ask {
	margin: 3px 0 6px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--mev-text);
}

.mev-path-why {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-path-tool {
	display: inline-block;
	margin: 0 0 10px;
	padding: 4px 10px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 12.5px;
	text-decoration: none;
}

.mev-path-tool:hover {
	border-color: var(--mev-primary);
	text-decoration: none;
}

/* 1.48.0 路径步骤上的执行卡（连接点 B）。
 * 和上面的 .mev-path-tool 靠「有没有容器」区分：计算器是「顺手算个数」，一个浅底
 * 小按钮就够；执行卡是「照它做」，是这一步真正的落点，所以给整块容器 + 左侧主色
 * 竖线。不加实心主色按钮——一条 ugib 路径第三步就要挂三张卡，实心色块会盖过
 * 问题本身，读者先看到药名，反而跳过了「要不要用」。 */
.mev-path-cards {
	margin: 0 0 10px;
	padding: 9px 12px 5px;
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 6px;
	background: var(--mev-card);
}

.mev-path-cards-t {
	display: block;
	margin: 0 0 7px;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--mev-muted);
}

.mev-path-card {
	display: inline-block;
	margin: 0 6px 6px 0;
	padding: 5px 10px;
	border: 1px solid transparent;
	border-radius: 5px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}

.mev-path-card:hover {
	border-color: var(--mev-primary);
	text-decoration: none;
}

.mev-path-card-n {
	margin-left: 6px;
	font-size: 11px;
	color: var(--mev-muted);
}

.mev-path-branches {
	list-style: none;
	margin: 0 0 10px 2px;
	padding: 0 0 0 12px;
	border-left: 2px solid var(--mev-border);
}

.mev-path-branch {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	padding: 5px 0;
	font-size: 12.5px;
	line-height: 1.7;
}

.mev-path-when {
	font-weight: 500;
	color: var(--mev-text);
}

.mev-path-arrow {
	color: var(--mev-faint);
}

.mev-path-go {
	padding: 1px 7px;
	border-radius: 4px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 11.5px;
	white-space: nowrap;
}

.mev-path-branch.is-end .mev-path-go {
	background: var(--mev-teal-soft);
	color: var(--mev-teal);
}

.mev-path-note {
	flex: 1 1 100%;
	padding-left: 2px;
	font-size: 12.5px;
	color: var(--mev-muted);
}

.mev-path-cite {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
}

.mev-path-cite > summary {
	list-style: none;
	cursor: pointer;
	font-size: 12px;
	color: var(--mev-faint);
}

.mev-path-cite > summary::-webkit-details-marker {
	display: none;
}

.mev-path-cite > summary::before {
	content: '＋';
	display: inline-block;
	width: 15px;
	color: var(--mev-faint);
}

.mev-path-cite[open] > summary::before {
	content: '－';
}

.mev-path-cite > summary:hover {
	color: var(--mev-primary);
}

.mev-path-cite-body {
	margin-top: 8px;
}

.mev-path-quote {
	margin-bottom: 6px;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--mev-bg);
}

.mev-path-quote-meta {
	margin-bottom: 4px;
	font-size: 11.5px;
	color: var(--mev-faint);
}

.mev-path-quote-text {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.9;
	color: var(--mev-text);
}

.mev-path-quote-none {
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-path-foot {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid var(--mev-border);
}

.mev-path-foot-t {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--mev-text);
}

.mev-path-foot-d {
	margin: 0 0 6px;
	font-size: 12px;
	line-height: 1.85;
	color: var(--mev-faint);
}

@media (max-width: 640px) {
	.mev-path-step { gap: 10px; }
	.mev-path-num { flex: 0 0 26px; width: 26px; height: 26px; font-size: 12px; }
	.mev-path-step:not(.is-last) .mev-path-num::after { top: 26px; }
	.mev-path-ask { font-size: 14px; }
	.mev-path-branch { gap: 4px; }
}

/* ==================== 回答内评分链接 + 工具卡路径反查（1.26.0） ====================
   入口不做成导航项：导航里多一项，提问框就少一分注意；医生需要计算器的时刻，
   是刚读完「CURB-65 3 分」那一句。所以链接出现在答案下面与工具卡里面。 */

.mev-toolhint {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-top: 12px;
	padding: 9px 12px;
	border: 1px solid #e4e9f0;
	border-radius: 8px;
	background: #f8fafc;
	font-size: 12.5px;
	line-height: 1.6;
}
.mev-toolhint-label { color: #6b7280; }
.mev-toolhint-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #0f6e56;
	text-decoration: none;
	border-bottom: 1px dashed rgba(15, 110, 86, 0.35);
}
.mev-toolhint-link:hover { border-bottom-style: solid; }
.mev-toolhint-go { color: #0f6e56; font-size: 11.5px; }
.mev-toolhint-note { color: #9aa3ae; font-size: 11.5px; margin-left: auto; }

.mev-tool-paths {
	margin: 2px 0 10px;
	font-size: 12px;
	line-height: 1.7;
	color: #6b7280;
}
.mev-tool-path {
	color: #0f6e56;
	text-decoration: none;
	border-bottom: 1px dashed rgba(15, 110, 86, 0.35);
}
.mev-tool-path:hover { border-bottom-style: solid; }
.mev-tool-pathsep { color: #c2c9d2; margin: 0 5px; }

@media (max-width: 640px) {
	.mev-toolhint { padding: 8px 10px; }
	.mev-toolhint-note { margin-left: 0; width: 100%; }
}

/* 提问侧挂卡（1.44.0，L1）：与 toolhint 同一基调，但这是「打字时」的提示，
   位置在输入框与发送条之间，出现/消失随输入——不占回答区的位置。 */
.mev-cardhint {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-top: 8px;
	padding: 8px 12px;
	border: 1px solid #e4e9f0;
	border-radius: 8px;
	background: #f8fafc;
	font-size: 12.5px;
	line-height: 1.6;
}
.mev-cardhint-label { color: #6b7280; }
.mev-cardhint-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #1d4ed8;
	text-decoration: none;
	border-bottom: 1px dashed rgba(29, 78, 216, 0.35);
}
.mev-cardhint-link:hover { border-bottom-style: solid; }
.mev-cardhint-go { color: #1d4ed8; font-size: 11.5px; }

/* 回答侧挂卡（1.44.5，L2）：同一套样式，只是落点在正文下方、
   上边距按「正文与链接条之间」的距离给，比输入框那条松一格。 */
.mev-cardlinks { margin-top: 12px; }


/* ==================== 上传 PDF 问答（1.27.0） ==================== */

.mev-pdfpage .mev-pdf-warn,
.mev-pdfpage .mev-pdf-gate {
	margin: 14px 0;
	padding: 11px 14px;
	border: 1px solid var(--mev-border);
	border-left: 3px solid #b58a2d;
	border-radius: 8px;
	background: var(--mev-card);
	font-size: 13px;
	line-height: 1.75;
	color: var(--mev-text);
}
.mev-pdfpage .mev-pdf-gate { border-left-color: var(--mev-primary); }
.mev-pdfpage .mev-pdf-gate code {
	padding: 1px 6px;
	border: 1px solid var(--mev-border);
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.03);
	font-size: 12px;
}

/* 登录 / 升级提示收成一排（1.50.5）。原来是两段 <p>：一句文案、一个描边小按钮，
   在游客页最上面占两排，中间还空一格——一个「请登录」的提示不该占两行的篇幅。
   现在一整排：左边锁 + 一句话，右边一个主色按钮，`margin-left:auto` 把按钮推到右端；
   窄屏装不下才折行（flex-wrap），折了也是「文字 / 按钮」两行，不会散成两段。
   底色加一层主色的极淡版，让这条读成「提示条」而不是又一块正文卡片。 */
.mev-pdfpage .mev-pdf-gatelogin {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding: 9px 12px 9px 14px;
	background: rgba(29, 78, 216, 0.035);
}
.mev-pdfpage .mev-pdf-gatelogin .mev-pdf-gatetext {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	line-height: 1.6;
}
.mev-pdfpage .mev-pdf-gatelock { flex: none; color: var(--mev-primary); }
.mev-pdfpage .mev-pdf-gatebtn {
	flex: none;
	margin-left: auto;
	padding: 5px 16px;
	font-size: 13px;
	border-radius: 7px;
	line-height: 1.5;
}

/* 手机端（1.50.6，站长截图）：①这条左边的 3px 主色左边框 + 8px 圆角，窄屏上被看成
   一个「蓝色大括号」，圈出来要去掉；②折行之后按钮被 margin-left:auto 顶到最右边，
   贴着边缘——窄屏改成上下两块，按钮居中。左边的边框去掉不影响「这是提示条」：
   底色那层极淡的主色还在，圆角也还在。 */
@media (max-width: 640px) {
	.mev-pdfpage .mev-pdf-gate.mev-pdf-gatelogin {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 12px 14px;
		border-left-width: 0;
		border-radius: 10px;
	}
	.mev-pdfpage .mev-pdf-gatelogin .mev-pdf-gatetext { align-items: flex-start; }
	.mev-pdfpage .mev-pdf-gatelock { margin-top: 3px; }
	.mev-pdfpage .mev-pdf-gatebtn {
		margin-left: 0;
		align-self: center;
		padding: 7px 26px;
		border-radius: 8px;
	}
}

.mev-pdf-up { margin: 18px 0 8px; }
.mev-pdf-up h2, .mev-pdf-docs h2, .mev-pdf-qa h2 {
	font-size: 16px;
	margin: 0 0 10px;
	color: var(--mev-text);
}
.mev-pdf-count { font-size: 12px; color: var(--mev-muted); font-weight: normal; margin-left: 6px; }
.mev-pdf-up form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.mev-pdf-filebtn input[type="file"] { font-size: 13px; }
.mev-pdf-sharechk { font-size: 12.5px; color: var(--mev-muted); display: inline-flex; align-items: center; gap: 5px; }
.mev-pdf-uptip { width: 100%; font-size: 12px; color: var(--mev-muted); }
/* 能力显性化（2026-10-26）：「英文文档可中文提问」本来就有，但从没在页面上说过——
   用户不知道就等于没有。挂在上传框正下方，用浅蓝底把它和灰色的注意事项区分开：
   这是一句「你能做什么」，不是「你不许做什么」。 */
.mev-pdf-hint {
	width: 100%;
	margin: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--mev-primary-dark);
	background: var(--mev-primary-soft);
	border-radius: 6px;
	padding: 6px 10px;
}

.mev-btn {
	border: 1px solid var(--mev-border);
	background: var(--mev-card);
	color: var(--mev-text);
	border-radius: 8px;
	padding: 7px 18px;
	font-size: 13.5px;
	cursor: pointer;
}
.mev-btn:hover { border-color: var(--mev-primary); color: var(--mev-primary); }
.mev-btn-primary {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}
.mev-btn-primary:hover { color: #fff; opacity: 0.92; }
/* 主色按钮做成 <a> 时，站点主题的链接色会盖掉白字（`a:link` 是「元素 + 伪类」，
   权重 0,1,1，比单个类 0,1,0 高）——线上截图里「登录」两个字就是蓝底黑字。
   和 .mev-floatbtn 那条一样，白字必须带 !important，`:visited` 一并写。 */
a.mev-btn-primary,
a.mev-btn-primary:visited,
a.mev-btn-primary:hover { color: #fff !important; }
.mev-btn-mini { padding: 3px 10px; font-size: 12px; border-radius: 6px; }
.mev-btn[disabled] { opacity: 0.55; cursor: default; }

.mev-pdf-docs { margin: 18px 0; }
.mev-pdf-empty { font-size: 13px; color: var(--mev-muted); }
.mev-pdf-doc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	padding: 10px 14px;
	margin-bottom: 8px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: var(--mev-card);
	font-size: 13px;
}
.mev-pdf-doc.is-ready { border-left: 3px solid var(--mev-primary); }
.mev-pdf-doc.is-shared { background: transparent; }
.mev-pdf-docmain { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.mev-pdf-docname { font-weight: 600; word-break: break-all; }
.mev-pdf-ok { color: #0f6e56; font-size: 12px; white-space: nowrap; }
.mev-pdf-wait { color: #b58a2d; font-size: 12px; }
.mev-pdf-fail { color: #a33; font-size: 12px; }
.mev-pdf-tag {
	font-size: 11px;
	color: var(--mev-muted);
	border: 1px solid var(--mev-border);
	border-radius: 5px;
	padding: 1px 7px;
	white-space: nowrap;
}
.mev-pdf-docerr { width: 100%; font-size: 12px; color: #a33; }
.mev-pdf-docact { display: flex; gap: 8px; }

.mev-pdf-qa { margin: 18px 0; }
.mev-pdf-askrow { display: flex; gap: 10px; margin-bottom: 10px; }
.mev-pdf-select, .mev-pdf-input {
	flex: 1;
	min-width: 0;
	padding: 8px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: var(--mev-card);
	color: var(--mev-text);
	font-size: 13.5px;
}
.mev-pdf-input:focus, .mev-pdf-select:focus { outline: none; border-color: var(--mev-primary); }
.mev-pdf-out { margin-top: 6px; }
.mev-pdf-loading, .mev-pdf-err, .mev-pdf-nomatch {
	padding: 10px 14px;
	border: 1px dashed var(--mev-border);
	border-radius: 8px;
	font-size: 13px;
	color: var(--mev-muted);
}
.mev-pdf-err { border-style: solid; color: #a33; }

/* 等待期（1.52.0）：一个点 + 一句话 + 已等秒数。三样都在一行里，
 * 窄屏也不折行——等待块换行会把下面的答案区往下推一下，等等再弹回来。
 * 类名用 -waits：页面里已有的 .mev-pdf-wait 是上传列表那个「解析中…」
 * （琥珀色 12px），同一个名字会让这块继承成小字黄字。 */
.mev-pdf-waits { display: flex; align-items: center; gap: 8px; }
.mev-pdf-waits-d {
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--mev-primary);
	animation: mev-pdf-wait-pulse 1.4s ease-in-out infinite;
}
.mev-pdf-waits-t { flex: 1 1 auto; min-width: 0; }
.mev-pdf-waits-s {
	flex: 0 0 auto;
	font-size: 12px;
	color: var(--mev-faint, #98a2ad);
	font-variant-numeric: tabular-nums;
}
@keyframes mev-pdf-wait-pulse {
	0%, 100% { opacity: .25; transform: scale(.8); }
	50% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.mev-pdf-waits-d { animation: none; opacity: 1; }
}

.mev-pdf-a .mev-md { margin-bottom: 10px; }
.mev-pref {
	border: none;
	background: rgba(15, 110, 86, 0.08);
	color: #0f6e56;
	border-radius: 5px;
	padding: 1px 7px;
	margin: 0 2px;
	font-size: 11.5px;
	cursor: pointer;
	vertical-align: 1px;
}
.mev-pref:hover { background: rgba(15, 110, 86, 0.16); }

/* 分条（1.53.0）：文本一栏、页码一栏。
 * 整段用一个 grid 容器、每条只是三格，而不是每条各自一个 grid——
 * 各管各的时候，没序号的那几条文本会往左顶一个 gap，跟有序号的差半个字。 */
.mev-pdf-items {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	column-gap: 8px;
	row-gap: 3px;
	align-items: start;
	margin: 0 0 10px;
}
.mev-pdf-item-mk {
	color: var(--mev-muted);
	font-variant-numeric: tabular-nums;
	padding-top: 1px;
	align-self: start;
}
.mev-pdf-item-t { min-width: 0; }
/* 页码跟这一条的**末行**对齐（一条折成三行时，页码挂在句号那一行），
 * 序号才跟首行对齐——序号说的是「第几条」，页码说的是「这条到哪儿结束」。 */
.mev-pdf-item-p {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px;
	align-self: end;
}
.mev-pdf-item-p .mev-pref { margin: 0; }
/* 有页码就挂页码；一条里一个页码都没有，就明说没标——
 * 空着的话，「每条都追得到」这句话在这些行上就是空话，而人看不出来。 */
.mev-pdf-np {
	font-size: 11px;
	color: var(--mev-faint, #98a2ad);
	white-space: nowrap;
}
/* 标题与整段要跨满三栏，否则会被自动排进序号那一格（宽 8px）里 */
.mev-pdf-hd,
.mev-pdf-p { grid-column: 1 / -1; }
.mev-pdf-items .mev-pdf-hd { margin: 8px 0 2px; }
.mev-pdf-items .mev-pdf-p { margin: 0 0 2px; }

/* 检索覆盖（1.53.0）：这次检索到几页、引用了其中几页。
 * 未采用的页收在同一个 details 里——减法要摆在明面上，但不该抢答案的注意力。 */
.mev-pdf-scope { margin: 0 0 8px; font-size: 12px; color: var(--mev-muted); }
.mev-pdf-unused {
	margin: 0 0 8px;
	border: 1px dashed var(--mev-border);
	border-radius: 8px;
	padding: 7px 12px;
	font-size: 12px;
	color: var(--mev-muted);
}
.mev-pdf-unused summary { cursor: pointer; }
.mev-pdf-unused-list {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mev-pdf-unused-h { display: flex; align-items: center; gap: 6px; }
.mev-pdf-unused-r { font-size: 11.5px; }
.mev-pdf-unused-t {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.75;
	color: var(--mev-text);
}
.mev-pdf-cites { display: flex; flex-direction: column; gap: 6px; }
.mev-pdf-cite {
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: var(--mev-card);
	padding: 7px 12px;
	font-size: 12.5px;
}
.mev-pdf-cite summary { cursor: pointer; color: var(--mev-muted); }
.mev-pdf-citetext {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--mev-border);
	line-height: 1.8;
	white-space: pre-wrap;
	word-break: break-all;
}

/* 答案里已经照录了原句（「…」），在片段里标出来。
 * 点 P9 想看的是「哪一句」，而一个片段块常有上千字——让人自己在里面找，
 * 等于把「可核对」变成「你自己核」。找不到就整段不标，不猜不报错。 */
.mev-pdf-citetext .mev-pdf-hit {
	padding: 0 1px;
	border-radius: 2px;
	background: #fdeab5;
	box-shadow: inset 0 -1px 0 #d9b45c;
	color: var(--mev-text);
}

/* 这份文档问过的（1.50.0）
 * 它与上面的答案区同处右栏，所以「轻」是第一位：一条记录只有问题 + 时间一行，
 * 展开才出答案。用虚线分隔而不是再套一张卡——右栏已经有输入卡与答案两层卡片，
 * 第三层卡片会把「当前这次回答」和「上次的回答」压成同一层。 */
/* 推荐问题（1.50.1）：胶囊排一行，装不下折行。整块隐藏走 [hidden]，
 * 不用 display:none 覆盖 flex——hidden 属性被任何 flex 声明顶掉的话，
 * 空态的「试试问」三个字会孤零零挂在输入框下面。 */
.mev-pdf-sug[hidden] { display: none; }
.mev-pdf-sug {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 8px;
}
.mev-pdf-sug-hd {
	flex: none;
	font-size: 12px;
	color: var(--mev-muted);
}
.mev-pdf-sug-i {
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	background: var(--mev-card);
	color: var(--mev-text);
	padding: 4px 11px;
	font-size: 12.5px;
	line-height: 1.5;
	cursor: pointer;
	text-align: left;
}
.mev-pdf-sug-i:hover { border-color: rgba(43, 136, 208, .55); }
.mev-pdf-sug-p {
	margin-left: 6px;
	font-size: 11px;
	color: var(--mev-muted);
}

.mev-pdf-hist {
	margin: 16px 0 0;
	padding-top: 12px;
	border-top: 1px dashed var(--mev-border);
}
.mev-pdf-histhd {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 12px;
	color: var(--mev-muted);
	margin-bottom: 8px;
}
.mev-pdf-histlist { display: flex; flex-direction: column; gap: 6px; }
.mev-pdf-hist-i {
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: var(--mev-card);
	font-size: 12.5px;
}
/* 展开中的那条给一道内侧竖条：五条都塌着时看起来一模一样，展开两条以上
   就分不清哪条是「我正看着的」。用 inset shadow 而不是 border-left——
   后者会让内容左右各挪 2px，展开一瞬间整块文字抖一下。 */
.mev-pdf-hist-i[open] { box-shadow: inset 3px 0 0 var(--mev-primary); }
.mev-pdf-hist-i > summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	padding: 7px 12px;
	cursor: pointer;
	color: var(--mev-text);
}
.mev-pdf-hist-q { min-width: 0; word-break: break-word; }
.mev-pdf-hist-t {
	margin-left: auto;
	font-size: 11.5px;
	color: var(--mev-muted);
	white-space: nowrap;
}
.mev-pdf-hist-a {
	margin-top: 2px;
	padding: 8px 12px 10px;
	border-top: 1px dashed var(--mev-border);
}
.mev-pdf-hist-a .mev-md { font-size: 13px; }
/* 展开的旧答案里再点 [P3]，会往这里插一块「第 N 页 · 原文片段」 */
.mev-pdf-hist-a .mev-pdf-cites { margin-top: 8px; }

@media (max-width: 640px) {
	.mev-pdf-askrow { flex-direction: column; align-items: stretch; }
	.mev-pdf-docact { width: 100%; justify-content: flex-end; }
	/* 触屏命中区：桌面 4px 上下内边距在手机上太薄（1.49.5 角标的同一课） */
	.mev-pdf-sug-i { padding: 7px 13px; font-size: 13px; }
}

/* ==================== 1.27.1 两栏布局（上传/列表 左 · 提问 右） ====================
 * 反馈原话：「全是横向堆砌」。原来上传、我的文档、针对文档提问三段各占满宽，
 * 视线在一条竖线上来回跳，提问框还被长列表压到页面最底部。
 * 分两栏后：左边做完「传 + 挑」，右边固定回答；右侧吸顶，滚长列表时提问框不跑。
 */

.mev-pdf-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	/* 1.50.3：不再是「右栏跨两行」。跨行的元素会被算进它跨过的每一行，
	   右栏一长，第一行（上传）跟着变高，「我的文档」就被推到左栏最底下；
	   一份文档时中间空两百多像素，看着像跑到了页面腰部。
	   改成左栏自己一块（.mev-pdf-side）占一列：左栏底边只由左栏内容决定，
	   右栏多高都不动它，两栏都从同一个上沿开始。 */
	gap: 18px 22px;
	align-items: start;
	margin: 12px 0 6px;
}
.mev-pdf-side { min-width: 0; }
.mev-pdf-grid .mev-pdf-up   { margin: 0 0 16px; min-width: 0; }
.mev-pdf-grid .mev-pdf-docs { margin: 0; min-width: 0; }
.mev-pdf-grid .mev-pdf-qa   { min-width: 0; }

/* 提问面板独立成卡：它是这页的主操作，不该看起来像列表的尾巴 */
.mev-pdf-grid .mev-pdf-qa {
	margin: 0;
	padding: 14px 16px 16px;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: var(--mev-card);
}
.mev-pdf-note-hint {
	margin: 0 0 6px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--mev-muted);
}
.mev-pdf-refdemo {
	display: inline-block;
	padding: 0 6px;
	border-radius: 5px;
	background: rgba(15, 110, 86, 0.08);
	color: #0f6e56;
	font-size: 11.5px;
}
/* ==================== 游客示例（1.50.4，1.50.5 换内容） ====================
 * 游客看到的只有：页头 + 三块说明 + 一句「请登录」，一整页没有一处显示这功能长什么样。
 * 这块用一条真实问答（《2026 胰源性门静脉高压中国共识》第 9 页，站长给的例子）复刻
 * 「问 → 答 → 点开见原文」，8 秒一轮。
 * 1.50.5 换掉原来那条：那条只答一句结论（40.7%），演示不出「答案里有一段推理、
 * 原文里那句话被标出来」这件事；站长给的那条有推理、有中英对照、有被引原句。
 * 动效的理由只有一条：这功能的卖点是「逐句标页码、点开见原文」，静态图上说不出
 * 「点开」这件事——所以动的顺序必须是 问 → 答 → 那句被标黄，而不是飘来飘去。
 * 系统开了「减少动画」时停在最后一帧（三行全显示、那句标黄），信息一点不少。
 */
.mev-pdf-demo {
	margin: 14px 0 18px;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: var(--mev-card);
	overflow: hidden;
}
.mev-pdf-demo-hd {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	padding: 10px 16px;
	border-bottom: 1px dashed var(--mev-border);
	font-size: 12.5px;
	color: var(--mev-muted);
}
.mev-pdf-demo-tag {
	padding: 1px 7px;
	border-radius: 999px;
	background: rgba(15, 110, 86, 0.1);
	color: #0f6e56;
	font-size: 11.5px;
	letter-spacing: .02em;
}
.mev-pdf-demo-src { margin-left: auto; font-size: 11.5px; }
.mev-pdf-demo-bd { padding: 12px 16px 4px; }

.mev-pdf-demo-doc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	font-size: 12px;
	color: var(--mev-muted);
	margin-bottom: 12px;
}
.mev-pdf-demo-docicon {
	padding: 0 6px;
	border-radius: 4px;
	background: #eef2f6;
	color: #5b6b7c;
	font-size: 10.5px;
	letter-spacing: .04em;
}
.mev-pdf-demo-docname { color: var(--mev-text); }

/* 问 / 答两行：左边一个方字标，右边正文。动画只改 opacity 与位移 4px，
   不做宽度/高度动画——那会让下面的「原文」在循环里上下抖。 */
.mev-pdf-demo-q, .mev-pdf-demo-a {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--mev-text);
	margin-bottom: 10px;
}
.mev-pdf-demo-who {
	flex: none;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	border-radius: 5px;
	background: #eef2f6;
	color: #5b6b7c;
	font-size: 11.5px;
	line-height: 20px;
	text-align: center;
}
.mev-pdf-demo-who-a { background: rgba(15, 110, 86, 0.12); color: #0f6e56; }
.mev-pdf-demo-q b, .mev-pdf-demo-a b { color: var(--mev-text); font-weight: 600; }

.mev-pdf-demo-cite {
	margin: 0 0 10px 29px;
	padding: 8px 12px 10px;
	border-left: 2px solid var(--mev-border);
	background: #fafbfc;
	border-radius: 0 8px 8px 0;
}
.mev-pdf-demo-citehd {
	font-size: 11.5px;
	color: var(--mev-muted);
	margin-bottom: 4px;
}
.mev-pdf-demo-citetext {
	font-size: 12.5px;
	line-height: 1.85;
	color: #4b5563;
	word-break: break-word;
}
.mev-pdf-demo-ft {
	padding: 8px 16px 12px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--mev-muted);
}

/* 8 秒一轮，三行共用同一条时间轴（不能靠 animation-delay 错开：delay 会把每行的
   100% 一起往后推，先出场的「问」会在 8 秒整重新冒出来，而「答」还在场上）。
   所以每行各写一套 keyframes，百分比对齐同一条轴：
   问 0.2s 出 → 答 2.6s 出 → 原文 4.6s 出 → 5.4s 那句标黄 → 停到 7.4s → 淡出。
   1.50.5 周期 7 → 8 秒：答案从一行变成四行，原来 1.7 秒要读完四行，读不完原文就顶上来；
   加的 1 秒全给「答 → 原文」这一段，其余节奏不动。 */
@keyframes mevDemoQ {
	0%    { opacity: 0; transform: translateY(4px); }
	2.5%  { opacity: 1; transform: none; }
	93%   { opacity: 1; transform: none; }
	100%  { opacity: 0; transform: none; }
}
@keyframes mevDemoA {
	0%, 28% { opacity: 0; transform: translateY(4px); }
	33%     { opacity: 1; transform: none; }
	93%     { opacity: 1; transform: none; }
	100%    { opacity: 0; transform: none; }
}
@keyframes mevDemoC {
	0%, 52% { opacity: 0; transform: translateY(4px); }
	57%     { opacity: 1; transform: none; }
	93%     { opacity: 1; transform: none; }
	100%    { opacity: 0; transform: none; }
}
/* 标黄：先透明，到 68% 才铺上——「答案里那句 → 落在原文的哪一处」是这个功能的全部 */
@keyframes mevDemoHit {
	0%, 60% { background: transparent; box-shadow: none; }
	68%     { background: #fdeab5; box-shadow: inset 0 -1px 0 #d9b45c; }
	93%     { background: #fdeab5; box-shadow: inset 0 -1px 0 #d9b45c; }
	100%    { background: transparent; box-shadow: none; }
}
.mev-pdf-demo-q    { animation: mevDemoQ 8s ease-out infinite; }
.mev-pdf-demo-a    { animation: mevDemoA 8s ease-out infinite; }
.mev-pdf-demo-cite { animation: mevDemoC 8s ease-out infinite; }
.mev-pdf-demo-hit  { animation: mevDemoHit 8s linear infinite; }

@media (prefers-reduced-motion: reduce) {
	.mev-pdf-demo-q, .mev-pdf-demo-a, .mev-pdf-demo-cite, .mev-pdf-demo-hit {
		animation: none; opacity: 1; transform: none;
	}
	.mev-pdf-demo-hit { background: #fdeab5; box-shadow: inset 0 -1px 0 #d9b45c; }
}

.mev-pdf-done {
	padding: 10px 14px;
	border: 1px solid rgba(15, 110, 86, 0.35);
	border-radius: 8px;
	background: rgba(15, 110, 86, 0.06);
	font-size: 13px;
	line-height: 1.75;
	color: #0f6e56;
}

/* 窄屏单列顺序：上传 → 提问 → 文档列表。
 * 反馈原话「看不到上传」：上来就该能传，列表垫底。
 * 1.50.3 左栏包成了 .mev-pdf-side，单列时把盒子拆掉（display:contents），
 * 让上传和列表回到同一层，order 才排得动——否则「提问」只能整块落在列表之后，
 * 文档一多提问框又沉到页底，等于把 1.27.1 的毛病换回来。 */
@media (max-width: 900px) {
	.mev-pdf-grid { display: flex; flex-direction: column; gap: 16px; }
	.mev-pdf-side { display: contents; }
	.mev-pdf-up   { order: 0; }
	.mev-pdf-qa   { order: 1; }
	.mev-pdf-docs { order: 2; }
}

/* 指南解读的「贴片段」与 PDF 问答的「传全文」是同一意图的两档；
 * 只在意图最强处（正贴着原文）给一次出口，不另设入口卡片。 */
.mev-src-full {
	margin: 0 0 8px;
	font-size: 12px;
	line-height: 1.75;
	color: #6b4a08;
}
/* 蓝链在暖色面板里不像可点的东西——换成实心小按钮，和「按原文解读」同族 */
.mev-src-pdfbtn {
	display: inline-block;
	padding: 1px 12px 2px;
	background: var(--mev-amber);
	border: 1px solid var(--mev-amber);
	color: #fff;
	border-radius: 7px;
	font-size: 12px;
	line-height: 1.7;
	text-decoration: none;
	vertical-align: 1px;
}
.mev-src-pdfbtn:hover { background: #6f4706; border-color: #6f4706; text-decoration: none; }

/* ==================== 工具卡「必须记住」（1.28.0） ====================
 * 借鉴 MDCalc 的 Critical Actions，但把出处做成可就地展开的语料原文：
 * 一句动作 + 一个能核对的来源，才算把「可追溯」落在工具页上。
 */

.mev-tool-acts {
	margin: 8px 0 0;
	padding: 9px 12px 10px;
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 8px;
	background: rgba(15, 110, 86, 0.035);
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--mev-text);
}
.mev-tool-acts-tag {
	display: inline-block;
	margin-right: 6px;
	padding: 0 7px;
	border-radius: 5px;
	background: rgba(15, 110, 86, 0.1);
	color: #0f6e56;
	font-size: 11px;
	letter-spacing: 0.5px;
}
.mev-tool-acts-list {
	margin: 4px 0 0;
	padding-left: 18px;
}
.mev-tool-acts-list li { margin: 3px 0; }

details.mev-tool-actref { display: inline; }
.mev-tool-actref summary {
	display: inline;
	cursor: pointer;
	color: var(--mev-muted);
	font-size: 11.5px;
	border-bottom: 1px dashed var(--mev-border);
}
.mev-tool-actref summary:hover { color: var(--mev-primary); }
.mev-tool-actref[open] summary { color: var(--mev-primary); }
.mev-tool-actref-off { color: var(--mev-muted); font-size: 11.5px; }
.mev-tool-acttext {
	margin-top: 6px;
	padding: 8px 10px;
	border: 1px solid var(--mev-border);
	border-radius: 6px;
	background: var(--mev-card);
	line-height: 1.85;
	color: var(--mev-text);
}
.mev-tool-actmeta {
	margin-top: 3px;
	font-size: 11.5px;
	color: var(--mev-muted);
}

/* ==================== 检验参考值与单位换算（1.29.0） ====================
 * 换算是双向输入：两侧任一改动另一侧跟随，所以输入框要短、单位要紧贴，
 * 数量多时按网格铺开，避免一张卡占一整行。
 */

.mev-refs-note {
	margin: 0 0 12px;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-conv-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
	gap: 10px 12px;
	margin: 0 0 18px;
}
.mev-conv {
	padding: 10px 12px 11px;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: var(--mev-card);
}
.mev-conv-name {
	margin-bottom: 7px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--mev-text);
}
.mev-conv-row {
	display: flex;
	align-items: center;
	gap: 6px;
}
.mev-conv-a, .mev-conv-b {
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	padding: 6px 8px;
	border: 1px solid var(--mev-border);
	border-radius: 7px;
	background: var(--mev-bg, #fff);
	color: var(--mev-text);
	font-size: 13.5px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.mev-conv-a:focus, .mev-conv-b:focus {
	outline: none;
	border-color: var(--mev-primary);
}
.mev-conv-unit {
	flex: 0 0 auto;
	font-size: 11.5px;
	color: var(--mev-muted);
	white-space: nowrap;
}
.mev-conv-arrow {
	flex: 0 0 auto;
	font-size: 12px;
	color: var(--mev-muted);
}
.mev-conv-note {
	margin-top: 6px;
	font-size: 11px;
	color: var(--mev-muted);
}

.mev-refs-sub {
	margin: 20px 0 10px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mev-text);
}
.mev-refs-group { margin: 0 0 16px; }
.mev-refs-h3 {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mev-text);
}
.mev-refs-gnote {
	margin: 0 0 8px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--mev-muted);
}
.mev-refs-tablewrap {
	overflow-x: auto;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: var(--mev-card);
}
.mev-refs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	min-width: 520px;
}
.mev-refs-table th, .mev-refs-table td {
	padding: 7px 10px;
	text-align: left;
	border-bottom: 1px solid var(--mev-border);
	vertical-align: top;
}
.mev-refs-table thead th {
	position: sticky;
	top: 0;
	background: var(--mev-card);
	font-weight: 600;
	color: var(--mev-muted);
	font-size: 11.5px;
	letter-spacing: 0.3px;
	white-space: nowrap;
}
.mev-refs-table tbody tr:last-child td { border-bottom: none; }
.mev-refs-table tbody tr:hover { background: rgba(15, 110, 86, 0.03); }
.mev-refs-n { color: var(--mev-text); }
.mev-refs-r { white-space: nowrap; font-variant-numeric: tabular-nums; }
.mev-refs-u { white-space: nowrap; color: var(--mev-muted); }
.mev-refs-note2 { font-size: 11.5px; color: var(--mev-muted); }

@media (max-width: 640px) {
	.mev-conv-grid { grid-template-columns: 1fr; }
}


/* ===== 1.30.0 按科室筛选（工具页） =====
 * 形态与 .mev-tools-toc 的药丸一致，但带数量——数量是这一步的重点：
 * 「消化与肝病 4」比「消化与肝病」多告诉用户一件事：这一科有得看。
 * 选中态用主色实心，与目录的描边药丸拉开层次，避免两排看着像同一组控件。 */
.mev-deptfilter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 12px 0 20px;
}
.mev-deptfilter[hidden] {
	display: none;
}
.mev-deptfilter-label {
	font-size: 12.5px;
	color: var(--mev-faint);
	margin-right: 2px;
}
.mev-deptfilter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border: 1px solid var(--mev-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mev-text);
	font-family: inherit;
	font-size: 13px;
	line-height: 1.6;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s;
}
.mev-deptfilter-chip:hover {
	border-color: var(--mev-primary);
	color: var(--mev-primary);
}
.mev-deptfilter-chip.is-on {
	background: var(--mev-primary);
	border-color: var(--mev-primary);
	color: #fff;
}
.mev-deptfilter-chip:focus-visible {
	outline: 2px solid var(--mev-primary);
	outline-offset: 2px;
}
.mev-deptfilter-n {
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
	color: var(--mev-faint);
}
.mev-deptfilter-chip.is-on .mev-deptfilter-n {
	color: rgba(255, 255, 255, .85);
}

/* 筛选靠 hidden 属性，但 [hidden] 的 UA 规则只是 display:none，
 * 本文件里这些元素各自写了 display:flex / block，会把它盖掉——必须显式压过。
 * 少了这一段，表现是「筛选条点了没反应」，而 DOM 里 hidden 明明加上了。 */
.mev-tool[hidden],
.mev-tools-sec[hidden],
.mev-refs-wrap[hidden],
.mev-tools-toc a[hidden] {
	display: none !important;
}

@media (max-width: 640px) {
	.mev-deptfilter { gap: 6px; margin-bottom: 16px; }
	.mev-deptfilter-chip { padding: 4px 9px; font-size: 12.5px; }
	.mev-deptfilter-label { display: none; }
}


/* ===== 1.31.0 eGFR → 肾功能与用药（工具卡结果 → 决策路径） =====
 * 只此一条串联。样式要回答一个问题：这一行是「下一步」，不是又一条说明文字——
 * 所以做成带描边的按钮状，和卡片里的灰字提示（.mev-tool-text）明显不同层。 */
.mev-tool-next {
	display: inline-flex;
	align-items: center;
	margin-top: 8px;
	padding: 5px 12px;
	border: 1px solid var(--mev-primary);
	border-radius: 999px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 12.5px;
	font-weight: 500;
	text-decoration: none;
}
.mev-tool-next:hover {
	background: var(--mev-primary);
	color: #fff;
}
.mev-tool-next-a {
	margin-left: 2px;
}

/* 路径页：带着 eGFR 进来时的那句提示。放在适用范围下面、流程之前——
 * 用户点进来第一眼要知道「我该从哪一条看」。 */
.mev-path-hitnote {
	margin: 10px 0 4px;
	padding: 9px 13px;
	border: 1px solid var(--mev-primary);
	border-left-width: 3px;
	border-radius: 8px;
	background: var(--mev-primary-soft);
	color: var(--mev-primary-dark);
	font-size: 12.5px;
	line-height: 1.75;
}

/* 命中的那条分支：底色 + 左侧加重，不动字号（动字号会让整列文字跳动）。 */
.mev-path-branch.is-hit {
	margin: 2px 0;
	padding: 5px 8px;
	border-radius: 6px;
	background: var(--mev-primary-soft);
	box-shadow: inset 3px 0 0 var(--mev-primary);
}
.mev-path-hit-tag {
	padding: 1px 6px;
	border-radius: 4px;
	background: var(--mev-primary);
	color: #fff;
	font-size: 10.5px;
	line-height: 1.6;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.mev-tool-next { font-size: 12px; padding: 5px 10px; }
	.mev-path-hitnote { font-size: 12px; }
}


/* ---------- 零命中改写提示（1.34.0） ---------- */

.mev-nohit {
	margin-top: 12px;
	padding: 12px 14px;
	background: var(--mev-amber-soft);
	border: 1px solid #f0dcb4;
	border-left: 3px solid #d9a441;
	border-radius: 8px;
}

.mev-nohit-h {
	margin-bottom: 4px;
	font-size: 13px;
	font-weight: 600;
	color: #8a5a08;
}

.mev-nohit-p {
	margin: 0 0 9px;
	font-size: 12.5px;
	line-height: 1.7;
	color: #6b4708;
}

.mev-nohit-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mev-nohit-item {
	display: block;
	width: 100%;
	padding: 8px 10px;
	text-align: left;
	font-size: 13px;
	line-height: 1.6;
	color: var(--mev-text);
	background: #ffffff;
	border: 1px solid #eedcb8;
	border-radius: 7px;
}

.mev-nohit-item:hover {
	border-color: #d9a441;
	background: #fffdf8;
}

.mev-nohit-k {
	display: block;
	margin-bottom: 2px;
	font-size: 11.5px;
	color: #8a5a08;
}

.mev-nohit-q {
	display: block;
	font-size: 12.5px;
	line-height: 1.65;
	color: #33404f;
}

.mev-nohit-foot {
	margin: 9px 0 0;
	font-size: 11.5px;
	line-height: 1.7;
	color: #8a6a2f;
}

.mev-nohit-foot a {
	color: var(--mev-primary);
}

@media (max-width: 640px) {
	.mev-nohit {
		padding: 10px 11px;
	}
	.mev-nohit-q {
		font-size: 12px;
	}
}

/* ==========================================================================
   手机端底部导航（1.49.0）
   形态参照氢离子 / 丁香园临床决策：底部一排可横滑的快捷胶囊，
   聊天页的输入框吸在这排胶囊之上——三家同行都是「输入常在底部」，
   而不是四格 tab。为什么不是 tab：明证主力是问答，tab 会把「问答」
   降成四分之一，而胶囊条是「当前页 + 随时可跳」的叠加关系。

   桌面端不显示（>820px）：PC 有页头胶囊 + 侧栏，底栏是纯冗余。
   打印不显示：底栏与纸无关，A4 上出现一条灰条只会浪费一厘米。
   ========================================================================== */

.mev-dock { display: none; }

@media (max-width: 820px) {
	/* 给 fixed 底栏留位：只在插件页加，论坛其它页仍是 Discuz 自己的底栏。
	   46px = 胶囊条本体（6+32+6 内边距 + 32 高；1.49.1 去掉了字标方块，矮了 6px），
	   safe-area 给 iPhone 的 Home 指示条留出，否则最后一格被系统手势区盖住点不到。 */
	body.pg_medevid {
		padding-bottom: calc(46px + env(safe-area-inset-bottom, 0px));
	}

	.mev-dock {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 940; /* 高于内容与吸底输入框（40），低于拦截弹层（100000）；悬浮入口已上移到 64px，两者不重叠 */
		background: rgba(255, 255, 255, .97);
		-webkit-backdrop-filter: saturate(180%) blur(12px);
		backdrop-filter: saturate(180%) blur(12px);
		border-top: 1px solid var(--mev-border);
		padding: 6px 10px calc(6px + env(safe-area-inset-bottom, 0px));
	}

	.mev-dock-in {
		display: flex;
		gap: 5px;
	}

	/* 五格等分（1.49.1）：给药执行卡与评分换算在页头胶囊里已经有了，底栏再放一遍
	   是同一批入口的第三次重复；去掉之后剩五格，但带字标方块那种写法仍要多出
	   40px 才排得下（390 宽下「决策路径」这类四字格每个都要 87px），于是拿掉
	   字标、改成等分文字格——五格刚好铺满 360~430，不用横滑，也没有藏在屏外的一格。 */
	.mev-dock-i {
		flex: 1 1 0;
		min-width: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 7px 6px;
		border: 1px solid var(--mev-border);
		border-radius: 999px;
		background: #fff;
		color: var(--mev-text);
		font-size: 12.5px;
		line-height: 1.25;
		text-decoration: none;
		white-space: nowrap;
	}

	.mev-dock-i:active { background: var(--mev-bg); }

	.mev-dock-i.on {
		border-color: var(--mev-primary);
		background: var(--mev-primary-soft);
		color: var(--mev-primary);
		font-weight: 600;
	}

	/* 输入框吸底：只影响聊天页（.mev-composer 只在那页存在）。
	   bottom 要让开底栏高度，否则两者叠在一起；z-index 40 低于底栏，
	   保证胶囊条永远压在最上面可点。 */
	.mev-composer {
		position: sticky;
		bottom: calc(46px + env(safe-area-inset-bottom, 0px));
		z-index: 40;
		background: var(--mev-bg);
		padding-top: 8px;
	}

	/* 吸底输入框下方原来的外边距会变成一条空隙，贴着底栏不好看，收掉。 */
	.mev-composer { margin-bottom: 0; }

	/* 悬浮入口（右下角「去提问」之类）原在 bottom:88px，底栏起来后会被压住下半截。 */
	.mev-floatbtn {
		bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

@media print {
	/* 只藏底栏。输入框那侧的定位不动——插件 CSS 一律不覆写站点定位
	   （第 70 组守着这条，改站点定位会在别的页面留下半截效果）；
	   打印时 sticky 本来也不生效。 */
	.mev-dock { display: none !important; }
}

/* ==========================================================================
   手机端：6 个场景嵌进输入卡（1.49.0）
   场景条在 DOM 里位于页头下方（科室条之后），对话一长就滚出屏幕；手机端输入框
   是吸底的，两者隔着好几屏——想换「用药 / 鉴别 / 指南」得先滚回页头，等于没有。
   所以 ≤820px 时由 medevid.js 把 #mevModes 整条搬进 .mev-composer 顶部，
   桌面端不动（大屏上两者本来同屏可见）。
   搬的是同一个节点，不复制第二份：两份副本会让 .mev-chip-on 只跟着被点的那份走。
   形态照氢离子 / 丁香临床决策：输入框上方一排可横滑的小胶囊。
   ========================================================================== */

/* 一行只放前三个，其余收进「更多」（1.49.1）。
   六个全铺是两行，登录后那几个带标签的还会涨到三到四行——真机截图里它已经
   把输入框和第一条答案挤到屏幕外。收起来的是入口不是功能：「更多」展开后
   六个都在，只是默认不占那一行。 */
.mev-modes.mev-modes-incomposer {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	margin: 0 0 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--mev-border);
}

/* 第四个起收起。「更多」按钮由脚本追加在六个之后，类名不是 .mev-chip，
   所以 nth-child 数的始终是那六个场景。 */
.mev-modes-incomposer .mev-chip:nth-child(n+4) { display: none; }

.mev-modes-incomposer.mev-modes-open { flex-wrap: wrap; }
.mev-modes-incomposer.mev-modes-open .mev-chip:nth-child(n+4) { display: inline-block; }

.mev-modes-incomposer .mev-chip {
	flex: 0 0 auto;
	padding: 4px 10px;
	font-size: 12.5px;
	line-height: 1.5;
	white-space: nowrap;
}

/* 「登录后可用」五个字一个就要 55px，两个并排就把一行撑爆。一行只留三格的取舍下，
   标签必须让位：锁住的场景仍用虚线边框 + 压灰区分，点一下照样弹登录 / 开通层，
   说明由那一层承担（页头的场景条不受影响，标签照旧）。 */
.mev-modes-incomposer .mev-chip-lockicon { display: none; }

.mev-more {
	flex: 0 0 auto;
	margin-left: auto;
	padding: 4px 10px;
	border: 1px dashed var(--mev-border);
	border-radius: 999px;
	background: transparent;
	color: var(--mev-muted);
	font-size: 12.5px;
	line-height: 1.5;
	white-space: nowrap;
	cursor: pointer;
}

/* 状态行只剩键盘提示时是空串（1.49.0 由 statusHeld() 决定）：手机上收起，
   桌面照常。「已取消等待」「已填入上次的问题…」这类临时消息写的是同一个 span，
   不为空，照常显示——所以这里只在 :empty 时收。 */
.mev-status:empty { display: none; }

/* ==========================================================================
   1.49.2 手机端第二轮收口（真机截图）
   ========================================================================== */

/* ① 底栏末格改成按钮（☰ 菜单）。button 的默认外观要清掉，否则与旁边的
   <a> 不等高、字体也不一样；颜色仍走 .mev-dock-i 那一套。 */
.mev-dock-menu {
	-webkit-appearance: none;
	appearance: none;
	background: #fff;
	color: var(--mev-text);
	font-family: inherit;
	cursor: pointer;
}

.mev-dock-menu.is-open {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
	color: var(--mev-primary);
	font-weight: 600;
}

/* ② 抽屉。默认不显示——桌面端底栏都不显示，抽屉更不该出现。 */
.mev-menu { display: none; }

.mev-dock,
.mev-dock *,
.mev-menu,
.mev-menu * { box-sizing: border-box; }

.mev-menu-view { padding: 6px; }

.mev-menu-user {
	padding: 8px 10px 10px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--mev-border);
	font-size: 12px;
	color: var(--mev-muted);
}

.mev-menu-i {
	display: block;
	padding: 11px 10px;
	border-radius: 8px;
	color: var(--mev-text);
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
}

.mev-menu-i:active { background: var(--mev-bg); }

/* 退出登录是撤退动作，比其余几项弱一档，别跟「会员权益」抢注意力。 */
.mev-menu-out {
	margin-top: 4px;
	border-top: 1px solid var(--mev-border);
	border-radius: 0;
	font-size: 13px;
	color: var(--mev-faint);
}

.mev-menu-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 8px 10px;
	border-bottom: 1px solid var(--mev-border);
	font-size: 13px;
	color: var(--mev-muted);
}

.mev-menu-back {
	padding: 2px 4px;
	border: 0;
	background: none;
	color: var(--mev-primary);
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}

/* 列表本身可滚：历史条数按档位最多 100 条，全铺开会把抽屉顶出屏幕。 */
.mev-menu-hist {
	max-height: 46vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 2px 4px 4px;
}

.mev-menu-empty {
	margin: 14px 8px;
	font-size: 12.5px;
	line-height: 1.9;
	color: var(--mev-faint);
}

.mev-hist-i {
	display: block;
	width: 100%;
	padding: 9px 8px;
	border: 0;
	border-bottom: 1px solid var(--mev-border);
	background: none;
	font: inherit;
	font-size: 13px;
	line-height: 1.6;
	color: var(--mev-text);
	text-align: left;
	cursor: pointer;
}

.mev-hist-i:last-child { border-bottom: 0; }
.mev-hist-when { display: block; margin-top: 2px; font-size: 11.5px; color: var(--mev-faint); }

@media (max-width: 820px) {
	/* 抽屉贴在底栏之上：42px 是底栏本体（6+30+6 内边距 + 30 高）。
	   z-index 950 高于底栏 940、低于站点弹层，保证菜单按钮本身也压得住。 */
	.mev-menu {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: calc(42px + env(safe-area-inset-bottom, 0px));
		z-index: 950;
		max-height: 70vh;
		overflow: hidden;
		border-top: 1px solid var(--mev-border);
		border-radius: 12px 12px 0 0;
		background: #fff;
		box-shadow: 0 -8px 24px rgba(15, 23, 42, .14);
	}

	.mev-menu[hidden] { display: none; }

	/* ③ 页头胶囊的第二排（文献速递 / 语料评审 / 会员权益）在手机上收掉：
	   这三项底栏都有（会员权益在 ☰ 里），页头再来一遍是同一批入口的第三次
	   重复，还占掉一整排。给药执行卡 / 评分换算 / PDF 问答底栏没有，留着。 */
	.mev-meta-links .mev-meta-dup { display: none; }

	/* ④ 欢迎区压缩。未登录时这块是 937px 高（标题 + 副标 + 6 张场景卡共
	   18 个示例），而窄屏下 .mev-main 用 order 把输入卡提到了它前面
	   （1.13.10 的决定），于是它正好占住输入框下方、本该给回答的那一整屏。
	   现在只留一行标题 + 一行「按场景挑一个开始」，示例默认收起、点一下展开：
	   收的是排版，不是功能。副标那句定位语在手机上收掉——它在这里已经
	   滚出首屏，页头副标与关于页都还在。 */
	.mev-welcome { padding: 12px 14px; }
	.mev-welcome h2 { margin: 0; font-size: 13.5px; line-height: 1.6; }
	/* 副标（1.49.4 起在手机上恢复显示）。1.49.2 把它整条 display:none 掉了，
	   理由是当时它写成了 60 多字的长解释、还压在首屏最占地方的位置。现在这句
	   改成 50 字、两行，讲的是「凭什么信这一页」——首屏唯一一次说清差异的机会，
	   收掉之后标题与「展开示例」之间就空着一块，正是站长指的那处空白。
	   字号比标题小一档、行高放开到 1.65（正文 1.6 在 12px 下偏挤）。 */
	.mev-welcome-sub { margin: 4px 0 0; font-size: 12px; line-height: 1.65; }
	.mev-scenes { margin-top: 6px; }
	.mev-scenes-head { margin: 0; }
	.mev-scenes-grid { display: none; }
	.mev-scenes.mev-scenes-open .mev-scenes-grid { display: grid; }

	.mev-scenes-fold {
		display: inline-block;
		margin-top: 8px;
		padding: 3px 10px;
		border: 1px dashed var(--mev-border);
		border-radius: 999px;
		background: transparent;
		color: var(--mev-muted);
		font-size: 11.5px;
		line-height: 1.6;
		cursor: pointer;
	}
}

@media print {
	.mev-menu { display: none !important; }
}

/* ==========================================================================
   1.49.3 输入行左侧加「如何提问」/ 抽屉改叫「我的」
   ========================================================================== */

/* ① 输入行左侧这一组：清空会话 + 如何提问。
   两个动作都只跟「这次对话 / 这一步怎么问」有关，一起压在最左、都比发送弱一档。
   包一层容器而不是让两个元素各做 .mev-composer-bar 的直接子项：那一行是
   space-between，四个子项会被摊成四段，中间多出两道空；状态行非空时更乱。 */
.mev-composer-left {
	display: flex;
	align-items: center;
	gap: 2px;
	min-width: 0;
}

/* ② 如何提问写成纯文字链，不给胶囊边框：清空会话是「动作」，它是「去读一页」，
   同级但不同类；两个都带边框就成了并排两个按钮，390 宽下这一行会显挤。
   虚线下划线只在 hover 出现，触屏上不显示——手机上它本来也不该有下划线。 */
.mev-howto {
	padding: 4px 3px;
	color: var(--mev-muted);
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
	text-decoration: none;
	border-bottom: 1px dashed transparent;
}

.mev-howto:hover,
.mev-howto:focus {
	color: var(--mev-primary);
	border-bottom-color: currentColor;
}

/* ③ 320~360 这种极窄屏：两个动作字号再收一档，宁可小一点也不让这一行换行——
   一换行就是凭空多一排，正好把这次省下来的空间又还回去。 */
@media (max-width: 360px) {
	.mev-composer-left { gap: 0; }
	/* 用子选择器而不是重列两个类名：.mev-clear 一旦在第二处出现，自检里
	   「缺 .mev-clear 样式」那条判据就会被这一处顺手满足——基样式删掉了也照样是绿的
	   （第 91 组 N20 的负对照正是这么漏出来的）。 */
	.mev-composer-left > * { font-size: 11.5px; padding-left: 2px; padding-right: 2px; }
}

/* ==========================================================================
   1.49.5 手机上引用角标：点得准、点得开
   ========================================================================== */

@media (max-width: 820px) {
	/* ① 17×17 的角标在手机上按不准：手指落点大约三成会偏到方块外，
	   而方块外是普通文字，点了当然「没反应」。
	   视觉只放到 20px（再大就压过正文、变成一排彩色砖），真正的命中区
	   用一层透明伪元素撑到 34×30——它属于按钮自己，点它等同点角标。
	   命中区不做成整行铺开：那样长按选字会先落到角标上，复制正文更难。 */
	.mev-ref {
		position: relative;
		min-width: 20px;
		height: 20px;
		line-height: 18px;
		padding: 0 5px;
		font-size: 11.5px;
		vertical-align: 1px;
	}

	.mev-ref::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		width: 34px;
		height: 30px;
		transform: translate(-50%, -50%);
	}

	/* ② 抽屉里滚到的那张卡：只换边框色 + 淡底，在十几张卡里仍要一行行找。
	   加一道左侧竖条当锚点，扫一眼就知道停在哪张。 */
	.mev-side .mev-ev-on {
		box-shadow: inset 3px 0 0 var(--mev-primary);
	}
}

/* ==========================================================================
   1.49.10：首屏品牌区已删除（1.49.6 加，1.49.10 撤）
   ==========================================================================
   页头已经有「明证 / Evidlab」与「临床决策助手 / 临床决策——证据在前，判断在你」，
   卡片里再来一遍「Evidlab + 每一次临床决策，都能追到原文」，是把同一句话说第三遍。
   站长在 1.49.7、1.49.8、1.49.9 三次改版后都给了同一个判断：多余——不是没做对，
   是这块本来就不该在。
   这里原本有八条规则（容器、心电两条 path、记号、记号上的扫描线、字标、品牌组、
   定位语）加三帧动画（字标流光、记号扫描、心电走纸），还有按字面裁切的渐变文字
   与减少动画时的停机块，全部一并删掉，不留死代码——留着下次改版就会有人以为
   它还在用。连类名与动画名的字面也一并清掉：自检第 96 组按「CSS 里一个都不许
   出现」判，注释里留一个词就会让那条断言永远绿。
   卡片上半截的「空」由 h2 + 副标 + 场景卡自己撑住（实测 h2 距卡片顶 23px、
   卡片 413→362px）。手机端本来就不显示，删掉对外观零影响。 */

@media (max-width: 820px) {
	/* 「回答中」心电在手机上再矮 2px：手机密度高，10px 会挤到按钮下沿；
	   8px + 下内边距 14px，与按钮底留 5px。 */
	.mev-ccg { left: 10px; right: 10px; bottom: 1px; height: 8px; }
}

/* ==========================================================================
   1.56.0 语料评审：介绍页三块 + 两个按钮 / 准入测验 / 四级 / 专家裁决
   ========================================================================== */

/* ---------- 报名页：运作机制列表 ---------- */

.mev-join-flow {
	margin: 0 0 12px;
	padding-left: 22px;
	font-size: 12.5px;
	line-height: 2;
	color: var(--mev-muted);
}

.mev-join-flow li { margin-bottom: 2px; }
.mev-join-flow strong { color: var(--mev-text); font-weight: 600; }
.mev-join-flow em {
	font-style: normal;
	color: var(--mev-text);
	background: var(--mev-primary-soft);
	border-radius: 4px;
	padding: 0 4px;
}

.mev-errlist {
	margin: 0;
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.9;
}

/* ---------- 窄屏折叠：后四条原则收起来（1.56.3） ---------- */

/* 按钮只在窄屏出现：桌面七条全铺开，按钮露出来等于说「这里没做完」。
   折叠由脚本加了 is-fold 才生效——没有 JS 时七条照原样全显示，
   脚本挂了不能让人少看四条规则。 */
.mev-flow-toggle { display: none; }

@media (max-width: 820px) {
	.mev-flow-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 5px;
		margin: 0 0 4px;
		padding: 7px 16px;
		min-height: 34px;
		background: #fff;
		border: 1px solid var(--mev-border);
		border-radius: 999px;
		color: var(--mev-primary);
		font-size: 12.5px;
		line-height: 1.4;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.mev-flow-toggle:active { background: var(--mev-primary-soft); }
	/* 箭头用边框画，不引图标字体：同一个字符在两种系统上会长得不一样 */
	.mev-flow-toggle::after {
		content: '';
		width: 5px;
		height: 5px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform .18s ease;
	}
	.mev-flow-toggle[aria-expanded="true"]::after {
		transform: translateY(1px) rotate(-135deg);
	}
	.mev-join-flow.is-fold .mev-flow-more { display: none; }
	.mev-join-flow { line-height: 1.9; }
}

/* ---------- 两个按钮 ---------- */

.mev-join-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 26px 0 0;
	padding: 20px 22px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 14px;
}

.mev-join-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	padding: 11px 26px;
	border: 1px solid var(--mev-border);
	border-radius: 10px;
	background: #fff;
	color: var(--mev-primary) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	line-height: 1.4;
}

.mev-join-btn:hover {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
	text-decoration: none !important;
}

/* 主按钮：白字做在 <a> 上必须 !important——a:link 的权重是 0,1,1，
   不带的话站点链接色会压过按钮文字色。 */
.mev-join-btn-main {
	background: var(--mev-primary) !important;
	border-color: var(--mev-primary) !important;
	color: #fff !important;
}

.mev-join-btn-main:hover {
	background: var(--mev-primary-dark) !important;
	border-color: var(--mev-primary-dark) !important;
	color: #fff !important;
}

/* 不可点：冷却中 / 已通过。虚线 + 灰字，别做成看起来能点的按钮。 */
.mev-join-btn.is-off {
	cursor: default;
	background: #f7f9fc;
	border-style: dashed;
	color: var(--mev-faint) !important;
	font-weight: 400;
}

/* ---------- 四级表 ---------- */

.mev-lv-table {
	overflow-x: auto;
	margin: 0 0 8px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
}

.mev-lv-table table {
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
	font-size: 12.5px;
}

.mev-lv-table th {
	text-align: left;
	padding: 10px 14px;
	background: #f7f9fc;
	color: var(--mev-muted);
	font-weight: 600;
	white-space: nowrap;
	border-bottom: 1px solid var(--mev-border);
}

.mev-lv-table td {
	padding: 10px 14px;
	border-bottom: 1px solid #f1f4f8;
	color: var(--mev-muted);
	line-height: 1.7;
	vertical-align: top;
}

.mev-lv-table tr:last-child td { border-bottom: 0; }
.mev-lv-table td.mev-lv-c1 { color: var(--mev-text); white-space: nowrap; }
.mev-lv-table td.mev-lv-c1 b { color: var(--mev-primary); }

/* 权益奖励是整张表里唯一「给读者好处」的一列：字色比规则列深一档，
   但不用主色——主色是「你在这一级」的标记，两个意思不能共用一个颜色。 */
.mev-lv-table td.mev-lv-c4 { color: var(--mev-text); min-width: 168px; }

/* 单日认领额度（1.56.10）：单独一行、本色。
   原先接在权限那句末尾（「……比对；单日可认领 5 条」），LV3 那句要换三行，
   额度就沉到最后一行末尾，读者不会把它当一条权限——而它是唯一能算数的那条：
   领满就点不动了。不用主色，理由同上（主色＝你在这一级）。
   不断行：这串最多九个字，「单日可认／领 5 条」断开会读成别的意思。 */
.mev-lv-quota {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	color: var(--mev-text);
	white-space: nowrap;
}

/* 当前等级：左侧实线 + 淡底。只标「你在这一级」，
   不做高亮动画——这一页不是成绩单，是规则说明。 */
.mev-lv-table tr.is-me td {
	background: var(--mev-primary-soft);
	color: var(--mev-text);
}

.mev-lv-table tr.is-me td:first-child { box-shadow: inset 3px 0 0 var(--mev-primary); }

/* ---------- 我的等级卡 ---------- */

.mev-lv-card {
	margin: 12px 0 0;
	padding: 16px 18px;
	background: linear-gradient(180deg, #f7fbff 0%, #fff 100%);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
	max-width: 640px;
}

.mev-lv-name {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-lv-meta,
.mev-lv-right,
.mev-lv-next {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--mev-muted);
}

.mev-lv-next {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px dashed var(--mev-border);
	color: var(--mev-faint);
}

/* ---------- 测验页 ---------- */

.mev-quiz-sec { margin-top: 22px; }

.mev-quiz-h2 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--mev-text);
	padding-left: 10px;
	border-left: 3px solid var(--mev-primary);
	line-height: 1.4;
}

.mev-quiz-rules {
	margin: 0;
	padding-left: 20px;
	font-size: 12.5px;
	line-height: 1.95;
	color: var(--mev-muted);
}

.mev-quiz-rules b { color: var(--mev-text); }

.mev-quiz-form {
	margin-top: 18px;
	max-width: 860px;
}

.mev-quiz-list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: mevq;
}

.mev-quiz-q {
	counter-increment: mevq;
	margin: 0 0 12px;
	padding: 16px 18px 14px 46px;
	position: relative;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
}

/* 题号用计数器，不用 <ol> 的默认序号：默认序号在窄屏会跟题干挤在同一行，
   题干一长就换行错位。 */
.mev-quiz-q::before {
	content: counter(mevq);
	position: absolute;
	left: 16px;
	top: 15px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mev-primary-soft);
	color: var(--mev-primary);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 22px;
	text-align: center;
}

.mev-quiz-qt {
	margin: 0 0 10px;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--mev-text);
}

.mev-quiz-opts { display: flex; flex-direction: column; gap: 7px; }

.mev-quiz-opt {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	background: #fcfdfe;
	cursor: pointer;
	font-size: 13px;
	line-height: 1.7;
	color: var(--mev-muted);
}

.mev-quiz-opt:hover { border-color: #c3d6ea; background: #f8fbfe; }

.mev-quiz-opt.is-on {
	border-color: var(--mev-primary);
	background: var(--mev-primary-soft);
	color: var(--mev-text);
}

.mev-quiz-opt input[type=radio] {
	flex: none;
	margin: 4px 0 0;
	accent-color: var(--mev-primary);
}

.mev-quiz-letter {
	flex: none;
	width: 16px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-quiz-otext { flex: 1; min-width: 0; }

.mev-quiz-submit {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 4px 0 6px;
}

.mev-quiz-submit button {
	background: var(--mev-primary);
	border: 1px solid var(--mev-primary);
	color: #fff;
	border-radius: 10px;
	padding: 11px 34px;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
}

.mev-quiz-submit button:hover { background: var(--mev-primary-dark); border-color: var(--mev-primary-dark); }

.mev-quiz-count {
	font-size: 12.5px;
	color: var(--mev-faint);
	font-variant-numeric: tabular-nums;
}

/* ---------- 手机端：一次一题（1.56.4） ----------
   .is-step 由 quiz156.js 在 ≤820px 时加上；桌面永远不出现这几个类，
   所以下面每条规则都带 .is-step 前缀，不用再包一层媒体查询——
   包了反而会出现「CSS 认为是手机、JS 认为是桌面」的两套口径。 */

.mev-quiz-stepbar,
.mev-quiz-nav { display: none; }

.mev-quiz-form.is-step .mev-quiz-stepbar {
	display: block;
	margin: 0 0 10px;
}

.mev-quiz-form.is-step .mev-quiz-prog {
	height: 3px;
	border-radius: 2px;
	background: #e6ecf4;
	overflow: hidden;
}

.mev-quiz-form.is-step .mev-quiz-prog span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: 2px;
	background: var(--mev-primary);
	transition: width .26s ease;
}

.mev-quiz-form.is-step .mev-quiz-pos {
	margin: 7px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: var(--mev-faint);
	font-variant-numeric: tabular-nums;
}

.mev-quiz-form.is-step .mev-quiz-pos b {
	color: var(--mev-text);
	font-weight: 600;
}

/* 题卡排成一行，换页靠容器的 scrollLeft（不是 transform）：
   transform 会把「裁剪框」一起搬走，容器自己移出屏幕，里面的东西自然看不见——
   要滑的是内容，不是窗口。overflow:hidden 挡住手势与滚动条，但 scrollLeft
   仍可编程设置，正好当轨道用。高度由脚本按当前这题量出来，
   否则容器会按最高的一题撑开，短题下面就是一大片空白。 */
.mev-quiz-form.is-step .mev-quiz-list {
	display: flex;
	align-items: flex-start;
	overflow: hidden;
	touch-action: pan-y;
	scroll-behavior: smooth;
	transition: height .26s ease;
}

/* 定宽 100% 必须配 border-box：题卡自己有 padding 与边框，
   内容盒下 100% 会再加上这一圈，右边缘被切掉。 */
.mev-quiz-form.is-step .mev-quiz-q {
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
}

.mev-quiz-form.is-step .mev-quiz-submit { display: none; }

.mev-quiz-form.is-step .mev-quiz-count { display: none; }

.mev-quiz-form.is-step.at-end .mev-quiz-submit {
	display: flex;
	margin-top: 14px;
}

.mev-quiz-form.is-step .mev-quiz-nav {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 12px 0 0;
}

.mev-quiz-prev {
	flex: none;
	padding: 8px 16px;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: var(--mev-card);
	color: var(--mev-muted);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
}

.mev-quiz-prev:hover { border-color: #c3d6ea; color: var(--mev-text); }

.mev-quiz-prev.is-off,
.mev-quiz-prev.is-off:hover {
	color: #c6ccd4;
	border-color: var(--mev-border);
	cursor: default;
}

.mev-quiz-tip {
	font-size: 12px;
	line-height: 1.5;
	color: var(--mev-faint);
}

.mev-quiz-tip.is-warn { color: var(--mev-red); }

/* 结果 / 冷却 / 已通过：同一种「说清现在」的卡片 */
.mev-quiz-done {
	max-width: 860px;
	margin: 18px 0 0;
	padding: 18px 20px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-primary);
	border-radius: 12px;
}

.mev-quiz-done h2 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-quiz-done p {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-quiz-doneacts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }

.mev-quiz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 22px;
	border: 1px solid var(--mev-border);
	border-radius: 9px;
	background: #fff;
	color: var(--mev-primary) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.mev-quiz-btn-main {
	background: var(--mev-primary) !important;
	border-color: var(--mev-primary) !important;
	color: #fff !important;
}

/* 逐题反馈 */
.mev-quiz-review .mev-quiz-r {
	margin: 0 0 10px;
	padding: 14px 16px 12px 16px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-left: 3px solid var(--mev-faint);
	border-radius: 10px;
}

.mev-quiz-r.is-ok { border-left-color: var(--mev-teal); }
.mev-quiz-r.is-bad { border-left-color: var(--mev-red); }

.mev-quiz-r .mev-quiz-qt { margin-bottom: 6px; }

.mev-quiz-mark {
	display: inline-block;
	width: 18px;
	font-weight: 700;
	color: var(--mev-faint);
}

.mev-quiz-r.is-ok .mev-quiz-mark { color: var(--mev-teal); }
.mev-quiz-r.is-bad .mev-quiz-mark { color: var(--mev-red); }

.mev-quiz-verdict {
	margin: 0 0 4px;
	font-size: 12px;
	color: var(--mev-faint);
	font-variant-numeric: tabular-nums;
}

.mev-quiz-why {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-quiz-why b { color: var(--mev-text); }

.mev-quiz-back {
	margin: 16px 0 0;
	font-size: 13px;
}

/* ---------- 专家裁决 ---------- */

.mev-arb-wrap { max-width: 860px; }

.mev-arb-h {
	margin: 4px 0 14px;
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--mev-muted);
}

.mev-arb-h b { color: var(--mev-red); }

.mev-arb-none {
	padding: 22px 18px;
	background: var(--mev-card);
	border: 1px dashed var(--mev-border);
	border-radius: 12px;
	font-size: 13px;
	color: var(--mev-faint);
	text-align: center;
}

.mev-arb-item {
	margin: 0 0 16px;
	padding: 16px 18px;
	background: var(--mev-card);
	border: 1px solid var(--mev-border);
	border-radius: 12px;
}

.mev-arb-t {
	margin: 0 0 2px;
	font-size: 14px;
	font-weight: 600;
	color: var(--mev-text);
	line-height: 1.6;
}

.mev-arb-id {
	margin-left: 8px;
	font-size: 11.5px;
	font-weight: 400;
	color: var(--mev-faint);
	font-variant-numeric: tabular-nums;
}

.mev-arb-src {
	margin: 0 0 10px;
	font-size: 11.5px;
	color: var(--mev-faint);
	line-height: 1.7;
}

.mev-arb-form { margin: 0; }

.mev-arb-col {
	padding: 10px 0 4px;
	border-top: 1px dashed var(--mev-border);
}

.mev-arb-col:first-of-type { border-top: 0; padding-top: 2px; }

.mev-arb-cn {
	margin: 0 0 7px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--mev-text);
}

.mev-arb-opts { display: flex; flex-direction: column; gap: 6px; }

.mev-arb-opt {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding: 7px 11px;
	border: 1px solid var(--mev-border);
	border-radius: 8px;
	font-size: 12.5px;
	color: var(--mev-muted);
	cursor: pointer;
}

.mev-arb-opt:hover { border-color: #c3d6ea; }

.mev-arb-opt input[type=radio] { flex: none; margin: 0; accent-color: var(--mev-primary); }

.mev-arb-v { color: var(--mev-text); }

.mev-arb-who { font-size: 11.5px; color: var(--mev-faint); }

.mev-arb-new { background: #fcfdfe; }

.mev-arb-input,
.mev-arb-page,
.mev-arb-note {
	border: 1px solid #d7dee8;
	border-radius: 7px;
	padding: 5px 9px;
	font-size: 12.5px;
	font-family: inherit;
	color: var(--mev-text);
}

.mev-arb-input { flex: 1 1 200px; min-width: 0; }

/* 页码框固定宽度：它是纯数字，撑宽没有意义；不给宽度时 flex 会把它拉得跟值框一样长 */
.mev-arb-page { width: 72px; flex: none; }

/* 理由输入框在手机上要能单独占一行 */
.mev-arb-foot {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--mev-border);
}

.mev-arb-note { flex: 1 1 260px; min-width: 0; }

.mev-arb-btn {
	background: var(--mev-primary);
	border: 1px solid var(--mev-primary);
	color: #fff;
	border-radius: 8px;
	padding: 7px 20px;
	font-size: 12.5px;
	font-family: inherit;
	cursor: pointer;
	white-space: nowrap;
}

.mev-arb-btn:hover { background: var(--mev-primary-dark); border-color: var(--mev-primary-dark); }

@media (max-width: 820px) {
	/* 按钮铺满一行：两个按钮并排时，「语料评审测验」在 390 宽上只剩一半，
	   手指点不准；主次改由上下顺序表达。 */
	.mev-join-cta { padding: 16px; }
	.mev-join-btn { flex: 1 1 100%; min-width: 0; }

	.mev-quiz-q { padding: 14px 14px 12px 42px; }
	.mev-quiz-q::before { left: 13px; top: 13px; }

	.mev-lv-table table { font-size: 12px; }
	.mev-lv-table th,
	.mev-lv-table td { padding: 8px 10px; }

	.mev-arb-item { padding: 14px; }
	.mev-arb-page { width: 64px; }
}


/* ==========================================================================
   1.56.1 资深把关：新人头几条的第二票由够门槛的人先接
   ========================================================================== */

/* ---------- 把关池 ---------- */

.mev-senior-wrap { margin: 0 0 12px; }

/* 第一列是条目名（长中文标题），不能套用 .mev-rev-table 的「首列不折行」——
   那条规则是给「时间 / 编号」用的，套到标题上会逼出一个很宽的横向滚动区。 */
.mev-senior-table td:first-child {
	white-space: normal;
	min-width: 200px;
}
.mev-senior-table .mev-senior-dept,
.mev-senior-table .mev-senior-time,
.mev-senior-table .mev-senior-act { white-space: nowrap; }

.mev-senior-who { white-space: nowrap; }
.mev-senior-tasks {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	color: var(--mev-muted);
}

/* ---------- 提交后的逐列对照 ---------- */

.mev-peer-line {
	margin-top: 5px;
	font-size: 11.5px;
	line-height: 1.7;
	color: var(--mev-muted);
	white-space: normal;
}
.mev-peer-line b { color: var(--mev-text); font-weight: 600; }
.mev-peer-t { color: var(--mev-text); }
.mev-peer-same { color: var(--mev-teal); }

@media (max-width: 640px) {
	/* 窄屏横滑，不挤扁：五列里「条目 + 科室 + 第一票」挤不下 */
	.mev-senior-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.mev-senior-table td:first-child { min-width: 180px; }
}

/* ---------- 窄屏：等级表改堆叠 ---------- */

/* 四列在 390 上放不下：让它横滑，新加的「权益奖励」整列都在屏幕外——
   而这一列恰恰是读者最想看的。窄屏改成每级一块，四个字段都露出来。 */
@media (max-width: 640px) {
	.mev-lv-table { overflow: visible; }
	.mev-lv-table table,
	.mev-lv-table thead,
	.mev-lv-table tbody,
	.mev-lv-table tr,
	.mev-lv-table td { display: block; width: auto; }
	.mev-lv-table table { min-width: 0; font-size: 12.5px; }
	.mev-lv-table thead { display: none; }
	.mev-lv-table tr {
		padding: 11px 13px;
		border-bottom: 1px solid #f1f4f8;
	}
	.mev-lv-table tr:last-child { border-bottom: 0; }
	.mev-lv-table td {
		padding: 1px 0;
		border: 0;
		min-width: 0;
	}
	.mev-lv-table td[data-label]::before {
		content: attr(data-label) "：";
		color: var(--mev-faint);
	}
	/* 等级那行自己就是标题，前面再加「等级：」是废话 */
	.mev-lv-table td.mev-lv-c1::before { content: none; }
	.mev-lv-table td.mev-lv-c1 { margin-bottom: 3px; }
	.mev-lv-table td.mev-lv-c4 { margin-top: 3px; }
	/* 堆叠后底色要落在 tr 上：留在每个 td 上会变成一条条横纹 */
	.mev-lv-table tr.is-me { box-shadow: inset 3px 0 0 var(--mev-primary); background: var(--mev-primary-soft); }
	.mev-lv-table tr.is-me td {
		background: transparent;
		color: var(--mev-text);
	}
	.mev-lv-table tr.is-me td.mev-lv-c1 { box-shadow: none; }
}
