.register-wrap { width: min(100%, 500px); margin: 0 auto; }
.register-brand { text-align: center; margin-bottom: 20px; }
.register-brand img { width: min(320px, 82vw); display: block; margin: 0 auto 18px; }
.register-brand p { margin: 0 0 8px; color: var(--oasys-muted); }
.register-brand h1 { margin: 0 0 8px; font-size: clamp(28px, 6vw, 38px); }
.register-subtitle { font-size: 14px; line-height: 1.5; }
.register-card { padding: 24px; border: 1px solid var(--oasys-border); border-radius: var(--oasys-radius); background: var(--oasys-card); box-shadow: var(--oasys-shadow); }
.register-form { display: grid; gap: 9px; }
.register-form label { margin-top: 7px; font-size: 13px; font-weight: 700; }
.register-form input { width: 100%; min-height: 48px; padding: 0 14px; color: #fff; background: rgba(255,255,255,.055); border: 1px solid var(--oasys-border); border-radius: 12px; outline: none; }
.register-form input:focus { border-color: rgba(154,69,245,.75); box-shadow: 0 0 0 3px rgba(154,69,245,.12); }
.register-form small { margin: -3px 0 4px; color: var(--oasys-muted); font-size: 12px; }
.turnstile-wrapper { margin: 12px 0 4px; display: flex; justify-content: center; overflow: hidden; }
.register-submit { width: 100%; margin-top: 5px; }
.login-link { text-align: center; color: var(--oasys-muted); font-size: 14px; }
.login-link a { color: #fff; font-weight: 700; }
.register-legal { margin: 18px auto 0; text-align: center; color: var(--oasys-muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 520px) { .register-card { padding: 18px 15px; } }


.password-field {
    position: relative;
    width: 100%;
}

.password-field input {
    width: 100%;
    padding-right: 52px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.password-toggle:hover {
    background: rgba(255,255,255,.07);
}

.password-toggle:focus-visible {
    outline: 2px solid rgba(154,69,245,.75);
    outline-offset: 2px;
}

/* Cloudflare Turnstile */
.turnstile-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 8px 0 4px;
    min-height: 65px;
    overflow: hidden;
}

@media (max-width: 380px) {
    .turnstile-wrapper {
        transform-origin: center top;
    }
}