.prose ul { list-style-type: disc !important; padding-left: 1.5em !important; margin-bottom: 1.5em !important; }
.prose ol { list-style-type: decimal !important; padding-left: 1.5em !important; margin-bottom: 1.5em !important; }
.prose li { margin-bottom: 0.5em !important; }
.prose p { margin-bottom: 1.25em !important; line-height: 1.6 !important; }
.prose p:last-child { margin-bottom: 0 !important; }
.prose hr { border-top: 1px solid rgba(156, 163, 175, 0.3) !important; margin: 1.5em 0 !important; }
.prose strong { color: inherit !important; font-weight: 700 !important; }
.dark .prose { color: #d1d5db !important; }
.dark .prose h1, .dark .prose h2, .dark .prose h3, .dark .prose h4, .dark .prose strong { color: #f3f4f6 !important; }
.dark .prose blockquote { color: #9ca3af !important; border-left-color: #4b5563 !important; }
.dark .prose code { color: #f3f4f6 !important; background-color: #374151 !important; }
#chat-messages::-webkit-scrollbar { width: 5px; }
#chat-messages::-webkit-scrollbar-track { background: transparent; }
#chat-messages::-webkit-scrollbar-thumb { background: rgba(156, 163, 175, 0.3); border-radius: 20px; }
#chat-messages::-webkit-scrollbar-thumb:hover { background: rgba(156, 163, 175, 0.5); }
#chat-messages { scrollbar-width: thin; scrollbar-color: rgba(156, 163, 175, 0.3) transparent; }

/* Character Creation Pipeline */
#creation-pipeline {
    margin: 1.5rem 0 0.5rem;
    padding: 1rem 1.25rem;
    background: rgba(243, 244, 246, 0.7);
    border: 1px dashed rgba(156, 163, 175, 0.4);
    border-radius: 0.75rem;
    backdrop-filter: blur(4px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.dark #creation-pipeline {
    background: rgba(31, 41, 55, 0.7);
    border-color: rgba(75, 85, 99, 0.5);
}

.pipeline-step {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.375rem 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #6b7280;
    transition: all 0.3s ease;
}

.dark .pipeline-step {
    color: #9ca3af;
}

.pipeline-step.completed {
    color: #059669;
}

.dark .pipeline-step.completed {
    color: #34d399;
}

.pipeline-step.active {
    color: #2563eb;
}

.dark .pipeline-step.active {
    color: #60a5fa;
}

.pipeline-step.failed {
    color: #dc2626;
}

.dark .pipeline-step.failed {
    color: #f87171;
}

.pipeline-step .step-status {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
}

/* Streaming cursor - blue and slowly flashing */
.streaming-cursor {
    display: inline-block;
    color: #3b82f6;
    font-weight: 300;
    font-size: 1.2em;
    line-height: 1;
    margin-left: 2px;
    animation: cursor-flash 1.2s ease-in-out infinite;
    vertical-align: baseline;
}

.dark .streaming-cursor {
    color: #60a5fa;
}

@keyframes cursor-flash {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.3;
    }
}
