/* Scrollbars */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Prose tweaks for markdown output */
.md-out { line-height: 1.65; font-size: 0.95rem; }
.md-out h1, .md-out h2, .md-out h3 { font-weight: 700; margin-top: 1rem; margin-bottom: 0.5rem; }
.md-out h1 { font-size: 1.4rem; }
.md-out h2 { font-size: 1.2rem; }
.md-out h3 { font-size: 1.05rem; }
.md-out p { margin-bottom: 0.65rem; }
.md-out ul, .md-out ol { padding-left: 1.4rem; margin-bottom: 0.65rem; }
.md-out ul { list-style: disc; }
.md-out ol { list-style: decimal; }
.md-out li { margin-bottom: 0.2rem; }
.md-out code {
  background: #eef2ff; color: #4338ca; padding: 0.1rem 0.35rem;
  border-radius: 4px; font-size: 0.85em;
}
.md-out pre {
  background: #0f172a; color: #e2e8f0; padding: 0.9rem; border-radius: 8px;
  overflow-x: auto; margin-bottom: 0.65rem; font-size: 0.85em;
}
.md-out pre code { background: transparent; color: inherit; padding: 0; }
.md-out a { color: #4f46e5; text-decoration: underline; }
.md-out blockquote {
  border-left: 3px solid #c7d2fe; padding: 0.2rem 0.8rem; color: #475569;
  margin-bottom: 0.65rem;
}
.md-out table { border-collapse: collapse; margin-bottom: 0.65rem; }
.md-out th, .md-out td { border: 1px solid #e2e8f0; padding: 0.4rem 0.6rem; }
.md-out th { background: #f1f5f9; }

/* Typing animation */
@keyframes blink { 0%, 80%, 100% { opacity: 0.2; } 40% { opacity: 1; } }
.typing-dot { display: inline-block; width: 6px; height: 6px; margin: 0 1px;
  border-radius: 50%; background: #64748b; animation: blink 1.2s infinite; }
.typing-dot:nth-child(2) { animation-delay: 0.15s; }
.typing-dot:nth-child(3) { animation-delay: 0.3s; }

/* Drag & drop area */
.drop-zone.dragover { background: #eef2ff; border-color: #6366f1; }
