.login {
    display: flex;
    align-items: center;
    justify-content: center;

    --form-font-size: 20px;
}

.login form .errormsg {
    text-align: center;
    width: 100%;
}


.signin-user,
.signup-user,
.login form:has(#signin:checked) .signin,
.login form:has(#signup:checked) .signup {
    background-color: var(--login-bg);
}

/* Concave curves */
.login form:has(#signin:checked) .login-title label.signin::after {
    content: "";
    aspect-ratio: 1;
    height: 1em;

    position: absolute;
    bottom: 0em;
    right: -1em;
    
    display: block;
    background-color: transparent;
    border-radius: 50%;
    box-shadow: -.5em .5em var(--login-bg);
}
.login form:has(#signup:checked) .login-title label.signup::after {
    content: "";
    aspect-ratio: 1;
    height: 1em;

    position: absolute;
    bottom: 0em;
    left: -1em;
    
    display: block;
    background-color: transparent;
    border-radius: 50%;
    box-shadow: .5em .5em var(--login-bg);
}

/* main styling */
.login form {
    padding: 1em;
    max-width: 100%;
}

.login-title {
    font-size: 1.8em;
    display: flex;
    align-items: center;
}
.login-title label {
    display: inline-block;
    padding: 10px;
    width: 100%;
    position: relative;
    text-align: center;
    border-radius: 1em 1em 0 0;
}
.login-title label:first-child {
    line-height: 2em;
    min-width: max-content;
    margin-right: 1rem;
}
.login-title label:nth-child(2) {
    margin-left: 1rem;
}


#signin:checked ~ .signin-user,
#signup:checked ~ .signup-user {
    display: flex;
    flex-direction: column;
    gap: 1.5em;

    min-height: 300px;

    padding: 1.2em;

    border-radius: 0 0 2em 2em;
}
#signin:checked ~ .signin-user {
    border-top-right-radius: 1.5em;
}
#signup:checked ~ .signup-user {
    border-top-left-radius: 1.5em;
}

.login h2 {
    font-size: var(--form-font-size);
}

.login form input,
.login form button{
    font-size: var(--form-font-size);
}
.login form button {
    position: relative;
    margin-top: auto;
}

@media (hover: hover) {
    .login form label {
        transition: var(--transition);
    }
    .login form:has(#signin:checked) label.signup:hover,
    .login form:has(#signup:checked) label.signin:hover {
        cursor: pointer;
        text-shadow: 0 0 5px #aaaaaa;
    }
}