/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Markdown prose styles */
.prose pre { background-color: #0d1117; border-radius: 0.5rem; padding: 0.75rem 1rem; position: relative; margin: 0.75rem 0; border: 1px solid #30363d; }
.prose code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.875rem; }
.prose p { margin-bottom: 0.75rem; line-height: 1.625; }
.prose p:last-child { margin-bottom: 0; }
.prose ul, .prose ol { margin-left: 1.25rem; margin-bottom: 0.75rem; }
.prose ul { list-style-type: disc; }
.prose ol { list-style-type: decimal; }
.prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.875rem; }
.prose th, .prose td { border: 1px solid #334155; padding: 0.5rem 0.75rem; text-align: left; }
.prose th { background-color: #1e293b; font-weight: 600; }
.prose blockquote { border-left: 4px solid #6366f1; padding-left: 1rem; color: #94a3b8; font-style: italic; margin: 0.75rem 0; }

/* Blinking Cursor for Streaming */
.streaming-cursor::after {
  content: '▋';
  display: inline-block;
  vertical-align: baseline;
  animation: blink 1s step-end infinite;
  color: #818cf8;
  margin-left: 2px;
}
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* Code Copy Button */
.copy-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid #475569;
  border-radius: 0.25rem;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s;
}
.copy-btn:hover {
  background: #4f46e5;
  color: #ffffff;
  border-color: #6366f1;
}
