/* TEIBOS layer over LibreChat v0.8.7 (linked from branding/dist/index.html).
   The TEIBOS ring on the latest reply spins until that reply is done. Two hooks, measured 2026-09-15:
   - .submitting sits inside the latest assistant message while it thinks or streams text;
   - during MCP tool calls .submitting is gone, but the composer shows the stop button for the whole run
     and the latest message node is the last child of the message list. */
@keyframes teibos-ring-spin {
  to { transform: rotate(360deg); }
}

.message-render:has(.submitting) img[src$="teibos-ring.svg"],
body:has([data-testid="stop-generation-button"]) .text-token-text-primary:last-child .message-render img[src$="teibos-ring.svg"] {
  animation: teibos-ring-spin 1.1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .message-render:has(.submitting) img[src$="teibos-ring.svg"],
  body:has([data-testid="stop-generation-button"]) .text-token-text-primary:last-child .message-render img[src$="teibos-ring.svg"] {
    animation-duration: 3s;
  }
}
