body {
    background-color: #121212;
    color: #e0e0e0;
    font-family: Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: #ffffff;
}

.chat-window {
    background-color: #1e1e1e;
    border: 1px solid #333;
    color: #e0e0e0;
    padding: 10px;
    max-height: 500px;
    overflow-y: auto;
}

.chat-message.user {
    background-color: #333;
    text-align: right;
    color: #e0e0e0;
}

.chat-message.assistant {
    background-color: #2c2c2c;
    color: #e0e0e0;
}

.chat-input textarea {
    background-color: #1e1e1e;
    border: 1px solid #555;
    color: #e0e0e0;
    width: 100%;
    padding: 10px;
}

.chat-input button {
    background-color: #3a3a3a;
    color: #ffffff;
    border: none;
    padding: 10px;
    cursor: pointer;
    width: 100%;
}

.danger {
    color: #ff0000;
    border: #121212;
    display: block;
}

.chat-input button:hover {
    background-color: #4a4a4a;
}

.modal-content {
    background-color: #2c2c2c;
    color: #e0e0e0;
}

.modal-header, .modal-footer {
    border-color: #444;
}

.modal-body {
    background-color: #1e1e1e;
}

.form-control {
    background-color: #333;
    color: #e0e0e0;
    border: 1px solid #555;
}

.loading-dots::after {
    content: '...';
    animation: dots 1s steps(5, end) infinite;
}

@keyframes dots {
    0%, 20% {
        color: rgba(0,0,0,0);
        text-shadow:
            .25em 0 0 rgba(0,0,0,0),
            .5em 0 0 rgba(0,0,0,0);
    }
    40% {
        color: black;
        text-shadow:
            .25em 0 0 rgba(0,0,0,0),
            .5em 0 0 rgba(0,0,0,0);
    }
    60% {
        text-shadow:
            .25em 0 0 black,
            .5em 0 0 rgba(0,0,0,0);
    }
    80%, 100% {
        text-shadow:
            .25em 0 0 black,
            .5em 0 0 black;
    }
}