*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
    background:#eef2f7;
    color:#435064;
    overflow-x:hidden;
}

/* 背景光球 */
.bg-orb{
    position:fixed;
    border-radius:50%;
    filter:blur(70px);
    opacity:.42;
    z-index:-1;
}

.orb1{
    width:430px;
    height:430px;
    background:var(--theme);
    left:-130px;
    top:80px;
}

.orb2{
    width:380px;
    height:380px;
    background:var(--accent);
    right:-100px;
    bottom:90px;
}

/* 顶部导航 */
.nav{
    position:sticky;
    top:0;
    z-index:10;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 7%;
    background:rgba(255,255,255,.66);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.82);
}

.brand{
    font-weight:900;
    color:#344358;
    letter-spacing:.5px;
}

.nav a{
    color:#53657c;
    text-decoration:none;
    margin-left:20px;
    font-weight:800;
}

/* 首屏 */
.hero{
    min-height:86vh;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:42px;
    align-items:center;
    padding:70px 7%;
}

.tag{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:var(--theme);
    font-weight:900;
    margin-bottom:18px;
}

.hero h1{
    font-size:76px;
    line-height:1;
    margin:0 0 18px;
    color:#344358;
    letter-spacing:2px;
}

.hero p{
    font-size:20px;
    line-height:1.9;
    color:#58687d;
}

.notice{
    margin:24px 0;
    padding:18px 20px;
    border:1px solid rgba(255,255,255,.88);
    background:rgba(255,255,255,.52);
    border-radius:24px;
    box-shadow:0 15px 50px rgba(84,101,125,.12);
    line-height:1.8;
}

/* 按钮 */
.btn,
button{
    display:inline-block;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,var(--theme),#9babbe);
    color:#fff;
    padding:13px 24px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(70,90,120,.22);
}

/* 右侧主图卡片：已修复上下空隙 */
.hero-card{
    height:560px;
    border-radius:38px;
    background:rgba(255,255,255,.5);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 30px 80px rgba(70,90,120,.18);
    overflow:hidden;
    display:block;
}

/* 主图铺满 Box，不再出现上下空白 */
.hero-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

.empty-img,
.empty-wide{
    padding:40px;
    color:#8190a4;
    text-align:center;
}

.empty-cat{
    font-size:70px;
    opacity:.5;
}

/* 通用区块 */
.section{
    padding:70px 7%;
}

.section-title span{
    color:var(--theme);
    font-weight:900;
    letter-spacing:2px;
}

.section h2{
    font-size:38px;
    margin:6px 0 28px;
    color:#344358;
}

/* 角色设定卡片 */
.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.card,
.contact,
.panel,
.login-box{
    background:rgba(255,255,255,.64);
    border:1px solid rgba(255,255,255,.9);
    border-radius:28px;
    padding:26px;
    box-shadow:0 20px 60px rgba(70,90,120,.12);
    backdrop-filter:blur(14px);
}

.card b{
    font-size:20px;
}

.card p,
.contact p{
    line-height:1.85;
    color:#637086;
}

/* 图集：统一 Box 卡片展示 */
.gallery{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
}

.gitem{
    height:420px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.72) !important;
    border:1px solid rgba(255,255,255,.9) !important;
    box-shadow:0 18px 45px rgba(70,90,120,.13) !important;
    display:flex !important;
    flex-direction:column !important;
}

.gimgbox{
    display:flex !important;
    width:100% !important;
    height:350px !important;
    overflow:hidden !important;
    align-items:center !important;
    justify-content:center !important;
    background:linear-gradient(135deg,#eef2f7,#dfe6ef) !important;
    text-decoration:none !important;
}

.gimgbox img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
    transition:transform .35s ease !important;
}

.gitem:hover .gimgbox img{
    transform:scale(1.035) !important;
}

.gbar{
    height:70px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:13px 14px !important;
    background:rgba(255,255,255,.62) !important;
}

.gbar a{
    flex:1 !important;
    text-align:center !important;
    border-radius:999px !important;
    padding:10px 12px !important;
    background:var(--theme) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:900 !important;
    font-size:13px !important;
}

/* 关闭旧版大图轮播 */
.slider,
.slider-track,
.slide,
.slider-btn{
    display:none !important;
}

/* 联系 */
.qq{
    margin-top:18px;
    font-weight:900;
    color:var(--theme);
}

footer{
    text-align:center;
    padding:40px;
    color:#7b8798;
}

/* 后台页面 */
.admin-body{
    background:#eef2f7;
}

.login-box{
    width:min(420px,92vw);
    margin:12vh auto;
}

.login-box h1{
    margin-top:0;
}

input,
textarea{
    width:100%;
    padding:13px 15px;
    border:1px solid #dbe2ec;
    border-radius:16px;
    background:rgba(255,255,255,.82);
    outline:none;
    color:#415066;
}

textarea{
    min-height:120px;
    resize:vertical;
}

label{
    display:block;
    font-weight:900;
    color:#516178;
    margin:14px 0 8px;
}

.login-box input{
    margin:10px 0;
}

.hint{
    color:#8190a4;
    font-size:13px;
}

.admin-wrap{
    padding:34px 7%;
    display:grid;
    gap:24px;
}

.grid2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.toast{
    margin:0 0 18px;
    padding:14px 18px;
    border-radius:18px;
    background:#fff8df;
    color:#7a5b17;
    font-weight:900;
}

.preview{
    max-width:260px;
    border-radius:20px;
    display:block;
    margin:12px 0;
}

.upload-line{
    display:flex;
    gap:12px;
    align-items:center;
}

.upload-line input{
    flex:1;
}

.admin-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:20px;
}

.admin-img{
    background:rgba(255,255,255,.7);
    border-radius:20px;
    padding:10px;
}

.admin-img img{
    width:100%;
    height:170px;
    object-fit:cover;
    border-radius:16px;
}

.admin-img-actions{
    display:flex;
    gap:8px;
    margin-top:8px;
}

.admin-img-actions a{
    display:inline-block;
    text-decoration:none;
    color:#fff;
    background:var(--theme);
    backdrop-filter:blur(12px);
    padding:7px 10px;
    border-radius:999px;
    font-weight:900;
    font-size:12px;
}

.danger{
    background:#df6b6b;
    margin-top:8px;
    width:100%;
}

/* 手机适配 */
@media(max-width:900px){
    .hero{
        grid-template-columns:1fr;
        padding:45px 5%;
    }

    .hero h1{
        font-size:52px;
    }

    .hero-card{
        height:420px;
    }

    .cards,
    .gallery,
    .grid2,
    .admin-gallery{
        grid-template-columns:1fr !important;
    }

    .nav{
        padding:14px 5%;
        align-items:flex-start;
    }

    .nav nav{
        font-size:13px;
    }

    .nav a{
        margin-left:10px;
    }

    .gitem{
        height:380px !important;
    }

    .gimgbox{
        height:310px !important;
    }

    .upload-line{
        display:block;
    }

    .upload-line button{
        margin-top:10px;
    }
}