/* =========================================================
   极垣车队 POLARVEX · 前端视觉系统
   黑色 / 编辑排式 / 液态玻璃 / 细描边
   ========================================================= */
:root{
    --bg:#000;
    --ink:#fff;
    --sub:rgba(255,255,255,.60);
    --dim:rgba(255,255,255,.36);
    --line:rgba(255,255,255,.09);
    --line-strong:rgba(255,255,255,.18);

    /* 后台沿用变量 */
    --panel:rgba(255,255,255,.02);
    --panel-2:rgba(255,255,255,.045);
    --accent:#fff;
    --accent-deep:#000;
    --gold:#d8c39b;
    --ok:#86d3ae;
    --warn:#e3c078;
    --danger:#e08a7e;

    --radius:8px;
    --radius-lg:12px;
    --pill:999px;
    --blur:18px;

    --font-sans:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,-apple-system,'Segoe UI',sans-serif;
    --font-serif:'Instrument Serif','Songti SC','STSong','Times New Roman',serif;
    --ease:cubic-bezier(.16,1,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-sans);
    font-size:15px;
    font-weight:400;
    line-height:1.75;
    letter-spacing:-.01em;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit}
::selection{background:#fff;color:#000}
:focus-visible{outline:1px solid rgba(255,255,255,.55);outline-offset:3px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#000}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}

/* ---------------- 布局 ---------------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}
.page{flex:1 0 auto;padding-top:136px;padding-bottom:112px}
.page-hero{display:flex;flex-direction:column;padding-top:0;padding-bottom:0}

.page-head{
    border-bottom:1px solid var(--line);
    padding:0 0 34px;
    margin-bottom:56px;
}
.page-head .eyebrow{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.page-head h1{
    font-size:clamp(30px,4.6vw,44px);
    font-weight:600;
    letter-spacing:-.03em;
    line-height:1.16;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.72) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.page-head .lede{margin-top:16px;font-size:14.5px;color:var(--sub);max-width:56ch;line-height:1.85}
.page-head .head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.head-meta{font-size:11.5px;letter-spacing:.1em;color:var(--dim);white-space:nowrap}

.muted-note{font-size:12px;color:var(--dim);letter-spacing:.06em}
.note-inline{font-size:12.5px;color:var(--sub);line-height:1.9;letter-spacing:0}
.hairline{height:1px;background:var(--line);border:0}

/* ---------------- 液态玻璃 ---------------- */
.liquid-glass{
    background:rgba(255,255,255,.012);
    background-blend-mode:luminosity;
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    border:none;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.10);
    position:relative;
    overflow:hidden;
}
.liquid-glass::before{
    content:'';position:absolute;inset:0;border-radius:inherit;padding:1.4px;
    background:linear-gradient(180deg,
        rgba(255,255,255,.45) 0%,rgba(255,255,255,.15) 20%,
        rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,
        rgba(255,255,255,.15) 80%,rgba(255,255,255,.45) 100%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask-composite:exclude;
    pointer-events:none;
}
.glass-pill{
    background:rgba(255,255,255,.04);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    backdrop-filter:blur(16px) saturate(180%);
    border-radius:var(--pill);
    box-shadow:none!important;
}

/* ---------------- 顶部导航 ---------------- */
.topbar{
    position:fixed;top:0;left:0;right:0;z-index:60;
    padding:22px 24px;
    display:flex;justify-content:center;
    pointer-events:none;
}
.nav-shell{position:relative;width:100%;max-width:1020px}
.nav-toggle{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}
.navpill{
    pointer-events:auto;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:9px 10px 9px 20px;
    border-radius:var(--pill);
    -webkit-backdrop-filter:blur(var(--blur)) saturate(150%);
    backdrop-filter:blur(var(--blur)) saturate(150%);
}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand-mark{width:24px;height:18px;flex:none;fill:#fff}
.brand-logo{width:28px;height:28px;flex:none;object-fit:contain;border-radius:4px}
.brand-name{font-size:14px;font-weight:500;letter-spacing:.04em;white-space:nowrap;line-height:1.25}
.brand-name em{
    display:block;font-family:var(--font-serif);font-style:italic;font-size:11.5px;
    letter-spacing:.2em;color:var(--dim);font-weight:400;
}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{
    font-size:13px;color:rgba(255,255,255,.66);
    letter-spacing:.01em;transition:color .3s var(--ease);
}
.nav-links a:hover{color:#fff}
.nav-links a.on{color:#fff}
.nav-actions{display:flex;align-items:center;gap:10px}
.burger{
    display:none;align-items:center;justify-content:center;
    width:40px;height:34px;border-radius:var(--pill);cursor:pointer;
    background:rgba(255,255,255,.04);border:1px solid var(--line);
}
.burger svg{width:17px;height:11px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round}
.burger svg path{transform-box:fill-box;transform-origin:center;transition:transform .28s var(--ease),opacity .2s ease}
.nav-toggle:checked ~ .navpill .b1{transform:translateY(5px) rotate(45deg)}
.nav-toggle:checked ~ .navpill .b2{opacity:0}
.nav-toggle:checked ~ .navpill .b3{transform:translateY(-5px) rotate(-45deg)}
.nav-toggle:focus-visible ~ .navpill .burger{outline:1px solid rgba(255,255,255,.55);outline-offset:3px}
.scrim{display:none;position:fixed;inset:0;z-index:-1;pointer-events:auto}

.nav-panel{
    position:absolute;top:calc(100% + 12px);right:0;
    width:min(300px,84vw);padding:10px;
    display:flex;flex-direction:column;gap:2px;
    border-radius:var(--radius-lg);
    -webkit-backdrop-filter:blur(24px) saturate(140%);
    backdrop-filter:blur(24px) saturate(140%);
    background:rgba(0,0,0,.55);
    box-shadow:0 24px 60px rgba(0,0,0,.6);
    opacity:0;transform:translateY(-8px);pointer-events:none;
    transition:opacity .24s var(--ease),transform .24s var(--ease);
}
.nav-panel::before{border-radius:inherit}
.nav-toggle:checked ~ .nav-panel{opacity:1;transform:none;pointer-events:auto}
.nav-panel a{
    padding:12px 14px;border-radius:9px;font-size:14px;
    color:rgba(255,255,255,.72);transition:background .2s ease,color .2s ease;
}
.nav-panel a:hover,.nav-panel a.on{background:rgba(255,255,255,.06);color:#fff}
.nav-panel a:last-child{
    margin-top:8px;padding-top:14px;color:#fff;
    border-top:1px solid var(--line);border-radius:0 0 9px 9px;
}

/* ---------------- 按钮 ---------------- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:11px 22px;border-radius:6px;
    border:1px solid var(--line-strong);background:rgba(255,255,255,.02);
    color:#fff;font-size:13.5px;letter-spacing:0;cursor:pointer;
    transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease),opacity .3s var(--ease);
}
.btn:hover{border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.05)}
.btn svg{flex:none}
.btn-pill{border-radius:var(--pill);padding:11px 26px}
.btn-solid{background:#fff;border-color:#fff;color:#000;font-weight:500}
.btn-solid:hover{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.86);color:#000}
.btn-glass{
    background:rgba(255,255,255,.04);
    -webkit-backdrop-filter:blur(14px) saturate(160%);
    backdrop-filter:blur(14px) saturate(160%);
    border-color:rgba(255,255,255,.16);
}
.btn-glass:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3)}
.btn-danger{color:var(--danger);border-color:rgba(224,138,126,.34);background:transparent}
.btn-danger:hover{border-color:rgba(224,138,126,.7);background:rgba(224,138,126,.08)}
.btn-sm{padding:6px 13px;font-size:12.5px;border-radius:5px}
.btn-block{width:100%}
.nav-cta{padding:9px 20px;font-size:13px}

.link-quiet{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;color:rgba(255,255,255,.7);
    transition:color .3s var(--ease);letter-spacing:.01em;
}
.link-quiet:hover{color:#fff}
.link-quiet svg{transition:transform .35s var(--ease)}
.link-quiet:hover svg{transform:translateX(3px)}

/* ---------------- 标签 ---------------- */
.tag,.badge{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 11px;border:1px solid var(--line-strong);
    border-radius:4px;font-size:11px;letter-spacing:.1em;
    color:var(--sub);line-height:1.7;white-space:nowrap;
}
.tag-gold,.badge.b-official{color:var(--gold);border-color:rgba(216,195,155,.45)}
.tag-ok,.badge.b-ok{color:var(--ok);border-color:rgba(134,211,174,.4)}
.tag-warn,.badge.b-warn{color:var(--warn);border-color:rgba(227,192,120,.4)}
.tag-err,.badge.b-err{color:var(--danger);border-color:rgba(224,138,126,.4)}
.tag-dim,.badge.b-dim{color:var(--dim);border-color:var(--line)}
.badge.b-team{color:#fff;border-color:rgba(255,255,255,.28)}

/* ---------------- 提示条 ---------------- */
.flash{
    padding:13px 18px;margin-bottom:24px;font-size:13.5px;letter-spacing:0;
    border:1px solid rgba(134,211,174,.35);border-radius:var(--radius);
    color:#a9e0c6;background:rgba(134,211,174,.05);
}
.flash-err{border-color:rgba(224,138,126,.35);color:#eeb0a6;background:rgba(224,138,126,.05)}

/* ---------------- 首页单屏 Hero ---------------- */
body.screen{height:100dvh;overflow:hidden}
.bg-media{position:fixed;inset:0;z-index:0;overflow:hidden;background:#000}
.bg-media video,.bg-media .bg-img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease);
}
.bg-media.is-ready video,.bg-media.is-ready .bg-img{opacity:.62}
.bg-media .bg-img{opacity:.55}
.bg-scrim{
    position:absolute;inset:0;pointer-events:none;
    background:
        radial-gradient(120% 78% at 50% 42%,rgba(0,0,0,.18) 0%,rgba(0,0,0,.62) 58%,#000 100%),
        linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.14) 32%,rgba(0,0,0,.38) 70%,#000 100%);
}

.hero{
    position:relative;z-index:1;flex:1;
    display:flex;flex-direction:column;
    padding:150px 24px 0;
}
.hero-inner{
    flex:1;width:100%;max-width:900px;margin:0 auto;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;
}
.hero .eyebrow{
    font-size:10.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;
    color:rgba(255,255,255,.74);
}
.hero-title{
    margin-top:26px;
    font-size:clamp(38px,6.4vw,74px);
    font-weight:600;line-height:1.08;letter-spacing:-.035em;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.68) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{margin-top:22px;font-size:14.5px;color:rgba(255,255,255,.62);max-width:44ch;line-height:1.9}
.hero-cta{margin-top:38px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:center}
.hero-meta{
    width:100%;max-width:1080px;margin:0 auto;
    display:flex;flex-wrap:wrap;
    border-top:1px solid var(--line);
}
.hero-meta a{
    flex:1 1 0;min-width:120px;padding:20px 18px;
    border-left:1px solid var(--line);
    display:flex;flex-direction:column;gap:4px;
    transition:background .3s var(--ease);
}
.hero-meta a:first-child{border-left:none}
.hero-meta a:hover{background:rgba(255,255,255,.03)}
.hero-meta b{font-family:var(--font-serif);font-size:24px;font-weight:400;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.hero-meta span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}

/* ---------------- 列表：新闻 ---------------- */
.post-list{border-top:1px solid var(--line)}
.post{
    display:grid;grid-template-columns:150px 1fr 22px;
    gap:30px;align-items:center;
    padding:26px 0;border-bottom:1px solid var(--line);
    transition:opacity .3s var(--ease);
}
.post-thumb{
    aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);
    background:linear-gradient(150deg,rgba(255,255,255,.06),rgba(255,255,255,.01));
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-thumb .ph{font-family:var(--font-serif);font-size:11px;letter-spacing:.24em;color:rgba(255,255,255,.22)}
.post-meta{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.post-title{margin-top:11px;font-size:19px;font-weight:500;letter-spacing:-.015em;line-height:1.5;transition:color .3s var(--ease)}
.post-sum{margin-top:9px;font-size:13.5px;color:var(--sub);line-height:1.8;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post:hover .post-title{color:rgba(255,255,255,.82)}
.post-arrow{color:rgba(255,255,255,.3);transition:transform .35s var(--ease),color .3s var(--ease)}
.post:hover .post-arrow{transform:translateX(4px);color:#fff}

/* ---------------- 分页 ---------------- */
.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:44px;flex-wrap:wrap}
.pager a,.pager .cur,.pager span.pg{
    min-width:36px;padding:8px 13px;text-align:center;font-size:12.5px;
    border:1px solid var(--line);border-radius:6px;color:var(--sub);
    transition:border-color .3s var(--ease),color .3s var(--ease);
}
.pager a:hover{border-color:rgba(255,255,255,.34);color:#fff}
.pager .cur{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.05)}

/* ---------------- 文章页 ---------------- */
.article{max-width:760px;margin:0 auto}
.article-head h1{
    font-size:clamp(26px,3.6vw,36px);font-weight:600;line-height:1.32;letter-spacing:-.025em;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.74) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.article-meta{
    margin-top:18px;padding-bottom:26px;border-bottom:1px solid var(--line);
    font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);
}
.article-cover{margin-top:34px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.article-body{margin-top:34px;font-size:15px;line-height:2.05;color:rgba(255,255,255,.78);word-break:break-word}
.article-body p{margin-bottom:1.1em}

/* ---------------- 队员名册 ---------------- */
.roster{border-top:1px solid var(--line)}
.roster-head,.roster-row{
    display:grid;grid-template-columns:1.1fr 1.4fr 1fr .8fr;
    gap:24px;align-items:center;padding:18px 0;
}
.roster-head{border-bottom:1px solid var(--line);
    font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.roster-row{border-bottom:1px solid var(--line);transition:background .3s var(--ease)}
.roster-row:hover{background:rgba(255,255,255,.02)}
.roster-name{font-size:16px;font-weight:500;letter-spacing:-.01em}
.roster-title{margin-top:4px;font-size:11.5px;letter-spacing:.08em;color:var(--gold)}
.roster-steam{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:12.5px;color:var(--sub);word-break:break-all}
.roster-cell{font-size:13px;color:var(--sub)}

/* ---------------- 荣誉时间轴 ---------------- */
.timeline{border-top:1px solid var(--line)}
.tl-item{
    display:grid;grid-template-columns:132px 1fr;gap:34px;
    padding:36px 0;border-bottom:1px solid var(--line);
}
.tl-date{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);padding-top:5px}
.tl-body{position:relative;padding-left:34px;border-left:1px solid var(--line)}
.tl-body::before{
    content:'';position:absolute;left:-3px;top:9px;width:5px;height:5px;
    border-radius:50%;background:rgba(255,255,255,.34);
}
.tl-title{font-size:19px;font-weight:500;letter-spacing:-.015em;line-height:1.5}
.tl-member{margin-top:10px;font-size:11.5px;letter-spacing:.1em;color:var(--gold)}
.tl-text{margin-top:14px;font-size:14px;color:var(--sub);line-height:1.95;white-space:pre-wrap}
.tl-figure{margin-top:22px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);max-width:560px}

/* ---------------- 联运列表 ---------------- */
.convoy-list{border-top:1px solid var(--line)}
.convoy-row{
    display:grid;grid-template-columns:1fr 260px;gap:34px;align-items:center;
    padding:28px 0;border-bottom:1px solid var(--line);
    transition:background .3s var(--ease);
}
.convoy-row:hover{background:rgba(255,255,255,.02)}
.convoy-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.convoy-title{font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.45}
.convoy-route{margin-top:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--sub)}
.convoy-route .pt{display:flex;flex-direction:column;gap:3px}
.convoy-route .pt b{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-weight:400}
.convoy-route .pt span{color:rgba(255,255,255,.82);font-size:13.5px}
.convoy-route svg{flex:none;color:rgba(255,255,255,.32)}
.convoy-side{text-align:left;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.convoy-side .k{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.convoy-side .v{font-size:13.5px;color:rgba(255,255,255,.82);font-variant-numeric:tabular-nums}

/* ---------------- 规格单（详情页） ---------------- */
.spec{border-top:1px solid var(--line);margin-top:44px}
.spec-row{
    display:grid;grid-template-columns:220px 1fr;gap:30px;
    padding:19px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.spec-k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.spec-v{font-size:15px;color:rgba(255,255,255,.88);line-height:1.7;word-break:break-word}
.spec-v.mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;letter-spacing:.14em;font-size:16px}
.spec-v.is-dim{color:var(--dim)}
.spec-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}

/* ---------------- 空状态 ---------------- */
.empty,.empty-state{
    border:1px solid var(--line);border-radius:var(--radius);
    padding:70px 28px;text-align:center;
    background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,0));
}
.empty svg,.empty-state svg{width:24px;height:18px;fill:rgba(255,255,255,.16);margin:0 auto 20px}
.empty .es-t,.empty-state .es-t{font-size:13.5px;color:rgba(255,255,255,.52);letter-spacing:.04em}
.empty .es-s,.empty-state .es-s{margin-top:9px;font-size:12px;color:var(--dim)}

/* ---------------- 表单 ---------------- */
.field{margin-bottom:22px}
.field > label{
    display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
    color:var(--dim);margin-bottom:11px;
}
.field input[type=text],.field input[type=password],.field input[type=number],
.field input[type=date],.field input[type=datetime-local],.field input[type=file],
.field select,.field textarea{
    width:100%;padding:12px 14px;
    background:rgba(255,255,255,.03);
    border:1px solid var(--line-strong);border-radius:6px;
    color:#fff;font-size:14px;line-height:1.6;
    transition:border-color .3s var(--ease),background .3s var(--ease);
}
.field input[type=file]{padding:10px 14px;font-size:12.5px;color:var(--sub)}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.26)}
.field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.05);
}
.field select{appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.5) 50%),
                     linear-gradient(135deg,rgba(255,255,255,.5) 50%,transparent 50%);
    background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;
    background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.field select option{background:#0a0a0a;color:#fff}
.field textarea{min-height:170px;resize:vertical;line-height:1.9}
.field .hint{margin-top:9px;font-size:11.5px;color:var(--dim);letter-spacing:.02em}
.field.wide{grid-column:1/-1}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}

.pick{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pick label{
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:12px 10px;border:1px solid var(--line-strong);border-radius:6px;
    font-size:12.5px;color:var(--sub);cursor:pointer;
    transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease);
}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick input:checked + label{background:#fff;border-color:#fff;color:#000;font-weight:500}
.pick input:focus-visible + label{outline:1px solid rgba(255,255,255,.55);outline-offset:3px}
@media (max-width:560px){.pick{grid-template-columns:1fr}}

/* ---------------- 表单 / 登录容器 ---------------- */
.panel-form{
    max-width:560px;margin:0 auto;padding:44px 40px;
    border:1px solid var(--line);border-radius:var(--radius-lg);
    background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.006));
}
.panel-form .eyebrow{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.panel-form h2{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.35}
.panel-form .sub{margin-top:12px;margin-bottom:34px;font-size:13px;color:var(--sub);line-height:1.9}
.panel-auth{max-width:420px;margin:0 auto;padding:44px 38px;
    border:1px solid var(--line);border-radius:var(--radius-lg);
    background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.006));}
.panel-auth h2{font-size:22px;font-weight:600;letter-spacing:-.02em}
.panel-auth .sub{margin-top:12px;margin-bottom:32px;font-size:12.5px;color:var(--sub);line-height:1.9}

/* 联运中心 */
.member-bar{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding:22px 26px;margin-bottom:44px;
    border:1px solid var(--line);border-radius:var(--radius-lg);
    background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.006));
}
.member-bar .who b{font-size:16px;font-weight:500}
.member-bar .who span{display:block;margin-top:5px;font-size:11.5px;letter-spacing:.08em;color:var(--dim)}
.signin-list{border-top:1px solid var(--line)}
.signin-row{
    display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
    padding:24px 0;border-bottom:1px solid var(--line);
    transition:background .3s var(--ease);
}
.signin-row:hover{background:rgba(255,255,255,.02)}
.signin-row .info{flex:1;min-width:240px}
.signin-row .info h3{font-size:17px;font-weight:500;letter-spacing:-.015em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.signin-row .info .sub{margin-top:9px;font-size:12.5px;color:var(--sub);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.signin-row .info .sub a{color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}
.signin-row .info .sub a:hover{border-color:#fff}
.signed-mark{
    display:inline-flex;align-items:center;gap:8px;
    font-size:11.5px;letter-spacing:.1em;color:var(--ok);
}

/* ---------------- 页脚 ---------------- */
.site-foot{flex:none;border-top:1px solid var(--line);background:rgba(0,0,0,.55);position:relative;z-index:1}
body.screen .site-foot{background:transparent}
.foot-in{
    display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
    padding:26px 0;font-size:11.5px;letter-spacing:.08em;color:var(--dim);
}
.foot-in .foot-brand{color:rgba(255,255,255,.6)}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{transition:color .3s var(--ease)}
.foot-links a:hover{color:#fff}

/* ---------------- 进场动效 ---------------- */
@media (prefers-reduced-motion:no-preference){
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
    .fade-up{opacity:0;animation:fadeUp 1s var(--ease) both}
    .d1{animation-delay:.08s}
    .d2{animation-delay:.18s}
    .d3{animation-delay:.34s}
    .d4{animation-delay:.46s}
    .d5{animation-delay:.6s}
}
@media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
}

/* ---------------- 响应式 ---------------- */
@media (max-width:1180px){
    .hero-meta a{min-width:96px}
}
@media (max-width:920px){
    .topbar{padding:16px 16px}
    .nav-links{display:none}
    .burger{display:inline-flex}
    .scrim{display:block}
    .nav-panel{right:0;left:0;width:auto}
    .page{padding-top:112px}
    .page-hero{padding-top:0}
    .post{grid-template-columns:112px 1fr;gap:20px}
    .post-arrow{display:none}
    .convoy-row{grid-template-columns:1fr;gap:20px}
    .spec-row{grid-template-columns:1fr;gap:8px;padding:16px 0}
    .roster-head{display:none}
    .roster-row{grid-template-columns:1fr 1fr;gap:14px 20px}
    .tl-item{grid-template-columns:1fr;gap:14px}
    .tl-body{padding-left:20px}
    .hero{padding:118px 20px 0}
    .hero-meta a{flex:1 1 50%}
    .hero-meta a:nth-child(3){border-left:none}
}
@media (max-width:600px){
    .page-head{margin-bottom:40px}
    .post{grid-template-columns:1fr;gap:16px}
    .post-thumb{max-width:220px}
    .panel-form,.panel-auth{padding:32px 22px}
    .hero-cta{gap:18px}
    .hero-meta a{flex:1 1 50%;padding:15px 4px}
    .hero-meta a:nth-child(odd){border-left:none}
    .hero-meta b{font-size:21px}
    body.screen{height:auto;overflow:visible}
    body.screen .hero{min-height:100dvh}
}
/* 视口偏矮时允许首页滚动，避免内容被裁切 */
@media (max-height:680px){
    body.screen{height:auto;overflow:visible}
    body.screen .hero{min-height:100dvh}
    .hero{padding-top:118px;padding-bottom:16px}
}
/* 超窄屏（320-380）压缩导航，保证菜单按钮始终可见 */
@media (max-width:400px){
    .topbar{padding:14px 12px}
    .navpill{padding:8px 8px 8px 14px;gap:12px}
    .brand{gap:9px}
    .brand-mark{width:21px;height:16px}
    .brand-name{font-size:13px}
    .brand-name em{font-size:10px;letter-spacing:.16em}
    .nav-cta{padding:8px 14px;font-size:12.5px}
    .burger{width:36px;height:31px}
    .hero{padding:104px 18px 0}
    .panel-form,.panel-auth{padding:30px 18px}
    .spec-row{grid-template-columns:1fr;gap:6px}
    .tl-body{padding-left:16px}
}
