.sms-captcha { box-sizing:border-box; position:fixed; inset:0; margin:auto; height:fit-content; width:min(380px,calc(100vw - 32px)); padding:24px; border:0; border-radius:16px; color:var(--text-color); background:var(--surface-color); box-shadow:0 24px 80px rgba(var(--ink-rgb), .25); max-height:calc(100dvh - 32px); overflow:auto; }
.sms-captcha::backdrop { background:rgba(var(--ink-rgb), .5); }
.sms-captcha-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sms-captcha-heading h2 { margin:0; font-size:20px; line-height:1.4; }
.sms-captcha button { font:inherit; cursor:pointer; }
.sms-captcha-close { width:44px; height:44px; flex-shrink:0; border:0; border-radius:8px; background:var(--primary-light); color:var(--primary-color); font-size:28px!important; }
#sms-captcha-help { margin:8px 0 18px; font-size:14px; line-height:1.6; color:var(--text-color); }
.sms-captcha-image { position:relative; aspect-ratio:300/180; width:100%; background:var(--surface-muted); overflow:hidden; border-radius:8px; }
.sms-captcha-bg { display:block; width:100%; height:100%; }
.sms-captcha-tile { position:absolute; object-fit:fill; }
.sms-captcha-image.is-loading img { visibility:hidden; }
.sms-captcha-slider { appearance:none; -webkit-appearance:none; display:block; box-sizing:border-box; width:100%; margin:20px 0 12px; height:48px; border:1px solid var(--primary-light); border-radius:12px; background:var(--primary-light); cursor:grab; touch-action:none; }
.sms-captcha-slider::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:44px; height:44px; border-radius:10px; background:var(--primary-color); border:3px solid var(--surface-color); box-shadow:0 2px 5px rgba(var(--ink-rgb), .2); }
.sms-captcha-slider::-moz-range-thumb { width:38px; height:38px; border-radius:10px; background:var(--primary-color); border:3px solid var(--surface-color); }
.sms-captcha-slider:active { cursor:grabbing; }
.sms-captcha-status { min-height:44px; margin:0 0 8px; font-size:14px; line-height:1.6; color:var(--text-color); }
.sms-captcha-status.is-error { color:var(--error-text); }
.sms-captcha-refresh { width:100%; min-height:44px; border:1px solid var(--primary-light); border-radius:8px; background:var(--primary-light); color:var(--primary-color); }
.sms-captcha :focus-visible { outline:3px solid var(--primary-color); outline-offset:3px; }
.sms-captcha :disabled { cursor:wait; }
@media(max-width:400px) { .sms-captcha { padding:20px; } }

.sms-captcha-close:hover, .sms-captcha-refresh:hover { background:var(--secondary-hover); }
.sms-captcha :disabled { background:var(--disabled-bg); color:var(--disabled-text); opacity:1; }
