.turn-timeline { margin:14px 0; min-width:0; }
.activity-group { margin:12px 0 18px; color:#939393; font-size:var(--chat-font-size); line-height:var(--chat-line-height); }
.activity-group > summary { cursor:pointer; padding:5px 0 12px; margin-bottom:12px; border-bottom:1px solid #303030; display:flex; align-items:center; gap:5px; list-style:none; }
.activity-group > summary::-webkit-details-marker, .activity-item > summary::-webkit-details-marker { display:none; }
.activity-caret { opacity:.75; transform:rotate(-90deg); transition:transform 120ms,opacity 120ms; }
.activity-group[open] > summary .activity-caret { transform:rotate(0deg); }
.activity-group > summary:hover .activity-caret, .activity-group > summary:focus-visible .activity-caret { opacity:1; }
.activity-label { flex:0 0 auto; white-space:nowrap; }
.activity-group > summary:hover { color:#ddd; }
.activity-item { margin:7px 0; min-width:0; }
.activity-item > summary { cursor:pointer; display:flex; align-items:center; gap:8px; padding:6px 0; color:#999; }
.activity-item > summary::before { content:'›'; flex:0 0 10px; transition:transform 120ms; }
.activity-item[open] > summary::before { transform:rotate(90deg); }
.activity-item > summary:hover, .activity-item > summary.active { color:#ccc; }
.activity-item > summary .codex-icon { display:inline-flex; flex:0 0 18px; }
.activity-short { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.activity-shell { border:1px solid #444; background:#2b2b2b; border-radius:12px; padding:12px; margin:6px 0 10px; color:#ccc; min-width:0; }
.activity-shell-title { color:#999; margin-bottom:12px; font-size:13px; }
.activity-shell pre { background:transparent; margin:0; padding:0; border:0; font:12px/1.6 var(--monospace-font-family); overflow:auto; max-height:420px; white-space:pre-wrap; overflow-wrap:anywhere; }
.activity-result { font-size:12px; padding:3px 12px; color:#999; }
.activity-restore { background:#333; color:#bbb; border:0; border-radius:8px; padding:8px 10px; font-size:12px; }
.task-progress[role=button] { cursor:pointer; }
.timeline-message { color:var(--text); margin:12px 0 18px; font-size:var(--chat-font-size); line-height:var(--chat-line-height); }
.timeline-message p { margin:8px 0; }
.message-body code, .timeline-message code { font-family:var(--monospace-font-family); }
.message.assistant > .message-role { display:none; }
.activity-group > summary.active .activity-label, .activity-item > summary.active .activity-label {
  color:transparent;
  background:linear-gradient(100deg, #747474 0 36%, #d0d0d0 48% 52%, #747474 64% 100%);
  background-size:240% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  animation:task-progress-shimmer 2.2s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .activity-group > summary.active .activity-label, .activity-item > summary.active .activity-label { color:#939393; background:none; animation:none; }
}
.task-state-indicator { display:inline-block; width:10px; height:10px; border-radius:50%; flex:0 0 auto; }
.task-state-indicator.busy { width:13px; height:13px; border:2px solid #777; border-top-color:#ddd; animation:task-state-spin 900ms linear infinite; }
.task-state-indicator.completed { background:#69aaff; }
.task-state-indicator.failed { background:#ed7777; }
.task-state-indicator.cancelled { border:1px solid #777; }
#taskStatus, .conversation-item > span { display:flex; align-items:center; gap:8px; }
.conversation-row .conversation-item:has(> span[data-task-state]) { display:flex; align-items:center; gap:12px; padding-right:40px; }
.conversation-row .conversation-item:has(> span[data-task-state]) > strong { flex:1; min-width:0; }
.conversation-row .conversation-item > span[data-task-state] { flex:0 0 auto; margin-top:0; }
.conversation-row .conversation-item > span[data-task-state] > span { margin-top:0; }
@keyframes task-state-spin { to { transform:rotate(360deg); } }
