/* catchup.css: Catch me up (catchup.js), a strip under the chat's header like the shared chat's (branch.css). Tokens only. */
.catchup { border-bottom: var(--sv-hairline-w) solid var(--sv-hairline); color: var(--sv-ink-secondary); font-size: var(--ui-meta); line-height: 1.4; }
.catchup[hidden] { display: none; }
.catchup-bar { display: flex; align-items: center; gap: var(--sv-space-2); padding: var(--sv-space-2) var(--sv-space-5); }
.catchup-bar > .icon { flex: none; width: 16px; height: 16px; }
.catchup-text { flex: 1; min-width: 0; }
button.catchup-go { flex: none; min-height: 32px; color: var(--sv-ink); }
button.catchup-close { flex: none; min-width: 32px; min-height: 32px; justify-content: center; }
.catchup-summary, .catchup-none { max-height: 40vh; overflow-y: auto; margin: 0; padding: 0 var(--sv-space-5) var(--sv-space-3); color: var(--sv-ink); font-size: var(--ui-text); }
.catchup-summary > :first-child { margin-top: 0; }
.catchup-summary > :last-child { margin-bottom: 0; }
.catchup[aria-busy="true"] .catchup-text { animation: sv-breathe 1.6s ease-in-out infinite; }
@media (max-width: 760px) {
  .catchup-bar { padding: var(--sv-space-2) var(--sv-space-4); flex-wrap: wrap; }
  .catchup-summary, .catchup-none { padding: 0 var(--sv-space-4) var(--sv-space-3); }
  button.catchup-go, button.catchup-close { min-height: 44px; }
  button.catchup-close { min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) { .catchup[aria-busy="true"] .catchup-text { animation: none; } }
