.chat-container {
    height: calc(100vh - 180px);
}

.message-bubble {
    max-width: 85%;
    word-wrap: break-word;
}

.sidebar-item {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-item.active {
    background-color: #fff7ed;
    border-left: 4px solid #d97706;
}

.last-output-preview {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

@keyframes pulse-dot {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

.loading-dot {
    animation: pulse-dot 1.5s infinite;
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

.message-image {
    max-width: 100%;
    max-height: 300px;
    border-radius: 12px;
    margin-bottom: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}