.altcha-shell altcha-widget,
altcha-widget {
    --altcha-max-width: 100%;
    --altcha-border-radius: 8px;
    --altcha-border-color: var(--line, #d8e0ec);
    --altcha-checkbox-border-color: var(--field-line, #cfd9e8);
    --altcha-checkbox-outline-color: var(--brand, #1377f8);
    --altcha-color-base: var(--surface-soft, #f8fafc);
    --altcha-color-base-content: var(--ink, #172033);
    --altcha-color-neutral: var(--line, #d8e0ec);
    --altcha-color-neutral-content: var(--ink-muted, #5d6a80);
    --altcha-color-primary: var(--brand, #1377f8);
    --altcha-color-primary-content: #ffffff;
    --altcha-color-success: #16a34a;
    --altcha-color-success-content: #ffffff;
    --altcha-color-error: #e53e5c;
    --altcha-color-error-content: #ffffff;
    --altcha-input-background-color: var(--field, #ffffff);
    --altcha-input-color: var(--ink, #172033);
    --altcha-spinner-color: var(--ink, #172033);
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 70px;
    box-sizing: border-box;
    flex: 1 1 100%;
    color-scheme: light;
}

[data-theme="dark"] altcha-widget,
altcha-widget[theme="dark"] {
    --altcha-border-color: #52627a;
    --altcha-checkbox-border-color: #71809a;
    --altcha-checkbox-outline-color: #60a5fa;
    --altcha-color-base: #101722;
    --altcha-color-base-content: #f4f7fb;
    --altcha-color-neutral: #52627a;
    --altcha-color-neutral-content: #d5dbea;
    --altcha-color-primary: #2387ff;
    --altcha-color-primary-content: #ffffff;
    --altcha-color-success: #16a34a;
    --altcha-color-success-content: #ffffff;
    --altcha-color-error: #f04463;
    --altcha-color-error-content: #ffffff;
    --altcha-input-background-color: #101722;
    --altcha-input-color: #f4f7fb;
    --altcha-spinner-color: #f4f7fb;
    color-scheme: dark;
}

.altcha-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-inline: auto;
}

.altcha-recovery {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 12px;
    color: #aebbd0;
    font-size: 0.875rem;
    line-height: 1.45;
    text-align: center;
}

.altcha-recovery[hidden] {
    display: none !important;
}

.altcha-recovery button {
    display: block;
    margin: 10px auto 0;
    min-height: 38px;
    padding: 8px 16px;
    border: 1px solid rgba(96, 165, 250, 0.55);
    border-radius: 9px;
    background: rgba(37, 99, 235, 0.14);
    color: #8fc3ff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.altcha-recovery button:hover,
.altcha-recovery button:focus-visible {
    border-color: #60a5fa;
    background: rgba(37, 99, 235, 0.24);
    outline: none;
}

@media (max-width: 640px) {
    .altcha-shell {
        max-width: 100%;
    }

    .altcha-recovery button {
        width: 100%;
    }
}
