* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    scroll-behavior: smooth;
    transition: all 0.25s ease-out;
    font-family: "微软雅黑 Light", serif;
    user-select: none;
}

body {
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    --color: #E1E1E1;
    background-color: #F3F3F3;
    background-image: linear-gradient(0deg, transparent 24%, var(--color) 25%, var(--color) 26%, transparent 27%,transparent 74%, var(--color) 75%, var(--color) 76%, transparent 77%,transparent),
    linear-gradient(90deg, transparent 24%, var(--color) 25%, var(--color) 26%, transparent 27%,transparent 74%, var(--color) 75%, var(--color) 76%, transparent 77%,transparent);
    background-size: 55px 55px;
}

section {
    position: relative;
    width: 62vw;
    height: 62vh;
    display: flex;
    padding-left: 3rem;
    padding-top: 6rem;
    border-radius: 21px;
    background-color: rgba(9, 21, 42, 0.87);
    box-shadow: 7px 7px 20px rgba(0, 0, 0, 0.5);
    background-image: url("https://imgapi.xl0408.top");
    background-blend-mode: overlay;
    background-size: cover;

    > .title {
        display: flex;
        flex-direction: column;
        height: 100%;
        gap: 5rem;

        h1 {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 2.8rem;
            color: #F5F5F5;

            svg {
                height: 42px;
                width: 42px;
            }
        }

        h2 {
            font-size: 17px;
            font-style: italic;
            color: #F5F5F5;
        }

        p {
            overflow-y: auto;
            height: 20rem;
            width: 20rem;
            color: #dadada;
            font-size: 15px;
            letter-spacing: 1px;
        }
    }

    form {
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        width: 27vw;
        height: 71vh;
        padding: 3.5rem 2.5rem;
        display: flex;
        flex-direction: column;
        border-radius: 24px;
        border: 1px solid #d5d5d5;
        background-color: #fff;
        box-shadow:  15px 15px 30px rgba(0, 0, 0, 0.1);

        .title {
            display: flex;
            align-items: end;

            h1 {
                font-size: 34px;

                span {
                    font-size: 18px;
                    color: #374357;
                }
            }
        }

        .inputArea {
            margin-top: 2rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;

            .row {
                display: flex;
                flex-direction: column;
                gap: 0.3rem;

                input {
                    width: 100%;
                    padding: 0.55rem;
                    outline: none;
                    border-radius: 5px;
                    border: 1px solid #bebebe;
                    position: relative;

                    &:focus {
                        border: 1px solid #3F51B5;
                        box-shadow: 0 0 6px rgba(63, 81, 181, 0.52);
                        background: rgba(51, 79, 238, 0.05);
                    }
                }
            }
        }

        .type {
            display: flex;
            justify-content: space-between;
            margin-top: 1rem;
            font-size: 14px;

            .remember {
                display: flex;
                align-items: center;
                gap: 0.2rem;
            }

            a {
                color: #3F51B5;
            }
        }

        .btn-group {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            margin-top: 2rem;

            input {
                padding: 0.74rem 0;
                border: none;
                border-radius: 5px;
                cursor: pointer;
            }

            input[type=submit]{
                background: #1f2b3e;
                color: #fff;

                &:hover {
                    background: #0c1521;
                }
            }

            input[type=reset]{
                &:hover {
                    background: #dcdcdc;
                }
            }
        }
    }

    /* 个人主页样式 */
    .profile-card {
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
        width: 27vw;
        height: 71vh;
        padding: 3.5rem 2.5rem;
        display: flex;
        flex-direction: column;
        border-radius: 24px;
        border: 1px solid #d5d5d5;
        background-color: #fff;
        box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.1);

        .title {
            display: flex;
            align-items: end;
            margin-bottom: 2rem;

            h1 {
                font-size: 34px;

                span {
                    font-size: 18px;
                    color: #374357;
                }
            }
        }

        .profile-content {
            flex: 1;
            overflow-y: auto;

            .profile-section {
                margin-bottom: 1.5rem;

                h4 {
                    font-size: 16px;
                    color: #333;
                    margin-bottom: 0.8rem;
                    border-bottom: 2px solid #3F51B5;
                    padding-bottom: 0.3rem;
                }

                .info-item {
                    display: flex;
                    margin-bottom: 0.5rem;
                    font-size: 14px;

                    .label {
                        color: #666;
                        min-width: 60px;
                    }

                    .value {
                        color: #333;
                        font-weight: 500;
                    }
                }

                .skills {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 0.5rem;

                    .skill-tag {
                        background: #f0f2f5;
                        color: #3F51B5;
                        padding: 0.3rem 0.8rem;
                        border-radius: 15px;
                        font-size: 12px;
                        border: 1px solid #e1e4e8;
                    }
                }

                .bio {
                    font-size: 14px;
                    line-height: 1.6;
                    color: #555;
                    text-align: justify;
                }
            }
        }

        .contact-links {
            display: flex;
            gap: 0.8rem;
            margin-top: 1rem;

            .contact-btn {
                flex: 1;
                padding: 0.6rem 0;
                text-align: center;
                background: #1f2b3e;
                color: #fff;
                border-radius: 5px;
                font-size: 14px;
                transition: all 0.3s ease;

                &:hover {
                    background: #0c1521;
                    transform: translateY(-2px);
                }
            }
        }
    }
}

footer {
    position: absolute;
    width: 100%;
    text-align: center;
    padding: 0.8rem 0;
    bottom: 0;
    font-size: 14px;
    color: #1f2b3e;
}

#registerPage {
    section {
        display: flex;
        align-items: end;
        justify-content: end;
        padding-right: 3rem;
        padding-top: 6rem;
        background-image: url("https://imgapi.xl0408.top");
        background-color: #160725;

        form {
            left: 2rem;
            top: 50%;
            height: fit-content;
            padding-bottom: 2.4rem;
        }
    }
}

