#components-reconnect-modal {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    padding: 0;
    max-width: 400px;
    background-color: white;
}

#components-reconnect-modal::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

.components-reconnect-container {
    padding: 32px;
    text-align: center;
}

.components-rejoining-animation {
    display: inline-flex;
    gap: 12px;
    margin-bottom: 20px;
}

.components-rejoining-animation > div {
    width: 16px;
    height: 16px;
    background-color: #333e5b;
    border-radius: 50%;
    animation: bounce 1.4s infinite ease-in-out both;
}

.components-rejoining-animation > div:nth-child(1) {
    animation-delay: -0.32s;
}

.components-rejoining-animation > div:nth-child(2) {
    animation-delay: -0.16s;
}

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0);
    }
    40% {
        transform: scale(1);
    }
}

.components-reconnect-container p {
    margin: 16px 0;
    font-size: 16px;
    color: #333;
    line-height: 1.5;
}

.components-reconnect-container button {
    background-color: #333e5b;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 16px;
    transition: background-color 0.2s;
}

.components-reconnect-container button:hover {
    background-color: #4a5570;
}

.components-reconnect-container button:active {
    background-color: #282f3d;
}

/* Sichtbarkeits-Klassen */
.components-reconnect-first-attempt-visible,
.components-reconnect-repeated-attempt-visible,
.components-reconnect-failed-visible,
.components-pause-visible,
.components-resume-failed-visible {
    display: none;
}

#components-reconnect-modal[data-reconnect-state="first-attempt"] .components-reconnect-first-attempt-visible {
    display: block;
}

#components-reconnect-modal[data-reconnect-state="repeated-attempt"] .components-reconnect-repeated-attempt-visible {
    display: block;
}

#components-reconnect-modal[data-reconnect-state="failed"] .components-reconnect-failed-visible {
    display: block;
}

#components-reconnect-modal[data-reconnect-state="failed"] .components-rejoining-animation {
    display: none;
}

#components-reconnect-modal[data-reconnect-state="paused"] .components-pause-visible {
    display: block;
}

#components-reconnect-modal[data-reconnect-state="resume-failed"] .components-resume-failed-visible {
    display: block;
}

#components-reconnect-modal[data-reconnect-state="paused"] .components-rejoining-animation,
#components-reconnect-modal[data-reconnect-state="resume-failed"] .components-rejoining-animation {
    display: none;
}
