/* "I'm not a robot" box (sign-in and the website's contact form) */
.captcha { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; row-gap: 2px;
    border: 1.5px solid #d9e3f0; border-radius: 12px; padding: 10px 14px; background: #f7f9fc; }
.captcha-box { grid-row: span 2; width: 30px; height: 30px; border: 2px solid #8a98ad; border-radius: 7px; background: #fff; cursor: pointer; padding: 0; display: grid; place-items: center; }
.captcha-box:focus-visible { outline: 3px solid #c9ae4f; outline-offset: 2px; }
.captcha-text { font-weight: 600; font-size: .95rem; color: #0b2340; }
.captcha-note { font-size: .78rem; color: #6b7a90; }
.captcha[data-state="working"] .captcha-tick { width: 16px; height: 16px; border: 2.5px solid #d9e3f0; border-top-color: #0b2340; border-radius: 50%; animation: captcha-spin .8s linear infinite; }
.captcha[data-state="done"] .captcha-box { border-color: #1f7a4d; background: #1f7a4d; }
.captcha[data-state="done"] .captcha-tick { width: 12px; height: 7px; border: solid #fff; border-width: 0 0 3px 3px; transform: rotate(-45deg) translate(1px, -1px); }
.captcha[data-state="done"] .captcha-text { color: #1f7a4d; }
.captcha[data-state="error"] .captcha-text { color: #b3261e; }
.captcha-noscript, .captcha-err { display: block; color: #b3261e; font-size: .88rem; font-weight: 600; }
.captcha-noscript { grid-column: 1 / -1; }
@keyframes captcha-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .captcha[data-state="working"] .captcha-tick { animation-duration: 2.5s; } }
