/* 只展示真实等待阶段和工具工作记录，不展示模型隐藏推理。 */
.msg-progress{display:flex;align-items:center;gap:9px;min-height:32px;margin:0 0 12px;color:var(--ink-2);font-size:12px;line-height:1.6;min-width:0}
.msg-progress-label{min-width:0;overflow-wrap:anywhere}.msg-progress-time{flex:none;color:var(--ink-3);font-size:11px;font-variant-numeric:tabular-nums}
.msg-progress-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent-ink,var(--ink-2))}
.session-working{display:inline-flex;flex:none;color:var(--ink-2);margin-left:5px}.session-working svg{animation:work-progress-spin 1.5s linear infinite}
.sess-main:has(.session-working){display:flex;align-items:center;gap:5px}.sess-main:has(.session-working) .sess-title{flex:1;min-width:0}
@keyframes work-progress-spin{to{transform:rotate(360deg)}}
.steps .step-list{padding-top:8px}.steps .step{display:flex;align-items:flex-start;gap:9px}.steps .step-txt{flex:1;min-width:0}.steps .step-state{flex:none;font-size:10px;line-height:1.8;color:var(--ink-3);white-space:nowrap}
.steps .step[data-status="error"] .step-state,.step-ic[data-status="error"]{color:var(--bad-ink)}.step-ic[data-status="interrupted"]{color:var(--warn-ink,var(--ink-2))}
.msg-retry-note{font-size:12px;line-height:1.8;color:var(--ink-3);margin:12px 0;max-width:620px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.msg-progress-dot,.session-working svg{animation:none}}
