.chat-turn {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    font-size: calc(var(--paragraph-size)*0.9);
}

.chat-question {
    align-self: flex-start;
    max-width: 75%;
    background: var(--bs-secondary-bg, #e9ecef);
    border-radius: 1rem 1rem 1rem 0;
    padding: 0.5rem 1rem;
}

.chat-question .section {
    margin: 0;
    cursor: pointer;
}
.chat-answer {
    align-self: flex-end;
    max-width: 85%;
    background: var(--bs-primary-bg-subtle, #cfe2ff);
    border-radius: 1rem 1rem 0 1rem;
    padding: 0.5rem 1rem;
}

.aiAnswer h1{
    font-size: 1.4rem;
}
.aiAnswer h5 {
    font-size: calc(var(--paragraph-size)*0.9);
}
.aiAnswer h4 {
    font-size: calc(var(--paragraph-size)*0.9);
}
.aiAnswer h3 {
    font-size: calc(var(--paragraph-size)*0.9);
}
.aiAnswer h2 {
    font-size: calc(var(--paragraph-size)*1.0);
}
.aiAnswer h1 {
    font-size: calc(var(--paragraph-size)*1.1);
}
/*.aiAnswer {*/
/*    font-size: calc(var(--paragraph-size)*0.9);*/
/*}*/
.aiAnswer pre {
    font-size: 0;
    height: 2rem;
    overflow: hidden;
    margin: 0.3rem 0;
}
/*.aiAnswer {*/
/*    line-height: 1.4;*/
/*}*/
.aiAnswer p {
    padding: 0;
    margin-top: 2px;
    margin-bottom: 2px;
}

.typing-indicator {
    display: inline-flex;
    gap: 0.25rem;
    margin-top: 0.3rem;
}

.typing-indicator span {
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background-color: currentColor;
    opacity: 0.4;
    animation: typing-dot-bounce 1.2s infinite ease-in-out;
}

.typing-indicator span:nth-child(2) {
    animation-delay: 0.2s;
}

.typing-indicator span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typing-dot-bounce {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.4;
    }
    40% {
        transform: translateY(-0.25rem);
        opacity: 1;
    }
}