.logo {

    width: 260px;

    height: auto;

    margin-bottom: 20px;

}

body {

    margin: 0;

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    background: #eef3fb;

    font-family:
        "Yu Gothic",
        "Meiryo",
        sans-serif;

}

.loginContainer {

    width: 700px;

    background: #f8faff;

    padding: 90px 60px 60px;

    border-radius: 40px;

    box-shadow:
        0 10px 40px rgba(0, 0, 0, 0.05);

    text-align: center;

}

h1 {

    margin: 0;

    font-size: 64px;

    font-weight: 700;

    color: #2d3c6b;

}

.loginTitle {

    margin-top: 20px;

    margin-bottom: 15px;

    font-size: 26px;

    font-weight: 700;

    color: #5f8eff;

}

.subTitle {

    margin-top: 0;

    margin-bottom: 60px;

    font-size: 24px;

    color: #97a1bc;

    line-height: 1.7;

}

.formGroup {

    text-align: left;

    margin-bottom: 35px;

}

label {

    display: block;

    margin-bottom: 12px;

    font-size: 22px;

    font-weight: 600;

    color: #6d7ba1;

}

input {

    width: 100%;

    box-sizing: border-box;

    padding: 20px;

    border-radius: 18px;

    border: 2px solid #d7e2ff;

    background: white;

    font-size: 22px;

    color: #2d3c6b;

    transition: 0.3s;

}

input::placeholder {

    color: #b8c2dd;

    opacity: 1;

}

input:focus {

    outline: none;

    border-color: #5f8eff;

    box-shadow:
        0 0 0 5px rgba(95, 142, 255, 0.15);

}

input:focus::placeholder {

    color: transparent;

}

#loginButton {

    width: 100%;

    height: 80px;

    border: none;

    border-radius: 24px;

    margin-top: 20px;

    background:
        linear-gradient(90deg,
            #6ca8ff,
            #4f7cff);

    color: white;

    font-size: 30px;

    font-weight: bold;

    cursor: pointer;

    transition: 0.3s;

}

#loginButton:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 20px rgba(79, 124, 255, 0.25);

}

.registerLink {

    display: inline-block;

    margin-top: 30px;

    padding: 12px 24px;

    border-radius: 16px;

    background: #edf3ff;

    color: #4f7cff;

    font-size: 20px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s;

}

.registerLink:hover {

    background: #dfe9ff;

    transform: translateY(-2px);

}

.footer {

    margin-top: 50px;

    font-size: 18px;

    color: #9aa6c5;

}

.userInfo {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 20px;

    background: #f7faff;

    border: 1px solid #dfe8ff;

    border-radius: 30px;

    color: #4f6ef7;

    font-weight: 600;

    font-size: 16px;

}

.passwordArea {

    position: relative;

}

.passwordArea input {

    width: 100%;

    padding-right: 45px;

    box-sizing: border-box;

}

.eyeButton {

    position: absolute;

    right: 10px;

    top: 50%;

    transform: translateY(-50%);

    border: none;

    background: transparent;

    cursor: pointer;

    font-size: 18px;

    color: #666;

}

.eyeButton:hover {

    color: #333;

}