
:root{
  --acc:#1553a5; --acc-d:#0c3a75; --acc2:#2e77cc; --green:#12a05d; --gold:#d9992a; --gold2:#f6d67e;
  --ink:#1f2733; --sub:#5a6475; --dim:#8a94a6; --line:#e3e8f0; --bg:#f4f6fa; --panel:#ffffff;
  /* FLUID_LAYOUT_V1：通栏平铺 + 随分辨率自适应 */
  --pad:clamp(18px,3.4vw,64px);        /* 左右留白随屏宽伸缩 */
  --gap:clamp(14px,1.2vw,24px);        /* 卡片栅格间距 */
  --sec-y:clamp(46px,5vw,96px);        /* 区块上下留白 */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Source Han Sans SC",sans-serif;color:var(--ink);background:var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{width:100%;max-width:1520px;margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ── 顶栏 ── */
.topline{background:var(--acc-d);color:rgba(255,255,255,.82);font-size:12.5px}
.topline .wrap{display:flex;align-items:center;gap:14px;height:clamp(30px,2.4vw,38px);flex-wrap:wrap}
.topline b{color:#fff;font-weight:600}
.topline .tr{margin-left:auto;display:flex;gap:16px;align-items:center}
.topline a:hover{color:#fff}
/* ── 主导航 ── */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
header.site.shadow{box-shadow:0 6px 24px rgba(15,40,90,.10)}
.site .wrap{display:flex;align-items:center;height:clamp(66px,5vw,88px);gap:clamp(16px,2vw,34px)}
.brand{display:flex;align-items:center;gap:14px;flex:none}
.brand .mark{width:clamp(44px,3.4vw,60px);height:clamp(44px,3.4vw,60px);flex:none}
.brand .name{font-size:clamp(24px,1.15vw + 14px,34px);font-weight:900;letter-spacing:2.5px;color:var(--acc-d);line-height:1.15}
.brand .en{display:block;font-size:clamp(12px,0.35vw + 10px,15px);font-weight:600;color:var(--dim);letter-spacing:1.2px;line-height:1.35;margin-top:3px}
nav.main{display:flex;gap:30px;margin-left:14px}
nav.main a{font-size:clamp(14.5px,0.3vw + 11px,17px);font-weight:600;color:var(--ink);padding:8px 2px;border-bottom:2px solid transparent;transition:.2s}
nav.main a:hover{color:var(--acc);border-bottom-color:var(--acc)}
.hact{margin-left:auto;display:flex;gap:10px;align-items:center;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:clamp(9px,0.6vw,12px) clamp(18px,1.5vw,28px);font-size:clamp(14px,0.28vw + 11px,17px);font-weight:700;cursor:pointer;border:1px solid transparent;transition:.2s;line-height:1.4}
.btn-ghost{border-color:var(--acc);color:var(--acc);background:#fff}
.btn-ghost:hover{background:rgba(21,83,165,.06)}
.btn-acc{background:linear-gradient(135deg,var(--acc) 0%,var(--acc2) 100%);color:#fff;box-shadow:0 6px 18px rgba(21,83,165,.30)}
.btn-acc:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn-gold{background:linear-gradient(135deg,#e8b04b,var(--gold));color:#fff;box-shadow:0 6px 18px rgba(217,153,42,.30)}
.btn-gold:hover{filter:brightness(1.06);transform:translateY(-1px)}
/* ── Hero ── */
.hero{position:relative;overflow:hidden;color:#fff;background:
 radial-gradient(1100px 500px at 85% -10%,rgba(18,160,93,.35),transparent 60%),
 radial-gradient(900px 480px at -10% 110%,rgba(246,214,126,.18),transparent 55%),
 linear-gradient(135deg,#0c3a75 0%,#1553a5 55%,#1a63b8 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.95fr);gap:clamp(24px,3.2vw,60px);align-items:center}
.hero-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);border-radius:18px;padding:clamp(18px,1.5vw,28px) clamp(18px,1.6vw,30px);backdrop-filter:blur(4px)}
.hero-card .hc-t{font-size:clamp(14px,0.28vw + 12px,17px);font-weight:800;color:#fff;letter-spacing:1px}
.hero-card .hc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hero-card .hc-chips span{font-size:12.5px;color:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.08);border-radius:999px;padding:4px 12px;white-space:nowrap}
.hero-card .hc-foot{margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.72)}
.hero-card .hc-foot b{color:var(--gold2)}
.hero .wrap{position:relative;padding:clamp(48px,5.4vw,96px) var(--pad) clamp(40px,4.6vw,80px);max-width:1520px}
.hero .kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 16px;font-size:clamp(12.5px,0.2vw + 11px,15px);letter-spacing:2px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.08)}
.hero h2{font-size:clamp(30px,1.75vw + 20px,62px);line-height:1.26;font-weight:800;letter-spacing:2px;margin-top:clamp(16px,1.6vw,26px)}
.hero h2 .hl{color:var(--gold2)}
.hero p.lead{margin-top:16px;font-size:clamp(15px,0.32vw + 11.5px,19.5px);color:rgba(255,255,255,.88);line-height:1.95;text-align:justify;text-justify:inter-ideograph;max-width:none}
.hero .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.hero .btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.hero .btn-ghost:hover{background:rgba(255,255,255,.10)}
.hstats{margin-top:clamp(26px,3vw,48px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.hstat{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:14px;padding:clamp(14px,1.1vw,20px) clamp(16px,1.2vw,22px)}
.hstat b{display:block;font-size:clamp(22px,1vw + 14px,32px);font-weight:800;color:#fff}
.hstat span{font-size:clamp(12.5px,0.2vw + 11px,14.5px);color:rgba(255,255,255,.80)}
.hero .deco{position:absolute;right:-60px;top:-40px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.16),transparent 60%);pointer-events:none}

/* ── 公告条 ── */
.notice{background:#fff;border-bottom:1px solid var(--line)}
.notice .wrap{display:flex;align-items:center;gap:12px;height:46px;overflow:hidden}
.notice .tag{flex:none;background:var(--gold-soft,#fbf3e2);color:#a8690f;font-size:12px;font-weight:800;border-radius:999px;padding:2px 12px}
.notice .mask{flex:1;overflow:hidden;position:relative;height:46px}
.notice .roll{position:absolute;white-space:nowrap;line-height:46px;font-size:14px;color:var(--sub);animation:roll 90s linear infinite}
.notice .mask:hover .roll{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .notice .roll{animation:none;position:static;line-height:46px;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
  html{scroll-behavior:auto}
}
.notice .roll span{margin-right:56px}
@keyframes roll{0%{transform:translateX(100vw)}100%{transform:translateX(-100%)}}

/* ── 区块通用 ── */
section.blk{padding:var(--sec-y) 0}
section.blk.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;align-items:flex-end;gap:clamp(20px,3vw,64px);text-align:left;margin-bottom:clamp(28px,3.2vw,52px)}
.sec-head .eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:3px;color:var(--acc);border:1px solid rgba(21,83,165,.30);border-radius:999px;padding:3px 16px;background:rgba(21,83,165,.05)}
.sec-head h3{font-size:clamp(24px,1.3vw + 14px,40px);font-weight:800;margin-top:14px;letter-spacing:1px}
.sec-head p{color:var(--sub);margin-left:auto;font-size:clamp(14px,0.28vw + 10.5px,17.5px);line-height:1.95;text-align:justify;text-justify:inter-ideograph;max-width:min(100%,78ch)}

/* ── 能力卡片 ── */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 24px;transition:.25s;position:relative;overflow:hidden}
.fcard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,40,90,.10);border-color:rgba(21,83,165,.35)}
.fcard .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(21,83,165,.08);margin-bottom:14px}
.fcard h4{font-size:17px;font-weight:800}
.fcard p{margin-top:8px;font-size:13.5px;line-height:1.9;color:var(--sub);text-align:justify;text-justify:inter-ideograph}

/* ── 链条 ── */
.chain{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap)}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 16px;text-align:center;position:relative;transition:.2s}
.step:hover{border-color:var(--acc);transform:translateY(-3px)}
.step .no{width:30px;height:30px;margin:0 auto;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.step .t{margin-top:10px;font-weight:800;font-size:15px}
.step .d{margin-top:5px;font-size:12px;color:var(--dim)}
.chain-tip{text-align:center;margin-top:22px;color:var(--sub);font-size:13.5px}
.chain-tip b{color:var(--acc)}

/* ── 文章频道（大赛资讯 / 备赛指南） ── */
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.art-more{margin:24px 0 0;text-align:center}.art-more .btn{margin-top:0}
/*_ART_MORE_INLINE_V1*/
.arts.c1{grid-template-columns:1fr}
.arts.c2{grid-template-columns:repeat(2,1fr)}
.art{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,1.5vw,26px) clamp(18px,1.6vw,28px);transition:.22s}
.art:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,40,90,.10);border-color:rgba(21,83,165,.35)}
.art .ah{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--dim)}
.art .cat{background:rgba(21,83,165,.08);color:var(--acc);font-weight:800;border-radius:999px;padding:2px 12px}
.art .dt{margin-left:auto}
.art h4{margin-top:12px;font-size:clamp(16px,0.4vw + 13.5px,19px);font-weight:800;line-height:1.5}
.art p{margin-top:8px;font-size:13.5px;line-height:1.9;color:var(--sub);flex:1;text-align:justify;text-justify:inter-ideograph}
.art .more{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--acc)}
.art .soon{color:var(--gold)}
.arts-empty{border:1px dashed var(--line);border-radius:16px;background:var(--panel);padding:clamp(28px,3vw,48px);text-align:center;color:var(--dim);font-size:14px;grid-column:1/-1}
.arts-empty b{display:block;font-size:16px;color:var(--sub);margin-bottom:6px}

/* ── 套餐 ── */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-bottom:26px}
.pcard{position:relative;background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:26px 22px 22px;text-align:center;transition:.22s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,40,90,.10)}
.pcard.rec{border-color:var(--gold)}
.pcard .recb{position:absolute;top:0;right:0;background:linear-gradient(135deg,#e8b04b,var(--gold));color:#fff;font-size:12px;font-weight:800;padding:4px 14px;border-radius:0 14px 0 12px;letter-spacing:2px}
.pcard .pt{font-size:15px;font-weight:800;color:var(--sub)}
.pcard .pv{margin-top:10px;font-size:clamp(30px,1.5vw + 16px,46px);font-weight:800;color:var(--acc-d)}
.pcard .pv i{font-style:normal;font-size:15px;font-weight:700;color:var(--sub);margin-right:2px}
.pcard .pd{margin-top:6px;font-size:13.5px;color:var(--sub)}
.pcard .btn{margin-top:18px;width:100%}
.pgroup-t{text-align:center;font-size:17px;font-weight:800;color:var(--acc-d);margin:6px 0 16px;letter-spacing:2px}
.pgroup-t:first-child{margin-top:0}
.pfoot{text-align:center;font-size:12.5px;color:var(--dim)}

/* ── 最新活动（ACTIVITY_V1） ── */
nav.main a.nav-hot{color:#b8791a;font-weight:800;border-bottom-color:rgba(217,153,42,.45)}
nav.main a.nav-hot:hover{color:#8a5b12;border-bottom-color:var(--gold)}
.btn-act{background:#fff;color:#8a5b12;border-color:rgba(246,214,126,.95);font-weight:900;
  box-shadow:0 0 0 3px rgba(246,214,126,.30),0 8px 22px rgba(0,0,0,.20)}
.btn-act:hover{transform:translateY(-1px);background:#fffaf0}
.btn-pulse{animation:actPulse 1.9s ease-in-out infinite}
@keyframes actPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(246,214,126,.55),0 8px 20px rgba(217,153,42,.28)}
  55%{box-shadow:0 0 0 12px rgba(246,214,126,0),0 10px 26px rgba(217,153,42,.34)}
}
.act-band{position:relative;overflow:hidden;border:2px solid var(--gold);border-radius:20px;
  background:linear-gradient(120deg,#fff9ec,#ffffff 52%,#fdf3e0);
  padding:clamp(24px,2.6vw,52px) clamp(20px,3vw,58px);display:flex;gap:clamp(20px,2.4vw,46px);
  align-items:center;flex-wrap:wrap;box-shadow:0 14px 40px rgba(217,153,42,.14)}
.act-band:before{content:"";position:absolute;right:-60px;bottom:-90px;width:280px;height:280px;
  border-radius:50%;background:radial-gradient(circle,rgba(246,214,126,.45),transparent 68%)}
.act-l{flex:1 1 380px;position:relative}
.act-flag{display:inline-block;background:linear-gradient(135deg,#e8b04b,var(--gold));color:#fff;
  font-size:12.5px;font-weight:800;letter-spacing:2px;border-radius:999px;padding:4px 14px}
.act-band h4{margin-top:14px;font-size:clamp(20px,1vw + 15px,32px);font-weight:900;
  color:var(--acc-d);line-height:1.45;letter-spacing:.5px}
.act-band h4 em{font-style:normal;color:#b8791a;
  background:linear-gradient(180deg,transparent 62%,rgba(246,214,126,.6) 62%)}
.act-ul{margin-top:16px;display:grid;gap:10px}
.act-ul li{list-style:none;position:relative;padding-left:26px;font-size:14.5px;color:var(--sub);line-height:1.85}
.act-ul li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.act-r{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}
.act-r .btn{font-size:clamp(15px,.4vw + 12px,18px);padding:clamp(12px,.8vw,16px) clamp(24px,2vw,40px)}
.act-note{font-size:12.5px;color:var(--dim)}
/* 活动说明弹窗 */
.actm{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(9,26,54,.58);backdrop-filter:blur(3px)}
.actm.on{display:flex}
.actm-box{position:relative;width:100%;max-width:620px;max-height:88vh;overflow:auto;background:#fff;
  border-radius:20px;border-top:8px solid var(--gold);padding:clamp(26px,3vw,44px);text-align:center;
  box-shadow:0 24px 70px rgba(6,22,48,.34);animation:actIn .28s ease-out}
@keyframes actIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.actm-x{position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--dim);font-size:15px;cursor:pointer;line-height:1}
.actm-x:hover{color:var(--ink);border-color:var(--dim)}
.actm-flag{display:inline-block;background:linear-gradient(135deg,#e8b04b,var(--gold));color:#fff;
  font-size:12.5px;font-weight:800;letter-spacing:2px;border-radius:999px;padding:4px 16px}
.actm-box h4{margin-top:16px;font-size:clamp(19px,.9vw + 14px,27px);font-weight:900;
  color:var(--acc-d);line-height:1.5}
.actm-box h4 em{font-style:normal;color:#b8791a}
.actm-box p{margin-top:14px;font-size:14.5px;color:var(--sub);line-height:1.95;
  text-align:justify;text-justify:inter-ideograph}
.actm-ul{margin-top:16px;display:grid;gap:9px;text-align:left;background:#fbfcfe;
  border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.actm-ul li{list-style:none;position:relative;padding-left:22px;font-size:13.8px;color:var(--sub);line-height:1.8}
.actm-ul li:before{content:"·";position:absolute;left:6px;top:-2px;color:var(--gold);font-weight:900;font-size:20px}
.actm-btns{margin-top:22px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.tool-m{border-top-color:var(--acc)}
.tool-flag{background:linear-gradient(135deg,#2e77cc,var(--acc))}
.btn-pulse-t{animation:toolPulse 1.9s ease-in-out infinite}
@keyframes toolPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(46,119,204,.5),0 8px 20px rgba(12,58,117,.25)}
  55%{box-shadow:0 0 0 12px rgba(46,119,204,0),0 10px 26px rgba(12,58,117,.3)}
}
@media (max-width:760px){
  .act-r{width:100%}
  .act-r .btn{width:100%}
}

/* ── 工具台横幅 ── */
.tool-band{background:linear-gradient(120deg,#0c3a75,#1553a5 60%,#127a52);border-radius:20px;color:#fff;padding:clamp(26px,2.9vw,54px) clamp(22px,3.4vw,64px);display:flex;align-items:center;gap:clamp(18px,2vw,34px);flex-wrap:wrap}
.tool-band h3{font-size:26px;font-weight:800;letter-spacing:1px}
.tool-band p{margin-top:10px;color:rgba(255,255,255,.86);font-size:14.5px;line-height:1.9;max-width:none}
.tool-band .btn{margin-left:auto;background:#fff;color:var(--acc-d);flex:none}
.tool-band .btn:hover{transform:translateY(-2px)}

/* ── 流程 ── */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.how .hcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 24px;text-align:center}
.how .num{font-size:40px;font-weight:800;color:rgba(21,83,165,.14);line-height:1}
.how h4{margin-top:8px;font-size:17px;font-weight:800}
.how p{margin-top:8px;font-size:13.5px;line-height:1.9;color:var(--sub);text-align:justify;text-justify:inter-ideograph}

/* ── 页脚（FOOTER_WIDE_V1：底部通栏比正文更宽、字更清楚） ── */
footer.site{background:#14243c;color:rgba(255,255,255,.82);margin-top:72px}
footer.site .wrap{max-width:1740px;padding:0 clamp(16px,2vw,40px)}
footer.site .cols{display:grid;grid-template-columns:minmax(300px,1.7fr) repeat(auto-fit,minmax(180px,1fr));gap:clamp(24px,2.4vw,48px);padding:clamp(36px,3.6vw,64px) 0 clamp(28px,2.6vw,44px)}
footer.site h5{color:#fff;font-size:clamp(15.5px,0.25vw + 12px,18px);margin-bottom:14px;letter-spacing:1px}
footer.site a{display:block;font-size:clamp(14px,0.22vw + 11px,16.5px);padding:5px 0;color:rgba(255,255,255,.86)}
footer.site a:hover{color:#fff}
footer.site .about{font-size:clamp(14px,0.22vw + 11px,16.5px);line-height:1.95;color:rgba(255,255,255,.86)}
footer.site .base{border-top:1px solid rgba(255,255,255,.16);padding:20px 0;text-align:center;font-size:clamp(12.5px,0.18vw + 10.5px,15px);color:rgba(255,255,255,.68)}

@media (max-width:1249px){
  .feat,.arts,.arts.c2{grid-template-columns:repeat(2,1fr)}
  .hstats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr}
}
@media (max-width:1023px){
  .chain{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .plans,.how{grid-template-columns:1fr}
}
@media (max-width:600px){
  .feat,.arts,.arts.c2{grid-template-columns:1fr}
}
@media (max-width:960px){
  .sec-head{display:block}
  .sec-head p{margin-top:12px}
  .site .wrap{height:auto;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;row-gap:2px}
  nav.main{order:3;width:100%;display:flex;gap:18px;overflow-x:auto;padding-bottom:5px}
  .brand .mark{width:44px;height:44px}
  .brand .name{font-size:23px;letter-spacing:1.5px}
  .brand .en{font-size:12px;letter-spacing:.6px}
  .tool-band .btn{margin-left:0}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .topline .tr span.hide-s{display:none}
}

/* ── 子页面补充（NAV_PAGES_V1） ── */
.pg-head{padding:clamp(26px,3.2vw,56px) 0 clamp(4px,1vw,12px)}
.crumb{font-size:12.5px;color:var(--dim);margin-bottom:12px}
.crumb a:hover{color:var(--acc)}
.crumb span{margin:0 6px}
.pg-head h1{font-size:clamp(25px,1.5vw + 15px,42px);font-weight:900;letter-spacing:1px;color:var(--acc-d)}
.pg-head .lead{margin-top:14px;font-size:clamp(14.5px,0.35vw + 11px,18px);line-height:1.95;color:var(--sub);text-align:justify;text-justify:inter-ideograph}
.arts.c4{grid-template-columns:repeat(4,1fr)}
.pg-cta{margin-top:clamp(24px,3vw,44px);display:flex;gap:14px;flex-wrap:wrap}
.nav-cur{font-size:clamp(14.5px,0.3vw + 11px,17px);font-weight:800;color:var(--acc);padding:8px 2px;border-bottom:2px solid var(--acc)}
@media (max-width:1249px){.arts.c4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1023px){.arts.c4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.arts.c4{grid-template-columns:1fr}}

/* ── 系统介绍页（ABOUT_SHELL_V1） ── */
.ab-lead{font-size:clamp(14.5px,0.35vw + 11px,18px);line-height:2.05;color:var(--sub);text-align:justify;text-justify:inter-ideograph}
.ab-lead b{color:var(--ink)}
.ab-lead + .ab-lead{margin-top:16px}
.ab-note{margin-top:22px;border-left:4px solid var(--gold);background:#fdf8ee;border-radius:12px;padding:18px 24px;font-size:clamp(14px,0.28vw + 11px,17px);color:#1f2733;line-height:1.95}
.ab-note b{color:var(--acc-d)}
.ab-tbl{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:clamp(13.5px,0.25vw + 11px,16px)}
.ab-tbl th,.ab-tbl td{border-bottom:1px solid var(--line);padding:15px 22px;text-align:left;vertical-align:top;line-height:1.9}
.ab-tbl th{background:#eef1f7;color:var(--acc-d);font-weight:800;width:26%}
.ab-tbl td{color:var(--sub)}
.ab-tbl tr:last-child th,.ab-tbl tr:last-child td{border-bottom:0}
.ab-tracks{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.ab-tracks a{display:inline-block;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 18px;font-size:clamp(13px,0.22vw + 10.5px,15px);color:var(--ink);font-weight:600;transition:.2s}
.ab-tracks a:hover{border-color:var(--acc);color:var(--acc);background:rgba(21,83,165,.05);transform:translateY(-2px)}
.ab-list{margin:0;padding-left:0;list-style:none;counter-reset:abn;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.ab-list li{counter-increment:abn;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px 22px 64px;position:relative;font-size:clamp(13.5px,0.25vw + 11px,16px);line-height:1.9;color:var(--sub)}
.ab-list li:before{content:counter(abn,decimal-leading-zero);position:absolute;left:22px;top:21px;font-weight:800;color:var(--acc);font-size:15px;opacity:.8}
.ab-list b{color:var(--ink)}
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.faq .q{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.faq h4{font-size:clamp(15px,0.3vw + 12px,18px);font-weight:800;color:var(--acc-d)}
.faq p{margin-top:10px;font-size:clamp(13.5px,0.25vw + 11px,16px);line-height:1.95;color:var(--sub);text-align:justify;text-justify:inter-ideograph}
@media (max-width:1023px){.ab-list,.faq{grid-template-columns:1fr}}

/* ── 文章正文（ART_SHELL_V1：长文阅读排版，供 /articles/ 使用） ── */
.prose{max-width:min(100%,104ch);margin:0 auto;font-size:clamp(14.5px,0.3vw + 11.5px,17.5px);line-height:2.05;color:var(--sub);text-align:justify;text-justify:inter-ideograph}
.prose h2{font-size:clamp(20px,0.7vw + 14px,27px);font-weight:800;color:var(--ink);margin:clamp(28px,2.6vw,46px) 0 14px;padding-left:14px;border-left:4px solid var(--acc);line-height:1.6}
.prose h3{font-size:clamp(16.5px,0.4vw + 13px,20.5px);font-weight:800;color:var(--acc-d);margin:24px 0 10px}
.prose p{margin:12px 0}
.prose ul,.prose ol{padding-left:26px;margin:12px 0}
.prose li{margin:9px 0}
.prose b,.prose strong{color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--panel);font-size:clamp(13.5px,0.22vw + 11px,16px)}
.prose th,.prose td{border:1px solid var(--line);padding:13px 18px;text-align:left;line-height:1.85}
.prose th{background:#eef1f7;color:var(--acc-d);font-weight:800;white-space:nowrap}
.prose td{color:var(--sub)}
.prose .tip{background:#fdf8ee;border-left:4px solid var(--gold);border-radius:12px;padding:18px 24px;margin:20px 0;color:#1f2733;font-size:clamp(14px,0.26vw + 11px,16.5px)}
.prose blockquote{margin:20px 0;padding:16px 24px;border-left:4px solid var(--acc);background:rgba(21,83,165,.05);border-radius:10px;color:var(--ink)}
.art-meta{margin-top:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--dim)}
.art-meta .cat{background:rgba(21,83,165,.08);color:var(--acc);font-weight:800;border-radius:999px;padding:4px 14px;font-size:12.5px}
.art-sign{margin-top:clamp(30px,3vw,52px);border-top:1px dashed var(--line);padding-top:20px;text-align:center;font-size:13.5px;color:var(--dim)}
.art-sign b{display:block;color:var(--acc-d);font-size:15px;letter-spacing:1px;margin-bottom:6px}
.art-rel{margin-top:clamp(26px,2.6vw,42px)}
.art-rel h4{font-size:clamp(15.5px,0.3vw + 12px,18px);font-weight:800;color:var(--ink);margin-bottom:14px}
.rel-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);list-style:none;padding:0;margin:0}
.rel-list a{display:block;height:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-size:clamp(13.5px,0.22vw + 11px,15px);font-weight:700;color:var(--ink);line-height:1.7;transition:.2s}
.rel-list a:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-2px)}
@media (max-width:1023px){.rel-list{grid-template-columns:1fr}}

/* ── 逐字稿正文（SCRIPTLIB_SITE_V1：动作提示 + 台词行） ── */
.prose .act{margin:20px 0 8px;padding:9px 16px;background:#eef1f7;border-left:4px solid var(--acc);
  border-radius:8px;font-size:clamp(13.5px,0.24vw + 11px,16px);font-weight:800;color:var(--acc-d)}
.prose .ln{margin:10px 0;line-height:2.05}
.prose .ln b{display:inline-block;min-width:24px;color:var(--acc);font-weight:900}
.prose table + .prose .act,.prose .act + .ln{margin-top:14px}
