:root{
  --blue:#0e4d9c;--blue2:#1668c1;--blue-d:#0a3a78;
  --ink:#1b2a3b;--gray:#64798f;--line:#dfe9f3;--bg:#f1f6fb;--card:#fff;
  --gold:#8a6412;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.65;}
.wrap{max-width:1080px;margin:0 auto;padding:0 14px;}
a{color:var(--blue2);text-decoration:none;}
a:hover{text-decoration:underline;}

/* 微信分享缩略图：移出屏幕但保持真实尺寸，供微信抓取 */
.wx-thumb{position:absolute;left:-9999px;top:-9999px;width:300px;height:300px;}

/* ===== 顶栏 ===== */
.topbar{background:#fff;border-bottom:1px solid var(--line);}
.topbar-in{max-width:1080px;margin:0 auto;padding:9px 14px;display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:9px;flex:none;text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand img{width:38px;height:38px;border-radius:9px;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.16);}
.brand-t{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.brand-t b{font-size:16.5px;color:var(--ink);font-weight:700;letter-spacing:.5px;}
.brand-t i{font-style:normal;font-size:11.5px;color:var(--gray);}
@media(max-width:699px){.topbar-in{padding:8px 12px;}}

/* ===== 头图 ===== */
.hero{position:relative;background:var(--blue-d) url("../images/banner.jpg") center/cover no-repeat;color:#fff;}
.hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(5,34,76,.94) 0%,rgba(7,46,102,.80) 46%,rgba(9,58,126,.34) 100%);}
.hero-in{position:relative;max-width:1080px;margin:0 auto;padding:46px 16px 42px;}
.kick{font-size:13.5px;letter-spacing:2px;color:#9fc4ee;margin:0 0 10px;font-weight:500;}
.hero h1{margin:0;font-size:clamp(23px,5.4vw,40px);line-height:1.34;font-weight:700;letter-spacing:1px;
  text-shadow:0 2px 14px rgba(0,0,0,.35);}
.hero h1 small{display:block;font-size:.52em;font-weight:400;letter-spacing:4px;color:#bcd8f8;margin-bottom:6px;}
.hero-sub{margin:14px 0 0;font-size:14.5px;color:#d5e7fb;max-width:700px;line-height:1.85;}
.hero-sub b{color:#fff;}
.hero-badge{display:inline-flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.hero-badge span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
  border-radius:999px;padding:4px 12px;font-size:13px;color:#eaf3fd;}
.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px;}
.hero-stats .st{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  border-radius:12px;padding:12px 14px;backdrop-filter:blur(3px);}
.hero-stats .n{font-size:28px;font-weight:700;color:#fff;line-height:1.15;}
.hero-stats .n small{font-size:13px;font-weight:400;color:#b9d6f5;margin-left:2px;}
.hero-stats .t{font-size:12.5px;color:#bcd6f2;margin-top:3px;line-height:1.5;}

/* ===== 版块标题 ===== */
.sec-t{font-size:20px;margin:30px 0 4px;color:var(--ink);font-weight:700;position:relative;padding-left:11px;}
.sec-t::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:2px;background:var(--blue);}
.sec-d{margin:0 0 14px;font-size:13px;color:var(--gray);line-height:1.8;}
.sec-d b{color:#33465a;}

/* ===== 名词解释 ===== */
.gl{margin-top:4px;}
.gi{background:var(--card);border:1px solid var(--line);border-radius:11px;margin-bottom:8px;
  box-shadow:0 1px 4px rgba(10,50,100,.05);overflow:hidden;}
.gi summary{list-style:none;cursor:pointer;padding:12px 14px;font-size:15.5px;font-weight:600;color:var(--ink);
  display:flex;align-items:center;gap:10px;user-select:none;}
.gi summary::-webkit-details-marker{display:none;}
.gi summary:hover{background:#f6fafd;}
.pm{margin-left:auto;flex:none;width:18px;height:18px;position:relative;}
.pm::before,.pm::after{content:"";position:absolute;background:#9ab0c6;border-radius:1px;}
.pm::before{left:2px;right:2px;top:8px;height:2px;}
.pm::after{top:2px;bottom:2px;left:8px;width:2px;transition:transform .18s;}
[open] > summary .pm::after{transform:scaleY(0);}
.gi-b{padding:0 14px 13px;font-size:13.5px;color:#33465a;line-height:1.9;}
.gi-b p{margin:0 0 8px;}
.gi-b p:last-child{margin-bottom:0;}
.gi-b b{color:var(--blue-d);}

/* ===== 搜索工具条（sticky） ===== */
.tools{position:sticky;top:0;z-index:40;background:rgba(241,246,251,.97);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.tools-in{max-width:1080px;margin:0 auto;padding:10px 14px;}
.tools-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.sbox{position:relative;flex:1 1 240px;min-width:0;}
.sbox input{width:100%;height:40px;padding:0 76px 0 34px;border:1px solid #cfe0f2;border-radius:10px;
  background:#fff;color:var(--ink);font-size:16px;outline:none;transition:border-color .16s,box-shadow .16s;}
.sbox input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(22,104,193,.14);}
.sbox input::placeholder{color:#9bb0c5;}
.sbox .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;
  border:2px solid #8fa8c0;border-radius:50%;pointer-events:none;}
.sbox .ic::after{content:"";position:absolute;right:-6px;bottom:-4px;width:8px;height:2px;background:#8fa8c0;
  border-radius:1px;transform:rotate(45deg);}
.clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:26px;padding:0 9px;border:0;
  background:#eef4fa;color:#5d7793;border-radius:8px;font-size:12.5px;cursor:pointer;display:none;}
.clr:hover{background:#e2ecf7;color:var(--blue);}
.tags{display:flex;gap:7px;flex-wrap:wrap;}
.tag{height:40px;padding:0 15px;border-radius:10px;border:1px solid #cfe0f2;background:#fff;color:#3d5872;
  font-size:13.5px;font-weight:500;cursor:pointer;line-height:38px;}
.tag:hover{border-color:#9dbfe2;}
.tag.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(14,77,156,.22);}
.hit{margin-left:auto;font-size:12.5px;color:var(--gray);white-space:nowrap;}
.hit b{color:var(--blue);font-size:14px;}
@media(max-width:699px){
  .tools-in{padding:8px 12px;}
  .tools-row{gap:7px;}
  .sbox{flex:1 1 140px;min-width:0;order:1;}
  .hit{flex:none;margin:0;font-size:11.5px;order:2;}
  .tags{flex:1 1 100%;min-width:0;order:3;}
  .tag{flex:1 1 0;min-width:0;text-align:center;padding:0 4px;}
}
@media(max-width:479px){
  .tag{font-size:12.5px;}
}
@media(max-width:359px){
  .hit{display:none;}
}

/* ===== 名单 ===== */
#list{padding-top:4px;}
.pnav{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:20px 0 14px;scroll-margin-top:66px;}
.pnav-t{flex:none;font-size:16.5px;color:var(--blue-d);font-weight:700;letter-spacing:.6px;margin-right:2px;}
.pnav a{font-size:13px;color:#48617c;background:#f0f5fb;border:1px solid #e2ecf6;border-radius:999px;padding:3px 11px;}
.pnav a:hover{text-decoration:none;background:#e4eef8;border-color:#cfe0f5;color:var(--blue);}
.pnav a.off{display:none;}

/* ===== 省份块 ===== */
.pv{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 15px;
  margin-top:11px;box-shadow:0 1px 4px rgba(10,50,100,.05);scroll-margin-top:66px;overflow:hidden;}
.pv-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 0;cursor:pointer;
  list-style:none;user-select:none;-webkit-tap-highlight-color:transparent;}
.pv-h::-webkit-details-marker{display:none;}
.pv-h:hover{background:#f7fbff;}
.pv-h:hover h4{color:var(--blue);}
.pv-h h4{margin:0;font-size:17.5px;color:var(--blue-d);letter-spacing:.6px;font-weight:700;transition:color .16s;}
.pv-n{font-size:12.5px;color:#fff;background:var(--blue2);border-radius:999px;padding:2px 10px;font-weight:600;}
.pv-hit{font-size:12.5px;color:var(--blue2);background:#e8f1fb;border-radius:999px;padding:2px 10px;font-weight:600;display:none;}
body.filtering .pv-hit{display:inline-block;}
.pv[open] .pv-h{border-bottom:1px dashed #e6eef7;margin-bottom:12px;}
.pv .tb{padding:0 0 14px;}
.pv:not([open]) .tb{display:none;}
.pv.off{display:none;}

/* ===== 名单表格（横向：一行一所学校） ===== */
.tb{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.rk{width:100%;border-collapse:collapse;font-size:13.4px;}
table.rk th{background:linear-gradient(#f5f9fd,#eaf2fb);color:#1b4a7d;font-weight:700;
  padding:9px 10px;text-align:left;border-bottom:1px solid #dbe8f5;white-space:nowrap;font-size:12.8px;}
table.rk td{padding:9px 10px;border-bottom:1px solid #eaf1f8;vertical-align:middle;}
table.rk tbody tr:last-child td{border-bottom:0;}
table.rk .rk-no{width:48px;color:#8fa8c0;font-weight:700;}
table.rk .rk-sch{font-weight:700;font-size:14.6px;line-height:1.5;}
table.rk .rk-sch a{color:var(--blue-d);}
table.rk .rk-sch a:hover{color:var(--blue2);}
table.rk .rk-city,table.rk .rk-nat,table.rk .rk-year{white-space:nowrap;color:#5d7793;font-size:12.9px;}
table.rk .rk-sg{white-space:nowrap;}
table.rk .rk-more{width:74px;white-space:nowrap;}
table.rk .rk-more .tg{color:var(--blue);font-size:12.6px;font-weight:600;}
.rk-sub{display:none;font-size:12px;color:#8fa8c0;font-weight:400;margin-top:2px;}
tr.rk-row{cursor:pointer;}
tr.rk-row:hover{background:#f7fbff;}
tr.rk-row.on{background:#eff6fd;}
tr.rk-row.off{display:none;}
tr.rk-detail{display:none;}
tr.rk-detail.open{display:table-row;}
tr.rk-detail.off{display:none;}
.rk-arw{display:inline-block;margin-left:4px;color:#9ab0c6;transition:transform .2s;}
tr.rk-row.on .rk-arw{transform:rotate(180deg);}
.blurb{background:#fafcfe;border-left:3px solid var(--blue2);border-radius:0 8px 8px 0;
  padding:11px 13px;font-size:14.4px;line-height:1.85;color:#33465a;margin:2px 0 8px;}
.blurb p{margin:0 0 6px;}
.blurb p:last-child{margin-bottom:0;}
.blurb .bl-lb{display:inline-block;font-size:11.5px;font-weight:700;color:var(--blue);
  background:#edf4fc;border-radius:5px;padding:1px 6px;margin-right:6px;letter-spacing:.5px;}
.blurb .tg{display:inline-block;font-size:12.2px;color:#2d4a68;background:#f4f8fd;border:1px solid #e5eef7;
  border-radius:6px;padding:1px 7px;margin:2px 4px 2px 0;}
.blurb .jb{color:#647d96;}
.nat{display:inline-block;font-size:11.8px;font-weight:600;border-radius:5px;padding:1px 7px;letter-spacing:.5px;}
.nat.pub{color:#12539c;background:#e6effb;border:1px solid #cfe0f5;}
.nat.pri{color:#8a6412;background:#fbf3e2;border:1px solid #efdfb8;}
.sg-yn{display:inline-block;font-size:12.6px;font-weight:700;border-radius:5px;padding:1px 9px;}
.sg-yn.yes{color:#a5342a;background:#fdeeec;border:1px solid #f6d6d1;}
.sg-yn.no{color:#7d94aa;background:#f3f6fa;border:1px solid #e4ebf3;}

/* ===== 名单工具行 ===== */
.sec-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-4px 0 12px;}
.sec-tools .lead{font-size:12.8px;color:var(--gray);line-height:1.8;}
.sec-tools .lead b{color:#33465a;}
.tb-btns{display:inline-flex;gap:6px;margin-left:auto;}
.btn-xs{font:inherit;font-size:12.4px;line-height:1.7;padding:2px 10px;border-radius:12px;cursor:pointer;
  background:#fff;border:1px solid #cfe0f2;color:#3d5872;}
.btn-xs:hover{border-color:#9dbfe2;color:var(--blue);background:#f7fbff;}

/* ===== 数据来源 ===== */
.src{margin-top:34px;background:#0f3057;color:#c9dcf0;}
.src .wrap{padding:26px 14px 34px;}
.src h2{font-size:17px;color:#fff;margin:0 0 12px;font-weight:600;}
.src p{font-size:13px;line-height:2.0;margin:0;color:#b7cee6;word-break:break-all;}
.src .copy{margin-top:16px;font-size:12px;color:#7f9cbd;text-align:center;}

/* ===== 返回地区选择（浮动箭头，选完地区后可一键回到地区导航） ===== */
.backtop{position:fixed;right:20px;bottom:26px;z-index:70;display:none;align-items:center;gap:6px;
  font-family:inherit;font-size:13px;font-weight:600;line-height:1;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#1b5ea6,#3288d8);border:1px solid rgba(255,255,255,.24);
  border-radius:999px;padding:9px 15px;box-shadow:0 8px 20px rgba(17,62,112,.30);
  -webkit-tap-highlight-color:transparent;}
.backtop.on{display:inline-flex;}
.backtop:hover{filter:brightness(1.07);}
.backtop:focus-visible{outline:2px solid #ffce63;outline-offset:2px;}
.backtop .arw{font-style:normal;font-size:15px;line-height:1;}

/* ===== 移动端自适应 ===== */
@media(min-width:700px){
  .hero-stats{grid-template-columns:repeat(4,1fr);}
  .hero-in{padding:58px 16px 50px;}
  body{font-size:16px;}
  .gi summary{font-size:16px;}
  .pv{padding:15px 17px 16px;}
  .pnav{gap:8px;}
  table.rk{font-size:13.6px;}
  table.rk .rk-sch{font-size:15px;}
}
@media(max-width:759px){
  table.rk th.rk-city,table.rk td.rk-city,
  table.rk th.rk-nat,table.rk td.rk-nat,
  table.rk th.rk-year,table.rk td.rk-year{display:none;}
  .rk-sub{display:block;}
  table.rk th,table.rk td{padding:8px 6px;}
  table.rk .rk-no{width:32px;}
  table.rk .rk-more{width:58px;}
  .sg-yn{font-size:11.8px;padding:1px 6px;}
}
@media(max-width:479px){
  .hero-in{padding:36px 14px 32px;}
  .hero-stats .n{font-size:24px;}
  .pv-h h4{font-size:16px;}
  .pv{padding:0 12px;scroll-margin-top:112px;}
  .pnav{gap:6px;margin:18px 0 12px;scroll-margin-top:112px;}
  #list{scroll-margin-top:112px;}
  .pnav-t{font-size:15px;flex:1 1 100%;margin:0 0 2px;}
  .pnav a{font-size:12.5px;padding:3px 9px;}
  table.rk{font-size:12.6px;}
  table.rk .rk-sch{font-size:13.6px;}
  .blurb{font-size:14px;padding:10px 11px;}
  .backtop{right:12px;bottom:14px;padding:8px 12px;font-size:12.5px;}
  .backtop .arw{font-size:14px;}
}
