/* Response body styling, carried over from the Flask app so answers render
   identically: tables keep their alignment, code and verse quotes keep their
   treatment, and dark mode is handled. */
.response-content { font-size: 0.95rem; line-height: 1.7; }
.response-content p { margin: 0.6em 0; }
.response-content h1, .response-content h2, .response-content h3 { font-weight: 700; margin: 1em 0 0.4em; }
.response-content ul, .response-content ol { margin: 0.6em 0; padding-left: 1.4em; }
.response-content li { margin: 0.25em 0; }
.response-content code {
    padding: 2px 6px; font-family: ui-monospace, 'Courier New', monospace;
    background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 4px;
}
.response-content pre { background: #0f172a; border-radius: 8px; padding: 1rem; overflow-x: auto; }
.response-content pre code { background: transparent; border: none; color: #aed581; }
.response-content blockquote {
    border-left: 3px solid #06b6d4; padding-left: 0.9em; margin: 0.8em 0;
    font-size: 0.92em; background: rgba(255, 255, 255, 0.65);
}

/* Wide tables scroll inside their own box rather than breaking the page. */
.response-content table { width: 100%; border-collapse: collapse; margin: 0.9em 0; display: block; overflow-x: auto; }
.response-content th, .response-content td { border: 1px solid #cbd5e1; padding: 0.45em 0.6em; }
.response-content th { font-weight: 600; background: rgba(33, 150, 243, 0.08); }

@media (prefers-color-scheme: dark) {
    .response-content code { background: #1e293b; border-color: #334155; color: #fca5a5; }
    .response-content blockquote { background: rgba(30, 41, 59, 0.6); }
    .response-content th, .response-content td { border-color: #475569; }
    .response-content th { background: rgba(59, 130, 246, 0.18); }
}

.source-link {
    display: inline-block; padding: 2px 8px; border-radius: 999px;
    border: 1px solid #bae6fd; background: rgba(255, 255, 255, 0.9);
    color: #0369a1; text-decoration: none; transition: background 0.15s ease;
}
.source-link:hover { background: #0369a1; color: #fff; border-color: #0369a1; }
@media (prefers-color-scheme: dark) {
    .source-link { background: rgba(30, 41, 59, 0.9); border-color: #475569; color: #93c5fd; }
    .source-link:hover { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }
}

/* An interrupted answer must never read as a finished one. */
.incomplete-notice {
    margin-top: 0.6rem; padding: 0.45rem 0.7rem; border-radius: 0.5rem;
    font-size: 0.78rem; font-weight: 600;
    color: #92400e; background: #fef3c7; border: 1px solid #fcd34d;
}
@media (prefers-color-scheme: dark) {
    .incomplete-notice { color: #fde68a; background: rgba(120, 53, 15, 0.35); border-color: #b45309; }
}

#conv-list::-webkit-scrollbar { width: 8px; }
#conv-list::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 4px; }
@media (prefers-color-scheme: dark) { #conv-list::-webkit-scrollbar-thumb { background: #475569; } }

@media print {
    #conv-sidebar, #conv-backdrop, #conv-toggle, header, footer { display: none !important; }
    body { background: #fff !important; color: #000 !important; }
}
