#captcha-dialog { box-sizing:border-box; width:min(408px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid #dbe6f0; border-radius:20px; background:#fff; color:#18334e; box-shadow:0 24px 80px rgb(10 38 64 / 22%); overflow:auto; }
#captcha-dialog::backdrop { background:rgb(13 32 53 / 50%); backdrop-filter:blur(3px); }
.captcha-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.captcha-eyebrow { color:#456680; font-size:12px; letter-spacing:.12em; }
#captcha-title { margin:4px 0 0; font-size:21px; line-height:1.4; }
#captcha-close { flex:none; width:44px; height:44px; border:0; border-radius:12px; font-size:28px; line-height:1; color:#476077; background:#f0f5f9; cursor:pointer; }
#captcha-instructions { margin:16px 0; color:#51677d; font-size:14px; line-height:1.65; }
.captcha-box { display:grid; gap:12px; padding:12px; background:#f4f8fc; border:1px solid #dbe6ef; border-radius:14px; min-width:0; }
.captcha-picture { position:relative; width:100%; aspect-ratio:320/180; overflow:hidden; border-radius:9px; }
#captcha-background { display:block; width:100%; height:100%; pointer-events:none; }
#captcha-tile { position:absolute; pointer-events:none; }
.captcha-box label { font-size:13px; color:#36536f; font-weight:600; }
#captcha-slider { box-sizing:border-box; width:100%; padding:0; min-height:44px; margin:0; accent-color:#168bd4; cursor:ew-resize; touch-action:pan-y; }
#captcha-status { min-height:44px; margin:14px 0; font-size:13px; line-height:1.65; color:#415d74; overflow-wrap:anywhere; }
.captcha-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.captcha-actions button { min-height:44px; padding:10px 14px; border-radius:10px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
#captcha-refresh { color:#216894; border:1px solid #cddfec; background:#f5f9fc; }
#captcha-confirm { color:#fff; border:1px solid #087ebc; background:#087ebc; }
#captcha-dialog button:disabled { opacity:.5; cursor:default; }
#captcha-dialog :is(button,input,a):focus-visible { outline:3px solid #168bd4; outline-offset:3px; }
#captcha-login-link { color:#216894; font-size:14px; margin-top:14px; }
#captcha-dialog [hidden] { display:none; }
@media(max-width:400px) { #captcha-dialog { padding:20px; } #captcha-title { font-size:19px; } }
@media(prefers-reduced-motion:reduce) { #captcha-dialog::backdrop { backdrop-filter:none; } }
