:root{
  --blue:#3478F6;
  --blue-dark:#1D5FD0;
  --orange:#F58A45;
  --ink:#172033;
  --muted:#7B8495;
  --line:#E9EDF4;
  --soft:#F4F7FB;
  --card:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#EDEFF5}
body{
  min-height:100vh;
  background:#F5F7FB;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
}
a{color:inherit;text-decoration:none}
.xk-app{position:relative;z-index:1;width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:#F6F8FC;padding:14px 12px 92px;overflow:hidden}
.xk-app::before{
  content:"";
  position:fixed;
  left:50%;
  top:285px;
  width:min(62vw,240px);
  aspect-ratio:1/1;
  transform:translateX(-50%);
  z-index:8;
  background:url("yd.png") center / contain no-repeat;
  opacity:.13;
  pointer-events:none;
}
.xk-app>*{position:relative;z-index:1}
.top-card,.panel,.school-card,.detail-card,.info-block,.count-card{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(22,37,66,.05)}
.top-card{display:flex;align-items:center;gap:10px;padding:12px 14px}
.brand-logo{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;background:#fff}
.brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-mark{color:#fff;font-weight:900;font-size:17px}
.brand-title{font-size:15px;font-weight:800;line-height:1.2}
.brand-sub{font-size:10px;color:var(--muted);margin-top:4px;font-weight:700}
.hero-title{font-size:21px;font-weight:900;line-height:1.25;margin:16px 0 12px;padding:0 2px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:#ECF2FE;border-radius:8px;padding:4px;margin-bottom:10px}
.tabs a{height:34px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-weight:800;font-size:13px;color:#57708C}
.tabs a.on{background:#fff;color:var(--blue);box-shadow:0 4px 14px rgba(35,96,190,.12)}
.count-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;margin-bottom:12px}
.cd-title{font-size:15px;font-weight:900;color:var(--ink);line-height:1.3}
.cd-date{font-size:12px;color:#9AA3B2;margin-top:4px;font-family:Menlo,Consolas,monospace;font-weight:800}
.cd-pill{flex:0 0 auto;min-width:68px;text-align:center;padding:9px 14px;border-radius:18px;background:var(--blue);color:#fff;font-size:13px;font-weight:900}
.search-row{display:flex;gap:8px}
.search-input{height:42px;flex:1;border:0;background:#F0F3F9;border-radius:8px;padding:0 13px;font-size:13px;color:var(--ink);outline:none;min-width:0}
.search-input::placeholder{color:#A7B0BF;font-weight:700}
.search-btn{width:72px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.filter-block{margin-top:12px}
.filter-line{display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.filter-label{width:42px;line-height:28px;color:#5F6979;font-size:12px;font-weight:800;flex:0 0 auto}
.chip-wrap{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.chip-wrap::-webkit-scrollbar{display:none}
.chip{height:28px;line-height:28px;padding:0 12px;border-radius:8px;background:#EEF2F8;color:#526075;font-size:12px;font-weight:800;white-space:nowrap;flex:0 0 auto}
.chip.on{background:var(--blue);color:#fff}
.scope-row{display:flex;justify-content:space-between;align-items:center;margin:12px 2px 10px;color:#6C7585;font-size:12px}
.scope-row b{color:var(--ink)}
.school-list{display:grid;gap:10px}
.school-card{display:flex;gap:12px;padding:13px}
.school-logo{width:58px;height:58px;border-radius:50%;border:1px solid #EDF0F5;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.school-logo img{width:50px;height:50px;object-fit:contain}
.school-main{min-width:0;flex:1}
.school-title{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:900;line-height:1.2;min-width:0}
.school-title span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.type-badge{height:18px;line-height:18px;padding:0 6px;border-radius:6px;background:#FFF0E6;color:#E06D21;font-size:10px;font-weight:900;white-space:nowrap}
.type-badge.public{background:#EAF8F2;color:#149966}
.meta{display:flex;gap:7px;flex-wrap:wrap;color:#7B8495;font-size:11px;font-weight:700;margin-top:8px}
.score-box{margin-top:11px;display:flex;align-items:baseline;justify-content:flex-start;gap:4px;min-width:0}
.score-box .score{color:var(--blue);font-size:18px;font-weight:900;letter-spacing:0;white-space:nowrap}
.score-box .desc{color:#9AA3B2;font-size:11px;font-weight:900;white-space:nowrap}
.empty{padding:32px 10px;text-align:center;color:#98A1AF;font-size:13px}
.backbar{height:42px;display:flex;align-items:center;gap:10px}
.backbar a{font-size:14px;color:var(--blue);font-weight:800}
.detail-card{padding:16px 14px}
.detail-head{display:flex;gap:12px;align-items:flex-start}
.detail-head .school-logo{width:68px;height:68px}
.detail-name{font-size:20px;font-weight:900;line-height:1.25;margin-top:2px}
.summary{font-size:13px;line-height:1.8;color:#263143;margin-top:14px;text-align:justify}
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.kpi{background:#F6F8FC;border-radius:8px;padding:10px 6px;text-align:center;min-width:0}
.kpi .k{font-size:10px;color:#7B8495;font-weight:800}
.kpi .v{font-size:15px;color:var(--ink);font-weight:900;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.detail-stats div{background:#F6F8FC;border-radius:8px;padding:11px 8px;min-width:0}
.detail-stats span{display:block;font-size:11px;color:#7B8495;font-weight:800;margin-bottom:5px}
.detail-stats b{display:block;font-size:15px;color:var(--ink);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-title{font-size:17px;font-weight:900;margin:18px 2px 10px;display:flex;align-items:center;justify-content:space-between}
.section-title:after{content:"";display:block;width:0;height:0}
.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:22px;padding:0 10px;border-radius:11px;background:#fff;color:#7B8495;border:1px solid #E3E8F0;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(22,37,66,.05)}
.major-filters{display:flex;gap:7px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px;scrollbar-width:none}
.major-filters::-webkit-scrollbar{display:none}
.major-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:8px}
.major-name{font-size:15px;font-weight:900;line-height:1.3}
.major-code{font-size:11px;color:#9AA3B2;margin-left:4px}
.major-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.mini-tag{background:#F0F5FF;color:#326ED6;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:800}
.major-data{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.major-data div{background:#F8FAFD;border-radius:7px;padding:8px 4px;text-align:center;min-width:0}
.major-data b{display:block;font-size:14px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.major-data span{font-size:10px;color:#8C96A6;font-weight:800}
.info-block{padding:13px 14px;margin-bottom:10px}
.info-text{font-size:13px;line-height:1.85;color:#263143;white-space:pre-wrap;word-break:break-word}
.basic-data-grid{display:grid;gap:7px}
.data-item{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(72px,.7fr) minmax(54px,.55fr);gap:8px;align-items:center;padding:9px 10px;border-radius:8px;background:#F8FAFD;border:1px solid #EFF2F7}
.data-name{min-width:0;font-size:12px;line-height:1.45;color:#425066;font-weight:800;word-break:break-word}
.data-item b{min-width:0;text-align:right;color:#172033;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-item em{min-width:0;text-align:right;color:#6B7A90;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:40;width:min(340px,calc(100vw - 60px));height:54px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.86));border:1px solid rgba(226,232,240,.95);border-radius:20px;box-shadow:0 12px 34px rgba(39,54,86,.14);display:grid;grid-template-columns:1fr 1px 1fr;overflow:hidden;backdrop-filter:blur(8px)}
.bottom-nav:before{content:"";grid-column:2;background:#E5EAF3;margin:12px 0}
.bottom-nav a{grid-row:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:900;color:#687386}
.bottom-nav a:first-child{grid-column:1}
.bottom-nav a:last-child{grid-column:3}
.bottom-nav a.on,.bottom-nav a.consult{color:#5B57F4}
.nav-ico{width:18px;height:18px;display:inline-block;position:relative;flex:0 0 auto}
.nav-ico.home:before{content:"";position:absolute;left:3px;top:7px;width:12px;height:9px;border:2px solid currentColor;border-top:0;border-radius:2px}
.nav-ico.home:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);border-radius:2px}
.nav-ico.chat:before{content:"";position:absolute;left:1px;top:2px;width:13px;height:10px;border:2px solid currentColor;border-radius:4px}
.nav-ico.chat:after{content:"";position:absolute;right:0;bottom:1px;width:9px;height:7px;border:2px solid currentColor;border-left:0;border-top:0;border-radius:2px}
@media (max-width:360px){
  .xk-app{padding-left:9px;padding-right:9px}
  .school-card{gap:9px;padding:11px}
  .school-logo{width:50px;height:50px}
  .score-box .score{font-size:16px}
  .kpi-grid,.major-data{gap:6px}
  .data-item{grid-template-columns:1fr;gap:4px}
  .data-item b,.data-item em{text-align:left}
}
