/* 每日新发页面样式（由 daily.wxss 平移，rpx÷2→px） */

/* ---- 页面容器 ---- */
.page {
  padding: 10px 12px 20px;
  background: #f5f6f8;
  min-height: 100vh;
  box-sizing: border-box;
}

/* ---- tab 面板切换 ---- */
.tab-panel { display: block; }
.tab-panel.hidden { display: none; }
.hidden { display: none !important; }

/* ---- 日期条 ---- */
.date-bar {
  white-space: nowrap;
  margin-bottom: 10px;
}
.date-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 44px;
  margin-right: 7px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #e8e9ec;
  box-sizing: border-box;
  cursor: pointer;
}
.date-chip.active {
  background: #534AB7;
  border-color: #534AB7;
}
.date-chip.active .chip-day,
.date-chip.active .chip-sub { color: #fff; }
.date-chip.empty { opacity: 0.45; }
.chip-day {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.chip-sub {
  font-size: 10px;
  color: #8a8f99;
  margin-top: 2px;
}

/* ---- 卡片 ---- */
.card {
  background: #fff;
  border-radius: 10px;
  padding: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.row-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.meta { font-size: 11px; color: #8a8f99; }
.badge {
  font-size: 11px;
  color: #b7791f;
  background: #fdf3e3;
  border-radius: 4px;
  padding: 2px 7px;
}
.badge-ok {
  color: #276749;
  background: #e6f4ea;
}
.topic {
  font-size: 15px;
  font-weight: 700;
  color: #1a202c;
  margin: 10px 0 4px;
  line-height: 1.5;
}
.section-label {
  font-size: 11px;
  color: #8a8f99;
  margin: 13px 0 6px;
}
.moments {
  display: block;
  font-size: 14px;
  color: #2d3748;
  line-height: 1.8;
  background: #fafbfc;
  border: 1px solid #edf0f2;
  border-radius: 7px;
  padding: 11px;
  word-break: break-all;
  white-space: pre-line;
}

/* ---- 备选角度 ---- */
.alt-item {
  display: flex;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid #f0f1f3;
  font-size: 12px;
}
.alt-item:last-child { border-bottom: none; }
.alt-rank {
  color: #534AB7;
  font-weight: 700;
  margin-right: 6px;
  flex-shrink: 0;
}
.alt-title { color: #4a5568; flex: 1; }
.alt-src { color: #a0a5af; font-size: 10px; margin-left: 6px; flex-shrink: 0; }

/* ---- 按钮 ---- */
.btn-row {
  display: flex;
  gap: 8px;
  margin-top: 13px;
}
.btn-row .btn { flex: 1; }
.btn {
  border: none;
  border-radius: 6px;
  font-size: 13px;
  line-height: 2.4;
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.2s ease;
}
.btn:disabled { opacity: 0.55; cursor: default; }
.btn.primary {
  background: #534AB7;
  color: #fff;
}
.btn.success {
  background: #276749;
  color: #fff;
}
.btn.ghost {
  background: #f0f2f5;
  color: #4a5568;
}

/* ---- 空态/加载 ---- */
.center-tip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 20px;
  gap: 8px;
}
.tip-title { font-size: 15px; font-weight: 600; color: #4a5568; }
.tip-sub { font-size: 12px; color: #8a8f99; text-align: center; }
.tip-err { font-size: 12px; color: #c0392b; text-align: center; line-height: 1.6; }
.spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #e2e6eb;
  border-top-color: #534AB7;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.foot-note {
  margin-top: 15px;
  font-size: 11px;
  color: #a0a5af;
  line-height: 1.7;
  text-align: center;
}
.foot-note-mini {
  margin-top: 9px;
  font-size: 10px;
  color: #a0a5af;
  line-height: 1.6;
}

/* ============ 今日新发置顶 + 十年历史记录 ============ */

/* ---- 今日新发卡 ---- */
.today-card { margin-bottom: 12px; }
.today-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a202c;
}
.today-statusbar { margin-top: 10px; }
.today-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 25px 10px;
}

/* ---- 文章条目（法律/金融/参考/研究） ---- */
.article {
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #f0f1f4;
}
.article .article-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a202c;
  line-height: 1.5;
  margin: 7px 0 2px;
}
.article .moments { margin-top: 5px; }

/* 类别徽章：法律=紫 / 金融=橙 / 参考=灰 */
.cat-badge {
  font-size: 10px;
  font-weight: 600;
  border-radius: 4px;
  padding: 2px 8px;
  display: inline-block;
}
.cat-law {
  color: #534AB7;
  background: #eeecf8;
}
.cat-fin {
  color: #b7791f;
  background: #fdf3e3;
}
.cat-ref {
  color: #64748b;
  background: #f0f1f4;
}
/* 研究篇徽章（每日研究纪要，researchGen 自动学习流水线） */
.cat-research {
  color: #0e7a6c;
  background: #e6f5f2;
}
.cat-ref-tag {
  color: #64748b;
  background: #f5f7fa;
  border: 1px solid #e2e8f0;
}

/* ---- 历史记录卡 ---- */
.history-card { margin-top: 0; }
.history-card + .foot-note-mini { margin-top: 12px; }
.his-item {
  padding: 11px 2px;
  border-bottom: 1px solid #f0f1f4;
  margin-top: 2px;
  cursor: pointer;
}
.his-item:hover { background: #f7f8fb; }
.his-item:active { background: #f7f8fb; }
.his-date {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.his-cats {
  font-size: 10px;
  color: #8a8f99;
}
.his-titles {
  font-size: 12px;
  color: #4a5568;
  line-height: 1.5;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.his-status {
  display: inline-block;
  font-size: 10px;
  color: #b7791f;
  background: #fdf3e3;
  border-radius: 4px;
  padding: 1px 6px;
  margin-top: 5px;
}
.his-status.ok {
  color: #276749;
  background: #e6f4ea;
}

/* ---- 2026-10-20：临界 / 涌现点破位（用户令：命中数据加粗呈现）---- */
.crit-tag {
  display: inline-block;
  font-size: 10px;
  line-height: 16px;
  padding: 0 6px;
  border-radius: 4px;
  margin-right: 6px;
  background: #fdecec;
  color: #b42318;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: 1px;
}
/* 历史区只列命中行：取消标题的两行截断，避免命中项被省略号吃掉 */
.his-titles.his-crit-list {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  text-overflow: clip;
}
.his-crit {
  padding: 3px 0;
  border-bottom: 1px dashed #f3f4f7;
  line-height: 1.55;
}
.his-crit:last-child { border-bottom: 0; }
.his-crit-text {
  font-size: 12px;
  color: #3d4655;
  font-weight: 700;
}
/* 正文命中：整行 / 因子片段加粗 */
.moments strong.crit-line,
.moments strong.crit-seg {
  font-weight: 700;
  color: #1f2733;
}

/* ---- 2026-10-20 c3：特别分析「将达到临界点 / 涌现点」（用户令：命中研报优先 + 加粗） ---- */
/* 命中研报卡片：左侧临界色条，视觉上浮 */
.deep-item.crit-hot {
  border-left: 3px solid #e11d48;
  background: linear-gradient(90deg, #fff7f7 0%, #ffffff 26%);
}
/* 徽章：涌现点=红，将达到=橙红，临界点=橙 */
.deep-crit-badge {
  display: inline-block;
  font-size: 10px;
  line-height: 16px;
  padding: 0 6px;
  border-radius: 4px;
  margin-left: 6px;
  font-weight: 700;
  white-space: nowrap;
  vertical-align: 1px;
  background: #fdecec;
  color: #b42318;
}
.deep-crit-badge.lv-near {
  background: #fff1e7;
  color: #c2410c;
}
.deep-crit-badge.lv-critical {
  background: #fff7e8;
  color: #b45309;
}
/* 特别分析区的命中片段加粗（摘要 / pipe 行 / 详情正文 / 详情节标题） */
.deep-summary strong.crit-seg,
.deep-pipe strong.crit-seg,
.sh-summary strong.crit-seg,
.deep-sec-body strong.crit-seg {
  font-weight: 700;
  color: #b42318;
}
.deep-sec-head strong.crit-line {
  color: #b42318;
}

/* ===================== 顶部板块切换 segment ===================== */
.seg-bar {
  display: flex;
  background: #f0f1f4;
  border-radius: 8px;
  padding: 3px;
  margin-bottom: 12px;
}
.seg-item {
  flex: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  padding: 7px 0;
  border-radius: 6px;
  transition: all 0.2s ease;
  cursor: pointer;
  user-select: none;
}
.seg-item.on {
  color: #1a202c;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(26, 32, 44, 0.08);
}

/* ===================== 热点概览板块 ===================== */
.news-card { padding-bottom: 5px; }
.news-item {
  padding: 12px 2px 10px;
  border-bottom: 1px solid #f0f1f4;
  cursor: pointer;
}
.news-item:hover { background: #f8f9fb; }
.news-item:active { background: #f8f9fb; }
.news-layer {
  font-size: 10px;
  color: #534AB7;
  background: #eeecf8;
  border-radius: 4px;
  padding: 2px 7px;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}
.news-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a202c;
  line-height: 1.5;
  margin-top: 7px;
}
/* v1.4.0 核心焦点徽标 + 高亮（多源共振条目） */
.focus-chip {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #b7791f;
  background: #fdf3e0;
  border: 1px solid #f0d9a8;
  border-radius: 4px;
  padding: 1px 7px;
  margin-top: 7px;
  line-height: 1.4;
}
.news-item.has-focus { background: #fffdf7; }
.news-item.has-focus .news-title { color: #9c5b10; }
.focus-brief {
  background: linear-gradient(135deg, #fff8ec, #fffdf7);
  border: 1px solid #f0d9a8;
  border-left: 4px solid #e0a93b;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 10px 0;
}
.focus-brief-label {
  font-size: 11px;
  font-weight: 700;
  color: #b7791f;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.focus-brief-text {
  font-size: 13px;
  color: #5a4a2a;
  line-height: 1.7;
}
.news-summary {
  font-size: 12px;
  color: #4a5568;
  line-height: 1.6;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.news-src {
  font-size: 10px;
  color: #8a8f99;
  margin-top: 6px;
}

/* 热点徽章：旧四类（法律=紫 / 司法=蓝 / 新闻=青 / 政治=红，历史兼容） */
.cat-news-law {
  color: #534AB7;
  background: #eeecf8;
}
.cat-news-jud {
  color: #2b6cb0;
  background: #e3edf8;
}
.cat-news-media {
  color: #0d7d8c;
  background: #e0f2f4;
}
.cat-news-pol {
  color: #c53030;
  background: #fbe8e8;
}

/* 金融化五类徽章：A股行情=红 / 金融市场=金 / 宏观政策=蓝 / 公司动态=青 / 国际市场=紫 */
.cat-news-ashare {
  color: #c53030;
  background: #fbe8e8;
}
.cat-news-finmarket {
  color: #b7791f;
  background: #fdf3e0;
}
.cat-news-macro {
  color: #2b6cb0;
  background: #e3edf8;
}
.cat-news-company {
  color: #0d7d8c;
  background: #e0f2f4;
}
.cat-news-global {
  color: #534AB7;
  background: #eeecf8;
}

/* ===================== 公域巡检 · 三层世界 ===================== */
.world-card { padding-bottom: 5px; }
.world-tip {
  font-size: 11px;
  color: #8a93a3;
  line-height: 1.6;
  margin: 2px 2px 6px;
}
.world-item {
  padding: 9px 2px 8px;
  border-bottom: 1px solid #f0f1f4;
}
.world-item:last-child { border-bottom: none; }
.world-layer {
  font-size: 11px;
  font-weight: 700;
  color: #534AB7;
}
.world-title {
  font-size: 14px;
  font-weight: 600;
  color: #1f2733;
  margin-top: 3px;
  line-height: 1.5;
}
.world-summary {
  font-size: 12px;
  color: #5a6472;
  line-height: 1.7;
  margin-top: 3px;
}
.world-why {
  font-size: 11px;
  color: #8a6d1f;
  background: #fdf6e3;
  border-radius: 4px;
  padding: 4px 6px;
  margin-top: 4px;
  line-height: 1.6;
}

/* ===================== 科技奖项 · 赛事巡检 ===================== */
.prize-card { padding-bottom: 5px; border-top: 2px solid #854F0B; }
.prize-tip {
  font-size: 11px;
  color: #8a93a3;
  line-height: 1.6;
  margin: 2px 2px 6px;
}
.prize-item {
  padding: 9px 2px 8px;
  border-bottom: 1px solid #f0f1f4;
}
.prize-item:last-child { border-bottom: none; }
.prize-alert {
  background: #FAEEDA;
  border-radius: 5px;
  padding: 9px 7px 8px;
  margin-bottom: 6px;
  border-bottom: none;
}
.prize-type {
  font-size: 11px;
  font-weight: 700;
  color: #854F0B;
}
.prize-days {
  font-size: 11px;
  font-weight: 700;
  color: #A32D2D;
}
.prize-name {
  font-size: 14px;
  font-weight: 600;
  color: #1f2733;
  margin-top: 3px;
  line-height: 1.5;
}
.prize-name-sm {
  font-size: 13px;
  font-weight: 500;
  margin-top: 0;
}
.prize-money {
  font-size: 12px;
  color: #854F0B;
  margin-top: 2px;
  line-height: 1.5;
}
.prize-note {
  font-size: 11px;
  color: #5a6472;
  line-height: 1.6;
  margin-top: 3px;
}
.prize-copy {
  font-size: 11px;
  color: #378ADD;
  margin-top: 4px;
  cursor: pointer;
}
.prize-copy:hover { text-decoration: underline; }
.prize-sec-title {
  font-size: 12px;
  font-weight: 600;
  color: #444441;
  margin: 9px 2px 2px;
}
.prize-closed { opacity: 0.72; }

/* ===================== 市场因子板块（涨红跌绿 · A股惯例） ===================== */
.market-card { padding-bottom: 5px; }
.mk-item {
  padding: 11px 2px 9px;
  border-bottom: 1px solid #f0f1f4;
  cursor: pointer;
}
.mk-item:hover { background: #f8f9fb; }
.mk-item:active { background: #f8f9fb; }
.mk-name {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.mk-sub {
  font-size: 10px;
  font-weight: 400;
  color: #a0a5af;
  margin-left: 5px;
}
.mk-quote {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.mk-price {
  font-size: 14px;
  font-weight: 700;
  color: #333;
}
.mk-chg { font-size: 11px; font-weight: 600; }
/* 涨=红 / 跌=绿 / 平=灰 */
.mk-price.up, .mk-chg.up, .mk-s.up,
.mk-mini-pct.up, .mk-f-contrib.up { color: #c53030; }
.mk-price.down, .mk-chg.down, .mk-s.down,
.mk-mini-pct.down, .mk-f-contrib.down { color: #276749; }
.mk-price.flat, .mk-chg.flat, .mk-s.flat, .mk-mini-pct.flat { color: #8a8f99; }
.mk-second { margin-top: 5px; }
.mk-dom {
  font-size: 10px;
  color: #534AB7;
  background: #eeecf8;
  border-radius: 4px;
  padding: 1px 6px;
  display: inline-block;
}
.mk-s { font-size: 12px; font-weight: 700; }
.mk-liner {
  font-size: 11px;
  color: #8a8f99;
  line-height: 1.5;
  margin-top: 5px;
}

/* 0涌现管线检测摘要（市场因子/财报季条目） */
.mk-pipe {
  font-size: 10px;
  color: #534AB7;
  background: #f3f1fb;
  border-left: 2px solid #534AB7;
  border-radius: 3px;
  line-height: 1.5;
  padding: 3px 6px;
  margin-top: 5px;
  word-break: break-all;
}

/* ---- 近 14 日概览（marketList 轻量行） ---- */
.mk-day {
  padding: 10px 2px;
  border-bottom: 1px solid #f0f1f4;
}
.mk-day-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 11px;
  margin-top: 6px;
}
.mk-mini {
  display: flex;
  align-items: baseline;
  gap: 3px;
  font-size: 10px;
}
.mk-mini-name { color: #64748b; }
.mk-mini-pct { font-weight: 600; }
.mk-mini-s { color: #a0a5af; }

/* ---- v1.7.0 硬性因子卡（只列达临界点/涌现标准者） ---- */
.mk-gate-tip {
  font-size: 11px;
  line-height: 1.6;
  color: #64748b;
  background: #f7f9fc;
  border-left: 2px solid #c3cede;
  padding: 7px 10px;
  margin: 8px 0 4px;
  border-radius: 0 4px 4px 0;
}
.mk-gate-stat {
  font-size: 11px;
  color: #475569;
  font-weight: 600;
  padding: 4px 0 2px;
}
.mk-gate-note {
  font-size: 10px;
  color: #8a8f99;
  padding: 2px 0 6px;
}
.mk-mini-gate {
  gap: 4px;
  padding: 2px 6px;
  border-radius: 3px;
  background: #f1f5f9;
}
.mk-gate-tag {
  font-size: 9px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 2px;
  letter-spacing: .2px;
}
.mk-gate-tag.critical {
  color: #9c4221;
  background: #fed7aa;
}
.mk-gate-tag.emergence {
  color: #1f4d7a;
  background: #bfdbfe;
}
.mk-gate-dei {
  font-size: 9px;
  color: #1f4d7a;
  font-weight: 600;
}

/* ---- 品种因子分解弹层 ---- */
.mk-factor {
  padding: 7px 0;
  border-bottom: 1px solid #f0f1f3;
}
.mk-factor:last-of-type { border-bottom: none; }
.mk-f-name {
  font-size: 12px;
  font-weight: 600;
  color: #2d3748;
}
.mk-f-layer {
  font-size: 9px;
  font-weight: 400;
  color: #a0a5af;
  margin-left: 5px;
}
.mk-f-tier {
  font-size: 9px;
  font-weight: 600;
  border-radius: 3px;
  padding: 1px 5px;
  flex-shrink: 0;
}
/* 五级归因：主导=红 / 重要=橙 / 次要=蓝 / 微弱=青 / 可忽略=灰 */
.t-dom { color: #c53030; background: #fbe8e8; }
.t-maj { color: #b7791f; background: #fdf3e3; }
.t-sec { color: #2b6cb0; background: #e3edf8; }
.t-min { color: #0d7d8c; background: #e0f2f4; }
.t-neg { color: #8a8f99; background: #f0f1f4; }
.mk-f-meta {
  display: flex;
  gap: 11px;
  font-size: 10px;
  color: #8a8f99;
  margin-top: 3px;
}

/* ===================== 财报季板块（美股七巨头 + A股AI链龙头） ===================== */
.earn-card { padding-bottom: 5px; }
.earn-season {
  font-size: 11px;
  color: #534AB7;
  background: #eeecf8;
  border-radius: 4px;
  padding: 4px 8px;
  line-height: 1.5;
  margin-top: 8px;
}
.earn-note {
  font-size: 10px;
  color: #8a8f99;
  line-height: 1.5;
  margin-top: 5px;
}
/* 深度复核报告入口（2026-10-20）：板块底部卡片，链接静态页 bio-deep.html */
.bio-deep {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid #ddd9f5;
  border-radius: 8px;
  background: linear-gradient(180deg, #f7f6fe 0%, #f2f0fc 100%);
  text-decoration: none;
  transition: border-color .15s, box-shadow .15s;
}
.bio-deep:hover { border-color: #534AB7; box-shadow: 0 2px 10px rgba(83, 74, 183, .10); }
.bio-deep-l { flex: 1; min-width: 0; }
.bio-deep-t { font-size: 12.5px; font-weight: 700; color: #3f378e; }
.bio-deep-d { font-size: 10px; color: #6b7280; line-height: 1.55; margin-top: 3px; }
.bio-deep-b { flex: 0 0 auto; font-size: 11px; font-weight: 600; color: #534AB7; white-space: nowrap; }
@media (max-width: 480px) {
  .bio-deep { flex-direction: column; align-items: flex-start; gap: 8px; }
}
.earn-group-title {
  font-size: 12px;
  font-weight: 700;
  color: #2d3748;
  margin-top: 14px;
  padding-left: 6px;
  border-left: 3px solid #534AB7;
}
.earn-item {
  padding: 11px 2px 9px;
  border-bottom: 1px solid #f0f1f4;
  cursor: pointer;
}
.earn-item:hover { background: #f8f9fb; }
.earn-item:active { background: #f8f9fb; }
.earn-name {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.earn-period {
  font-size: 10px;
  color: #64748b;
}
/* 盈利动能：上行=红 / 下行=绿 / 持平=灰（与涨跌色标同惯例） */
.earn-bias {
  font-size: 10px;
  font-weight: 600;
  border-radius: 4px;
  padding: 1px 6px;
}
.b-up { color: #c53030; background: #fbe8e8; }
.b-down { color: #276749; background: #e6f4ea; }
.b-flat { color: #8a8f99; background: #f0f1f4; }
.earn-point {
  font-size: 12px;
  color: #4a5568;
  line-height: 1.6;
  margin-top: 4px;
}
.earn-pop-sub {
  font-size: 11px;
  color: #8a8f99;
  margin-top: 4px;
  line-height: 1.5;
}

/* ===================== 深度研究板块（结构化归因研报） ===================== */
.deep-card { margin-top: 0; }
.deep-item {
  padding: 12px 2px 10px;
  border-bottom: 1px solid #f0f1f4;
  cursor: pointer;
}
.deep-item:hover { background: #f8f9fb; }
.deep-item:active { background: #f8f9fb; }
.deep-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a202c;
  line-height: 1.5;
  flex: 1;
  margin-right: 8px;
}
.deep-sub {
  font-size: 10px;
  color: #534AB7;
  margin-top: 3px;
}
.deep-summary {
  font-size: 12px;
  color: #4a5568;
  line-height: 1.6;
  margin-top: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.deep-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.deep-tag {
  font-size: 9px;
  color: #0d7d8c;
  background: #e0f2f4;
  border-radius: 3px;
  padding: 1px 5px;
}
.deep-weight-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-top: 6px;
}
.deep-wchip {
  font-size: 10px;
  color: #64748b;
  background: #f0f1f4;
  border-radius: 3px;
  padding: 1px 5px;
}

/* 动态研报 0涌现管线徽章（特别分析列表） */
.deep-pipe {
  font-size: 10px;
  color: #534AB7;
  background: #f3f1fb;
  border-radius: 4px;
  line-height: 1.5;
  padding: 3px 6px;
  margin-top: 5px;
  word-break: break-all;
}
.deep-wpct {
  color: #c53030;
  font-weight: 600;
  margin-left: 3px;
}
.deep-pop { max-height: 82vh; overflow-y: auto; }
.deep-formula {
  font-size: 11px;
  color: #2d3748;
  background: #f7f8fb;
  border-radius: 4px;
  padding: 6px 8px;
  line-height: 1.6;
  word-break: break-all;
}
.deep-bar { margin-top: 7px; }
.deep-bar-name {
  font-size: 11px;
  font-weight: 600;
  color: #2d3748;
}
.deep-bar-pct {
  font-size: 11px;
  font-weight: 700;
  color: #c53030;
}
.deep-bar-track {
  height: 6px;
  background: #f0f1f4;
  border-radius: 3px;
  margin-top: 4px;
  overflow: hidden;
}
.deep-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #534AB7, #c53030);
  border-radius: 3px;
}
.deep-quote-row {
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 4px 0;
  border-bottom: 1px solid #f0f1f3;
}
.deep-quote-row:last-of-type { border-bottom: none; }
.deep-q-label {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  flex-shrink: 0;
  width: 100px;
}
.deep-q-val {
  font-size: 11px;
  color: #2d3748;
  flex: 1;
}
.deep-q-chg {
  font-size: 10px;
  color: #c53030;
  flex-shrink: 0;
  text-align: right;
}
.deep-sec-head {
  font-size: 13px;
  font-weight: 700;
  color: #1a202c;
  margin-top: 11px;
  padding-left: 6px;
  border-left: 3px solid #534AB7;
}
.deep-sec-body {
  display: block;
  font-size: 12px;
  color: #4a5568;
  line-height: 1.7;
  margin-top: 5px;
  white-space: pre-line;
}

/* ===================== 财经五小类分组 + 因子全景 ===================== */

/* 财经五小类徽章：金/橙 */
.cat-news-fin {
  color: #b7791f;
  background: #fdf3e0;
}

/* 分组小标题（综合热点 / 财经热点） */
.fin-group-title {
  font-size: 12px;
  font-weight: 700;
  color: #5a6472;
  margin: 13px 2px 3px;
  padding-left: 5px;
  border-left: 3px solid #b7791f;
}

/* 财经热点条目轻量底色区分 */
.fin-news-item {
  background: #fdfaf3;
}

/* ---------- 今日因子全景卡 ---------- */
.pan-card { padding-bottom: 5px; }
.pan-tip {
  font-size: 11px;
  color: #8a8f99;
  margin: 4px 2px 7px;
  line-height: 1.5;
}
.pan-row {
  padding: 8px 2px 6px;
  border-bottom: 1px solid #f0f0f3;
}
.pan-row:last-child { border-bottom: none; }
.pan-name {
  font-size: 14px;
  font-weight: 700;
  color: #1a202c;
}
.pan-avg {
  font-size: 13px;
  font-weight: 700;
  font-family: 'SF Mono', Consolas, monospace;
}
.pan-avg.up { color: #c53030; }
.pan-avg.down { color: #276749; }
.pan-avg.flat { color: #8a8f99; }
.pan-bar-track {
  height: 5px;
  background: #f0f0f3;
  border-radius: 3px;
  margin-top: 5px;
  overflow: hidden;
}
.pan-bar-fill {
  height: 100%;
  border-radius: 3px;
}
.pan-bar-fill.pan-up { background: #e05252; }
.pan-bar-fill.pan-down { background: #3c9a6d; }
.pan-bar-fill.pan-flat { background: #c4c9d2; }
.pan-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
  font-size: 11px;
  color: #737a85;
}

/* ===================== 软件专利申请指南 ===================== */
.pat-card { border-top: 2px solid #1f4e79; }
.pat-sub {
  font-size: 11px;
  color: #737a85;
  margin: 3px 0 8px;
}
.pat-item {
  padding: 10px 0;
  border-bottom: 1px solid #eceef2;
  cursor: pointer;
}
.pat-item:hover { background: #f7f8fb; }
.pat-item:last-of-type { border-bottom: none; }
.pat-tag {
  display: inline-block;
  font-size: 10px;
  color: #1f4e79;
  background: #e8eff7;
  border-radius: 4px;
  padding: 1px 7px;
}
.pat-arrow {
  font-size: 11px;
  color: #a0a6b0;
}
.pat-title {
  font-size: 14px;
  font-weight: 700;
  color: #23262d;
  margin-top: 5px;
  line-height: 1.5;
}
.pat-summary {
  font-size: 12px;
  color: #5b6470;
  line-height: 1.6;
  margin-top: 4px;
}
.pat-pop .pat-title { font-size: 15px; }
.pat-body {
  display: block;
  font-size: 13px;
  color: #3a414c;
  line-height: 1.8;
  white-space: pre-line;
}

/* ===================== 详情弹层（历史/热点/市场/财报/研报/专利 共用壳） ===================== */
.sh-mask {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.sh-pop {
  width: 100%;
  max-width: 560px;
  max-height: 82vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.sh-pop .pop-close {
  font-size: 17px;
  color: #8a8f99;
  padding: 0 5px;
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
  flex-shrink: 0;
}
.sh-pop .pop-close:hover { color: #333; }
.sh-pop .sh-pop-name {
  font-size: 17px;
  font-weight: 700;
  color: #1a202c;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sh-pop .sh-summary {
  font-size: 12px;
  color: #718096;
  line-height: 1.7;
  white-space: pre-line;
  word-break: break-word;
}

/* ===================== 空态提示 ===================== */
.empty-note {
  font-size: 12px;
  color: #8a8f99;
  text-align: center;
  padding: 15px 0;
  line-height: 1.6;
}

/* ===================== 轻量 toast ===================== */
.toast {
  position: fixed;
  left: 50%;
  bottom: 12vh;
  transform: translateX(-50%);
  background: rgba(26, 32, 44, 0.86);
  color: #fff;
  font-size: 13px;
  padding: 9px 18px;
  border-radius: 6px;
  z-index: 1001;
  max-width: 78vw;
  text-align: center;
  line-height: 1.5;
  transition: opacity 0.25s ease;
}
.toast.fade-out { opacity: 0; }

/* ===================== 因子命中率回测卡（2026-10-20 原「wi 校准·权重越大越准」改名） ===================== */
.cal-card { padding-bottom: 5px; border-top: 2px solid #534AB7; }
.cal-tip {
  font-size: 11px; color: #8a8f99; line-height: 1.6;
  margin: 2px 0 8px; padding: 0 2px;
}
.cal-overall {
  font-size: 11px; line-height: 1.6;
  padding: 4px 0 6px; border-bottom: 1px dashed #e2e8f0; margin-bottom: 4px;
  flex-wrap: wrap; gap: 2px 10px;
}
.cal-row {
  padding: 8px 2px; border-bottom: 1px solid #f0f1f4;
}
.cal-row:last-child { border-bottom: none; }
.cal-name {
  font-size: 13px; font-weight: 600; color: #2d3748;
  display: flex; align-items: center; gap: 6px;
}
.cal-flip-tag {
  font-size: 10px; font-weight: 600; color: #fff;
  background: #c53030; border-radius: 8px; padding: 1px 6px; line-height: 1.5;
}
.cal-verdict {
  font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 8px;
}
.cal-verdict.v-ok   { background: #e1f5ee; color: #0f6e56; }
.cal-verdict.v-flip { background: #fcebeb; color: #a32d2d; }
.cal-verdict.v-flat { background: #f1efe8; color: #8a8f99; }
.cal-meta {
  font-size: 11px; color: #8a8f99; line-height: 1.7; padding: 2px 0;
  flex-wrap: wrap; gap: 2px 10px;
}
.cal-bar-track {
  height: 5px; border-radius: 3px; background: #edf0f4; overflow: hidden; margin-top: 3px;
}
.cal-bar-fill { height: 100%; border-radius: 3px; transition: width 0.3s ease; }
.cal-bar-fill.ok   { background: #3c9a6d; }
.cal-bar-fill.flip { background: #e05252; }
.cal-bar-fill.flat { background: #c4c9d2; }

/* ===================== v109 因子词典卡（白话讲解内嵌） ===================== */
.gl-card { padding-bottom: 5px; border-top: 2px solid #2a7d4f; }
.gl-tip {
  font-size: 11px; color: #8a8f99; line-height: 1.6;
  margin: 2px 0 8px; padding: 0 2px;
}
.gl-row { padding: 7px 2px; border-bottom: 1px solid #f0f1f4; }
.gl-row:last-child { border-bottom: none; }
.gl-name {
  font-size: 13px; font-weight: 600; color: #2d3748;
  display: flex; align-items: center; gap: 8px;
}
.gl-key {
  font-size: 10px; font-weight: 500; color: #8a8f99;
  background: #f1efe8; border-radius: 6px; padding: 1px 6px;
  font-family: ui-monospace, Consolas, monospace;
}
.gl-desc { font-size: 12px; color: #5b6470; line-height: 1.65; margin-top: 2px; }
.gl-legend { margin-top: 8px; border-top: 1px dashed #e2e8f0; padding-top: 8px; }
.gl-legend-item { font-size: 12px; line-height: 1.7; color: #5b6470; margin-bottom: 5px; }
.gl-legend-item:last-child { margin-bottom: 0; }
.gl-tag {
  display: inline-block; font-size: 11px; font-weight: 600;
  padding: 1px 8px; border-radius: 8px; margin-right: 6px;
}
.gl-tag.ok { background: #e1f5ee; color: #0f6e56; }
.gl-tag.flip { background: #fcebeb; color: #a32d2d; }

/* ===== v100-E 金融哨兵 / 文献调阅 ===== */
.crisis-tip,.lit-tip { font-size: 12px; opacity: .72; margin: 2px 0 8px; }
.crisis-banner { font-weight: 700; padding: 6px 10px; border-radius: 8px; margin-bottom: 6px; background: #223; }
.crisis-banner.lv-静 { background: rgba(38,166,91,.14); color: #2a7d4f; }
.crisis-banner.lv-观察 { background: rgba(120,144,156,.16); }
.crisis-banner.lv-黄 { background: rgba(255,179,0,.18); color: #8a5a00; }
.crisis-banner.lv-红 { background: rgba(211,47,47,.16); color: #b71c1c; }
.crisis-alert { font-size: 13px; padding: 4px 8px; margin: 3px 0; border-left: 3px solid #bbb; border-radius: 4px; background: rgba(0,0,0,.03); }
.crisis-alert.a-红 { border-left-color: #d32f2f; }
.crisis-alert.a-黄 { border-left-color: #ffb200; }
.crisis-alert.a-观察 { border-left-color: #78909c; }
.crisis-quiet { font-size: 13px; opacity: .8; padding: 4px 2px 8px; }
.crisis-sec { font-size: 12px; font-weight: 700; opacity: .75; margin: 10px 0 4px; }
.crisis-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; font-size: 13px; padding: 2px 0; border-bottom: 1px dashed rgba(0,0,0,.06); }
.crisis-k { min-width: 118px; font-weight: 600; }
.crisis-v { min-width: 64px; font-variant-numeric: tabular-nums; }
.crisis-d { opacity: .72; font-size: 12px; }
.lit-row { font-size: 13px; padding: 3px 0; border-bottom: 1px dashed rgba(0,0,0,.05); }
.lit-a { color: inherit; text-decoration: none; }
.lit-a:hover { text-decoration: underline; }

/* v1.4.0 今日主因解释横幅（两百年危机因子权重） */
.mk-cx { margin:10px 0 4px; padding:12px 14px; background:linear-gradient(135deg,#F5F4FC 0%,#FAFAFE 100%); border:1px solid #E7E5F2; border-radius:12px; }
.mk-cx-title { font-size:13.5px; font-weight:700; color:#534AB7; }
.mk-cx-head { font-size:13px; color:#3c3a5c; line-height:1.7; margin-top:6px; }
.mk-cx-row { margin-top:9px; }
.mk-cx-name { font-size:13px; font-weight:600; color:#1b1b2f; }
.mk-cx-nums { font-size:12px; color:#8a87a8; font-variant-numeric:tabular-nums; }
.mk-cx-track { height:8px; background:#EFEDF7; border-radius:4px; margin:4px 0 2px; overflow:hidden; }
.mk-cx-track i { display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,#534AB7,#8E7FE8); }
.mk-cx-why { font-size:12.5px; color:#6B6B85; line-height:1.6; }
.mk-cx-note { font-size:11.5px; color:#9a9ab0; margin-top:8px; line-height:1.6; }
.mk-cx-tag { display:inline-block; font-size:10.5px; color:#534AB7; background:#EEF0FB; border-radius:7px; padding:0 6px; margin-left:6px; vertical-align:1px; }
/* ---- 2026-10-20 v1.5.0：A股 AI 算力与存储链（真实财报行 + Q3 待披露徽章） ---- */
/* 真实财报行：接口原文，视觉上最重（用户令「数据全部准确、与财报核实」） */
.chip-fin {
  background: #f5f8ff;
  border-left: 3px solid #4a6cf7;
  padding: 6px 8px;
  border-radius: 4px;
  line-height: 1.7;
}
.chip-fin b { color: #3246b0; }
/* 已核实事实 */
.chip-facts b { color: #2b7a4b; }
.chip-caveat { color: #b45309; font-size: 11.5px; }
/* 机构预期：弱化 + 警示色（明确非公司披露） */
.chip-expect { color: #8a6d3b; }
.chip-expect b { color: #b45309; }
/* 风险行 */
.chip-risk { color: #6b6b85; }
.chip-risk b { color: #b42318; }
/* Q3 未披露：整行中性弱化 */
.chip-pending-line { color: #8b8ba0; }
/* 徽章：Q3 待披露（灰）/ 已预告（绿） */
.chip-badge {
  display: inline-block;
  font-size: 10px;
  line-height: 16px;
  padding: 0 6px;
  border-radius: 4px;
  margin-right: 6px;
  font-weight: 700;
  white-space: nowrap;
}
.chip-badge.q3-pending { background: #f0f0f4; color: #6b6b85; }
.chip-badge.q3-pre { background: #e6f6ec; color: #2b7a4b; }
.chip-badges { display: inline-flex; align-items: center; gap: 4px; }
/* 数据出处脚注 */
.chip-asof { margin-top: 6px; font-size: 11px; color: #9a9ab0; line-height: 1.5; }

/* ============ v1.0.0 美国危机专项卡 ============ */
.crisisus-tip { font-size: 11px; color: #8a8f99; line-height: 1.6; margin: 4px 0 8px; }
.cu-sec { font-size: 12px; font-weight: 700; color: #534AB7; margin: 12px 0 6px; }
.cu-sec-snap { color: #b7791f; }
.cu-quotes { display: flex; flex-wrap: wrap; gap: 6px; }
.cu-q { flex: 1 1 30%; min-width: 78px; background: #f7f8fa; border: 1px solid #eef0f3; border-radius: 6px; padding: 6px 8px; text-align: center; }
.cu-q-name { font-size: 10px; color: #8a8f99; }
.cu-q-val { font-size: 13px; font-weight: 700; color: #1a202c; margin-top: 2px; }
.cu-q-pct { font-size: 11px; }
.cu-q-pct.up { color: #e23b3b; }
.cu-q-pct.down { color: #16a34a; }
.cu-q-pct.flat { color: #8a8f99; }
.cu-q-bp { font-size: 10px; color: #8a8f99; margin-top: 1px; }
.cu-giants { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cu-giant { font-size: 11px; color: #4a5568; background: #f2f3f7; border-radius: 4px; padding: 2px 7px; }
.cu-giant .up, .cu-scen-prob .up { color: #e23b3b; }
.cu-chain { background: #fff; border: 1px solid #eef0f3; border-left: 4px solid #cbd2dc; border-radius: 6px; padding: 8px 10px; margin-bottom: 6px; }
.cu-chain.cu-warning { border-left-color: #e0a93b; }
.cu-chain.cu-critical { border-left-color: #e23b3b; }
.cu-chain.cu-ease { border-left-color: #16a34a; }
.cu-chain.cu-calm { border-left-color: #16a34a; }
.cu-chain.cu-watch { border-left-color: #cbd2dc; }
.cu-chain.cu-structural { border-left-color: #534AB7; }
.cu-chain-name { font-size: 13px; font-weight: 700; color: #1a202c; }
.cu-badge { font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 4px; background: #eef0f3; color: #6b6b85; }
.cu-b-warning { background: #fdf3e0; color: #b7791f; }
.cu-b-critical { background: #fde8e8; color: #c0392b; }
.cu-b-ease, .cu-b-calm { background: #e6f6ec; color: #2b7a4b; }
.cu-b-structural { background: #eeecf8; color: #534AB7; }
.cu-chain-sig { font-size: 12px; color: #4a5568; line-height: 1.6; margin-top: 3px; }
.cu-chain-note { font-size: 11px; color: #8a8f99; line-height: 1.6; margin-top: 2px; }
.cu-scen { background: #f7f8fa; border: 1px solid #eef0f3; border-radius: 6px; padding: 7px 10px; margin-bottom: 6px; }
.cu-scen-on { border-color: #534AB7; background: #f3f1fb; }
.cu-scen-name { font-size: 13px; font-weight: 700; color: #1a202c; }
.cu-scen-prob { font-size: 11px; color: #534AB7; font-weight: 700; }
.cu-scen-row { font-size: 11px; color: #4a5568; margin-top: 2px; }
.cu-scen-out { font-size: 11px; color: #8a8f99; line-height: 1.6; margin-top: 1px; }
.cu-hist { background: #fff; border: 1px solid #eef0f3; border-radius: 6px; padding: 6px 10px; }
.cu-hist-row { font-size: 12px; color: #4a5568; padding: 3px 0; border-bottom: 1px dashed #f0f1f4; }
.cu-hist-row:last-child { border-bottom: none; }
.cu-drop { color: #e23b3b; font-weight: 700; margin: 0 4px; }
.cu-hist-note { font-size: 10px; color: #8a8f99; margin-left: 4px; }
.cu-snap-note { font-size: 11px; color: #b7791f; line-height: 1.6; margin-bottom: 6px; }
.cu-snap { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.cu-snap-item { background: #fffdf7; border: 1px solid #f3e6c8; border-radius: 6px; padding: 6px 8px; }
.cu-snap-topic { font-size: 11px; color: #8a8f99; }
.cu-snap-val { font-size: 12px; font-weight: 700; color: #5a4a2a; margin-top: 2px; line-height: 1.5; }
.cu-snap-item .cu-snap-note { color: #a98a4f; margin-top: 2px; }
.cu-err { font-size: 11px; color: #c0392b; line-height: 1.6; margin-top: 8px; }
/* v1.1.0 AI 巨头举债分析 */
.cu-debt-lvl { font-size: 12.5px; color: #5c6675; margin: 6px 0; }
.cu-debt-lvl b { font-size: 14px; margin: 0 2px; }
.cu-debt-lvl .cu-lvl-hi { color: #c0392b; }
.cu-debt-lvl .cu-lvl-mid { color: #b8860b; }
.cu-debt-lvl .cu-lvl-lo { color: #27ae60; }
.cu-debt-lvl-note { font-size: 10.5px; color: #9aa2b1; margin-left: 6px; }
.cu-debt-anchor { font-size: 11.5px; color: #5a4a2a; background: #fffdf7; border: 1px dashed #d9c99a; border-radius: 6px; padding: 6px 8px; margin: 6px 0; line-height: 1.6; }

/* ===================== v3.0.0 全球极端行情卡（半月自动收集） ===================== */
.gex-card { border-left: 4px solid #b8860b; }
.gex-tip { font-size: 11.5px; color: #8a93a5; line-height: 1.6; margin: 6px 0 10px; }
.gex-sec-title { font-size: 12.5px; font-weight: 700; color: #5a4a2a; margin: 12px 0 6px; padding-left: 8px; border-left: 3px solid #b8860b; }
.gex-item { padding: 8px 10px; border-radius: 8px; margin-bottom: 6px; background: #fafbfd; border: 1px solid #e8ecf3; }
.gex-item.gex-lv-extreme { border-left: 4px solid #c0392b; background: #fdf3f2; }
.gex-item.gex-lv-high { border-left: 4px solid #d35400; background: #fdf8f0; }
.gex-item.gex-lv-watch { border-left: 4px solid #b8860b; background: #fffdf7; }
.gex-badge { font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 4px; color: #fff; }
.gex-badge.gex-lv-extreme { background: #c0392b; }
.gex-badge.gex-lv-high { background: #d35400; }
.gex-badge.gex-lv-watch { background: #b8860b; }
.gex-badge.gex-lv-normal { background: #27ae60; }
.gex-alert-text { font-size: 12.5px; color: #2c3444; line-height: 1.65; margin-top: 4px; font-weight: 600; }
.gex-why { font-size: 11px; color: #8a93a5; margin-top: 3px; }
.gex-why-full { font-size: 11px; color: #8a93a5; }
.gex-empty { color: #27ae60; font-size: 12.5px; }
.gex-table { display: flex; flex-direction: column; gap: 3px; }
.gex-row { display: flex; align-items: baseline; gap: 8px; padding: 3px 6px; border-radius: 5px; font-size: 12px; }
.gex-row.gex-lv-extreme { background: #fdf3f2; }
.gex-row.gex-lv-high { background: #fdf8f0; }
.gex-row.gex-lv-watch { background: #fffdf7; }
.gex-nm { flex: 0 0 auto; min-width: 150px; color: #2c3444; font-weight: 600; }
.gex-nm .gex-date { display: block; font-style: normal; font-size: 10px; color: #9aa2b1; font-weight: 400; }
.gex-px { flex: 1 1 auto; color: #5a6572; text-align: right; }
.gex-pct { flex: 0 0 auto; min-width: 64px; text-align: right; font-weight: 700; }
.gex-z { flex: 0 0 auto; min-width: 130px; text-align: right; color: #8a93a5; font-size: 11px; }
.gex-countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.gex-country { border: 1px solid #e8ecf3; border-radius: 8px; padding: 6px 8px; background: #fafbfd; }
.gex-country-name { font-size: 12px; font-weight: 700; color: #5a4a2a; margin-bottom: 3px; }
.gex-country-row { display: flex; justify-content: space-between; font-size: 11px; color: #5a6572; }
.gex-country-row span { color: #9aa2b1; }
.gex-src-title { font-size: 11.5px; font-weight: 700; color: #8a93a5; margin: 12px 0 4px; }
.gex-src { font-size: 10.5px; color: #9aa2b1; line-height: 1.6; }
.gex-src code { font-size: 10px; background: #f2f5f9; padding: 0 3px; border-radius: 3px; }
.gex-src i { display: block; font-style: normal; color: #aab3c2; }
.gex-err { font-size: 10.5px; color: #c0392b; margin-top: 8px; padding: 6px 8px; background: #fdf3f2; border-radius: 6px; }

/* ================================================================
 * v20261020c17 数据口径类样式（与小程序侧 pages/daily/daily.wxss 同源同语义）
 * ------------------------------------------------------------
 * ① 主导标签按 |S| 分档：主导(红) / 偏主导(橙) / 相对最重(灰) / 极弱(灰+弱化说明)
 * ② 行情缺失(红框) vs 真实平盘(灰字)
 * ③ 单位口径脚注（pp vs %）
 * ④ 数据自检区块（来源标注 / 抓取质量 / 坏码告警）
 * ================================================================ */
.mk-dom.dom-main { color: #C0392B; background: #FDEDEC; font-weight: 700; }
.mk-dom.dom-sub  { color: #A8621A; background: #FDF3E6; }
.mk-dom.dom-rel  { color: #6B7280; background: #F1F3F6; }
.mk-dom.dom-weak { color: #8A8F99; background: #F1F3F6; }

/* ② 行情状态说明：缺失(红) / 平盘(灰) */
.mk-quote-note {
  font-size: 10px;
  line-height: 1.5;
  margin-top: 4px;
  color: #8A8F99;
}
.mk-nodata {
  color: #C0392B;
  background: #FDEDEC;
  border: 1px solid #F5C6CB;
  border-radius: 3px;
  padding: 1px 6px;
  display: inline-block;
}

/* ① 弱驱动说明（极弱驱动品种的免责提示） */
.mk-weak-note {
  font-size: 10px;
  color: #8A8F99;
  line-height: 1.5;
  margin-top: 4px;
}

/* ③ 单位口径脚注（pp 与 % 不可混读） */
.mk-unitnote {
  font-size: 10px;
  color: #8A8F99;
  line-height: 1.6;
  margin: 6px 0 8px;
  padding: 4px 8px;
  background: #F7F8FA;
  border-left: 2px solid #C9CDD4;
  border-radius: 3px;
}

/* ④ 数据自检区块（来源标注 / 抓取失败数 / 安检下架数 / 坏码告警） */
.mk-selfcheck {
  margin: 8px 0;
  padding: 8px 10px;
  background: #F7F8FA;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}
.mk-sc-line {
  font-size: 11px;
  color: #4B5563;
  line-height: 1.6;
}
.mk-sc-line b { color: #1F2937; font-weight: 700; }
.mk-sc-bad { color: #C0392B; font-weight: 600; }
.mk-sc-row { display: flex; align-items: center; gap: 8px; }
.mk-sc-title { font-size: 11px; color: #6B7280; }
.mk-sc-tag {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  background: #F1F3F6;
  color: #6B7280;
}
.mk-sc-tag.sc-ok   { color: #1E8449; background: #EAF7EE; }
.mk-sc-tag.sc-warn { color: #A8621A; background: #FDF3E6; }

/* ==================== v20261020c19 多年财务体检（finDeep） ==================== */
.findeep-card { margin-top: 12px; }
.fd-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 8px 0; }
.fd-tbl { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 12px; }
.fd-tbl th, .fd-tbl td { border-bottom: 1px solid rgba(127,127,127,.18); padding: 5px 7px; text-align: right; white-space: nowrap; }
.fd-tbl th:first-child, .fd-tbl td:first-child { text-align: left; }
.fd-tbl thead th { color: #6B7280; font-weight: 600; font-size: 11px; }
.fd-tbl td.up { color: #1E8449; font-weight: 600; }
.fd-tbl td.down { color: #C0392B; font-weight: 600; }
.fd-tbl td.flat { color: #A8621A; }
.fd-name { font-weight: 600; }
.fd-name .mk-sub { display: block; font-weight: 400; color: #6B7280; font-size: 10px; }
.fd-verdicts { white-space: nowrap; }
.fd-tag { display: inline-block; padding: 1px 5px; border-radius: 8px; font-size: 10px; margin-left: 3px; }
.fd-tag.p { color: #1E8449; background: #EAF7EE; }
.fd-tag.w { color: #A8621A; background: #FDF3E6; }
.fd-tag.f { color: #C0392B; background: #FCEBE9; }
.fd-tag.n { color: #6B7280; background: #F1F3F6; }
.fd-detail { border: 1px solid rgba(127,127,127,.15); border-radius: 8px; padding: 6px 10px; margin: 6px 0; background: rgba(127,127,127,.04); }
.fd-detail summary { cursor: pointer; font-size: 12px; font-weight: 600; color: #4B5563; }
.fd-sum { font-size: 12px; margin: 6px 0; color: #374151; }
.fd-sep { font-size: 12px; margin: 6px 0; color: #374151; }
.fd-note { font-size: 11px; color: #6B7280; margin-top: 3px; }
.fd-chk { font-size: 12px; margin-top: 6px; }
.fd-chk-row { padding: 2px 0; }
