.form-captcha { margin:1rem 0; min-width:0; }
.form-captcha-widget { display:flex; justify-content:center; width:100%; }
.form-captcha .form-captcha-status { margin:.5rem 0; font-size:.8125rem; }
.form-captcha-status:empty { display:none; }
.form-captcha .text-button { font-size:.8125rem; padding:.5rem 0; }
.captcha-image-content { width:100%; min-width:0; }
.captcha-image-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:2px 10px; margin-bottom:7px; }
.captcha-answer-label { font-size:.8125rem; }
.captcha-refresh { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:32px; padding:4px 0 4px 6px; border:0; border-radius:2px; color:var(--wine,#682c3d); background:transparent; font:inherit; font-size:.75rem; cursor:pointer; }
.captcha-refresh svg { display:block; flex-shrink:0; width:18px; height:18px; stroke-width:2; }
.captcha-refresh:hover:not(:disabled) span { text-decoration:underline; text-underline-offset:3px; }
.captcha-refresh:focus-visible { outline:2px solid var(--wine,#682c3d); outline-offset:3px; }
.captcha-refresh:disabled { opacity:.45; cursor:wait; }
.captcha-code-box { display:grid; gap:10px; }
.captcha-image-row { display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:10px; background:#272329; }
.captcha-image-row img { display:block; width:100%; max-width:264px; height:64px; object-fit:contain; }
.captcha-answer-input { display:block; box-sizing:border-box; width:100%; min-width:0; height:38px; padding:8px 12px; border:1px solid var(--line,#dacbc5); border-radius:10px; background:#fff; color:var(--ink,#30272a); font:inherit; font-size:.875rem; letter-spacing:.16em; text-align:center; }
.captcha-answer-input::placeholder { font-size:.8125rem; letter-spacing:normal; color:var(--muted,#766d69); }
.captcha-code-box .captcha-answer-input:focus-visible,.captcha-code-box .captcha-answer-input:focus { outline:none; border-color:#8f8991; box-shadow:0 0 0 1px #8f8991; }
.form-captcha.is-image { width:100%; max-width:260px; margin:1.25rem auto; }
.form-captcha.is-image .form-captcha-status { margin:7px 0 0; color:var(--muted,#766d69); font-size:.75rem; text-align:center; }
.form-captcha.is-image>.text-button { margin-top:4px; }
@media(max-width:400px) { .captcha-refresh-detail { display:none; } }
