.login-page{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:32px;

    position:relative;

    overflow:hidden;

    background:transparent;

}

.login-page::after{

    content:"";

    position:absolute;

    left:-15%;

    width:130%;

    height:320px;

    bottom:-170px;

    background:

        radial-gradient(circle at 20% 20%,#bfe3ff 0,#bfe3ff 22%,transparent 23%),

        linear-gradient(90deg,#d9efff,#c9e8ff);

    border-radius:50% 50% 0 0 / 100% 100% 0 0;

    opacity:.45;

}

.login-card{

    position:relative;

    z-index:2;

    width:min(600px,92vw);

    background:#fff;

    border-radius:28px;

    padding:56px;

    text-align:center;

    box-shadow:

        0 20px 60px rgba(0,0,0,.08);

}

.logo{

    display:block;

    width:340px;

    max-width:85%;

    height:auto;

    margin:0 auto 30px auto;

}

.login-card h1{

    margin:0;

    font-size:3.3rem;

    color:var(--primary);

    font-weight:700;

}

.subtitle{

    margin-top:14px;

    font-size:1.45rem;

    font-weight:600;

    color:#222;

}

.campus{

    margin-top:18px;

    margin-bottom:38px;

    line-height:1.5;

    color:#607D8B;

    font-size:1.3rem;

}

#googleButton{

    display:flex;

    justify-content:center;

}

.version{

    margin-top:36px;

    color:#9aa8b5;

    font-size:1rem;

}

@media (max-width:768px){

    .login-page{

        padding:0;

        align-items:flex-start;

    }

    .login-card{

        width:100%;

        min-height:100vh;

        border-radius:0;

        box-shadow:none;

        padding:48px 28px;

        display:flex;

        flex-direction:column;

        justify-content:center;

    }

    .logo{

        width:280px;

        max-width:90%;

        margin:0 auto 28px auto;

    }

    .login-card h1{

        font-size:2.9rem;

    }

    .subtitle{

        font-size:1.2rem;

    }

    .campus{

        font-size:1.15rem;

        margin-bottom:34px;

    }

    .version{

        margin-top:40px;

    }

    .login-page::after{

        height:250px;

        bottom:-140px;

    }

}