/* Compact research progress: one status line with the current action; details are folded away. Loaded after research-chat.css. */
.research-chat { margin: .6rem 0; padding: .65rem .9rem; }
.research-chat > h3:first-child { display: none; }
.research-chat-status { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: .95rem; font-weight: 500; line-height: 1.5; }
.research-chat.is-running .research-chat-status::before {
  content: ""; flex: none; width: .9rem; height: .9rem; border-radius: 50%;
  border: 2px solid var(--border-strong, #a1a1aa); border-top-color: #4f6df0; animation: zl-research-spin .8s linear infinite;
}
@keyframes zl-research-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .research-chat.is-running .research-chat-status::before { animation: none; border-top-color: var(--border-strong, #a1a1aa); } }
.research-chat > details { margin: .35rem 0 0; }
.research-chat > details > summary { display: inline-block; font-size: .8rem; color: var(--text-muted, #71717a); }
.research-chat > details[open] > summary { margin-bottom: .4rem; }
.research-chat > details ol { max-height: 12rem; font-size: .85rem; }
.research-chat-actions { margin-top: .5rem; }
.research-chat-actions button { padding: .3rem .7rem; font-size: .85rem; }
.research-chat-report h3 { margin-top: .4rem; }
/* While research runs: no planner warnings, and the assistant's opening sentence ("I'll research this request...") is folded away.
   The warnings and limitations are listed in the finished report. */
.research-chat.is-running .research-chat-warning { display: none; }
.msg-body:has(> .research-chat) > .msg-content { display: none; }
