.registration-captcha {
    box-sizing: border-box;
    width: 100%;
    max-width: 640px;
    grid-column: 1 / -1;
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(147, 126, 248, .23);
    border-radius: 16px;
    background: linear-gradient(120deg, rgba(128, 86, 239, .08), rgba(20, 24, 35, .7));
    color: #e7e9f2;
}
.registration-captcha .registration-captcha__heading { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.registration-captcha .registration-captcha__icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; background: rgba(139, 92, 246, .13); color: #bda7ff; border-radius: 11px; }
.registration-captcha svg { width: 21px; height: 21px; }
.registration-captcha .registration-captcha__heading strong { display: block; font-size: 14px; line-height: 1.4; font-weight: 650; }
.registration-captcha .registration-captcha__heading p { margin: 3px 0 0; font-size: 12px; line-height: 1.5; color: #9fa7bb; }
.registration-captcha .registration-captcha__body { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.registration-captcha .registration-captcha__challenge { display: flex; align-items: center; gap: 8px; flex: 0 1 auto; min-width: 0; }
.registration-captcha [data-registration-captcha] { display: block; width: 216px; height: 72px; max-width: calc(100% - 44px); object-fit: contain; background: #edf0f6; border: 1px solid rgba(255, 255, 255, .1); border-radius: 10px; }
.registration-captcha .registration-captcha__refresh { display: grid; place-items: center; flex: 0 0 36px; width: 36px; min-height: 36px; padding: 0; border: 1px solid rgba(166, 151, 220, .25); border-radius: 10px; color: #c7b5ff; background: rgba(139, 92, 246, .1); cursor: pointer; box-shadow: none; }
.registration-captcha .registration-captcha__refresh:hover { background: rgba(139, 92, 246, .22); border-color: #9d7ceb; }
.registration-captcha .registration-captcha__refresh:focus-visible, .registration-captcha .registration-captcha__input:focus-visible { outline: 2px solid #a58af6; outline-offset: 3px; }
.registration-captcha .registration-captcha__refresh:disabled { opacity: .5; cursor: wait; }
.registration-captcha .registration-captcha__entry { flex: 1 1 190px; min-width: 0; max-width: 260px; }
.registration-captcha .registration-captcha__entry label { display: block; margin: 0 0 6px; font-size: 11px; color: #bbc2d4; font-weight: 500; }
.registration-captcha .registration-captcha__input { box-sizing: border-box; width: 100%; height: 42px; min-height: 42px; padding: 10px 12px; margin: 0; border: 1px solid #343a50; border-radius: 9px; background: #10141e; color: #f2edff; font-family: inherit; font-weight: 600; font-size: 15px; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; box-shadow: none; }
.registration-captcha .registration-captcha__input::placeholder { text-transform: none; font-weight: 400; font-size: 12px; letter-spacing: .02em; color: #7e879d; }
.registration-captcha .registration-captcha__entry small { display: block; margin-top: 6px; color: #8e98af; font-size: 10px; line-height: 1.5; }
.registration-captcha .registration-captcha__status { display: block; color: #b8a5ef; font-size: 11px; line-height: 1.5; }
.registration-captcha .registration-captcha__status:empty { display: none; }
@media (max-width: 520px) {
    .registration-captcha { padding: 15px; border-radius: 13px; }
    .registration-captcha .registration-captcha__body { gap: 12px; }
    .registration-captcha .registration-captcha__entry { flex-basis: 100%; max-width: none; }
    .registration-captcha .registration-captcha__heading p { font-size: 11px; }
}
