/* =====================================
   V7 Personal Website CSS
   Part 1
===================================== */


/* ========= 全局 ========= */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}


html{

    scroll-behavior:smooth;

}


body{

    font-family:

    "Segoe UI",
    "PingFang SC",
    "Microsoft YaHei",
    sans-serif;


    background:#070b18;

    color:#ffffff;

    line-height:1.7;

    overflow-x:hidden;

}


/* ========= 星空背景 ========= */

#stars{

    position:fixed;

    inset:0;

    z-index:-3;

    background:

    radial-gradient(
        circle at top,
        #1b2850,
        #070b18 55%
    );

}


#stars canvas{

    position:absolute;

    width:100%;

    height:100%;

    inset:0;

    pointer-events:none;

}


/* ========= 背景光晕 ========= */

.glow{

    position:fixed;

    border-radius:50%;

    filter:blur(120px);

    z-index:-2;

    pointer-events:none;

    opacity:.35;

}


.glow-1{

    width:420px;

    height:420px;

    background:#2563eb;

    top:-120px;

    left:-120px;

}


.glow-2{

    width:380px;

    height:380px;

    background:#7c3aed;

    right:-100px;

    bottom:-100px;

}



/* ========= 导航 ========= */


.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;


    height:70px;


    display:flex;

    justify-content:space-between;

    align-items:center;


    padding:0 8%;


    background:

    rgba(255,255,255,.05);


    backdrop-filter:blur(18px);


    border-bottom:

    1px solid rgba(255,255,255,.08);


    z-index:1000;

}



.logo{

    font-size:24px;

    font-weight:700;

}



.header nav{

    display:flex;

    gap:28px;

}



.header nav a{

    color:#fff;

    text-decoration:none;

    font-size:15px;

    transition:.3s;

}



.header nav a:hover{

    color:#67c8ff;

}



/* ========= Hero ========= */


.hero{

    min-height:100vh;


    display:flex;

    justify-content:center;

    align-items:center;


    padding:

    120px 20px 80px;

}



.hero-content{


    width:100%;

    max-width:760px;


    text-align:center;


    padding:

    60px 40px;


    border-radius:30px;


    background:

    rgba(255,255,255,.05);


    border:

    1px solid rgba(255,255,255,.08);


    backdrop-filter:blur(20px);


    box-shadow:

    0 25px 70px rgba(0,0,0,.35);

}



/* ========= 头像 ========= */


.avatar{

    width:160px;

    height:160px;


    margin:

    0 auto 30px;


    border-radius:50%;


    overflow:hidden;


    border:

    3px solid rgba(255,255,255,.25);


    box-shadow:

    0 0 20px rgba(255,255,255,.15),

    0 0 45px rgba(59,130,246,.35);


}



.avatar img{

    width:100%;

    height:100%;


    object-fit:cover;


    display:block;

}



/* ========= 标题 ========= */


.hero h1{


    font-size:60px;


    line-height:1.2;


    margin-bottom:20px;


}


.typing{


    font-size:24px;


    color:#67c8ff;


    min-height:40px;


}


.hero-text{


    margin-top:20px;


    color:#b8c5d8;


    letter-spacing:2px;


}
/* =====================================
   V7 Personal Website CSS
   Part 2
===================================== */


/* ========= Hero 按钮 ========= */


.hero-buttons{

    margin-top:45px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}



.btn{

    display:inline-block;


    min-width:150px;


    padding:14px 32px;


    border-radius:50px;


    text-decoration:none;


    color:#fff;


    background:#3399ff;


    font-weight:600;


    transition:.35s;


}



.btn:hover{


    transform:translateY(-5px);


    box-shadow:

    0 10px 35px rgba(51,153,255,.45);


}



.btn-outline{


    background:transparent;


    border:

    1px solid #3399ff;


}



.btn-outline:hover{


    background:#3399ff;


}




/* ========= 向下箭头 ========= */


.scroll-down{


    margin-top:60px;


    font-size:35px;


    color:#67c8ff;


    animation:float 2s infinite;


}



@keyframes float{


    0%{

        transform:translateY(0);

    }


    50%{

        transform:translateY(12px);

    }


    100%{

        transform:translateY(0);

    }


}



/* ========= 公共区域 ========= */


.section{


    padding:120px 8%;


}



.container{


    max-width:900px;


    margin:auto;


}



/* ========= 标题 ========= */


.section h2{


    text-align:center;


    font-size:42px;


    margin-bottom:45px;


}





/* ========= About ========= */


.about{


    text-align:center;


}



.about p{


    color:#c8d2df;


    font-size:18px;


    margin:22px 0;


    line-height:2;


}





/* ========= Quote ========= */


.quote{


    text-align:center;


}



.quote blockquote{


    max-width:900px;


    margin:auto;


    font-size:46px;


    font-weight:700;


    line-height:1.5;


}



.quote span{


    display:block;


    margin-top:25px;


    color:#8aa8c8;


}





/* ========= Contact ========= */


.contact-list{


    max-width:650px;


    margin:50px auto 0;


}



.contact-item{


    display:flex;


    justify-content:space-between;


    align-items:center;


    padding:22px 0;


    border-bottom:

    1px solid rgba(255,255,255,.1);


}



.contact-item a{


    color:#67c8ff;


    text-decoration:none;


    transition:.3s;


}



.contact-item a:hover{


    color:white;


}



.label{


    font-size:20px;


    font-weight:600;


}





/* ========= Footer ========= */


footer{


    padding:40px 20px;


    text-align:center;


    color:#8b98aa;


    border-top:

    1px solid rgba(255,255,255,.08);


}



footer p{


    margin:8px 0;


}





/* ========= 返回顶部 ========= */


.back-top{


    position:fixed;


    right:25px;


    bottom:25px;


    width:50px;


    height:50px;


    border:none;


    border-radius:50%;


    background:#3399ff;


    color:white;


    font-size:24px;


    cursor:pointer;


    opacity:0;


    transform:translateY(20px);


    transition:.3s;


    z-index:999;


}



.back-top.show{


    opacity:1;


    transform:translateY(0);


}




/* ========= 手机适配 ========= */


@media(max-width:768px){


    .header{


        padding:0 20px;


    }



    .header nav{


        gap:15px;


    }



    .hero-content{


        padding:45px 25px;


    }



    .avatar{


        width:120px;


        height:120px;


    }



    .hero h1{


        font-size:40px;


    }



    .typing{


        font-size:20px;


    }



    .section{


        padding:80px 20px;


    }



    .section h2{


        font-size:32px;


    }



    .quote blockquote{


        font-size:30px;


    }



    .contact-item{


        flex-direction:column;


        gap:10px;


    }


}
