/* HTMX loading indicator */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-flex; }
.htmx-request.htmx-indicator { display: inline-flex; }

/* Spinner animation */
@keyframes spin {
    to { transform: rotate(360deg); }
}
.spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid #d1d5db;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

/* Prose styles for markdown-rendered answers */
.answer-prose h2 { font-size: 1.25rem; font-weight: 700; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.answer-prose h3 { font-size: 1.1rem; font-weight: 600; margin-top: 1.25rem; margin-bottom: 0.375rem; }
.answer-prose p { margin-bottom: 0.75rem; line-height: 1.7; }
.answer-prose ol, .answer-prose ul { margin-left: 1.5rem; margin-bottom: 0.75rem; }
.answer-prose ol { list-style-type: decimal; }
.answer-prose ul { list-style-type: disc; }
.answer-prose li { margin-bottom: 0.25rem; line-height: 1.6; }
.answer-prose code {
    background: #f3f4f6;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.875em;
}
.answer-prose pre {
    background: #f3f4f6;
    padding: 1rem;
    border-radius: 0.5rem;
    overflow-x: auto;
    margin-bottom: 0.75rem;
}
.answer-prose pre code { background: none; padding: 0; }
.answer-prose strong { font-weight: 600; }
.answer-prose table { border-collapse: collapse; width: 100%; margin-bottom: 0.75rem; }
.answer-prose th, .answer-prose td {
    border: 1px solid #e5e7eb;
    padding: 0.5rem 0.75rem;
    text-align: left;
}
.answer-prose th { background: #f9fafb; font-weight: 600; }

/* Confidence badges */
.badge-high { background-color: #dcfce7; color: #166534; }
.badge-medium { background-color: #fef9c3; color: #854d0e; }
.badge-low { background-color: #fee2e2; color: #991b1b; }
