/* css/modules/message.css — Q25 消息流几何与色值（第 27 轮 round-27.md §N9；GAP-REVIEW D1/D2/D3）
 * 作用域：.msg.user / .msg.assistant / 思考块（thread.js 内置 .think-* / .result-row.think-done）——全部为交互后惰性 DOM，
 *        初始视图无 .msg 节点 → cmp2 基线不受影响。styles.css 冻结，本文件靠加载顺序覆盖。
 * 装配：<link> 追加进 index.html（所有权 N2/A8，本文件不自行装配；未装配前零影响）。
 *
 * ── 证据 ──
 * [SHOT]  ref/host-message-conv-20260922-174219.png（tools/host-capture.sh，窗口「N10 · Glass」1200×948 @1x，多轮对话态）
 *         3x 裁图：ref/host-message-bubble-3x.png（y=380..500 用户气泡）、ref/host-message-think-3x.png（y=500..570 已完成思考行）
 *         主区 x=282..1198；内容列 x=320..1152（助手正文最左 320 / 最右 1144–1152）
 * [PIL]   对 [SHOT] 的像素测量：
 *   D1 用户气泡：
 *     · bbox (486,391)-(1147,489) = 662×99；底色 #efefef（区内众数 309/行）= 宿主 --color-gray-bg-tip → gray-a3 #0000000d 叠 #fcfcfc = #ef ✓
 *     · 圆角：左上角自 y=391 首像素 x=501 → y=404 收敛到 x=487，过渡 14 行 → r≈16（宿主 --radius-16 ✓）
 *     · 文字 bbox (502,409)-(1130,472)：内距 L16 / R17 / T18 / B17 → 宿主 padding 12px 16px（T/B 多出 ≈6 = 25px 行高对 14px 字的半行距）✓
 *     · 右缘 1147 与内容列右缘 1147–1152 齐平（右对齐、右外边距 0）；宽度 662/833（内容列）= 79.5% → max-width 80% ✓
 *     · 字色 #1e1e1e/#212121（与助手正文 #202020 同）；字重 medium
 *     · 前后间距：上一助手行带末 354 → 气泡顶 391 = 36px（宿主 .user-message padding 8px 0 28px：8 + 前一块 28）；气泡底 489 → 下一文字带 508 = 18px（28 − 半行距）
 *   D2 助手正文：
 *     · 字色 #202020（暗像素众数）；行带高 13–16 → 14px 字；同段行距 pitch 24（y=128→152→176）；列表项 pitch 28（li margin-bottom 4）；段间 pitch 37（y=664→701 = 24 + 13 ≈ 段 margin 12–13）
 *     · 正文左缘 x=320（主区 282 + 38 内边距），与气泡列共用内容宽 833
 *   D3 思考块：
 *     · 折叠头「已完成思考」行 y=508..519，x 起点 325，字色 #808080/#868686（≈ --color-gray-a11 muted）；下方 y=529 一条 1px #efefef 全宽线（x=320..1147）
 *     · **展开态未取证**（截图中思考块处于折叠）；宿主 CSS `.message-list-thinking-shell`（L4542）：无独立底色、padding-left 20px、max-height 240px、字色 --thinking-part-fg=text-secondary。
 *       → 本文件不改思考正文底色（Q6 .tt-think-body 归 N5），只对齐折叠头字色 + 分隔线。
 * [HCSS]  宿主 dtcoder-glass-react.css：
 *     .user-message L25588：display flex; width 100%; padding 8px 0 28px; justify-content flex-end
 *     .user-message__column L25597：align-items flex-end; max-width 80%; gap 8px
 *     .user-message__card L25621：background --color-gray-bg-tip(=gray-a3); color --foreground; border-radius --radius-16; padding 12px 16px; word-wrap break-word
 *     .user-message__text-container L25704：font-weight medium; line-height --line-height-paragraph(1.8)
 *     .user-message--compact L25679：padding-bottom 12px
 *     .glass-markdown-content p：margin-block 4px；li margin 0 0 4px（markdown.css 已按此实现）
 * [TOK]   css/modules/tokens.css：--am-gray-a3 #0000000d L12523 / --am-gray-12 #202020 L12520 / --am-gray-a11 #0000007d L12531 / --am-radius-16 16px L11926 / --am-line-height-paragraph 1.8 L11957 / --am-font-weight-medium 500
 */

/* ---- D1 用户消息 [SHOT][PIL][HCSS .user-message / __column / __card] ---- */
.msg.user { display: flex; justify-content: flex-end; margin: 0; padding: 8px 0 28px; }
.msg.user + .msg.user { padding-top: 0; }                       /* 连续用户消息由 __column gap 8 承接 */
.msg.user .bubble {
  box-sizing: border-box;                                       /* 宿主 80% 作用于无 padding 的 __column，等价于 card 外框宽 ≤ 80% */
  max-width: 80%;                                               /* [PIL] 662/833=79.5% · [HCSS] __column max-width 80% */
  background: var(--am-gray-a3, #0000000d);                     /* [PIL] #efefef = gray-a3 叠 #fcfcfc · [HCSS] --color-gray-bg-tip */
  border-radius: var(--am-radius-16, 16px);                     /* [PIL] 14 行过渡 · [HCSS] --radius-16 */
  padding: 12px 16px;                                           /* [PIL] L16/R17，T/B 含半行距 · [HCSS] 12px 16px */
  font-size: var(--am-font-size-body, 14px);
  font-weight: var(--am-font-weight-medium, 500);               /* [HCSS] __text-container medium */
  line-height: var(--am-line-height-paragraph, 1.8);            /* [HCSS] --line-height-paragraph；14px → 25.2px，与 [PIL] T18 吻合 */
  color: var(--am-gray-12, #202020);                            /* [PIL] #1e1e1e–#212121 */
  white-space: pre-wrap; overflow-wrap: break-word; word-break: break-word;
  user-select: text;
}

/* ---- D2 助手回复 [SHOT][PIL] 字色 #202020 · 14px/24px · 段间 12 ---- */
.msg.assistant { margin-top: 8px; font-size: var(--am-font-size-body, 14px); line-height: 24px; color: var(--am-gray-12, #202020); user-select: text; }
.msg.user + .msg.assistant { margin-top: 0; }                   /* [PIL] 气泡底→首行 18 = .user 的 28 底距 − 半行距，不再叠 margin */
.msg.assistant .md-root > .md-p + .md-p,
.msg.assistant p + p { margin-top: 12px; }                      /* [PIL] 段 pitch 37 − 24 行高 ≈ 13 → 12（8px 网格） */
.msg.assistant .md-root .md-p { margin: 4px 0; }                /* [HCSS] p margin-block 4（markdown.css 同值，此处仅显式声明作用域） */

/* ---- D3 思考块折叠头 [SHOT y=508..519][PIL] 字色 #808080 ≈ gray-a11 · 下方 1px #efefef 分隔线 ---- */
.result-row.think-done { color: var(--am-gray-a11, #0000007d); }
.result-row.think-done svg { color: var(--am-gray-a11, #0000007d); }
.result-row.think-done:hover, .result-row.think-done:hover svg { color: var(--am-gray-12, #202020); }
/* 展开态底色【未取证】：保持 styles.css .result-body #f6f7f8 / Q6 .tt-think-body（N5 所有权），不在此覆盖 */

/* ── 第 27 轮 Q40 ①：思考块展开态取证 ──
 * [SHOT-Q40] ref/host-message-q40-20260922-180600.png（窗口「开发1 · Glass」，3x：ref/host-message-toolrow-3x.png）
 *   宿主当前 6 个 Glass 窗口均无处于**展开态**的思考块（q40 截图 y=608..625 为工具行图标+「已运行…」文案 #808080，
 *   y=724..740 为下一条折叠头 #808080；message-conv 截图 y=508..519 同为折叠头）。取证规则「只读、不点击宿主 UI」
 *   禁止我点开思考块 → **展开态正文底色 / padding / max-height 仍为【未取证】**，下面给 N5（Q28）的期望值全部来自宿主 CSS 而非像素：
 *   [HCSS L4542] .message-list-thinking-shell：
 *     · 无 background（继承 #fcfcfc，**非灰底**）；margin 8px 0 0（--spacing-2）；padding 0 0 0 20px（--spacing-5，与标题图标后文字对齐）
 *     · max-height 240px；overflow-y auto；color --thinking-part-fg = --color-gray-text-secondary = gray-a11 #0000007d
 *     · 字体 --dtcoder-font-family（非 mono）；font-size body 14px；line-height --line-height-heading 1.2；font-weight medium 500
 *     · [L4644] p margin-block 0；[L4651] h1–h6 margin 4px 0 2px；[L4659] ol/ul margin 2px 0；[L4666] li margin 0 0 1px
 *     · [L4695] 行内 code：color thinking-fg，bg --color-gray-control-fill-tag(gray-4 #e8e8e8)
 *   → 转 N5：.tt-think-body 建议 { margin: 8px 0 0; padding: 0 0 0 20px; background: transparent; max-height: 240px; overflow-y: auto;
 *     color: var(--am-gray-a11); font: 500 14px/1.2 var(--am-font-family); } —— 与现值（bg rgba(0,0,0,.05) / padding 8px 12px / radius 6 / lh 1.5）差异待其自证像素后定。
 *   折叠头字色实证：q40 y=724..740 暗像素众数 #808080/#868686 → gray-a11 ✓（与 message-conv 一致，本文件 D3 规则维持）
 * [PIL 复核 D1] q40 第二个用户气泡（单行）：bbox (837,659)-(1147,707) 311×49；底 #efefef ✓；内距 L18/R18/T19/B18 → 与 12px 16px + 半行距一致 ✓；右缘 1147 ✓ */
