/* 临床医学全国20强专题 · 主色：医学胭脂红 */
:root{
  --cm:#ab3649; --cm2:#cf3048; --cm-d:#571924;
  --ink:#1b1f24; --ink2:#3c444e; --gray:#5d6670; --line:#e6e8ec; --line2:#f0f1f4;
  --bg:#f6f7f9; --card:#ffffff; --gold:#e8b64c; --gold2:#f7d774;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:15px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
@media (min-width:700px){ body{font-size:16px} }
a{color:var(--cm); text-decoration:none}
img{max-width:100%}
.wrap{max-width:1120px; margin:0 auto; padding:0 14px}
.wx-thumb{position:absolute; left:-9999px; top:0; width:1px; height:1px}

/* 顶栏
   注意：.more-panel 仅供顶栏专业导航下拉使用；省份「更多省份」面板用 .pmore-panel。
   两处面板刻意分开命名——曾因同名导致后定义的规则覆盖前者，出现下拉错位/溢出。 */
.topbar{background:#fff; border-bottom:1px solid var(--line); position:relative; z-index:50}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding-top:10px; padding-bottom:10px}
.brand{display:flex; align-items:center; gap:9px; flex-shrink:0}
a.brand{color:inherit}
a.brand:hover{text-decoration:none}
.brand .logo-img{width:42px; height:42px; border-radius:10px; object-fit:cover; display:block}
.brand .bname{font-size:19px; font-weight:700; color:#1c2433; line-height:1.2}
.brand .bsub{font-size:12px; color:var(--gray)}
.major-nav{display:flex; align-items:center; flex-wrap:wrap; gap:4px 2px; position:relative}
.major-nav > a,.major-nav .more-btn{display:inline-block; padding:5px 11px; font-size:14.5px; color:#4a3a3e; border-radius:6px; white-space:nowrap}
.major-nav > a:hover,.major-nav .more-btn:hover{background:#f8ecef; text-decoration:none}
.major-nav > a.on{background:var(--cm); color:#fff; font-weight:600}
.more-box{position:relative}
.major-nav .more-btn{cursor:pointer; user-select:none; display:inline-flex; align-items:center; gap:4px}
.more-btn .caret{display:inline-block; vertical-align:middle; width:0; height:0; border-left:4.5px solid transparent; border-right:4.5px solid transparent; border-top:5px solid currentColor; transition:transform .2s}
.more-box.open .caret{transform:rotate(180deg)}
.more-panel{
  display:none; position:absolute; top:calc(100% + 8px); right:0; left:auto; width:430px;
  max-width:calc(100vw - 28px);
  background:#fff; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 10px 30px rgba(87,25,36,.16); padding:14px 16px; z-index:60;
}
.more-box.open .more-panel{display:grid; grid-template-columns:repeat(3,1fr); gap:4px 8px}
.more-panel a{padding:7px 8px; font-size:13.5px; color:#4a3a3e; border-radius:6px; text-align:center; white-space:nowrap}
.more-panel a:hover{background:#f8ecef; color:var(--cm); text-decoration:none}
@media (max-width:699px){
  .topbar .wrap{align-items:flex-start; flex-direction:column; gap:6px; padding-top:8px; padding-bottom:8px}
  .brand{width:100%}
  .brand .logo-img{width:36px; height:36px; border-radius:9px}
  .brand .bname{font-size:17px}
  .major-nav{width:100%; justify-content:flex-start}
  .major-nav > a,.major-nav .more-btn{padding:4px 8px; font-size:13px}
  /* .more-box 改为 static，面板锚定整条导航：left/right 归零后可占满可用宽度，
     不会再“只按按钮宽度定位”而向右侧溢出视口 */
  .more-box{position:static}
  .more-panel{left:0; right:0; width:auto; max-width:none; top:calc(100% + 6px)}
  .more-box.open .more-panel{grid-template-columns:repeat(2,1fr)}
}

/* 头图 */
.hero{
  position:relative; overflow:hidden; background:#fdf6f6; border-bottom:3px solid var(--cm);
}
.hero .bgimg{position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:74% center}
.hero .veil{
  position:absolute; left:0; top:0; width:100%; height:100%;
  background:linear-gradient(90deg,rgba(253,246,246,.98) 0%,rgba(253,246,246,.92) 40%,rgba(253,246,246,.5) 72%,rgba(253,246,246,.18) 100%);
}
.hero .wrap{position:relative; z-index:1; padding-top:28px; padding-bottom:32px}
.hero .wrap > .kick{margin-top:2px}
.kick{
  display:inline-block; background:linear-gradient(90deg,var(--gold2),var(--gold)); color:#5a2410;
  font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:14px; letter-spacing:.3px;
}
.hero h1{font-size:clamp(21px,3.6vw,32px); line-height:1.35; margin:12px 0 10px; font-weight:800; letter-spacing:.5px; color:#40141c}
.hero h1 .em{color:var(--cm)}
.hero .sub{font-size:14.5px; line-height:1.9; margin:0; color:#5d4a4e; max-width:960px}
@media (min-width:700px){ .hero .wrap{padding-top:44px; padding-bottom:46px} .hero .sub{font-size:15.5px} }
@media (max-width:699px){
  .hero .bgimg{object-position:82% center; opacity:.55}
  .hero .veil{background:linear-gradient(90deg,rgba(253,246,246,.98) 0%,rgba(253,246,246,.93) 55%,rgba(253,246,246,.72) 100%)}
}

/* 版块 */
.sec{
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:18px 16px 16px; margin:16px 0; box-shadow:0 1px 2px rgba(16,24,40,.04);
}
@media (min-width:700px){ .sec{padding:24px 24px 20px; margin:20px 0} }
.sec-h{
  font-size:18px; margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--line2);
  display:flex; align-items:center; gap:8px; font-weight:800; color:var(--cm-d);
}
@media (min-width:700px){ .sec-h{font-size:20px} }
.sec-h .num{
  flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:var(--cm); color:#fff;
  font-size:13px; line-height:24px; text-align:center; font-weight:700;
}
h3.sub-h{
  font-size:16.5px; margin:22px 0 10px; padding-left:10px; border-left:4px solid var(--cm);
  color:var(--cm-d); font-weight:700;
}
h4.sim-h{font-size:15px; margin:16px 0 6px; color:var(--cm-d); font-weight:700}
.lead{font-size:14px; color:var(--gray); margin:0 0 12px; line-height:1.85}
.lead b{color:var(--ink2)}
.tbl-note,.foot-note,.warn{font-size:13px; line-height:1.9; color:#6b7480; margin:12px 0 0}
.tbl-note{background:#fafbfc; border:1px dashed var(--line); border-radius:8px; padding:10px 12px}
.foot-note{background:#fafbfc; border:1px dashed var(--line); border-radius:8px; padding:10px 12px}
.warn{
  background:#fffbf1; border:1px solid #f2e2bd; border-left:4px solid var(--gold);
  border-radius:8px; padding:12px; color:#6a5320; margin-top:12px;
}
.warn b{color:#8a6420}

/* 表格通用 */
.tbl-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
.tbl-scroll::-webkit-scrollbar{height:6px}
.tbl-scroll::-webkit-scrollbar-thumb{background:#d5d9df; border-radius:3px}
table{width:100%; border-collapse:collapse}

/* ① 总表 */
table.rank{font-size:14px; min-width:640px}
table.rank th{
  background:linear-gradient(#fdf4f5,#f8e9ec); color:#5c2028; font-weight:700;
  padding:10px 8px; text-align:left; border-bottom:1px solid #eddadf; white-space:nowrap;
}
table.rank td{padding:10px 8px; border-bottom:1px solid var(--line2); vertical-align:middle}
table.rank .c-no{width:52px; color:var(--gray); font-weight:700}
table.rank .c-sch{font-weight:700; font-size:15px; white-space:nowrap}
table.rank .c-city,table.rank .c-rt,table.rank .c-sc,table.rank .c-lv{white-space:nowrap}
table.rank .c-more{width:74px; color:var(--cm); font-size:13px; white-space:nowrap}
tr.rrow{cursor:pointer}
tr.rrow:hover{background:#fdf8f9}
tr.rrow.on{background:#fdf3f5}
tr.rrow .arw{display:inline-block; margin-left:4px; transition:transform .2s}
tr.rrow .tg{color:var(--cm); font-weight:600}
tr.rrow.on .arw{transform:rotate(180deg)}
tr.detail{display:none}
tr.detail.open{display:table-row}
.blurb{
  background:#fbfbfc; border-left:3px solid var(--cm); border-radius:0 8px 8px 0;
  padding:12px 14px; font-size:13.8px; line-height:1.95; color:#2f353d; margin:2px 0 8px;
}
.rt{display:inline-block; padding:1px 8px; border-radius:10px; font-size:12.5px; font-weight:700}
.rt-a1{background:#fbe1e5; color:#a01026; border:1px solid #f2c7ce}
.rt-a{background:#eef0f4; color:#4a4f5c; border:1px solid #e0e3e9}
.lv{display:inline-block; padding:1px 7px; border-radius:4px; font-size:12.5px}
.lv-s985{background:#e9f1fd; color:#12539c}
.lv-s211{background:#eaf6ee; color:#1c6b3c}
.lv-syl{background:#e3f4f3; color:#0e7d7a}
.lv-pt{background:#f2f3f5; color:#5d6670}
.sec-tools{display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin:-6px 0 12px}
.sec-tools .lead-inline{font-size:12.5px; color:var(--gray); line-height:1.7}
.sec-tools .lead-inline b{color:var(--ink2); font-weight:600}
.tool-btns{display:inline-flex; gap:6px}
.btn.btn-xs{
  padding:1px 9px; font-size:12px; min-height:0; border-radius:12px; line-height:1.6;
}
.btn{
  font:inherit; font-size:13px; padding:6px 14px; border-radius:16px; cursor:pointer;
  background:#fff; border:1px solid var(--cm); color:var(--cm); min-height:34px;
}
.btn:hover{background:#fdf3f5}

/* ② 专业介绍 */
.intro-grid{display:grid; grid-template-columns:1fr; gap:12px}
@media (min-width:760px){ .intro-grid{grid-template-columns:1fr 1fr; gap:14px} }
.intro-item{background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px}
.intro-item h3{
  font-size:15.5px; margin:0 0 8px; padding-left:9px; border-left:3px solid var(--cm); color:var(--cm-d);
}
.intro-item p{font-size:14.2px; line-height:1.95; margin:0 0 10px; color:#2f353d}
.intro-item p:last-child{margin-bottom:0}
.intro-item p i{color:#7b5560; font-style:normal; font-size:13.4px}
.intro-item ul.dot{margin:0 0 10px; padding-left:20px}
.intro-item ul.dot li{font-size:14.2px; line-height:1.95; color:#2f353d; margin-bottom:3px}
.intro-item.wide{grid-column:1/-1}
.sim-lead{font-size:14.2px; line-height:1.95; color:#2f353d; margin:0 0 4px}
.sim-row{
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  padding:8px 0; border-bottom:1px dashed var(--line); font-size:13.8px; line-height:1.8;
}
.sim-row:last-of-type{border-bottom:0}
.sim-row .code{
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12.4px; color:#8a3b46;
  background:#f7f3f4; border:1px solid #eee0e3; border-radius:4px; padding:0 5px; white-space:nowrap;
}
.sim-row b{color:var(--cm-d); white-space:nowrap}
.sim-row .dsc{color:#3c444e; flex:1 1 240px}
.sim-tip{
  font-size:13.8px; line-height:1.95; color:#6a3b45; background:#fdf6f7;
  border:1px solid #f0dee2; border-radius:8px; padding:10px 12px; margin:12px 0 0;
}

/* ③ 分数线 */
table.y26{font-size:13.8px; min-width:600px}
table.y26 th{
  background:linear-gradient(#fdf4f5,#f8e9ec); color:#5c2028; font-weight:700; text-align:left;
  padding:9px 8px; border-bottom:1px solid #eddadf; white-space:nowrap;
}
table.y26 td{padding:9px 8px; border-bottom:1px solid var(--line2); vertical-align:top}
table.y26 .c-no{width:52px; color:var(--gray); font-weight:700}
table.y26 .c-sch{font-weight:700; white-space:nowrap; font-size:14.5px}
table.y26 .c-kj{color:#5d6670; font-size:12.8px; line-height:1.75; min-width:180px}
.provs-cell{line-height:2}
.p26{
  display:inline-block; background:#fbf1f3; border:1px solid #f0dade; border-radius:4px;
  padding:1px 6px; margin:2px 4px 2px 0; white-space:nowrap; font-size:12.8px; color:#5a2028;
}
.prov-wrap{margin:0 0 12px}
.prov-bar{display:flex; flex-wrap:wrap; gap:6px; align-items:center; position:relative}
.pb{
  display:inline-block; padding:5px 12px; min-height:34px; line-height:22px; border-radius:17px;
  border:1px solid var(--line); background:#fff; color:#3c444e; font-size:13.4px; cursor:pointer;
}
.pb:hover{border-color:var(--cm); color:var(--cm)}
.pb.on{background:var(--cm); border-color:var(--cm); color:#fff; font-weight:700}
.pb.more{color:var(--cm); border-color:#eed4d9; background:#fdf7f8}
/* 「更多省份」面板：独立命名 .pmore-*，与顶栏 .more-panel 区分开
   （锚在 .prov-bar 上而不是按钮上：省份按钮可能换行成两排，
   锚按钮会让面板盖住第二排按钮，且右侧按钮会让面板溢出视口） */
.pmore-box{display:inline-block}
.pmore-panel{
  position:absolute; z-index:30; top:calc(100% + 6px); right:0; left:auto; display:none;
  flex-wrap:wrap; gap:6px; width:min(92vw,560px); max-width:calc(100vw - 28px);
  background:#fff; border:1px solid var(--line); border-radius:10px;
  padding:10px; box-shadow:0 10px 28px rgba(16,24,40,.14);
}
.pmore-panel.open{display:flex}
table.score{font-size:13.4px; min-width:520px}
table.score th{background:#fafbfc; color:#5d6670; font-weight:700; padding:8px 10px; white-space:nowrap; border-bottom:1px solid var(--line)}
table.score th .th2{display:block; font-weight:400; font-size:11.6px; color:#8a929c}
table.score td{padding:8px 10px; border-bottom:1px solid var(--line2); white-space:nowrap; text-align:center}
table.score .fx{text-align:left}
table.score th.fx,table.score td.fx{position:sticky; left:0; background:#fff; z-index:2}
table.score th.c-sch,table.score td.c-sch{left:46px; box-shadow:1px 0 0 var(--line2)}
table.score td.fx.c-sch{background:#fff}
table.score th.fx{background:#fafbfc}
table.score td.c-no{color:var(--gray); font-weight:700}
table.score td.c-sch{font-weight:700; font-size:14px; color:var(--ink)}
table.score tbody tr:hover td.fx{background:#fdf8f9}
th.pv,td.pv{display:none; text-align:center}
th.ncell-h,td.ncell{min-width:180px; max-width:280px; text-align:left; font-size:12.6px; color:#6b7480; white-space:normal; line-height:1.7}
body.f-bj .p-bj,body.f-tj .p-tj,body.f-he .p-he,body.f-sxi .p-sxi,body.f-nm .p-nm,
body.f-ln .p-ln,body.f-jl .p-jl,body.f-hlj .p-hlj,body.f-sh .p-sh,body.f-js .p-js,
body.f-zj .p-zj,body.f-ah .p-ah,body.f-fj .p-fj,body.f-jx .p-jx,body.f-sd .p-sd,
body.f-hb .p-hb,body.f-hub .p-hub,body.f-hun .p-hun,body.f-gd .p-gd,body.f-gxi .p-gxi,
body.f-hai .p-hai,body.f-cq .p-cq,body.f-sc .p-sc,body.f-gz .p-gz,body.f-yn .p-yn,
body.f-xz .p-xz,body.f-sn .p-sn,body.f-gs .p-gs,body.f-qh .p-qh,body.f-nx .p-nx,
body.f-xj .p-xj{display:table-cell}

/* ④ 来源 */
.src-lines{margin:0}
.src-line{font-size:12.6px; line-height:2; color:#565e68; margin:0 0 2px}
.src-line .src-k{font-weight:700; color:var(--cm-d)}

.foot{border-top:1px solid var(--line); margin-top:8px; padding:18px 0 26px; background:#fff}
.foot .wrap{font-size:13px; color:#8a929c; text-align:center; line-height:1.9}

@media (max-width:699px){
  .sec{padding:16px 12px 14px}
  .hero .wrap{padding-top:22px; padding-bottom:26px}
  .blurb{font-size:13.6px}
  table.rank{min-width:0; font-size:13px}
  table.rank th,table.rank td{padding:8px 4px}
  table.rank .c-sch{white-space:normal; min-width:96px}
  table.rank .c-more{font-size:12px}
  .tbl-note,.foot-note,.warn{font-size:12.8px}
  table.score{font-size:13px}
  th.ncell-h,td.ncell{min-width:160px}
  .intro-item{padding:12px 13px}
  .intro-item p,.intro-item ul.dot li,.sim-row{font-size:13.8px}
  /* 「更多省份」面板：窄屏占满按钮条宽度，避免向右溢出视口 */
  .pmore-panel{left:0; right:0; width:auto; max-width:none}
}
@media (max-width:480px){
  table.rank .c-city{display:none}
}
