:root{--mm-blue:#2f80ff;--mm-blue2:#69a8ff;--mm-deep:#123f77;--mm-ink:#172033;--mm-muted:#6d7b91;--mm-line:#dceaff;--mm-bg:#eef7ff;--mm-card:#fff;--mm-green:#12b76a;--mm-purple:#7a5af8;--mm-shadow:0 18px 45px rgba(47,128,255,.10)}
.zsb-major-match-page{background:radial-gradient(circle at 0 0,rgba(47,128,255,.17),transparent 32%),linear-gradient(180deg,#fbfdff,#eef7ff);color:var(--mm-ink)}
.major-match-app{max-width:1260px;margin:0 auto;padding:24px}.major-match-app .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.major-match-app .brand{display:flex;align-items:center;gap:14px}.major-match-app .logo{width:58px;height:58px;border-radius:22px;overflow:hidden;background:#2f80ff}.major-match-app .logo img{width:100%;height:100%;object-fit:cover;display:block}.major-match-app .brand-title{font-size:24px;font-weight:1000;color:var(--mm-deep);line-height:1.25}.major-match-app .brand-sub{margin-top:4px;color:var(--mm-muted);font-size:14px}.major-match-app .navs{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.major-match-app .pill{height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--mm-line);border-radius:999px;background:#fff;color:var(--mm-deep);font-weight:900;text-decoration:none}
.major-match-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:stretch;background:#fff;border:1px solid var(--mm-line);border-radius:32px;padding:28px;box-shadow:var(--mm-shadow);position:relative;overflow:hidden}.major-match-hero:after{content:"";position:absolute;right:-130px;top:-140px;width:330px;height:330px;border-radius:50%;background:linear-gradient(135deg,rgba(47,128,255,.12),rgba(255,214,102,.24))}.major-match-hero>*{position:relative;z-index:1}.kicker{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef6ff;color:var(--mm-deep);font-weight:1000;font-size:13px;margin-bottom:12px}.major-match-hero h1{font-size:38px;line-height:1.15;letter-spacing:-.8px;margin:0;color:var(--mm-deep);font-weight:1000}.major-match-hero p{margin:14px 0 0;color:var(--mm-muted);font-size:16px;line-height:1.85;max-width:780px}.hero-note{border:1px solid var(--mm-line);border-radius:24px;background:linear-gradient(135deg,#f8fbff,#fff8e6);padding:18px;display:grid;gap:10px;align-content:center}.hero-note b{font-size:18px;color:var(--mm-deep)}.hero-note span{color:#506983;line-height:1.6;font-weight:800;font-size:14px}
.major-match-search-card{margin-top:18px;background:#fff;border:1px solid var(--mm-line);border-radius:30px;padding:22px;box-shadow:var(--mm-shadow)}.major-match-search-card label{display:block;font-weight:1000;color:var(--mm-deep);font-size:18px;margin-bottom:10px}.major-match-search-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 110px;gap:10px}.major-match-search-row input{height:52px;border-radius:18px;border:1px solid var(--mm-line);background:#f8fbff;padding:0 16px;font-size:16px;outline:none}.major-match-search-row input:focus{background:#fff;border-color:rgba(47,128,255,.55);box-shadow:0 0 0 4px rgba(47,128,255,.10)}.major-match-search-row button,.quick-majors button,.major-btn{height:52px;border-radius:18px;border:1px solid var(--mm-line);font-weight:1000;cursor:pointer}.major-match-search-row .primary,.major-btn.primary{background:linear-gradient(135deg,var(--mm-blue),var(--mm-blue2));border:none;color:#fff;box-shadow:0 14px 28px rgba(47,128,255,.18)}.major-match-search-row .ghost,.major-btn.ghost{background:#fff;color:var(--mm-deep)}.quick-majors{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-majors button{height:36px;border-radius:999px;background:#f8fbff;color:#315d8f;padding:0 12px}.search-tip{margin:12px 0 0;color:var(--mm-muted);font-size:13px;line-height:1.6}.major-match-result{margin-top:18px}.empty-state,.loading-state,.error-state,.match-note{padding:18px;border-radius:22px;border:1px dashed #cfe2ff;background:#f8fbff;color:#506983;line-height:1.8}.error-state{border-color:#ffd0d0;background:#fff6f6;color:#a02020}.match-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.match-summary.match-summary-two{grid-template-columns:repeat(2,minmax(0,1fr))}.match-summary.match-summary-three{grid-template-columns:repeat(3,minmax(0,1fr))}.match-summary-card{background:#fff;border:1px solid var(--mm-line);border-radius:22px;padding:16px;box-shadow:0 10px 26px rgba(47,128,255,.06)}.match-summary-card span{display:block;color:var(--mm-muted);font-size:13px}.match-summary-card b{display:block;margin-top:4px;font-size:28px;color:var(--mm-blue)}.match-summary-card.direct b{color:#039855}.match-summary-card.related b{color:#6941c6}.match-summary-card.unrestricted b{color:#ea580c}.match-section{margin-top:16px}.match-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.match-section-head h2{margin:0;color:var(--mm-deep);font-size:23px}.match-section-head p{margin:4px 0 0;color:var(--mm-muted);line-height:1.6}.match-section-count{flex:0 0 auto;border-radius:999px;background:#eef6ff;color:#175cd3;padding:8px 12px;font-weight:1000}.match-list{display:grid;gap:12px}.match-card{background:#fff;border:1px solid var(--mm-line);border-radius:24px;padding:16px;box-shadow:0 10px 26px rgba(47,128,255,.06)}.match-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.match-card h3{margin:0;color:var(--mm-deep);font-size:20px;line-height:1.35}.match-card h3 span{display:block;margin-top:4px;color:var(--mm-muted);font-size:13px;font-weight:800}.match-badge{border-radius:999px;padding:7px 10px;font-size:12px;font-weight:1000;white-space:nowrap}.match-badge.direct{background:#ecfdf3;color:#027a48}.match-badge.related{background:#f4f3ff;color:#5925dc}.match-badge.unrestricted{background:#fff7ed;color:#c2410c}.match-school-list{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-chip{border:1px solid #e8f1ff;background:#f8fbff;border-radius:16px;padding:10px}.school-chip b{display:block;color:#123f77}.school-chip span{display:block;margin-top:3px;color:#6d7b91;font-size:12px;line-height:1.45}.match-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.major-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 16px;height:42px}.major-btn.ghost{border-color:#cfe2ff}.more-schools{margin-top:8px;color:#6d7b91;font-size:13px;line-height:1.6}.match-note{margin-top:16px;border-style:solid;background:#fff8eb;border-color:#ffe0ad;color:#7a4b00}
@media(max-width:900px){.major-match-app{padding:16px}.major-match-hero{grid-template-columns:1fr}.hero-note{display:none}.major-match-hero h1{font-size:30px}.major-match-search-row{grid-template-columns:1fr 120px 96px}.match-summary,.match-summary.match-summary-three{grid-template-columns:1fr}.match-school-list{grid-template-columns:1fr}}
@media(max-width:820px){.major-match-app{padding:10px 10px calc(92px + env(safe-area-inset-bottom,0px))}.major-match-app .topbar{margin-bottom:10px}.major-match-hero{border-radius:22px;padding:16px}.major-match-hero h1{font-size:24px;letter-spacing:-.3px}.major-match-hero p{font-size:14px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.major-match-search-card{margin-top:12px;border-radius:22px;padding:14px}.major-match-search-card label{font-size:16px}.major-match-search-row{grid-template-columns:1fr;gap:8px}.major-match-search-row input,.major-match-search-row button{height:48px;border-radius:16px}.quick-majors{display:grid;grid-template-columns:1fr 1fr}.quick-majors button{width:100%;height:38px}.match-section-head{display:block}.match-section-count{display:inline-flex;margin-top:8px}.match-card{border-radius:20px;padding:14px}.match-card-top{display:block}.match-badge{display:inline-flex;margin-top:8px}.match-actions{display:grid;grid-template-columns:1fr 1fr}.major-btn{width:100%;height:44px}.match-summary-card{border-radius:18px}.match-summary-card b{font-size:24px}}

.match-result-intro{margin-bottom:14px;padding:14px 16px;border:1px solid #d8e8ff;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eef6ff);color:#315d8f;font-weight:900;line-height:1.7}
.match-section-related .match-section-count{background:#f4f3ff;color:#5925dc}.match-section-unrestricted .match-section-count{background:#fff7ed;color:#c2410c}
.match-card-related{border-color:#e7e2ff}.match-card-unrestricted{border-color:#fed7aa}.match-card-direct{border-color:#d1fadf}
.major-toggle-btn{width:100%;height:48px;border:1px solid #fed7aa;border-radius:18px;background:#fff7ed;color:#c2410c;font-weight:1000;cursor:pointer;margin:8px 0 12px}.major-toggle-btn:hover{background:#ffedd5}
.match-section-body[hidden]{display:none!important}.match-section.is-collapsed{background:transparent}
.match-missing{margin-top:14px;padding:12px 14px;border-radius:18px;border:1px dashed #d8e8ff;background:#fbfdff;color:#6d7b91;line-height:1.7;font-size:14px}

@media(max-width:820px){.match-result-intro{font-size:13px;border-radius:16px;padding:11px 12px}.match-summary.match-summary-three{gap:8px}.match-summary-card{padding:12px}.match-summary-card span{font-size:12px}.match-summary-card small{font-size:11px}.match-section-head h2{font-size:18px}.match-section-head p{font-size:13px;line-height:1.5}.match-school-list{margin-top:8px}.school-chip{padding:8px;border-radius:14px}.school-chip span:nth-child(n+4){display:none}.more-schools{font-size:12px}.major-toggle-btn{height:44px;border-radius:16px;font-size:14px}.match-card h3{font-size:18px}.match-card h3 span{font-size:12px}}


/* ===== V4.86：major-match 专科专业联想面板，与 /zsb/info 同源 ===== */
#majorMatchSuggestPanelV486{
  position:fixed!important;
  z-index:2147483000!important;
  max-height:310px!important;
  overflow:auto!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid #cfe1ff!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(47,128,255,.22)!important;
  display:none!important;
  box-sizing:border-box!important;
}
#majorMatchSuggestPanelV486.is-open{
  display:grid!important;
  gap:8px!important;
}
.major-match-suggest-item-v486{
  min-height:42px!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid #edf4ff!important;
  background:#f8fbff!important;
  color:#12396d!important;
  font-size:15px!important;
  font-weight:900!important;
  text-align:left!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.major-match-suggest-item-v486:hover,
.major-match-suggest-item-v486:focus{
  background:#edf5ff!important;
  border-color:#bcd9ff!important;
  color:#1f63d8!important;
  outline:none!important;
}
.major-match-suggest-text-v486{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.major-match-suggest-label-v486{
  flex:0 0 auto!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  color:#1f63d8!important;
  font-size:12px!important;
  font-weight:900!important;
}
.major-match-suggest-label-v486.junior{background:#f5f3ff!important;color:#5b21b6!important;}
.major-match-suggest-label-v486.major{background:#eef6ff!important;color:#1d4ed8!important;}
.major-match-suggest-label-v486.school{background:#ecfff6!important;color:#087346!important;}
.major-match-suggest-label-v486.subject{background:#fff7ed!important;color:#a34b00!important;}
.major-match-suggest-empty-v486{
  padding:10px 12px!important;
  color:#65748c!important;
  font-size:14px!important;
  font-weight:800!important;
}
@media(max-width:820px){
  #majorMatchSuggestPanelV486{max-height:240px!important;border-radius:16px!important;padding:8px!important;}
  .major-match-suggest-item-v486{min-height:40px!important;font-size:14px!important;}
}
