* { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

.msg-bubble { max-width: 72%; word-wrap: break-word; white-space: pre-wrap; }

.dialog-row.is-active { background-color: #f1f5f9; }

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
.status-dot--pending { animation: pulse-dot 1.2s ease-in-out infinite; }

@keyframes fade-in {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fade-in 0.15s ease-out; }
