.pow-captcha {
    margin: .75rem 0;
    padding: .7rem .9rem;
    border: 1px solid rgba(128, 128, 128, .5);
    border-radius: 6px;
    font-size: 1rem;
    text-align: left;
}
.pow-captcha .pow-captcha-box {
    display: flex;
    align-items: center;
    gap: .75rem;
    cursor: pointer;
    user-select: none;
    outline: none;
}
.pow-captcha .pow-captcha-box:focus-visible .pow-captcha-tick {
    box-shadow: 0 0 0 3px rgba(55, 190, 255, .5);
}
.pow-captcha .pow-captcha-tick {
    position: relative;
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-radius: 4px;
    opacity: .8;
}
.pow-captcha.working .pow-captcha-box { cursor: progress; }
.pow-captcha.working .pow-captcha-tick {
    border-radius: 50%;
    border-right-color: transparent;
    animation: pow-captcha-spin .8s linear infinite;
}
.pow-captcha.done { border-color: #2e9e5b; }
.pow-captcha.done .pow-captcha-box { cursor: default; }
.pow-captcha.done .pow-captcha-tick {
    border-color: #2e9e5b;
    background: #2e9e5b;
    opacity: 1;
}
.pow-captcha.done .pow-captcha-tick::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 1px;
    width: 6px;
    height: 12px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.pow-captcha.error { border-color: #c0392b; color: #c0392b; }
@keyframes pow-captcha-spin { to { transform: rotate(360deg); } }

/* image mode */
.pow-captcha .pow-captcha-title { margin-bottom: .5rem; }
.pow-captcha .pow-captcha-img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: .6rem;
    border: 1px solid rgba(128, 128, 128, .35);
    border-radius: 4px;
    background: #fff;
}
.pow-captcha .pow-captcha-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: .5rem .7rem;
    font-size: 1.1rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    border: 1px solid rgba(128, 128, 128, .6);
    border-radius: 4px;
    background: transparent;
    color: inherit;
}
.pow-captcha .pow-captcha-input::placeholder { letter-spacing: normal; text-transform: none; }

/* Larry skin: dark login box */
#login-form .box-inner .pow-captcha { color: #cecece; border-color: #666; }
#login-form .box-inner .pow-captcha.done { border-color: #2e9e5b; }
#login-form .box-inner .pow-captcha.error { color: #ff7b72; border-color: #ff7b72; }
#login-form .box-inner .pow-captcha .pow-captcha-title { color: #cecece; }
#login-form .box-inner .pow-captcha .pow-captcha-input {
    background: #fff;
    color: #333;
    border: 1px solid #666;
    width: 100%;
}
#login-form .box-inner .pow-captcha .pow-captcha-img { border-color: #666; }
