/* report-market.css — 08：市场级报告呈现定制（天天复盘/推特X日报）。
   作用域：正文全部挂 .morning-body.mrx（beautify 成功才加 .mrx），个股报告正文零影响；
   浮窗头部徽章（.mrx-badge*）挂在 drawer-meta 内。参考稿：docs/前端参考/2026-07-17-08报告样式迭代/ */

/* ---------- 浮窗头部条（徽章 = 栏目名 + 更新时间；x_daily 另有副标） ---------- */
.drawer-meta .mrx-badge {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: var(--r-sm);
  font-size: var(--fs-sm); font-weight: var(--fw-extrabold); color: #fff; letter-spacing: .02em;
  flex: none;
}
.drawer-meta .mrx-badge-m { background: var(--green); }
.drawer-meta .mrx-badge-x { background: #3D6FE8; }
.drawer-meta .mrx-tagline { color: var(--ink-3); font-size: var(--fs-sm); }
.drawer-meta .mrx-updated { margin-left: auto; color: var(--ink-3); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; flex: none; }

/* ---------- 标题 / meta 行 / 导语 ---------- */
.morning-body.mrx h1.mrx-title { font-size: var(--fs-3xl); line-height: var(--lh-tight); letter-spacing: -.02em; }
/* 09 A5：表头 meta 去 emoji——弱色小字三段 + 细竖线分隔，数字/日期用次级墨色微强调（tabular-nums） */
.morning-body.mrx .mrx-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-5); color: var(--ink-3); font-size: var(--fs-sm); letter-spacing: .01em; }
.morning-body.mrx .mrx-meta .m { display: inline-flex; align-items: baseline; gap: 3px; }
.morning-body.mrx .mrx-meta .m b { font-weight: var(--fw-bold); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.morning-body.mrx .mrx-meta .m:first-child { color: var(--ink-2); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.morning-body.mrx .mrx-meta .sep { width: 1px; height: 11px; background: var(--line); flex: none; }
.morning-body.mrx p.mrx-lead { color: #3A3F46; }
.morning-body.mrx p.mrx-lead + .mrx-sec,
.morning-body.mrx p.mrx-lead + p.mrx-lead { margin-top: var(--sp-7); }

/* ---------- 编号章节片：01 标题 ｜ 副标题 ---------- */
.morning-body.mrx .mrx-sec {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-4);
  margin-top: var(--sp-10); padding-top: var(--sp-8);
  border-top: 1px solid var(--line-2);
}
/* 09 A2（候选甲·编辑刊物风，待用户点选定稿）：去底色徽章壳——大号绿数字 + 右缘细分隔，
   与条目「1」小徽章（浅绿底小胶囊，不动）拉开层级；乙/丙候选见迭代锚，点选后此块回填定稿值 */
.morning-body.mrx .mrx-sec-no {
  flex: none; font-size: 26px; line-height: 1; letter-spacing: -.02em;
  color: var(--green); font-weight: var(--fw-extrabold); font-variant-numeric: tabular-nums;
  padding-right: var(--sp-4); border-right: 1px solid var(--line-2);
}
.morning-body.mrx .mrx-sec-title { font-size: var(--fs-xl); font-weight: var(--fw-extrabold); letter-spacing: -.01em; color: var(--ink); }
.morning-body.mrx .mrx-sec-sub {
  font-weight: var(--fw-bold); color: var(--ink-2); font-size: var(--fs-lg);
  padding-left: var(--sp-4); border-left: 3px solid var(--green);
}

/* ---------- X热门股表（排名列 + 变动徽章；09 A6：前 5 直显 + 折叠第二表拼接无缝） ---------- */
/* 两表 table-layout:fixed + 同列宽（#=44px，其余均分）→ 折叠段与前 5 行列对齐，视觉上是一张表 */
.morning-body.mrx table.mrx-hot { table-layout: fixed; }
.morning-body.mrx table.mrx-hot td.mrx-rank { width: 44px; }
.morning-body.mrx .mrx-fold table.mrx-hot-more { margin-top: 0; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.morning-body.mrx table.mrx-hot-cut + .mrx-fold { margin-top: 0; }   /* 折叠块贴表：展开无缝、收起时按钮距表=自身 mt */
/* 展开时衔接处：上表去下圆角、末行恢复分隔线（:has 不支持则展开处多一条圆角缝，无害） */
.morning-body.mrx table.mrx-hot-cut:has(+ .mrx-fold.is-open) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.morning-body.mrx table.mrx-hot-cut:has(+ .mrx-fold.is-open) tbody tr:last-child td { border-bottom: 1px solid var(--line-2); }
.morning-body.mrx table.mrx-hot .mrx-rank-h { width: 44px; }
.morning-body.mrx table.mrx-hot .mrx-rank { color: var(--ink-3); font-weight: var(--fw-extrabold); }
.morning-body.mrx table.mrx-hot .mrx-rank.is-top { color: var(--green-d); }
.morning-body.mrx table.mrx-hot .mrx-tkr { font-weight: var(--fw-extrabold); color: var(--ink); }
.morning-body.mrx table.mrx-hot .n { font-weight: var(--fw-extrabold); margin-right: var(--sp-4); font-variant-numeric: tabular-nums; }
.morning-body.mrx .mrx-chg {
  display: inline-block; min-width: 30px; text-align: center;
  padding: 1px 7px; border-radius: 999px; font-size: var(--fs-xs); font-weight: var(--fw-bold);
  font-variant-numeric: tabular-nums;
}
.morning-body.mrx .mrx-chg-up   { color: var(--green-d); background: var(--green-soft); }
.morning-body.mrx .mrx-chg-down { color: var(--red); background: var(--red-soft); }
.morning-body.mrx .mrx-chg-new  { color: #B4690E; background: #FDF1E6; }
.morning-body.mrx .mrx-chg-flat { color: var(--ink-3); background: var(--soft); }

/* ---------- 要点列表 + 折叠条（更多主线/观察；个股观点展开共用按钮基形） ---------- */
.morning-body.mrx ul.mrx-points { padding-left: 0; margin-top: var(--sp-6); }
.morning-body.mrx ul.mrx-points > li { margin-top: var(--sp-5); }
.morning-body.mrx .mrx-more,
.morning-body.mrx .mrx-sides {
  display: flex; align-items: center; gap: var(--sp-4);
  margin-top: var(--sp-6); padding: 9px 14px;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg);
  font: inherit; font-size: var(--fs-base); font-weight: var(--fw-bold); color: var(--ink-2);
  cursor: pointer; transition: border-color .14s var(--ease), box-shadow .14s var(--ease);
}
.morning-body.mrx .mrx-more:hover,
.morning-body.mrx .mrx-sides:hover { border-color: var(--green); box-shadow: var(--sh-card); }
.morning-body.mrx .mrx-more .chev,
.morning-body.mrx .mrx-sides .chev {
  flex: none; box-sizing: content-box; padding: 5px; border-radius: var(--r-sm);
  background: var(--green-soft); color: var(--green-d);
  transition: transform .14s var(--ease);
}
.morning-body.mrx .mrx-more.is-open .chev,
.morning-body.mrx .mrx-sides.is-open .chev { transform: rotate(180deg); }

/* ---------- 09 A7：折叠区块 v2（更多主线/观察 · 更多大事件 · 热门股展开） ----------
   体在前钮在后：收起=体 0fr（不可见不可聚焦），按钮贴可见内容末尾；展开=grid-rows 高度过渡，
   按钮被内容自然推到底部并变「收起」——不搬 DOM、无跳屏。个股论坛计数条（.mrx-sides）不走此机制。 */
.morning-body.mrx .mrx-fold-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .22s var(--ease); }
.morning-body.mrx .mrx-fold-inner { overflow: hidden; min-height: 0; visibility: hidden; transition: visibility .22s; }
.morning-body.mrx .mrx-fold.is-open .mrx-fold-body { grid-template-rows: 1fr; }
.morning-body.mrx .mrx-fold.is-open .mrx-fold-inner { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .morning-body.mrx .mrx-fold-body, .morning-body.mrx .mrx-fold-inner { transition: none; }
}

/* ---------- 个股论坛卡 ---------- */
.morning-body.mrx .mrx-stock {
  margin-top: var(--sp-6); padding: var(--sp-7);
  border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--bg);
}
.morning-body.mrx .mrx-stock-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-3); }
.morning-body.mrx .mrx-stock-no,
.morning-body.mrx .mrx-evt-no,
.morning-body.mrx .mrx-scan-head-no {
  flex: none; padding: 1px 8px; border-radius: var(--r-sm);
  background: var(--green-soft); color: var(--green-d);
  font-weight: var(--fw-extrabold); font-size: var(--fs-sm); font-variant-numeric: tabular-nums;
}
.morning-body.mrx .mrx-stock-name { font-weight: var(--fw-extrabold); font-size: var(--fs-lg); color: var(--ink); }
.morning-body.mrx .mrx-stock-name .sym { color: var(--ink-3); font-weight: var(--fw-bold); }
.morning-body.mrx .mrx-stock-sub { font-weight: var(--fw-bold); color: var(--ink-2); padding-left: var(--sp-4); border-left: 3px solid var(--green); }
.morning-body.mrx .mrx-stock-intro { margin-top: var(--sp-4); color: var(--ink-2); }
.morning-body.mrx .mrx-sides { width: 100%; background: var(--soft); border-color: var(--line-2); }
.morning-body.mrx .mrx-sides .s { display: inline-flex; align-items: baseline; gap: 2px; }
.morning-body.mrx .mrx-sides .s b { font-weight: var(--fw-extrabold); }
.morning-body.mrx .mrx-sides .bull { color: var(--green-d); }
.morning-body.mrx .mrx-sides .bear { color: var(--red); }
.morning-body.mrx .mrx-sides .neut { color: var(--ink-2); }
.morning-body.mrx .mrx-sides .chev { margin-left: auto; }
.morning-body.mrx .mrx-sides-body { margin-top: var(--sp-2); }
.morning-body.mrx .mrx-side-label { margin-top: var(--sp-6); font-weight: var(--fw-extrabold); font-size: var(--fs-base); }
.morning-body.mrx .mrx-side-label.bull { color: var(--green-d); }
.morning-body.mrx .mrx-side-label.bear { color: var(--red); }
.morning-body.mrx .mrx-side-label.neut { color: var(--ink-2); }
.morning-body.mrx ul.mrx-quotes { margin-top: var(--sp-3); padding-left: 0; }
.morning-body.mrx ul.mrx-quotes > li { margin-top: var(--sp-3); color: var(--ink-2); font-size: var(--fs-base); }
.morning-body.mrx .mrx-quote-empty { margin-top: var(--sp-3); color: var(--ink-3); font-size: var(--fs-base); }

/* ---------- 事件日历（时间分组两列表） ---------- */
.morning-body.mrx .mrx-cal { margin-top: var(--sp-6); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; }
.morning-body.mrx .mrx-cal-row { display: grid; grid-template-columns: 172px 1fr; }
.morning-body.mrx .mrx-cal-row + .mrx-cal-row { border-top: 1px solid var(--line-2); }
.morning-body.mrx .mrx-cal-k { padding: var(--sp-6); font-weight: var(--fw-extrabold); color: var(--ink); border-right: 1px solid var(--line-2); }
.morning-body.mrx .mrx-cal-v { padding: var(--sp-6); min-width: 0; }
.morning-body.mrx .mrx-cal-item { color: var(--ink-2); }
.morning-body.mrx .mrx-cal-item + .mrx-cal-item { margin-top: var(--sp-4); }

/* 正文自带「免责与口径」段时隐藏通用页脚，防双免责（:has 现代浏览器均支持；不支持则多显一条，无害） */
.drawer-body > .morning-body.mrx:has(.mrx-disc-title) + .report-foot { display: none; }

/* ---------- 免责（灰字小号） ---------- */
.morning-body.mrx .mrx-disc-title { margin-top: var(--sp-10); padding-top: var(--sp-7); border-top: 1px solid var(--line); color: var(--ink-3); font-weight: var(--fw-bold); font-size: var(--fs-sm); }
.morning-body.mrx p.mrx-disc { margin-top: var(--sp-4); color: var(--ink-3); font-size: var(--fs-sm); line-height: var(--lh-relaxed); }

/* ---------- 天天复盘：大事件子项 / 行情扫描卡 ---------- */
.morning-body.mrx .mrx-evt { display: flex; align-items: baseline; gap: var(--sp-3); margin-top: var(--sp-8); flex-wrap: wrap; }
.morning-body.mrx .mrx-evt-t { font-weight: var(--fw-extrabold); font-size: var(--fs-lg); color: var(--ink); }
.morning-body.mrx .mrx-evt-sub { font-weight: var(--fw-bold); color: var(--ink-2); padding-left: var(--sp-4); border-left: 3px solid var(--green); margin-left: var(--sp-4); }
.morning-body.mrx .mrx-scan { margin-top: var(--sp-6); padding: var(--sp-7); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--bg); }
.morning-body.mrx .mrx-scan-head { display: flex; align-items: baseline; gap: var(--sp-3); }
.morning-body.mrx .mrx-scan-head-t { font-weight: var(--fw-extrabold); font-size: var(--fs-lg); }
.morning-body.mrx .mrx-scan > p { margin-top: var(--sp-4); color: var(--ink-2); }

/* ---------- 窄屏（≤720：与 mobile.css 断点一致） ---------- */
@media (max-width: 720px) {
  /* 09 评审修复：mobile.css 把 .report-body table 降级为 display:block（横滚），会废掉热门股
     两表 fixed 同列宽的拼接契约（两表各自 shrink-to-fit 列错位）。热门股表仅 4 窄列、375px 实测
     内容宽 ~345px 不溢出，恢复 table 盒模型让列宽契约生效（特异性高于 mobile.css，无视加载顺序） */
  .morning-body.mrx table.mrx-hot { display: table; }
  .morning-body.mrx h1.mrx-title { font-size: var(--fs-2xl); }
  .morning-body.mrx .mrx-meta { gap: var(--sp-4); }
  .morning-body.mrx .mrx-stock, .morning-body.mrx .mrx-scan { padding: var(--sp-6); }
  .morning-body.mrx .mrx-cal-row { grid-template-columns: 1fr; }
  .morning-body.mrx .mrx-cal-k { border-right: 0; border-bottom: 1px solid var(--line-2); padding-bottom: var(--sp-4); }
  .drawer-meta .mrx-tagline { display: none; }   /* 窄屏头部条只留徽章 + 更新时间 */
  /* 09 线上打磨：主+副标题一体 span 太宽换行时，编号小徽章被挤成独行（真机大字号下更碎）——
     窄屏副题降为独立第二行（保留绿竖线），编号与主题恒同行 */
  .morning-body.mrx .mrx-evt-sub, .morning-body.mrx .mrx-stock-sub { display: block; margin-left: 0; margin-top: 3px; }
}
