/*!
 * 双一流高校快查 - 样式表
 * 主色调：蓝色
 * 编写方式：移动优先，向上做断点适配（380 / 640 / 900 / 1200）
 */

/* ============================================================
   1. 设计变量
   ============================================================ */
:root{
  --blue-900:#062a5e;
  --blue-800:#0a3a85;
  --blue-700:#0d4cae;
  --blue-600:#1565d8;
  --blue-500:#2b7fff;
  --blue-300:#8fbaff;
  --blue-100:#e6f0ff;
  --blue-50:#f4f8ff;

  --ink:#0f1723;
  --ink-2:#4b5768;
  --ink-3:#8792a3;

  --line:#e2e9f3;
  --bg:#ffffff;
  --bg-gray:#f6f9fe;
  --warn:#b45309;
  --warn-bg:#fff8ed;
  --warn-line:#f5d9ac;
  --danger:#b4211f;
  --danger-bg:#fef4f4;
  --danger-line:#f3cfcf;

  --radius:14px;
  --radius-sm:9px;
  --shadow:0 1px 2px rgba(10,45,100,.05), 0 10px 26px -14px rgba(10,45,100,.22);
  --shadow-lg:0 2px 6px rgba(10,45,100,.06), 0 24px 52px -24px rgba(10,45,100,.34);
  --maxw:1100px;
  --pad:16px;
  --bar:56px;
}

/* ============================================================
   2. 基础重置
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--bar) + 10px);
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  font-size:15px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;border:0}
/* 朋友圈缩略图兜底图：绝对定位移出屏幕，保持真实尺寸参与微信抓取判定。
   注意不能用 display:none，否则部分机型会判定图片不可见而不取用。 */
.share-thumb{
  position:absolute;left:-9999px;top:0;
  width:600px;height:600px;max-width:none;
  pointer-events:none;user-select:none;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
b,strong{font-weight:700}
::selection{background:var(--blue-600);color:#fff}

.wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--pad);
}

/* ============================================================
   3. 顶部导航
   ============================================================ */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.topbar.is-stuck{border-bottom-color:var(--line);box-shadow:0 4px 18px -12px rgba(10,45,100,.4)}
.topbar__inner{
  height:var(--bar);
  display:flex;align-items:center;gap:12px;
}
.brand{display:flex;align-items:center;gap:9px;margin-right:auto;min-width:0}
.brand__logo{
  width:30px;height:30px;flex:0 0 auto;
  border-radius:7px;object-fit:cover;
}
.brand__text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.brand__text b{font-size:14.5px;letter-spacing:-.01em;white-space:nowrap}
.brand__text i{
  font-style:normal;font-size:10.5px;color:var(--blue-600);
  letter-spacing:.02em;white-space:nowrap;
}
.topnav{display:none}
.topnav a{
  font-size:14px;color:var(--ink-2);padding:6px 12px;border-radius:999px;
  transition:color .2s,background-color .2s;white-space:nowrap;
}
.topnav a:hover{color:var(--blue-700);background:var(--blue-50)}

.topbar__more{
  width:38px;height:38px;flex:0 0 auto;
  display:grid;place-content:center;gap:4px;
  border-radius:9px;border:1px solid var(--line);
}
.topbar__more span{
  display:block;width:16px;height:2px;border-radius:2px;background:var(--ink-2);
  transition:transform .25s ease,opacity .25s ease;
}
.topbar__more[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.topbar__more[aria-expanded="true"] span:nth-child(2){opacity:0}
.topbar__more[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.drawer{
  position:fixed;top:var(--bar);left:0;right:0;z-index:59;
  background:#fff;border-bottom:1px solid var(--line);
  padding:6px var(--pad) calc(14px + env(safe-area-inset-bottom));
  display:grid;
  box-shadow:0 18px 34px -22px rgba(10,45,100,.5);
  transform:translateY(-10px);opacity:0;visibility:hidden;
  transition:transform .22s ease,opacity .22s ease,visibility .22s;
}
.drawer.is-open{transform:none;opacity:1;visibility:visible}
.drawer a{
  padding:13px 2px;font-size:15px;color:var(--ink-2);
  border-bottom:1px solid var(--line);
}
.drawer a:last-child{border-bottom:0}

@supports(padding:max(0px)){
  .topbar__inner{
    padding-left:max(var(--pad),env(safe-area-inset-left));
    padding-right:max(var(--pad),env(safe-area-inset-right));
  }
}

/* ============================================================
   4. 版块1：头图
   ============================================================ */
.hero{
  position:relative;
  margin-top:var(--bar);
  padding:40px 0 46px;
  color:#fff;
  background:
    radial-gradient(120% 90% at 85% 0%,#2f7ae0 0%,transparent 55%),
    linear-gradient(160deg,var(--blue-800) 0%,var(--blue-700) 48%,var(--blue-600) 100%);
  overflow:hidden;
}
.hero__bg{
  position:absolute;top:0;right:0;bottom:0;left:0;
  background-image:url("../images/hero-bg.svg");
  background-size:cover;background-position:center;
  opacity:.5;pointer-events:none;
}
.hero__inner{position:relative;z-index:1}
.hero__tag{
  display:inline-block;
  font-size:12px;letter-spacing:.06em;
  color:#cfe1ff;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  padding:5px 12px;border-radius:999px;
}
.hero__title{
  margin-top:16px;
  font-size:clamp(28px,8.6vw,52px);
  line-height:1.14;letter-spacing:-.02em;font-weight:800;
  text-shadow:0 2px 18px rgba(3,25,60,.28);
}
.hero__sub{
  margin-top:14px;
  font-size:clamp(13.5px,3.8vw,16px);
  line-height:1.8;color:rgba(255,255,255,.9);
  max-width:64em;
}
.hero__sub em{font-style:normal;font-weight:700;color:#fff;border-bottom:2px solid rgba(255,255,255,.5)}

.hero__stats{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:10px;margin-top:28px;
}
.hero__stats li{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);
  padding:14px 14px 12px;
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.hero__stats b{
  display:block;
  font-size:clamp(24px,7vw,34px);font-weight:800;line-height:1.1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.hero__stats span{
  display:block;margin-top:4px;
  font-size:12.5px;color:rgba(255,255,255,.86);line-height:1.5;
}
.hero__stats small{font-size:10.5px;opacity:.85}

.hero__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:46px;padding:0 22px;border-radius:999px;
  font-size:14.5px;font-weight:600;
  transition:transform .18s ease,background-color .2s,border-color .2s,color .2s;
}
.btn:active{transform:scale(.97)}
.btn--solid{background:#fff;color:var(--blue-700);box-shadow:0 12px 26px -12px rgba(0,0,0,.45)}
.btn--line{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn--line:hover{background:rgba(255,255,255,.14)}

/* ============================================================
   5. 通用版块
   ============================================================ */
.sec{padding:46px 0}
.sec--gray{background:var(--bg-gray)}
.sec__head{margin-bottom:24px}
.sec__en{
  font-size:11px;font-weight:700;letter-spacing:.18em;
  color:var(--blue-500);margin-bottom:6px;
}
.sec__title{
  font-size:clamp(21px,5.8vw,32px);
  letter-spacing:-.02em;line-height:1.3;
  position:relative;padding-left:14px;
}
.sec__title::before{
  content:"";position:absolute;left:0;top:.22em;bottom:.22em;width:4px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--blue-500),var(--blue-700));
}
.sec__desc{
  margin-top:12px;font-size:14.5px;color:var(--ink-2);max-width:66em;line-height:1.8;
}
.sec__desc b{color:var(--blue-700)}

.note{
  margin-top:16px;font-size:12.5px;color:var(--ink-3);
  background:var(--blue-50);border-left:3px solid var(--blue-300);
  padding:10px 12px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  line-height:1.7;
}
.note--mt{margin-top:18px}

/* ============================================================
   6. 版块2：名词解释
   ============================================================ */
.gloss{display:grid;gap:12px}
.gloss__item{
  position:relative;
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 18px;
  box-shadow:var(--shadow);
}
.gloss__item::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;
  border-radius:0 3px 3px 0;background:var(--blue-500);opacity:.5;
}
.gloss__no{
  font-size:11.5px;font-weight:800;letter-spacing:.1em;
  color:var(--blue-300);font-variant-numeric:tabular-nums;
}
.gloss__name{
  margin-top:2px;font-size:17.5px;letter-spacing:-.01em;
  color:var(--blue-800);
}
.gloss__txt{
  margin-top:8px;font-size:14px;color:var(--ink-2);line-height:1.85;
}
.gloss__txt b{color:var(--blue-700)}

/* 一级 / 二级学科对比 */
.vs{
  margin-top:22px;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 18px;box-shadow:var(--shadow);
}
.vs__title{
  font-size:17.5px;letter-spacing:-.01em;line-height:1.5;
  color:var(--blue-800);
}
.vs__lead{margin-top:6px;font-size:13.5px;color:var(--ink-3)}

.vs__table{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.vs__row{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--line);
}
.vs__row:last-child{border-bottom:0}
.vs__row > div{padding:11px 12px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.vs__row > div:nth-child(1){
  grid-column:1 / -1;
  background:var(--blue-50);
  font-weight:700;color:var(--blue-800);font-size:13px;
  padding-bottom:7px;
}
.vs__row > div:nth-child(2){border-right:1px solid var(--line)}
.vs__row > div:nth-child(2)::before,
.vs__row > div:nth-child(3)::before{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;
  color:var(--blue-500);margin-bottom:3px;
}
.vs__row > div:nth-child(2)::before{content:"一级学科"}
.vs__row > div:nth-child(3)::before{content:"二级学科"}
.vs__row--head{display:none}
.vs__row > div b{color:var(--blue-700)}

.vs__tip{
  margin-top:16px;font-size:13.5px;line-height:1.85;
  background:linear-gradient(100deg,var(--blue-50),#fff);
  border:1px dashed var(--blue-300);
  border-radius:var(--radius-sm);
  padding:14px;
  color:var(--ink-2);
}
.vs__tip b{color:var(--blue-700)}

/* ============================================================
   7. 版块3：学校展示
   ============================================================ */
.tabs{
  display:inline-flex;gap:4px;padding:4px;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  box-shadow:var(--shadow);
}
.tabs__btn{
  height:36px;padding:0 18px;border-radius:999px;
  font-size:14px;font-weight:600;color:var(--ink-2);
  transition:background-color .2s,color .2s;
}
.tabs__btn.is-on{
  color:#fff;
  background:linear-gradient(100deg,var(--blue-600),var(--blue-500));
  box-shadow:0 8px 18px -10px rgba(21,101,216,.9);
}

.search{
  position:relative;margin-top:14px;
  display:flex;align-items:center;
}
.search__ico{
  position:absolute;left:13px;width:17px;height:17px;
  color:var(--ink-3);pointer-events:none;
}
.search input{
  width:100%;height:46px;
  padding:0 40px 0 38px;
  font-size:14.5px;font-family:inherit;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:999px;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}
.search input::placeholder{color:#a8b2c1}
.search input:focus{
  border-color:var(--blue-500);
  box-shadow:0 0 0 3px rgba(43,127,255,.16);
}
.search input::-webkit-search-cancel-button{display:none}
.search__clear{
  position:absolute;right:8px;
  width:30px;height:30px;border-radius:50%;
  display:none;place-content:center;
  font-size:19px;line-height:1;color:var(--ink-3);
}
.search__clear.is-on{display:grid}
.search__clear:hover{background:var(--blue-50);color:var(--blue-700)}

.chips{
  display:flex;gap:8px;margin-top:14px;
  overflow-x:auto;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  scrollbar-width:none;
}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;
  height:34px;padding:0 14px;border-radius:999px;
  font-size:13.5px;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:5px;
  white-space:nowrap;
  user-select:none;-webkit-user-select:none;
  transition:background-color .2s,color .2s,border-color .2s;
}
/* 鼠标环境：显示细滚动条 + 抓手光标，配合 JS 拖拽滚动 */
@media (hover:hover) and (pointer:fine){
  .chips{
    scrollbar-width:thin;
    scrollbar-color:#c6d7f1 transparent;
    cursor:grab;
  }
  .chips.is-drag{cursor:grabbing}
  .chips::-webkit-scrollbar{display:block;height:6px}
  .chips::-webkit-scrollbar-track{background:transparent}
  .chips::-webkit-scrollbar-thumb{background:#c6d7f1;border-radius:999px}
  .chips::-webkit-scrollbar-thumb:hover{background:#a9c4ea}
}
.chip em{font-style:normal;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--blue-300);color:var(--blue-700)}
.chip.is-on{
  color:#fff;border-color:transparent;
  background:linear-gradient(100deg,var(--blue-600),var(--blue-500));
}
.chip.is-on em{color:rgba(255,255,255,.8)}

.result{
  margin-top:14px;font-size:13px;color:var(--ink-3);
}
.result b{color:var(--blue-700);font-variant-numeric:tabular-nums}

.cards{display:grid;gap:12px;margin-top:14px}
.card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 15px;
  box-shadow:var(--shadow);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--blue-300)}
.card__top{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.card__name{
  font-size:16.5px;font-weight:700;letter-spacing:-.01em;
  color:var(--blue-800);line-height:1.4;
  display:inline-flex;align-items:center;gap:4px;
}
a.card__name{border-bottom:2px solid rgba(21,101,216,.22);transition:border-color .2s,color .2s}
a.card__name:hover{color:var(--blue-600);border-bottom-color:var(--blue-500)}
a.card__name::after{
  content:"";width:7px;height:7px;flex:0 0 auto;
  border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;
  transform:rotate(45deg);opacity:.5;margin-left:1px;
}
.card__alias{
  font-size:11px;color:var(--ink-3);font-weight:400;
  background:#f4f7fc;border-radius:4px;padding:1.5px 6px;
  white-space:nowrap;align-self:center;
}
.card__meta{
  margin-left:auto;font-size:11.5px;color:var(--ink-3);white-space:nowrap;
}

.badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.badge{
  font-size:11px;font-weight:700;letter-spacing:.02em;
  padding:2.5px 8px;border-radius:5px;line-height:1.5;
}
.badge--985{color:#fff;background:linear-gradient(100deg,#c8102e,#e0343f)}
.badge--211{color:#fff;background:linear-gradient(100deg,var(--blue-700),var(--blue-500))}
.badge--dbl{color:var(--blue-800);background:var(--blue-100)}
.badge--edu{color:#1d6b4f;background:#e8f7f0}
.badge--min{color:#8a5a09;background:#fdf4e3}
.badge--pro{color:#5b6779;background:#eef1f6}
.badge--mil{color:#4c5a2a;background:#eff4e2}
.badge--self{color:#6d4b8f;background:#f3ecfb}

.card__info{
  margin-top:10px;display:flex;flex-wrap:wrap;gap:4px 14px;
  font-size:12.5px;color:var(--ink-3);
}
.card__info i{font-style:normal;color:var(--ink-2);font-weight:600}

.subs{margin-top:11px;display:flex;flex-wrap:wrap;gap:5px}
.card__cnt{
  margin-top:10px;font-size:11.5px;color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}
.sub{
  font-size:12px;color:var(--blue-800);
  background:var(--blue-50);border:1px solid #dbe8ff;
  padding:3px 8px;border-radius:6px;
  display:inline-flex;align-items:center;gap:4px;
}
.sub u{
  text-decoration:none;font-size:10px;color:var(--blue-500);
  background:#fff;border-radius:3px;padding:0 3px;line-height:1.5;
}
.sub--self{color:#6d4b8f;background:#f7f2fd;border-color:#e5d8f7}
.sub--hit{color:#fff;background:linear-gradient(100deg,var(--blue-600),var(--blue-500));border-color:transparent}
.sub--rest{color:var(--ink-3);background:#f4f6f9;border-color:var(--line)}

.btn-more{
  display:flex;align-items:center;justify-content:center;
  height:44px;margin:20px auto 0;padding:0 26px;
  font-size:14px;font-weight:600;color:var(--blue-700);
  background:#fff;border:1px solid var(--blue-300);border-radius:999px;
  box-shadow:0 10px 24px -14px rgba(10,45,100,.5);
  transition:background-color .2s,color .2s,border-color .2s,transform .18s;
}
.btn-more:hover{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.btn-more:active{transform:scale(.97)}

.empty{
  margin-top:22px;padding:34px 16px;text-align:center;
  font-size:14px;color:var(--ink-3);
  background:#fff;border:1px dashed var(--line);border-radius:var(--radius);
}

/* ============================================================
   8. 版块4：警示名单
   ============================================================ */
.warn{display:grid;gap:14px}
.warn__box{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
}
.warn__hd{padding:16px 16px 14px;border-bottom:1px solid var(--line)}
.warn__hd h3{font-size:16.5px;letter-spacing:-.01em}
.warn__hd p{margin-top:4px;font-size:12.5px;color:var(--ink-3);line-height:1.65}
.warn__hd p b{color:var(--ink-2)}
.warn__box--out .warn__hd{background:var(--danger-bg);border-bottom-color:var(--danger-line)}
.warn__box--out .warn__hd h3{color:var(--danger)}
.warn__box--warn .warn__hd{background:var(--warn-bg);border-bottom-color:var(--warn-line)}
.warn__box--warn .warn__hd h3{color:var(--warn)}

.warn__list{padding:4px 16px}
.warn__list li{
  display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;
  padding:11px 0;border-bottom:1px dashed var(--line);
  font-size:14px;
}
.warn__list li:last-child{border-bottom:0}
.warn__name{
  font-weight:700;color:var(--blue-800);
  display:inline-flex;align-items:center;gap:4px;
  flex:0 0 auto;
}
a.warn__name:hover{color:var(--blue-600)}
.warn__sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.tag{
  font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:5px;line-height:1.6;
}
.tag--out{color:var(--danger);background:var(--danger-bg);text-decoration:line-through;text-decoration-thickness:1px}
.tag--new{color:#1d6b4f;background:#e8f7f0}
.tag--warn{color:var(--warn);background:var(--warn-bg)}
.arw{color:var(--ink-3);font-size:12px}

/* ============================================================
   9. 版块5：其他分类（折叠面板）
   ============================================================ */
.acc{display:grid;gap:10px}
.acc__item{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
}
.acc__hd{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:15px 15px;text-align:left;
  transition:background-color .2s;
}
.acc__hd:hover{background:var(--blue-50)}
.acc__idx{
  flex:0 0 auto;
  font-size:11px;font-weight:800;letter-spacing:.06em;
  color:var(--blue-500);font-variant-numeric:tabular-nums;
  width:22px;
}
.acc__name{
  flex:1 1 auto;min-width:0;
  font-size:15.5px;font-weight:700;letter-spacing:-.01em;
  color:var(--blue-800);line-height:1.45;
}
.acc__cnt{
  flex:0 0 auto;font-size:11.5px;color:var(--ink-3);
  background:var(--blue-50);border-radius:999px;padding:2px 9px;
  font-variant-numeric:tabular-nums;
}
.acc__ico{
  flex:0 0 auto;width:16px;height:16px;color:var(--ink-3);
  transition:transform .25s ease;
}
.acc__item.is-open .acc__ico{transform:rotate(180deg)}
.acc__item.is-open .acc__hd{background:var(--blue-50)}
.acc__bd{
  display:none;padding:0 15px 15px;
  border-top:1px solid var(--line);
}
.acc__item.is-open .acc__bd{display:block}
.acc__desc{
  padding-top:13px;
  font-size:13.5px;color:var(--ink-2);line-height:1.85;
}
.acc__schools{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.acc__schools a,.acc__schools span{
  font-size:12.5px;
  padding:4px 10px;border-radius:999px;
  background:var(--blue-50);border:1px solid #dbe8ff;
  color:var(--blue-800);
  transition:background-color .2s,color .2s,border-color .2s;
}
.acc__schools a:hover{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.acc__schools span{color:var(--ink-3);background:#f4f6f9;border-color:var(--line)}

/* ============================================================
   10. 数据来源 / 页脚
   ============================================================ */
.source{
  padding:42px 0;
  background:linear-gradient(180deg,#fbfcfe,#f4f8ff);
  border-top:1px solid var(--line);
}
.source__title{font-size:17px;letter-spacing:-.01em;color:var(--blue-800)}
.source__list{margin-top:12px;display:grid;gap:9px}
.source__list li{
  position:relative;padding-left:16px;
  font-size:13.5px;color:var(--ink-2);line-height:1.8;
}
.source__list li::before{
  content:"";position:absolute;left:3px;top:.72em;
  width:5px;height:5px;border-radius:50%;background:var(--blue-500);
}
.source__note{
  margin-top:16px;padding-top:14px;
  border-top:1px dashed var(--line);
  font-size:12.5px;color:var(--ink-3);line-height:1.75;
}

.foot{
  background:var(--blue-900);color:#b9cbe8;
  padding:22px 0 calc(22px + env(safe-area-inset-bottom));
  font-size:12.5px;
}
.foot__inner{display:grid;gap:10px}
.foot__nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.foot__nav a{color:#b9cbe8;transition:color .2s}
.foot__nav a:hover{color:#fff}

/* ============================================================
   11. 回到顶部
   ============================================================ */
.gotop{
  position:fixed;right:14px;z-index:55;
  bottom:calc(18px + env(safe-area-inset-bottom));
  width:42px;height:42px;border-radius:50%;
  display:grid;place-content:center;
  color:#fff;
  background:linear-gradient(140deg,var(--blue-600),var(--blue-800));
  box-shadow:0 10px 24px -10px rgba(6,42,94,.85);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
.gotop.is-on{opacity:1;visibility:visible;transform:none}
.gotop svg{width:18px;height:18px}

/* ============================================================
   12. 响应式断点
   ============================================================ */
@media (max-width:360px){
  :root{--pad:13px}
  .hero__stats{gap:8px}
  .hero__stats li{padding:12px 11px 10px}
  .vs__row > div{padding:10px 9px;font-size:13px}
}

@media (min-width:640px){
  :root{--pad:26px;--bar:62px}
  body{font-size:15.5px}
  .sec{padding:64px 0}
  .hero{padding:56px 0 64px}
  .hero__stats{grid-template-columns:repeat(4,1fr);gap:12px}
  .gloss{grid-template-columns:repeat(2,1fr);gap:14px}
  .cards{grid-template-columns:repeat(2,1fr);gap:14px}
  .acc{grid-template-columns:repeat(2,1fr);gap:12px}
  /* 警示/撤销：盒内"学校+学科"两列排布 */
  .warn__list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px;padding-top:2px}
  .warn__list li{padding:12px 0}
  /* 两列时：去掉每列最后一格的虚线 */
  .warn__list li:nth-last-child(-n+2){border-bottom:0}
  .source__list{grid-template-columns:1fr}
  .foot__inner{grid-template-columns:1fr auto;align-items:center}

  /* 对比表切换为三列表格 */
  .vs{padding:26px 24px}
  .vs__row{grid-template-columns:120px 1fr 1fr}
  .vs__row--head{display:grid;background:var(--blue-50);border-bottom:1px solid var(--line)}
  .vs__row--head > div{
    font-size:12px;font-weight:700;color:var(--blue-800);
    letter-spacing:.04em;
  }
  .vs__row > div:nth-child(1){
    grid-column:auto;background:#fbfcfe;
    font-size:13px;font-weight:700;color:var(--blue-800);padding:13px 14px;
  }
  .vs__row > div{padding:13px 14px;font-size:14px}
  .vs__row > div:nth-child(2)::before,
  .vs__row > div:nth-child(3)::before{display:none}
}

@media (min-width:900px){
  :root{--pad:32px}
  .topnav{display:flex;align-items:center;gap:2px}
  .topbar__more{display:none}
  .drawer{display:none}
  .gloss{grid-template-columns:repeat(3,1fr)}
  .cards{grid-template-columns:repeat(3,1fr)}
  .sec__desc{font-size:15px}
  .brand__logo{width:34px;height:34px}
  .brand__text b{font-size:15.5px}
  .hero__sub{font-size:16.5px}
}

@media (min-width:1200px){
  :root{--maxw:1180px}
  .hero{padding:70px 0 78px}
}

/* ============================================================
   13. 动效与无障碍
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* 打印 */
@media print{
  .topbar,.gotop,.tabs,.search,.chips,.drawer{display:none!important}
  .hero{color:#000;background:none}
  .acc__bd{display:block!important}
  body{font-size:11pt}
}

/*c69ea49c*/