.captcha-field { display:grid; gap:8px; margin-block:16px; min-width:0; }
.captcha-challenge { display:flex; align-items:stretch; gap:10px; width:100%; }
.captcha-challenge img { width:240px; max-width:calc(100% - 66px); height:80px; object-fit:cover; border:1px solid var(--ax-border); border-radius:8px; }
.captcha-refresh { display:inline-flex; align-items:center; justify-content:center; flex:0 0 56px; width:56px; height:80px; padding:0; border:1px solid var(--ax-border-strong); border-radius:8px; background:var(--ax-surface-solid); color:var(--ax-text-strong); cursor:pointer; }
.captcha-refresh:hover { border-color:var(--ax-accent); background:var(--ax-fill-hover); color:var(--ax-accent); }
.captcha-refresh:focus-visible { outline:3px solid var(--ax-focus-ring); outline-offset:2px; }
.captcha-refresh svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.captcha-refresh:disabled { opacity:.6; cursor:wait; }
.captcha-field small,.captcha-hint { color:var(--ax-text-muted); font-size:12px; }
.captcha-field input { width:100%; min-height:44px; padding:10px; border:1px solid var(--ax-border-strong); border-radius:8px; background:var(--ax-surface-solid); color:var(--ax-text-strong); letter-spacing:.15em; }

