.human-captcha-dialog { box-sizing: border-box; width: min(380px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 22px; border: 1px solid #d8e3ed; border-radius: 16px; color: #243b50; background: #fff; box-shadow: 0 20px 70px #162b4d40; overflow: auto; }
.human-captcha-dialog::backdrop { background: #15283e88; }
.human-captcha-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.human-captcha-dialog h2 { margin: 0; font-size: 20px; }
.human-captcha-dialog p { margin: 12px 0; font-size: 14px; line-height: 1.6; }
.human-captcha-dialog img { display: block; max-width: 100%; height: auto; margin: 16px auto 10px; border-radius: 8px; }
.human-captcha-dialog img[hidden], .human-captcha-dialog audio[hidden] { display: none; }
.human-captcha-dialog button { min-height: 44px; padding: 8px 12px; border: 1px solid #b7cde0; border-radius: 8px; color: #245d8f; background: #f5f9fc; font: inherit; cursor: pointer; }
.human-captcha-dialog button:disabled { opacity: .5; cursor: wait; }
.human-captcha-dialog .human-captcha-close { min-width: 44px; font-size: 24px; }
.human-captcha-tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.human-captcha-tools button { font-size: 14px; }
.human-captcha-dialog audio { width: 100%; margin-bottom: 14px; }
.human-captcha-dialog label { display: grid; gap: 7px; font-size: 14px; }
.human-captcha-dialog input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #a7bfd3; border-radius: 8px; font-size: 22px; letter-spacing: 5px; color: #243b50; background: #fff; }
.human-captcha-dialog .human-captcha-confirm { width: 100%; color: #fff; background: #2476c8; border-color: #2476c8; }
.human-captcha-dialog :focus-visible { outline: 3px solid #70a8df; outline-offset: 2px; }
