/* ================= 首页专用样式 ================= */

body{
    width:100%;
    height:100vh;
    overflow:hidden;
    background:#eef1f7;
}

/* ================= 登录动画 ================= */

#intro{
    position:fixed;
    inset:0;
    background:#eef1f7;
    z-index:9999;
    display:flex;
    justify-content:center;
    align-items:center;
    animation:introFade 4s forwards;
}

.avatar-big{
    width:220px;
    height:220px;
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.2);
    position:fixed;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    transition:all 2.2s cubic-bezier(.22,.8,.2,1);
}

.avatar-big img{
    width:100%;
    height:100%;
    object-fit:cover;
}

@keyframes introFade{
    0%,90%{
        opacity:1;
        visibility:visible;
    }
    100%{
        opacity:0;
        visibility:hidden;
    }
}

/* ================= 主界面 ================= */

.main-page{
    width:100%;
    height:100vh;
    padding:28px 70px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    opacity:0;
    animation:mainShow 1.2s forwards;
    animation-delay:2.8s;
    transition:.35s;
}

@keyframes mainShow{
    to{
        opacity:1;
    }
}

.blur{
    filter:blur(10px);
    pointer-events:none;
}

/* 顶部 */

.top-bar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.left-top{
    display:flex;
    align-items:flex-start;
    gap:24px;
}

.small-avatar{
    width:88px;
    height:88px;
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 8px 30px rgba(0,0,0,.15);
    flex-shrink:0;
}

.small-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.blog-box h1{
    font-size:58px;
    font-weight:900;
    line-height:1;
}

.blog-box p{
    margin-top:10px;
    font-size:24px;
    color:#555;
}

/* 卡片 */

.menu-grid{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px 42px;
    padding:0 100px;
}

.menu-card{
    height:160px;
    background:white;
    border-radius:34px;
    display:flex;
    align-items:center;
    overflow:hidden;
    cursor:pointer;
    transition:.25s;
    box-shadow:0 12px 40px rgba(0,0,0,.06);
}

.menu-card:hover{
    transform:translateY(-6px);
}

.card-cover{
    width:170px;
    height:100%;
    overflow:hidden;
    flex-shrink:0;
}

.card-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.card-content{
    padding:26px 30px;
}

.card-content h2{
    font-size:38px;
    margin-bottom:12px;
}

.card-content p{
    font-size:20px;
    color:#666;
}

/* 页脚 */

.footer{
    text-align:center;
    font-size:24px;
    color:#555;
    padding-bottom:6px;
}

/* ================= 响应式设计 ================= */

@media screen and (max-width: 1200px) {
    .menu-grid{
        padding:0 50px;
        gap:50px 30px;
    }
}

@media screen and (max-width: 900px) {
    body{
        overflow-y:auto;
        height:auto;
        min-height:100vh;
    }

    .main-page{
        padding:20px 16px;
        height:auto;
        min-height:100vh;
        justify-content:flex-start;
        gap:30px;
    }

    .top-bar{
        flex-direction:column;
        align-items:center;
        gap:20px;
    }

    .left-top{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .small-avatar{
        width:70px;
        height:70px;
    }

    .blog-box h1{
        font-size:36px;
    }

    .blog-box p{
        font-size:18px;
    }

    .menu-grid{
        grid-template-columns:1fr;
        padding:0;
        gap:20px;
    }

    .menu-card{
        height:120px;
        border-radius:20px;
    }

    .card-cover{
        width:120px;
    }

    .card-content{
        padding:16px 20px;
    }

    .card-content h2{
        font-size:26px;
        margin-bottom:8px;
    }

    .card-content p{
        font-size:16px;
    }

    .footer{
        font-size:16px;
        padding:20px 0;
    }

    /* 开场动画 */
    .avatar-big{
        width:150px;
        height:150px;
    }
}

@media screen and (max-width: 480px) {
    .main-page{
        padding:16px 12px;
    }

    .menu-card{
        height:100px;
    }

    .card-cover{
        width:100px;
    }

    .card-content h2{
        font-size:22px;
    }

    .blog-box h1{
        font-size:32px;
    }
}
