.chat-bubble p {
    margin-bottom: 1rem;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.chat-bubble p:last-child {
    margin-bottom: 0;
}
  
.chat-bubble ol {
    list-style-type: decimal;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}
  
.chat-bubble ul {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}
  
.chat-bubble li {
    margin-bottom: 0.5rem;
}
  
.chat-bubble pre {
    background-color: #f3f4f6; /* Tailwind's gray-100 */
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    overflow-x: auto;
    font-family: 'Fira Code', monospace;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
  
.chat-bubble code {
    background-color: #f3f4f6;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
    font-family: 'Fira Code', monospace;
    font-size: 0.95em;
}
  
.chat-bubble pre code {
    padding: 0;
    background: none;
}
  
.chat-bubble blockquote {
    border-left: 4px solid #d1d5db; /* Tailwind's gray-300 */
    padding-left: 1rem;
    color: #6b7280; /* Tailwind's gray-500 */
    margin-bottom: 1rem;
    font-style: italic;
}
  
.chat-bubble h1,
.chat-bubble h2,
.chat-bubble h3,
.chat-bubble h4,
.chat-bubble h5,
.chat-bubble h6 {
    font-weight: 600;
    margin-bottom: 0.75rem;
    margin-top: 1rem;
}
  
.chat-bubble h1 { font-size: 1.5rem; }
.chat-bubble h2 { font-size: 1.25rem; }
.chat-bubble h3 { font-size: 1.125rem; }
.chat-bubble h4 { font-size: 1rem; }
.chat-bubble h5 { font-size: 0.875rem; }
.chat-bubble h6 { font-size: 0.75rem; }
  
.chat-bubble table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}
  
.chat-bubble th,
.chat-bubble td {
    border: 1px solid #d1d5db;
    padding: 0.5rem;
    text-align: left;
}
  
.chat-bubble th {
    background-color: #f3f4f6;
    font-weight: 600;
}