.auth-captcha {
    margin-top: 20px;
    min-width: 0;
    font-size: 14px;
    --altcha-max-width: 100%;
    --altcha-color-base: #f9fafb;
    --altcha-color-base-content: #374151;
    --altcha-border-color: #d5d6d7;
    --altcha-color-neutral: #d5d6d7;
    --altcha-color-neutral-content: #4b5563;
    --altcha-color-primary: #7e3af2;
    --altcha-color-primary-content: #fff;
    --altcha-color-success: #047857;
    --altcha-color-success-content: #fff;
    --altcha-color-error: #dc2626;
    --altcha-checkbox-border-color: #9ca3af;
    --altcha-checkbox-outline-color: #7e3af2;
    --altcha-border-radius: 6px;
    --altcha-padding: 14px;
    --altcha-transition-duration: 150ms;
}
.auth-captcha altcha-widget { display: block; width: 100%; min-height: 50px; }
.auth-captcha altcha-widget:not(:defined) { display: none; }
.auth-captcha__status { padding: 14px; border: 1px solid #d5d6d7; border-radius: 6px; color: #6b7280; }
.auth-captcha__error { margin-top: 8px; color: #dc2626; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.auth-captcha [hidden] { display: none; }
.auth-captcha .altcha-checkbox svg polyline { stroke: var(--altcha-color-success-content); stroke-width: 2; fill: none; }
.auth-captcha .altcha-checkbox input:focus-visible { outline: 2px solid #7e3af2; outline-offset: 2px; }
.auth-account-notice { color: #1e40af; background: #eff6ff; border: 1px solid #bfdbfe; }
.theme-dark .auth-account-notice { color: #d1d5db; background: #24262d; border-color: #4b5563; }
.theme-dark .auth-account-notice svg { color: #cabffd; }
form:has([data-auth-captcha]) button[type=submit]:disabled { cursor: not-allowed; opacity: .55; }
.theme-dark .auth-captcha {
    --altcha-color-base: #374151;
    --altcha-color-base-content: #d1d5db;
    --altcha-border-color: #4b5563;
    --altcha-color-neutral: #4b5563;
    --altcha-color-neutral-content: #d1d5db;
    --altcha-checkbox-border-color: #9ca3af;
    --altcha-color-success: #34d399;
    --altcha-color-success-content: #064e3b;
    --altcha-color-error: #f87171;
}
.theme-dark .auth-captcha__status { border-color: #4b5563; color: #9ca3af; }
.theme-dark .auth-captcha__error { color: #f87171; }
@media (prefers-reduced-motion: reduce) { .auth-captcha { --altcha-transition-duration: 0ms; } }
