:root{
  --color-primary:#2563eb;
  --color-brand:#193A8C;
  --color-accent:#D32F2F;
  --color-text:#111;
  --color-muted:#666;
  --color-border:#eee;
  --color-border-weak:#ddd;
  --radius:8px;
  --radius-sm:6px;
  --simple-header-height:76px;
  --uni-card-title-size:16px;

  --surface-veil: rgba(255,255,255,.86);
  --surface-veil-strong: rgba(255,255,255,.92);
  --border-soft: rgba(15,23,42,.10);
  --shadow-sm: 0 1px 2px rgba(16,24,40,.06);
  --shadow-md: 0 12px 32px rgba(16,24,40,.08);
  --shadow-lg: 0 18px 44px rgba(16,24,40,.16);
  --easing-out: cubic-bezier(0.16, 1, 0.3, 1);
  --easing-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-fast: 140ms;
  --dur-med: 240ms;
  --texture-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");

  --ai-surface: rgba(255,255,255,.92);
  --ai-surface-muted: rgba(248,250,252,.92);
  --ai-surface-soft: rgba(248,250,252,.70);
  --ai-border: rgba(226,232,240,.92);
  --ai-border-weak: rgba(229,231,235,.92);
  --ai-text: #0f172a;
  --ai-muted: #64748b;
  --ai-accent: rgba(37,99,235,.45);
  --ai-success-bg: rgba(209,250,229,.55);
  --ai-success-border: rgba(16,185,129,.22);
  --ai-success-text: #065f46;
  --ai-danger-bg: rgba(254,226,226,.62);
  --ai-danger-border: rgba(239,68,68,.22);
  --ai-danger-text: #991b1b;
}
body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;color:var(--color-text);background:#fafafa;line-height:1.5;min-height:100vh;display:flex;flex-direction:column;padding-top:var(--simple-header-height);position:relative;isolation:isolate}
body.pdf-viewer-body{padding-top:0;overflow:hidden}
html,body{overflow-x:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:3px}
body.site-shell::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-color:#fafafa;
  background-image:
    linear-gradient(rgba(250,250,250,0.78), rgba(250,250,250,0.78)),
    var(--site-bg-image, url('../../../background/pexels-nguyen-khac-tien-252426281-12544861.jpg'));
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: var(--site-bg-opacity, 0.24);
  filter: saturate(1.08) contrast(1.04);
}
@supports (background-image: image-set(url("x.webp") 1x)){
  body.site-shell::before{
    background-image:
      linear-gradient(rgba(250,250,250,0.78), rgba(250,250,250,0.78)),
      var(--site-bg-image, image-set(
        url('../../../background/pexels-nguyen-khac-tien-252426281-12544861-1080.webp') 1x,
        url('../../../background/pexels-nguyen-khac-tien-252426281-12544861-1920.webp') 2x,
        url('../../../background/pexels-nguyen-khac-tien-252426281-12544861.jpg') 1x
      ));
  }
}
body.site-shell::after{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image: var(--texture-noise), radial-gradient(circle at 20% 10%, rgba(0,0,0,0.04), transparent 44%), radial-gradient(circle at 80% 30%, rgba(0,0,0,0.03), transparent 46%);
  opacity: var(--site-noise-opacity, 0.65);
}
body.site-shell.no-bg::before, body.site-shell.no-bg::after{opacity:0}
header:not(#site-header){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);position:fixed;top:0;left:0;right:0;z-index:120;height:var(--simple-header-height)}
header:not(#site-header)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:#D32F2F}
.header-left{display:flex;align-items:center;gap:12px;min-width:0}
.header-left .title{display:none}
.site-subbrand-sep{width:1px;height:18px;background: rgba(17,24,39,.14);display:inline-block}
body.site-shell .site-subbrand-logo{height:30px;width:auto;max-width:260px;object-fit:contain;opacity:.95}
.header-links{padding:0;margin:0;flex:1;justify-content:flex-end;gap:6px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch}
.header-links::-webkit-scrollbar{display:none}
.header-links .page-link{border:0;background:transparent;padding:9px 12px;font-size:15px}
.header-links .page-link:hover{background:rgba(37,99,235,.06);color:var(--color-primary)}
.header-links .page-link[aria-current="page"],.header-links .page-link.is-active{background:rgba(37,99,235,.10);color:var(--color-primary)}
.header-links .nav-drop{position:relative}
.header-links .nav-drop > summary.page-link{cursor:pointer;list-style:none}
.header-links .nav-drop > summary.page-link::-webkit-details-marker{display:none}
.header-links .nav-drop > summary.page-link::after{content:'▾';margin-left:6px;font-size:12px;opacity:.7}
.header-links .nav-drop-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;padding:6px;background:rgba(255,255,255,.98);border:1px solid var(--color-border-weak);border-radius:14px;box-shadow:var(--shadow-lg);display:none;z-index:220}
.header-links details.nav-drop[open] .nav-drop-menu{display:flex;flex-direction:column;gap:4px}
.header-links .nav-drop-link{display:flex;align-items:center;justify-content:flex-start;padding:9px 10px;border-radius:12px;text-decoration:none;color:var(--color-text);font-weight:700;font-size:14px}
.header-links .nav-drop-link:hover{background:rgba(37,99,235,.06);color:var(--color-primary)}
.header-links .nav-drop-link.is-active{background:rgba(37,99,235,.10);color:var(--color-primary)}
.header-links details.nav-drop.is-active > summary.page-link{background:rgba(37,99,235,.10);color:var(--color-primary)}
body.site-shell .nav-toggle{display:none;appearance:none;border:none;background:transparent;border-radius:8px;padding:4px 8px;font-size:24px;line-height:1;color:#111;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
body.site-shell .nav-toggle:hover{background:rgba(0,0,0,.06)}
body.site-shell .nav-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(37,99,235,.25)}
body.site-shell .nav-overlay{display:none}
body.site-shell header .meta{margin-top:0}
.simple-copyright{background:#111827;color:#9CA3AF;padding:18px 16px;margin-top:auto;text-align:center;font-size:12px}
.simple-copyright a{color:inherit;text-decoration:none}
.simple-copyright a:hover{color:#fff}
.source-site-footer{
  width:100%;
  margin-top:auto;
  background:#111827;
  color:#fff;
}
.source-site-footer .site-footer-inner{
  width:100%;
  padding:40px 0;
}
.source-site-footer .footer-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}
.source-site-footer .footer-bottom{
  border-top:1px solid #374151;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  color:#6B7280;
  font-size:12px;
}
.source-site-footer a{
  color:inherit;
  text-decoration:none;
}
.source-site-footer a:hover{color:#fff}
@media (max-width:640px){
  .source-site-footer .site-footer-inner{padding:28px 0}
  .source-site-footer .footer-container{padding:0 16px}
  .source-site-footer .footer-bottom{
    flex-direction:column;
    text-align:center;
    gap:8px;
  }
}
body.site-shell .logo{height:32px;width:auto}
.container{max-width:980px;margin:0 auto;padding:16px}
.container{width:100%}
body.site-shell .container{box-sizing:border-box}
main.container{flex:1}
.title{font-size:28px;font-weight:700;display:flex;align-items:center;gap:8px}
.title a{font-size:14px;font-weight:500;color:var(--color-primary);text-decoration:none}

.page-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0 10px;margin:0 0 10px}
.page-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;font-size:14px;color:var(--color-text);text-decoration:none;font-weight:600;border-radius:999px;border:1px solid var(--color-border-weak);background:rgba(255,255,255,.75);transition:all .2s;white-space:nowrap}
.page-link:hover{background:rgba(37,99,235,.06);border-color:rgba(37,99,235,.22);color:var(--color-primary)}
.page-link[aria-current="page"],.page-link.is-active{background:rgba(37,99,235,.10);border-color:rgba(37,99,235,.28);color:var(--color-primary)}
.page-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
header:not(#site-header) .page-links.header-links{padding:0;margin:0;flex:1;justify-content:flex-end;gap:clamp(8px,1.6vw,12px);overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
header:not(#site-header) .page-links.header-links::-webkit-scrollbar{display:none}

.breadcrumb{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--color-muted);margin-top:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--color-primary);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb-sep{opacity:.6}
.source-hero{
  width: min(1200px, calc(100vw - 32px));
  aspect-ratio: 3 / 1;
  position: relative;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  left: 50%;
  translate: -50% 0;
  background: #eef4ff;
  padding: 0;
  display: block;
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  animation: sourceHeroReveal 680ms cubic-bezier(0.2, 0.8, 0.2, 1) 80ms forwards;
}
.source-hero picture{
  display:block;
  width:100%;
  height:100%;
}
.source-hero-img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #eef4ff;
}
.countdown-page-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.countdown-head-copy{
  display:grid;
  gap:10px;
}
.countdown-page-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  color:#1d4ed8;
  text-transform:uppercase;
}
.countdown-page-title{
  margin:0;
  font-size:34px;
  line-height:1.14;
  color:#0f172a;
}
.countdown-page-desc{
  margin:0;
  max-width:760px;
  color:#475569;
}
.countdown-hero-body{
  display:grid;
  gap:16px;
}
.countdown-alert-stack{
  display:grid;
  gap:10px;
}
.countdown-alert{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(229,231,235,.92);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}
.countdown-alert strong{
  flex:0 0 auto;
  font-size:13px;
}
.countdown-alert span{
  color:#475569;
  font-size:13px;
  line-height:1.55;
}
.countdown-alert-warn{
  background:rgba(255,247,237,.9);
  border-color:rgba(251,191,36,.32);
}
.countdown-alert-warn strong{
  color:#b45309;
}
.countdown-alert-info{
  background:rgba(239,246,255,.92);
  border-color:rgba(96,165,250,.30);
  color:#1d4ed8;
  font-size:13px;
  font-weight:800;
}
.countdown-meta-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.countdown-filter-grid{
  grid-template-columns:minmax(0,1fr) minmax(180px,220px);
}
.countdown-filter-summary{
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.countdown-filter-summary-copy{
  display:grid;
  gap:4px;
}
.countdown-view-switch{
  display:grid;
  gap:6px;
  justify-items:end;
}
.countdown-view-btn{
  min-width:190px;
}
.countdown-view-caption{
  font-size:12px;
  color:#64748b;
  font-weight:800;
}
.timeline-panel-body{
  display:grid;
  gap:16px;
}
.timeline-panel-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.timeline-panel-copy{
  display:grid;
  gap:8px;
}
.timeline-panel-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  color:#1d4ed8;
  text-transform:uppercase;
}
.timeline-panel-title{
  margin:0;
  font-size:28px;
  line-height:1.16;
  color:#0f172a;
}
.timeline-panel-desc{
  margin:0;
  color:#475569;
  max-width:760px;
}
.timeline-panel-note{
  max-width:340px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(248,250,252,.92);
  border:1px solid rgba(226,232,240,.92);
  color:#475569;
  font-size:13px;
  line-height:1.6;
}
.timeline-legend{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.timeline-legend-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.timeline-legend-swatch{
  display:inline-flex;
  width:28px;
  height:10px;
  border-radius:999px;
  border:1px solid transparent;
}
.timeline-legend-app{
  background:linear-gradient(90deg, rgba(37,99,235,.88), rgba(59,130,246,.88));
  border-color:rgba(37,99,235,.32);
}
.timeline-legend-web{
  background:rgba(20,184,166,.28);
  border-color:rgba(13,148,136,.28);
}
.timeline-legend-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ef4444;
  display:inline-flex;
}
.timeline-legend-tail{
  width:28px;
  height:0;
  border-top:2px dashed rgba(148,163,184,.92);
  display:inline-flex;
}
.timeline-highlights{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.timeline-highlight-card{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(248,250,252,.92);
  border:1px solid rgba(226,232,240,.92);
  box-shadow:var(--shadow-sm);
}
.timeline-highlight-k{
  font-size:12px;
  color:#64748b;
  font-weight:900;
  letter-spacing:.04em;
}
.timeline-highlight-v{
  margin-top:6px;
  color:#0f172a;
  font-size:15px;
  line-height:1.45;
  font-weight:900;
}
.timeline-shell{
  overflow-x:auto;
  padding-bottom:4px;
}
.timeline-grid{
  min-width:980px;
  padding:4px 0;
}
.timeline-axis,
.timeline-row{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.timeline-axis{
  margin-bottom:10px;
}
.timeline-axis-label{
  font-size:12px;
  font-weight:900;
  color:#475569;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.timeline-axis-track,
.timeline-row-track{
  position:relative;
  min-height:48px;
  border-radius:16px;
  background:rgba(248,250,252,.82);
  border:1px solid rgba(226,232,240,.92);
  overflow:hidden;
}
.timeline-axis-track{
  min-height:56px;
}
.timeline-panel-section[hidden]{
  display:none !important;
}
#countdownCardsSection[hidden]{
  display:none !important;
}
body.countdown-page.is-card-view .timeline-panel-section{
  display:none;
}
body.countdown-page.is-visual-view .timeline-panel-section{
  display:block;
}
body.countdown-page.is-visual-view .timeline-panel-head{
  gap:12px;
}
body.countdown-page.is-visual-view .timeline-panel-note{
  font-size:12px;
}
body.countdown-page.is-visual-view .timeline-shell{
  max-height:calc(100vh - 330px);
  overflow:auto;
  padding:0;
  border-radius:18px;
  border:1px solid rgba(226,232,240,.92);
  background:rgba(255,255,255,.88);
}
body.countdown-page.is-visual-view .timeline-grid{
  padding:10px;
}
body.countdown-page.is-visual-view .timeline-axis{
  position:sticky;
  top:0;
  z-index:7;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  margin:0 0 8px;
  padding-bottom:8px;
}
body.countdown-page.is-visual-view .timeline-axis,
body.countdown-page.is-visual-view .timeline-row{
  grid-template-columns:170px minmax(0,1fr);
  gap:10px;
}
body.countdown-page.is-visual-view .timeline-axis-track{
  min-height:48px;
}
body.countdown-page.is-visual-view .timeline-month-label{
  padding-top:10px;
  font-size:11px;
}
body.countdown-page.is-visual-view .timeline-row-label{
  min-height:40px;
  padding:9px 10px;
  gap:2px;
}
body.countdown-page.is-visual-view .timeline-row-name{
  font-size:14px;
}
body.countdown-page.is-visual-view .timeline-row-meta{
  font-size:11px;
}
body.countdown-page.is-visual-view .timeline-row-track{
  min-height:40px;
}
body.countdown-page.is-visual-view .timeline-slot-web{
  top:7px;
  height:6px;
}
body.countdown-page.is-visual-view .timeline-slot-app{
  top:18px;
  height:11px;
}
body.countdown-page.is-visual-view .timeline-slot-endcap{
  width:9px;
  height:9px;
  margin-top:-4.5px;
}
.timeline-months{
  position:relative;
  z-index:2;
  height:100%;
}
.timeline-month-label{
  position:absolute;
  top:0;
  bottom:0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:12px;
  font-size:12px;
  font-weight:900;
  color:#475569;
}
.timeline-month-guide{
  position:absolute;
  top:0;
  bottom:0;
  border-right:1px solid rgba(203,213,225,.78);
}
.timeline-month-guide:first-child{
  border-left:1px solid rgba(203,213,225,.78);
}
.timeline-today-marker{
  position:absolute;
  top:0;
  bottom:0;
  width:0;
  border-left:2px dashed rgba(15,23,42,.48);
  z-index:4;
  pointer-events:none;
}
.timeline-today-marker-axis{
  bottom:4px;
}
.timeline-today-marker-row{
  opacity:.55;
}
.timeline-today-label{
  position:absolute;
  top:6px;
  left:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.timeline-rows{
  display:grid;
  gap:10px;
}
.timeline-row-label{
  display:grid;
  gap:4px;
  align-items:flex-start;
  justify-items:flex-start;
  padding:12px 14px;
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(226,232,240,.92);
  background:rgba(255,255,255,.92);
  color:#0f172a;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  text-align:left;
}
.timeline-row-label:hover{
  border-color:rgba(96,165,250,.38);
  box-shadow:0 18px 34px rgba(15,23,42,.10);
}
.timeline-row-rank{
  font-size:11px;
  font-weight:900;
  color:#1d4ed8;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.timeline-row-name{
  font-size:15px;
  font-weight:900;
  line-height:1.35;
}
.timeline-row-meta{
  font-size:12px;
  color:#64748b;
  font-weight:800;
}
.timeline-row-track{
  min-height:52px;
}
.timeline-slot{
  position:absolute;
  border:none;
  cursor:pointer;
  border-radius:999px;
  padding:0;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
  z-index:3;
}
.timeline-slot:hover{
  transform:translateY(-1px);
}
.timeline-slot-app{
  top:23px;
  height:14px;
  background:linear-gradient(90deg, rgba(37,99,235,.82), rgba(59,130,246,.88));
  box-shadow:0 6px 16px rgba(37,99,235,.18);
}
.timeline-slot-app.active{
  background:linear-gradient(90deg, rgba(29,78,216,.92), rgba(37,99,235,.96));
}
.timeline-slot-app.upcoming{
  background:linear-gradient(90deg, rgba(8,145,178,.82), rgba(14,165,233,.86));
}
.timeline-slot-app.ended{
  background:linear-gradient(90deg, rgba(59,130,246,.62), rgba(96,165,250,.68));
}
.timeline-slot-app.pending{
  background:linear-gradient(90deg, rgba(148,163,184,.55), rgba(203,213,225,.70));
}
.timeline-slot-app.kind-postmark{
  border-right:2px dashed rgba(148,163,184,.92);
}
.timeline-slot-web{
  top:9px;
  height:8px;
  background:rgba(20,184,166,.30);
  border:1px solid rgba(13,148,136,.28);
}
.timeline-slot-endcap{
  position:absolute;
  right:-4px;
  top:50%;
  width:10px;
  height:10px;
  margin-top:-5px;
  border-radius:999px;
  background:#ef4444;
  box-shadow:0 0 0 2px rgba(255,255,255,.94);
}
.timeline-row-empty{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  color:#94a3b8;
  font-weight:800;
}
.timeline-empty{
  padding:18px;
  border-radius:14px;
  background:rgba(248,250,252,.92);
  border:1px dashed rgba(148,163,184,.45);
  color:#64748b;
  font-weight:800;
}
.countdown-card{
  overflow:visible;
}
.countdown-card-body{
  display:grid;
  gap:16px;
}
.countdown-card-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:flex-start;
}
.countdown-card-head{
  display:grid;
  gap:12px;
}
.countdown-card-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.countdown-school-name{
  margin:0;
  font-size:26px;
  line-height:1.18;
  color:#0f172a;
}
.countdown-rank-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.countdown-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid transparent;
  white-space:nowrap;
}
.countdown-status-badge.active{
  background:rgba(209,250,229,.75);
  border-color:rgba(16,185,129,.24);
  color:#047857;
}
.countdown-status-badge.upcoming{
  background:rgba(219,234,254,.82);
  border-color:rgba(96,165,250,.32);
  color:#1d4ed8;
}
.countdown-status-badge.ended{
  background:rgba(254,242,242,.9);
  border-color:rgba(248,113,113,.24);
  color:#b91c1c;
}
.countdown-status-badge.pending{
  background:rgba(241,245,249,.9);
  border-color:rgba(148,163,184,.28);
  color:#475569;
}
.countdown-kind-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(226,232,240,.92);
  color:#334155;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.countdown-card-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.countdown-card-highlight{
  min-width:200px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(15,23,42,.96), rgba(29,78,216,.90));
  color:#fff;
  box-shadow:0 18px 38px rgba(29,78,216,.18);
}
.countdown-highlight-label{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
}
.countdown-highlight-value{
  margin-top:8px;
  font-size:20px;
  line-height:1.3;
  font-weight:900;
}
.countdown-period-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.countdown-period-item{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(248,250,252,.92);
  border:1px solid rgba(226,232,240,.92);
}
.countdown-period-label{
  font-size:12px;
  font-weight:900;
  color:#64748b;
  letter-spacing:.04em;
}
.countdown-period-value{
  margin-top:6px;
  font-size:15px;
  font-weight:800;
  color:#0f172a;
}
.countdown-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.countdown-card-panel{
  padding-top:4px;
}
.countdown-bucket{
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(226,232,240,.92);
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-sm);
}
.countdown-bucket + .countdown-bucket{
  margin-top:12px;
}
.countdown-bucket-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.countdown-bucket-title{
  font-size:15px;
  font-weight:900;
  color:#0f172a;
}
.countdown-bucket-period{
  margin-top:4px;
  color:#475569;
  font-size:13px;
  line-height:1.55;
}
.countdown-bucket-period-web{
  color:#1d4ed8;
}
.countdown-bucket-side{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.countdown-bucket-count{
  color:#64748b;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.countdown-bucket-countdown{
  margin-top:10px;
  font-size:14px;
  font-weight:900;
  color:#0f172a;
}
.countdown-detail-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.countdown-detail-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(248,250,252,.95);
  border:1px solid rgba(226,232,240,.92);
  color:#334155;
  font-size:12px;
}
.countdown-empty-title{
  font-size:18px;
  font-weight:900;
  color:#0f172a;
  margin-bottom:8px;
}
.countdown-card.is-target{
  animation:countdownCardPulse 1.4s ease;
}
.countdown-bucket.is-focus{
  animation:countdownBucketPulse 1.4s ease;
}
@keyframes countdownCardPulse{
  0%{box-shadow:0 0 0 0 rgba(37,99,235,.28)}
  25%{box-shadow:0 0 0 6px rgba(37,99,235,.16)}
  100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}
}
@keyframes countdownBucketPulse{
  0%{background:rgba(219,234,254,.55)}
  100%{background:rgba(255,255,255,.94)}
}
@keyframes sourceHeroReveal{
  from{opacity:0;transform:translate3d(0,16px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media (prefers-reduced-motion: reduce){
  .source-hero{
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.section{background:#fff;border:1px solid var(--color-border);border-radius:8px;margin:12px 0;overflow:hidden}
.section:hover{box-shadow:0 1px 3px rgba(16,24,40,.06)}
.section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;background:#f7f7f7}
.section-title{font-weight:600;font-size:16px}
.section-body{padding:12px 16px;border-top:1px solid #eee}
.muted{color:var(--color-muted)}
.tuition-table{width:100%;border-collapse:collapse}
.tuition-table th,.tuition-table td{border-bottom:1px solid #eee;padding:8px;text-align:left}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;margin-left:8px}
.pdf-wrapper{position:relative;height:640px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:#111}
.pdf-embed{width:100%;height:100%;border:0}
.watermark{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.05) 0 40px,rgba(255,255,255,0.02) 40px 80px)}
.overlay-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.25);font-size:48px;font-weight:700;pointer-events:none}
.footer{padding:12px 0;color:var(--color-muted);font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.meta-item{background:#f1f5f9;color:#0f172a;border-radius:6px;padding:6px 10px;font-size:12px}
.img-fallback{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #eee;background:#f8fafc;color:#334155;font-weight:700}
.tooltip{position:relative}
.tooltip:hover::after{content:attr(data-tooltip);position:absolute;left:0;top:100%;background:#111;color:#fff;font-size:12px;padding:6px 8px;border-radius:6px;white-space:nowrap;transform:translateY(6px);box-shadow:0 2px 8px rgba(16,24,40,.12)}

.pdf-wrapper{height:min(88vh,980px);min-height:760px}
.section-actions{display:flex;gap:8px;align-items:center}
.btn{appearance:none;border:1px solid var(--color-border-weak);background:#fff;border-radius:var(--radius);padding:10px 14px;font-size:12px;color:var(--color-text);cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px rgba(16,24,40,.04);text-decoration:none}
.btn:hover{background:#f7f7f7;border-color:#ccc;box-shadow:0 2px 6px rgba(16,24,40,.08)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
.btn.btn-outline{background:transparent;border-color:rgba(37,99,235,.35);color:var(--color-primary)}
.btn.btn-outline:hover{background:rgba(37,99,235,.06);border-color:rgba(37,99,235,.5)}
.select{appearance:none;border:1px solid var(--color-border-weak);background:#fff;border-radius:var(--radius);padding:6px 28px 6px 10px;font-size:12px;color:var(--color-text);cursor:pointer;position:relative;box-sizing:border-box}
.select:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
body.details-modern-page #pdf-toggle .section-actions{gap:10px}
body.details-modern-page #pdf-toggle .select,
body.details-modern-page #pdf-toggle .btn{
  min-height:40px;
  border-color:rgba(209,213,219,.95);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  color:#111827;
  font-size:14px;
  font-weight:800;
  box-shadow:0 1px 4px rgba(16,24,40,.08);
}
body.details-modern-page #pdf-toggle .select{
  min-width:190px;
  padding:8px 34px 8px 14px;
}
body.details-modern-page #pdf-toggle .btn{
  padding:9px 16px;
}
body.details-modern-page #pdf-toggle .btn:hover{
  background:#f8fafc;
  border-color:#b8c7f6;
  color:#173b8f;
}
.input{appearance:none;border:1px solid var(--color-border-weak);background:#fff;border-radius:var(--radius);padding:10px 14px;font-size:14px;color:var(--color-text);width:100%;transition:all .15s ease;box-shadow:0 1px 2px rgba(16,24,40,.04);box-sizing:border-box}
.input:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35),0 2px 6px rgba(16,24,40,.08)}
#search.input{padding:6px 28px 6px 10px;font-size:12px}
.range{width:100%}
.range-wrap{display:flex;align-items:center;gap:10px}
.range-value{min-width:40px;text-align:center;font-size:12px;color:#444}
input.range-value{appearance:textfield;border:1px solid var(--color-border-weak);background:rgba(255,255,255,.92);border-radius:6px;padding:4px 6px;min-width:56px}
input.range-value:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
input.range-value::-webkit-outer-spin-button,input.range-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.count-note{font-size:12px;margin-top:6px}
.section-header{background:#fff}
.section-header:hover{background:#f9fafb}
.caret{font-size:14px;color:#666;transition:transform .2s ease}
.section.open .caret{transform:rotate(90deg)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:100;overscroll-behavior:contain}
.modal-content{width:92vw;height:90vh;background:#000;border-radius:10px;position:relative;overflow:hidden;border:1px solid #222;box-sizing:border-box}
.modal-toolbar{position:sticky;top:0;right:8px;display:flex;justify-content:flex-end;gap:8px;z-index:2;padding:10px 10px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
#pdf-modal{z-index:5000;padding:24px;background:rgba(17,24,39,.72);box-sizing:border-box}
#pdf-modal .modal-content{width:calc(100vw - 48px);height:calc(100vh - 48px);max-width:none;border-radius:8px}
#pdf-modal .modal-toolbar{display:none}
@media (max-width:640px){
  #pdf-modal{padding:0}
  #pdf-modal .modal-content{width:100vw;height:100vh;border-radius:0;border:0}
}
.pdf-frame{width:100%;height:100%;border:0;background:#000}
@media (max-width:640px){
  .pdf-wrapper{height:68vh;min-height:420px}
}
.modal-content#consult-card{max-width:460px;height:auto}

.intro-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.intro-expanded{display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible}

body.modal-open{overflow:hidden}

.card-body{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.card-main{display:flex;gap:12px;align-items:center;flex:1}
.card-actions{display:flex;align-items:center}
.summary-actions{margin-top:8px;display:flex;gap:8px;align-items:center}
body.site-shell .section{background:var(--surface-veil);border:1px solid rgba(229,231,235,.86);border-radius:12px;box-shadow:var(--shadow-sm)}
body.site-shell .section:hover{box-shadow:0 18px 44px rgba(16,24,40,.10)}
body.site-shell .section-header{background:rgba(255,255,255,.88);backdrop-filter:blur(10px)}
body.site-shell .section-header:hover{background:rgba(255,255,255,.94)}
body.site-shell .section-body{border-top:1px solid rgba(229,231,235,.86)}
body.site-shell .badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(229,231,235,.92);color:rgba(15,23,42,.78);white-space:nowrap}
body.site-shell .meta{gap:10px}
body.site-shell .meta-item{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.86);color:rgba(15,23,42,.82);border-radius:999px;border:1px solid rgba(229,231,235,.92);box-shadow: var(--shadow-sm)}
body.site-shell .btn{border-color: rgba(229,231,235,.92);background: rgba(255,255,255,.92);box-shadow: var(--shadow-sm);transition: transform var(--dur-fast) var(--easing-out), box-shadow var(--dur-fast) var(--easing-out), border-color var(--dur-fast) var(--easing-out), background var(--dur-fast) var(--easing-out)}
body.site-shell .btn:hover{background: rgba(255,255,255,.96);border-color: rgba(209,213,219,.95);box-shadow: 0 14px 28px rgba(16,24,40,.10);transform: translateY(-1px)}
body.site-shell .btn:active{transform: translateY(0)}
body.site-shell .btn.btn-primary{background: var(--color-primary);border-color: rgba(37,99,235,.55);color:#fff;box-shadow: 0 12px 28px rgba(37,99,235,.18)}
body.site-shell .btn.btn-primary:hover{background: #1D4ED8;border-color: rgba(29,78,216,.62);box-shadow: 0 16px 34px rgba(37,99,235,.22)}
body.site-shell .btn.btn-outline{background:rgba(255,255,255,.78);border-color:rgba(37,99,235,.28);color:rgba(29,78,216,.98)}
body.site-shell .btn.btn-outline:hover{background:rgba(219,234,254,.32);border-color:rgba(37,99,235,.42)}
body.site-shell .select{border-color: rgba(229,231,235,.92);background:rgba(255,255,255,.92);box-shadow: var(--shadow-sm);transition:border-color var(--dur-fast) var(--easing-out),box-shadow var(--dur-fast) var(--easing-out),background var(--dur-fast) var(--easing-out)}
body.site-shell .select:focus-visible{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px rgba(37,99,235,.16),0 14px 28px rgba(16,24,40,.10)}
body.site-shell .input{border-color: rgba(229,231,235,.92);background:rgba(255,255,255,.92);transition:border-color var(--dur-fast) var(--easing-out),box-shadow var(--dur-fast) var(--easing-out),background var(--dur-fast) var(--easing-out);box-shadow:var(--shadow-sm)}
body.site-shell .input:focus-visible{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px rgba(37,99,235,.16),0 14px 28px rgba(16,24,40,.10)}

body.site-shell .section.card{position:relative;transition:transform var(--dur-fast) var(--easing-out),box-shadow var(--dur-fast) var(--easing-out),border-color var(--dur-fast) var(--easing-out)}
body.site-shell .section.card::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:9999px;background: rgba(37,99,235,.55);opacity:0;transform:translateX(-2px);transition:opacity var(--dur-fast) var(--easing-out),transform var(--dur-fast) var(--easing-out)}
body.site-shell .section.card:hover{transform:translateY(-1px);border-color:rgba(209,213,219,.95);box-shadow:0 18px 44px rgba(16,24,40,.12)}
body.site-shell .section.card:hover::before{opacity:1;transform:translateX(0)}
body.site-shell .section.card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.20),0 18px 44px rgba(16,24,40,.12)}
body.site-shell .section.card:focus-visible::before{opacity:1;transform:translateX(0)}
body.site-shell .uni-card-img{position:relative;width:var(--uni-card-img-size, 60px);height:var(--uni-card-img-size, 60px);flex:none}
body.site-shell .uni-card-img-el{width:100%;height:100%;object-fit:contain;box-sizing:border-box;padding:6px;border-radius:var(--uni-card-img-radius, 10px);border:1px solid rgba(229,231,235,.92);box-shadow:0 12px 28px rgba(16,24,40,.10);background:#fff;display:block}
body.site-shell .uni-card-img-fallback{width:100%;height:100%;border-radius:var(--uni-card-img-radius, 10px);border:1px solid rgba(229,231,235,.92);background:rgba(249,250,251,.94);color:rgba(15,23,42,.72)}
body.site-shell .uni-detail-logo{width:80px;height:80px;object-fit:contain;box-sizing:border-box;padding:8px;border-radius:8px;border:1px solid #eee;background:#fff}

body.details-modern-page{
  background:#f4f5f7;
}
body.details-modern-page .details-main{
  width:min(1180px,calc(100% - 40px));
  max-width:none;
  margin:28px auto 56px;
}
body.details-modern-page .details-school-hero{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 260px;
  gap:24px;
  align-items:start;
  padding:26px;
  border:1px solid rgba(229,231,235,.95);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
body.details-modern-page .details-logo-box{
  position:relative;
  width:150px;
  aspect-ratio:1;
  border:1px solid rgba(229,231,235,.95);
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#fff;
  overflow:hidden;
}
body.details-modern-page .details-logo-box .uni-detail-logo{
  width:100%;
  height:100%;
  max-width:124px;
  max-height:100px;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:8px;
  background:transparent;
}
body.details-modern-page .details-logo-box .img-fallback{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
}
body.details-modern-page .details-eyebrow{
  margin:0 0 8px;
  color:#315aa6;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}
body.details-modern-page #school-name{
  margin:0;
  color:#111827;
  font-size:36px;
  line-height:1.18;
}
body.details-modern-page .details-subtitle{
  margin:8px 0 0;
  color:#667085;
  font-size:17px;
  line-height:1.6;
}
body.details-modern-page .details-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.details-modern-page .details-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(229,231,235,.95);
  border-radius:999px;
  background:#fff;
  color:#344054;
  font-size:14px;
  font-weight:800;
  box-shadow:none;
}
body.details-modern-page .details-hero-actions{
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
body.details-modern-page .details-snapshot{
  border:1px solid rgba(229,231,235,.95);
  border-radius:8px;
  overflow:hidden;
  background:#fbfcfe;
}
body.details-modern-page .details-snapshot-title{
  padding:14px 16px;
  font-size:13px;
  color:#667085;
  font-weight:900;
  letter-spacing:.12em;
  border-bottom:1px solid rgba(229,231,235,.95);
}
body.details-modern-page .details-snapshot-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:13px 16px;
  border-bottom:1px solid #edf0f4;
  color:#475467;
  font-size:14px;
}
body.details-modern-page .details-snapshot-row:last-child{
  border-bottom:0;
}
body.details-modern-page .details-snapshot-row strong{
  color:#111827;
  text-align:right;
}
body.details-modern-page .details-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:22px;
  margin-top:22px;
  align-items:start;
}
body.details-modern-page .details-side-index{
  position:sticky;
  top:18px;
  border:1px solid rgba(229,231,235,.95);
  border-radius:8px;
  background:#fff;
  padding:10px;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
body.details-modern-page .details-side-index a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius:7px;
  color:#475467;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
}
body.details-modern-page .details-side-index a:hover,
body.details-modern-page .details-side-index a.active{
  color:#193a8c;
  background:#f2f5ff;
}
body.details-modern-page .details-side-index span{
  color:#98a2b3;
  font-size:12px;
}
body.details-modern-page .details-section-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
body.details-modern-page .details-info-panel{
  border:1px solid rgba(229,231,235,.95);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.045);
  overflow:hidden;
  scroll-margin-top:96px;
}
body.details-modern-page .details-info-panel.open{
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
body.details-modern-page .details-panel-head{
  cursor:pointer;
  padding:18px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  background:#fff;
}
body.details-modern-page .details-panel-head:hover{
  background:#fbfcfe;
}
body.details-modern-page .details-panel-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
body.details-modern-page .details-panel-index{
  width:36px;
  color:#98a2b3;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  position:relative;
  padding-left:12px;
  flex:none;
}
body.details-modern-page .details-panel-index::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:18px;
  border-radius:999px;
  background:#193a8c;
}
body.details-modern-page .details-panel-title h2{
  margin:0;
  color:#111827;
  font-size:22px;
  line-height:1.25;
}
body.details-modern-page .details-panel-meta{
  color:#667085;
  font-size:13px;
  margin-top:4px;
}
body.details-modern-page .details-panel-head .caret{
  width:34px;
  height:34px;
  border-radius:8px;
  border:1px solid rgba(229,231,235,.95);
  display:grid;
  place-items:center;
  color:#667085;
  transition:transform .18s ease;
}
body.details-modern-page .details-info-panel.open > .details-panel-head .caret{
  transform:rotate(90deg);
}
body.details-modern-page .details-panel-body{
  padding:0 22px 22px 66px;
  border-top:1px solid #eef1f5;
}
body.details-modern-page #intro-text{
  margin-top:18px;
  color:#4b5563;
  font-size:17px;
  line-height:1.9;
}
body.details-modern-page .details-panel-actions{
  margin-top:12px;
}
body.details-modern-page .details-control-grid{
  margin:18px 0 12px;
}
body.details-modern-page .details-info-panel .section{
  margin:12px 0 0;
  border-radius:8px;
  border:1px solid rgba(229,231,235,.95);
  box-shadow:none;
}
body.details-modern-page .details-info-panel .section:hover{
  box-shadow:none;
}
body.details-modern-page .details-info-panel .section-header{
  padding:12px 14px;
  background:#fbfcfe;
}
body.details-modern-page .details-info-panel .section-body{
  padding:12px 14px;
}
body.details-modern-page .details-bottom-note{
  text-align:center;
  margin:18px 0 0;
}
@media (max-width:900px){
  body.details-modern-page .details-school-hero{
    grid-template-columns:110px minmax(0,1fr);
  }
  body.details-modern-page .details-logo-box{
    width:110px;
  }
  body.details-modern-page .details-snapshot{
    grid-column:1 / -1;
  }
  body.details-modern-page .details-layout{
    grid-template-columns:1fr;
  }
  body.details-modern-page .details-side-index{
    position:static;
    display:flex;
    overflow:auto;
  }
  body.details-modern-page .details-side-index a{
    white-space:nowrap;
    flex:none;
  }
  body.details-modern-page .details-panel-body{
    padding-left:22px;
  }
}
@media (max-width:640px){
  body.details-modern-page .details-main{
    width:calc(100% - 20px);
    margin-top:12px;
    margin-bottom:32px;
    padding-bottom:70px;
  }
  body.details-modern-page .details-school-hero{
    grid-template-columns:86px minmax(0,1fr);
    gap:12px 14px;
    padding:14px;
    border-radius:10px;
  }
  body.details-modern-page .details-logo-box{
    width:86px;
    grid-column:1;
    grid-row:1 / span 2;
    border-radius:10px;
  }
  body.details-modern-page .details-logo-box .uni-detail-logo{
    max-width:76px;
    max-height:58px;
    padding:5px;
  }
  body.details-modern-page .details-hero-main{
    display:contents;
  }
  body.details-modern-page .details-eyebrow{
    grid-column:2;
    margin:3px 0 0;
    font-size:10px;
    line-height:1.2;
    letter-spacing:.12em;
  }
  body.details-modern-page #school-name{
    grid-column:2;
    margin:0;
    font-size:25px;
    line-height:1.16;
  }
  body.details-modern-page .details-subtitle{
    grid-column:1 / -1;
    margin:2px 0 0;
    font-size:14px;
    line-height:1.65;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body.details-modern-page .details-chip-row{
    grid-column:1 / -1;
    gap:8px;
    margin-top:4px;
  }
  body.details-modern-page .details-chip{
    box-sizing:border-box;
    flex:1 1 calc(50% - 8px);
    justify-content:center;
    text-align:center;
    min-height:32px;
    padding:0 11px;
    font-size:13px;
    white-space:nowrap;
  }
  body.details-modern-page .details-hero-actions{
    grid-column:1 / -1;
    margin-top:4px;
  }
  body.details-modern-page .details-hero-actions .btn{
    display:flex;
    align-items:center;
    width:100%;
    justify-content:center;
    min-height:46px;
    border-radius:10px;
    font-size:15px;
  }
  body.details-modern-page .details-snapshot{
    grid-column:1 / -1;
    margin-top:4px;
    border-radius:10px;
  }
  body.details-modern-page .details-snapshot-title{
    padding:11px 14px;
    font-size:12px;
  }
  body.details-modern-page .details-snapshot-row{
    padding:11px 14px;
    font-size:13px;
  }
  body.details-modern-page .details-layout{
    gap:14px;
    margin-top:14px;
  }
  body.details-modern-page .details-side-index{
    gap:6px;
    padding:8px;
    border-radius:10px;
    scroll-snap-type:x proximity;
  }
  body.details-modern-page .details-side-index a{
    padding:9px 11px;
    border-radius:8px;
    font-size:13px;
    scroll-snap-align:start;
  }
  body.details-modern-page .details-panel-head{
    padding:14px;
  }
  body.details-modern-page .details-panel-title{
    gap:9px;
  }
  body.details-modern-page .details-panel-index{
    width:30px;
    padding-left:10px;
    font-size:12px;
  }
  body.details-modern-page .details-panel-title h2{
    font-size:18px;
  }
  body.details-modern-page .details-panel-meta{
    display:none;
  }
  body.details-modern-page .details-panel-body{
    padding:0 16px 18px;
  }
  body.details-modern-page #intro-text{
    font-size:15px;
    line-height:1.75;
  }
  body.details-modern-page .details-panel-head .section-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  body.details-modern-page .wechat-drawer.collapsed{
    right:10px;
    bottom:10px;
    width:46px;
  }
  body.details-modern-page .wechat-drawer.collapsed .drawer-tab{
    width:46px;
    height:46px;
    gap:0;
    border-radius:999px;
    font-size:12px;
  }
  body.details-modern-page .wechat-drawer.collapsed .drawer-tab-icon{
    width:28px;
    height:28px;
    font-size:0;
  }
  body.details-modern-page .wechat-drawer.collapsed .drawer-tab-text{
    display:none;
  }
}
.favorite-star{border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:#999;padding:0}
.favorite-star.active{color:#F5B301}
.favorite-star:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.favorite-star-action{display:none}

body.site-shell .filter-summary-card{
  position:relative;
  overflow:hidden;
  border-radius: 12px;
  background: var(--surface-veil-strong);
  border: 1px solid rgba(229,231,235,.86);
  box-shadow: var(--shadow-md);
  color: var(--color-text);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,46%);
  column-gap:14px;
  row-gap:8px;
  align-items:center;
  padding-right:0;
}
body.site-shell .filter-summary-card .muted{color: var(--color-muted)}
body.site-shell .filter-summary-card .meta-item{
  background: rgba(255,255,255,.86);
  color: rgba(15,23,42,.82);
  border: 1px solid rgba(229,231,235,.92);
}
body.site-shell .filter-summary-card .btn{white-space:nowrap}
body.site-shell .filter-summary-card .meta{
  grid-column:1;
  grid-row:1;
}
body.site-shell .filter-summary-card .count-note{
  grid-column:1;
  grid-row:2;
}
body.site-shell .filter-summary-card .summary-actions-right{
  grid-column:2;
  grid-row:1 / span 3;
  margin-top:0;
  justify-content:flex-end;
  align-self:center;
  padding-right:80px;
}
body.site-shell .filter-summary-card .summary-actions-left{
  grid-column:1;
  grid-row:3;
  margin-top:0;
  justify-content:flex-start;
}
body.site-shell .btn-ai-match{
  position:relative;
  overflow:hidden;
  border-color:rgba(56,189,248,.55);
  background:linear-gradient(135deg,#0f172a,#1d4ed8 58%,#06b6d4);
  color:#fff;
  font-weight:900;
  letter-spacing:.04em;
  padding:12px 18px;
  font-size:14px;
  box-shadow:0 16px 30px rgba(29,78,216,.28), inset 0 0 0 1px rgba(255,255,255,.16);
}
body.site-shell .btn-ai-match::before{
  content:'✦';
  margin-right:6px;
}
body.site-shell .btn-ai-match::after{
  content:'';
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-20deg);
  transition:left .45s ease;
}
body.site-shell .btn-ai-match:hover{
  border-color:rgba(125,211,252,.78);
  background:linear-gradient(135deg,#0b1223,#1e40af 58%,#0891b2);
  box-shadow:0 18px 34px rgba(29,78,216,.34), inset 0 0 0 1px rgba(255,255,255,.2);
}
body.site-shell .btn-ai-match:hover::after{
  left:145%;
}
body.site-shell .filter-summary-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background: rgba(37,99,235,.55);
  pointer-events:none;
  z-index:0;
}
body.site-shell .filter-summary-card::after{
  content:'';
  position:absolute;
  inset:0;
  background-image: var(--texture-noise);
  opacity:.55;
  pointer-events:none;
  z-index:0;
}
body.site-shell .filter-summary-card > *{
  position:relative;
  z-index:1;
}
body.site-shell .mobile-filter-panel{
  margin-top:10px;
}
body.site-shell .mobile-filter-summary{
  display:none;
}
@media (max-width:640px){
  .countdown-page-title{
    font-size:26px;
  }
  .countdown-alert{
    flex-direction:column;
    gap:6px;
  }
  .countdown-filter-grid{
    grid-template-columns:1fr;
  }
  .countdown-filter-summary{
    flex-direction:column;
    gap:4px;
  }
  .countdown-view-switch{
    justify-items:stretch;
  }
  .countdown-view-btn{
    width:100%;
  }
  .timeline-panel-title{
    font-size:24px;
  }
  .timeline-panel-note{
    max-width:none;
  }
  .timeline-highlights{
    grid-template-columns:1fr;
  }
  .timeline-grid{
    min-width:860px;
  }
  .timeline-axis,
  .timeline-row{
    grid-template-columns:160px minmax(0,1fr);
  }
  body.countdown-page.is-visual-view .timeline-shell{
    max-height:calc(100vh - 300px);
  }
  .countdown-card-top{
    grid-template-columns:1fr;
  }
  .countdown-school-name{
    font-size:22px;
  }
  .countdown-card-highlight{
    min-width:0;
    width:100%;
  }
  .countdown-card-actions .btn{
    width:100%;
  }
  .countdown-bucket-head{
    flex-direction:column;
  }
  .countdown-bucket-side{
    justify-content:flex-start;
  }
  body.site-shell .primary-filters{padding:10px 12px}
  body.site-shell .primary-filters .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  body.site-shell .primary-filters .grid > :first-child,
  body.site-shell .primary-filters .grid > :last-child{
    grid-column:1 / -1;
  }
  body.site-shell .mobile-filter-panel{
    border:1px solid rgba(229,231,235,.86);
    border-radius:12px;
    background:var(--surface-veil-strong);
    box-shadow:var(--shadow-sm);
    overflow:hidden;
  }
  body.site-shell .mobile-filter-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    list-style:none;
    cursor:pointer;
    font-size:13px;
  }
  body.site-shell .mobile-filter-summary::-webkit-details-marker{display:none}
  body.site-shell .mobile-filter-summary-title{
    font-weight:900;
    color:#0f172a;
    flex:0 0 auto;
  }
  body.site-shell .mobile-filter-summary-meta{
    color:#64748b;
    font-size:11px;
    line-height:1.4;
    text-align:right;
  }
  body.site-shell .mobile-filter-summary::after{
    content:'展开';
    margin-left:auto;
    color:var(--color-primary);
    font-size:11px;
    font-weight:800;
  }
  body.site-shell .mobile-filter-panel[open] .mobile-filter-summary::after{
    content:'收起';
  }
  body.site-shell .mobile-filter-panel .filters-condensed{
    border-top:1px solid rgba(229,231,235,.86);
  }
  body.site-shell .filter-summary-card{
    grid-template-columns:minmax(0,1fr) auto;
    row-gap:8px;
    padding:10px 12px;
  }
  body.site-shell .filter-summary-card .meta{grid-column:1 / -1}
  body.site-shell .filter-summary-card .count-note{
    grid-column:1;
    grid-row:2;
    align-self:center;
  }
  body.site-shell .filter-summary-card .summary-actions-right{
    grid-column:1 / -1;
    grid-row:3;
    justify-content:stretch;
    margin-top:0;
  }
  body.site-shell .filter-summary-card .summary-actions-left{
    grid-column:2;
    grid-row:2;
    justify-content:flex-end;
    margin-top:0;
  }
  body.site-shell .btn-ai-match{width:100%}
}
@media (max-width:640px){
  body.site-shell .badge{padding:2px 6px;font-size:11px;margin-left:6px}
  body.site-shell .favorite-star{font-size:16px;padding:2px;min-width:28px;min-height:28px;border-radius:8px}
  body.site-shell .favorite-star-top{display:none}
  body.site-shell .favorite-star-action{display:inline-flex;align-items:center;justify-content:center}
  body.site-shell .card-actions{gap:8px}
  body.site-shell .grid{grid-template-columns:1fr}
  body.site-shell .card-body{flex-direction:column;align-items:flex-start}
  body.site-shell .card-actions{width:100%;justify-content:flex-start}
  body.site-shell .card-actions .btn{padding:8px 12px}
  body.site-shell .card-actions .favorite-star-action{order:1}
}
@media (max-width:640px){
  header:not(#site-header){padding:8px 12px;gap:8px}
  body.site-shell .logo{height:28px}
  body.site-shell .site-subbrand-logo{height:24px;max-width:200px}
  .title{font-size:20px}
  header .meta{display:none}
  header a.btn{display:none}
}

@media (max-width:640px){
  body.site-shell .nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:44px;min-height:44px}
  body.site-shell header:not(#site-header) .header-links{display:none}
  body.site-shell header:not(#site-header).menu-open .nav-toggle{background:rgba(37,99,235,.12);color:var(--color-primary);box-shadow:0 2px 8px rgba(0,0,0,.08)}
  body.site-shell header:not(#site-header).menu-open .header-links{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:calc(100% + 2px);
    right:12px;
    width:240px;
    padding:8px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(8px);
    border:1px solid var(--color-border);
    border-radius:12px;
    box-shadow:0 18px 44px rgba(16,24,40,.16);
    white-space:normal;
    overflow:auto;
    max-height:70vh;
    z-index:130;
    transform-origin:top right;
    animation:dropdownIn .2s ease-out both;
  }
  body.site-shell header:not(#site-header).menu-open .header-links .page-link{
    width:100%;
    justify-content:flex-start;
    padding:10px 12px;
    border-radius:10px;
  }
  body.site-shell header:not(#site-header).menu-open .nav-overlay{
    display:none;
  }
}

@keyframes dropdownIn{
  from{opacity:0;transform:translateY(-4px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion: no-preference){
  body.site-shell .breadcrumb{animation:fadeUp .46s var(--easing-out) both}
  body.site-shell .section{animation:fadeUp .56s var(--easing-out) both}
  body.site-shell .section:nth-of-type(1){animation-delay:40ms}
  body.site-shell .section:nth-of-type(2){animation-delay:80ms}
  body.site-shell .section:nth-of-type(3){animation-delay:120ms}
}
@media (prefers-reduced-motion: reduce){
  body.site-shell .btn,
  body.site-shell .page-link,
  body.site-shell .section.card{transition:none}
  body.site-shell .btn:hover,
  body.site-shell .section.card:hover{transform:none}
}

@media (max-width:640px){
  :root{--simple-header-height:56px}
}

header:not(#site-header) + main.container{padding:24px 16px 28px}
@media (max-width:640px){
  header:not(#site-header) + main.container{padding:16px 12px 18px}
}
@media (max-width:640px){
  .page-links{gap:6px;padding:6px 0 8px;margin:0 0 8px}
  .page-link{padding:7px 10px;font-size:14px}
  .section{margin:10px 0}
  .section-header{padding:10px 12px}
  .section-body{padding:8px 10px}
  .grid{gap:10px}
  .card-body{gap:10px}
  .card-main{gap:10px}
  :root{
    --uni-card-img-size:48px;
    --uni-card-img-radius:8px;
    --uni-card-title-size:15px;
    --uni-card-sub-size:11px;
    --uni-card-sub-gap:3px;
    --uni-card-intro-gap:4px;
  }
}
@media (max-width:480px){
  .section{margin:8px 0}
  .section-header{padding:9px 10px}
  .section-body{padding:7px 9px}
  .grid{gap:8px}
  :root{
    --uni-card-img-size:46px;
  }
}
.pager{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.pager-controls{display:flex;gap:8px;align-items:center}
.pager-info{font-size:12px;color:#444}
.consult-grid{display:grid;grid-template-columns:1fr;gap:16px}
.code-row{display:flex;gap:10px;align-items:center}
.code-row .input{flex:1}
.code-row .btn{flex:none;min-width:120px}
@media (max-width:900px){
  .select{font-size:16px}
  .select{font-size:16px}
}
.code-row .input{min-height:40px}
@media (max-width:480px){
  .code-row{flex-direction:column;align-items:stretch}
  .code-row .btn{width:100%}
  .input{font-size:16px}
  .select{font-size:16px}
  #search.input{font-size:16px}
}
.consult-grid{grid-template-columns:1fr}
@media (max-width:640px){
  .consult-grid{grid-template-columns:1fr}
}
.wechat-float{position:fixed;right:16px;bottom:120px;width:200px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 8px 24px rgba(16,24,40,.12);z-index:20;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center}
.wechat-img{width:180px;height:auto;display:block}
.wechat-text{font-size:12px;color:#444;line-height:1.4;text-align:center}
.wechat-brand{font-size:18px;color:var(--color-brand);font-weight:700;text-align:center;margin-bottom:8px;display:block}
@media (max-width:640px){
  .wechat-float{right:8px;bottom:80px;width:160px}
  .wechat-img{width:150px}
}
#consult-card{background:#fff;color:#0f172a;border:1px solid rgba(226,232,240,.92);box-shadow:0 26px 60px rgba(15,23,42,.18);border-radius:16px}
#consult-card .btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
#consult-card .btn-primary:hover{background:#1e4fd6;border-color:#1e4fd6}
#consult-card .btn-outline{background:#fff;color:var(--color-primary);border-color:#93c5fd}
#consult-card .btn-outline:hover{background:#f0f7ff;border-color:#60a5fa}
#consult-card .input,#consult-card .select{border-color:rgba(226,232,240,.92);border-radius:12px;box-shadow:none}
#consult-card .input:focus-visible,#consult-card .select:focus-visible{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
@supports not selector(:focus-visible){
  :where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus{outline:2px solid rgba(37,99,235,.45);outline-offset:3px}
  .page-link:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
  .btn:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
  .select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
  .input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35),0 2px 6px rgba(16,24,40,.08)}
  .favorite-star:focus{outline:2px solid var(--color-primary);outline-offset:2px}
  #consult-card .input:focus,#consult-card .select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(147,197,253,.35)}
}
#consult-card .consult-grid label{color:#1f2937;white-space:normal;line-height:1.5;word-break:break-word}

#consult-card .consult-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:rgba(248,250,252,.92);border-bottom:1px solid rgba(226,232,240,.92)}
#consult-card .consult-head-title{font-weight:900;color:rgba(15,23,42,.92);font-size:14px;letter-spacing:.01em}
#consult-card .consult-close{appearance:none;border:0;background:transparent;color:rgba(100,116,139,.9);width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
#consult-card .consult-close:hover{background:rgba(15,23,42,.06);color:rgba(15,23,42,.76)}

#consult-card .consult-body{padding:16px;display:flex;flex-direction:column;gap:12px}
#consult-card .consult-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#consult-card .consult-label{display:block;font-size:12px;font-weight:900;color:rgba(100,116,139,.92);margin:0 0 6px;letter-spacing:.02em}

#consult-card #btn-send-code{background:rgba(241,245,249,.92);border-color:rgba(226,232,240,.92);color:rgba(71,85,105,.92);font-weight:900;font-size:12px;padding:10px 12px;border-radius:12px;box-shadow:none}
#consult-card #btn-send-code:hover{background:rgba(226,232,240,.70);border-color:rgba(203,213,225,.92)}

#consult-card .consult-actions{padding-top:2px}
#consult-card #btn-submit-consult{width:100%;padding:12px 14px;border-radius:14px;font-weight:900;letter-spacing:.02em;box-shadow:0 16px 30px rgba(25,58,140,.16)}
#consult-card #consult-tip{margin-top:8px;min-height:16px;font-size:12px;text-align:center}

@media (max-width:480px){
  #consult-card .consult-row-2{grid-template-columns:1fr}
}
@media (max-width:640px){
  #consult-card{position:relative;width:92vw;max-height:calc(92vh - 24px);border-radius:10px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box}
}
@supports (height: 100svh){
  @media (max-width:640px){
    #consult-card{max-height:calc(92svh - 24px)}
  }
}
@supports (height: 100dvh){
  @media (max-width:640px){
    #consult-card{max-height:calc(92dvh - 24px)}
  }
}
@media (max-width:640px){
  #consult-card .modal-toolbar{position:sticky;top:0;right:auto;left:auto;padding:8px;background:#fff;border-bottom:1px solid #eee}
}
.wechat-drawer{position:fixed;right:20px;bottom:24px;width:286px;z-index:90;transition:width .22s ease, right .22s ease, bottom .22s ease}
.wechat-drawer .drawer-body{position:relative;overflow:hidden;background:rgba(255,255,255,.98);border:1px solid rgba(226,232,240,.95);border-radius:18px;box-shadow:0 18px 46px rgba(15,23,42,.14);padding:18px;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.wechat-drawer .drawer-body::before{display:none}
.wechat-drawer.collapsed{width:112px}
.wechat-drawer.collapsed .drawer-body{display:none;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px) scale(.96)}
.drawer-tab{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.10);transition:background .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease}
.drawer-tab:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.14)}
.drawer-tab:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.16),0 14px 30px rgba(15,23,42,.14)}
.drawer-tab-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:999px;background:rgba(25,58,140,.08);font-size:13px;line-height:1;color:#193A8C}
.drawer-tab-text{white-space:nowrap}
.wechat-drawer.collapsed .drawer-tab{position:relative;width:112px;height:42px;border:1px solid rgba(7,193,96,.42);border-radius:999px;background:#07C160;color:#fff;font-size:13px;letter-spacing:.01em;box-shadow:0 14px 30px rgba(7,193,96,.28)}
.wechat-drawer.collapsed .drawer-tab:hover{border-color:rgba(6,173,86,.54);background:#06AD56;box-shadow:0 16px 34px rgba(7,193,96,.32)}
.wechat-drawer.collapsed .drawer-tab:focus-visible{box-shadow:0 0 0 4px rgba(7,193,96,.18),0 16px 34px rgba(7,193,96,.32)}
.wechat-drawer.collapsed .drawer-tab-icon{position:relative;background:#fff;color:#07C160;font-size:0}
.wechat-drawer.collapsed .drawer-tab-icon::before{content:"";display:block;width:18px;height:18px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath fill='%2307C160' d='M27.5 4C13.4 4 2 13.2 2 24.5c0 6.3 3.6 11.9 9.2 15.6L9.3 48l8.7-4.1c2.9.9 6.1 1.4 9.5 1.4 14.1 0 25.5-9.2 25.5-20.5S41.6 4 27.5 4Z'/%3E%3Cpath fill='%2307C160' d='M42 24c11 0 20 7.2 20 16s-9 16-20 16c-2.6 0-5-.4-7.2-1.1L28 56l1.8-5.7C25 47.6 22 43.8 22 40c0-8.8 9-16 20-16Z'/%3E%3Ccircle fill='%23fff' cx='18.5' cy='22' r='3'/%3E%3Ccircle fill='%23fff' cx='36' cy='22' r='3'/%3E%3Ccircle fill='%23fff' cx='36' cy='39.5' r='2.5'/%3E%3Ccircle fill='%23fff' cx='49.5' cy='39.5' r='2.5'/%3E%3C/svg%3E")}
.wechat-drawer:not(.collapsed) .drawer-tab{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:999px;background:rgba(15,23,42,.06);color:rgba(15,23,42,.68);box-shadow:none;z-index:2}
.wechat-drawer:not(.collapsed) .drawer-tab:hover{background:rgba(15,23,42,.1);box-shadow:none}
.wechat-drawer:not(.collapsed) .drawer-tab-icon{width:auto;height:auto;background:transparent;font-size:24px;font-weight:700;line-height:1}
.wechat-drawer:not(.collapsed) .drawer-tab-text{display:none}
.wechat-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:42px}
.wechat-eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:rgba(99,102,241,.78);margin-bottom:5px}
.wechat-drawer .wechat-brand{margin:0;color:#111827;font-size:20px;font-weight:950;letter-spacing:.02em;text-align:left}
.wechat-live-dot{width:10px;height:10px;margin-top:4px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.12)}
.wechat-qr-shell{width:190px;margin:18px auto 0;padding:0;border-radius:16px;background:#fff;border:1px solid rgba(226,232,240,.92);box-shadow:0 10px 24px rgba(15,23,42,.07);overflow:hidden}
.wechat-drawer .wechat-img{width:100%;height:auto;display:block;border-radius:0}
.wechat-drawer .wechat-text{margin-top:14px;text-align:center;color:rgba(71,85,105,.92);font-size:13px;line-height:1.65}
.wechat-drawer .wechat-text strong{display:block;color:#111827;font-size:15px;margin-bottom:2px}
.wechat-drawer .wechat-text span{display:block}
@media (max-width:640px){
  .wechat-drawer{right:12px;bottom:16px;width:min(286px, calc(100vw - 24px))}
  .wechat-drawer.collapsed{width:112px}
  .wechat-drawer.collapsed .drawer-tab{width:112px;height:42px}
}
body.site-shell .tuition-table thead th{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);z-index:1}
body.site-shell .tuition-table tbody tr:nth-child(odd){background:rgba(249,250,251,.72)}
body.site-shell .tuition-table tbody tr:hover{background:rgba(37,99,235,.06)}
.error{color:var(--color-accent)}
.success{color:var(--color-primary)}
.filters-condensed{padding:8px 12px}
body.site-shell .filters-condensed{padding:8px 12px}
body.site-shell .filters-condensed .grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
body.site-shell .filters-condensed .range-wrap{gap:6px}
@media (max-width:640px){
  body.site-shell .filters-condensed{padding:10px 12px}
  body.site-shell .filters-condensed .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.site-shell .filters-condensed label{font-size:12px}
  body.site-shell .filters-condensed .range{margin-top:3px}
  body.site-shell .filters-condensed .range-value{min-width:56px;width:auto;font-size:12px;padding:6px 8px;text-align:center}
  body.site-shell .filters-condensed .range-wrap{gap:6px;flex-direction:column;align-items:stretch;padding:10px;border:1px solid rgba(229,231,235,.92);border-radius:12px;background:rgba(255,255,255,.88)}
  body.site-shell .filters-condensed .range-wrap.range-wrap-slider{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 8px;align-items:center}
  body.site-shell .filters-condensed .range-wrap.range-wrap-slider label{grid-column:1/-1}
  body.site-shell .filters-condensed .range-wrap.range-wrap-slider .range{grid-column:1}
  body.site-shell .filters-condensed .range-wrap.range-wrap-slider .range-value{grid-column:2;grid-row:2;align-self:center;justify-self:end}
  body.site-shell .filters-condensed .range-wrap.range-wrap-check{display:flex;flex-direction:row;justify-content:space-between;gap:12px;align-items:flex-start}
  body.site-shell .filters-condensed .range-wrap.range-wrap-check label{white-space:normal;line-height:1.4;flex:1;font-size:11px}
  body.site-shell .filters-condensed .range-wrap.range-wrap-check input[type="checkbox"]{flex:0 0 auto;align-self:center;margin-top:0}
  body.site-shell .meta{gap:8px;margin-top:0}
  body.site-shell .meta-item{padding:5px 10px;font-size:11px;border-radius:999px}
  body.site-shell .count-note{font-size:12px;margin-top:0}
  body.site-shell .summary-actions{margin-top:0;gap:8px}
  body.site-shell #clearFilters{padding:8px 12px;font-size:12px}
}
@media (max-width:389px){
  body.site-shell .primary-filters .grid,
  body.site-shell .filters-condensed .grid{grid-template-columns:1fr}
  body.site-shell .filters-condensed .range-wrap.range-wrap-slider{grid-column:auto}
  body.site-shell .filter-summary-card{
    grid-template-columns:1fr;
  }
  body.site-shell .filter-summary-card .count-note,
  body.site-shell .filter-summary-card .summary-actions-left,
  body.site-shell .filter-summary-card .summary-actions-right{
    grid-column:1;
    grid-row:auto;
    justify-content:flex-start;
  }
}

body.source-page main.container{
  box-sizing:border-box;
  padding-top:10px;
}
body.source-page .source-hero picture{
  display:block;
  height:100%;
}
body.source-page #list{
  display:grid;
  gap:12px;
}
body.source-page #list .section.card{
  margin:0;
}
body.source-page .uni-card-content{
  min-width:0;
  max-width:100%;
}

@media (max-width:640px){
  body.source-page *,
  body.source-page *::before,
  body.source-page *::after{
    box-sizing:border-box;
  }
  body.source-page{
    background:#f6f8fb;
  }
  body.source-page main.container{
    max-width:100%;
    width:100%;
    padding:10px 12px 18px;
    overflow-x:clip;
  }
  body.source-page .source-hero{
    width:100%;
    margin:0 0 10px;
    left:auto;
    translate:none;
    border-radius:0;
    overflow:hidden;
    background:#eef4ff;
  }
  body.source-page .source-hero-img{
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
  }
  body.source-page main.container > .section{
    margin:10px 0;
    border-radius:16px;
    overflow:hidden;
    border-color:rgba(226,232,240,.94);
    box-shadow:0 12px 28px rgba(15,23,42,.06);
  }
  body.source-page .primary-filters{
    padding:12px;
  }
  body.source-page .primary-filters .grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  body.source-page .primary-filters .grid > :first-child,
  body.source-page .primary-filters .grid > :last-child{
    grid-column:1 / -1;
  }
  body.source-page .input,
  body.source-page .select,
  body.source-page #search.input{
    min-height:44px;
    border-radius:14px;
    font-size:16px;
    background:#fff;
    box-shadow:0 6px 16px rgba(15,23,42,.06);
  }
  body.source-page #search.input{
    padding:10px 14px;
    font-weight:700;
  }
  body.source-page .select{
    padding:10px 34px 10px 12px;
    font-weight:800;
  }
  body.source-page .mobile-filter-panel{
    margin-top:10px;
    border-radius:16px;
  }
  body.source-page .mobile-filter-summary{
    min-height:48px;
    padding:12px;
  }
  body.source-page .mobile-filter-summary-meta{
    display:none;
  }
  body.source-page .mobile-filter-summary::after{
    flex:0 0 auto;
    min-width:44px;
    text-align:right;
    font-size:12px;
  }
  body.source-page .filters-condensed{
    padding:10px 12px 12px;
  }
  body.source-page .filters-condensed .grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  body.source-page .filters-condensed .range-wrap{
    border-radius:14px;
    background:#fff;
  }
  body.source-page .filters-condensed .range-wrap.range-wrap-slider{
    grid-template-columns:minmax(0,1fr) 64px;
  }
  body.source-page .filters-condensed .range-wrap.range-wrap-check{
    min-height:48px;
    align-items:center;
  }
  body.source-page .filters-condensed .range-wrap.range-wrap-check label{
    font-size:12px;
  }
  body.source-page .filters-condensed input[type="checkbox"]{
    width:22px;
    height:22px;
  }
  body.source-page .filter-summary-card{
    grid-template-columns:minmax(0,1fr) auto;
    padding:12px;
    gap:10px;
    border-radius:16px;
  }
  body.source-page .filter-summary-card::before{
    height:0;
  }
  body.source-page .filter-summary-card .meta{
    grid-column:1 / -1;
    grid-row:auto;
    gap:8px;
  }
  body.source-page .filter-summary-card .meta-item{
    min-height:34px;
    padding:8px 11px;
    font-size:12px;
    background:#fff;
  }
  body.source-page .filter-summary-card .count-note{
    grid-column:1;
    grid-row:auto;
    font-size:14px;
    font-weight:900;
    color:#334155;
  }
  body.source-page .filter-summary-card .summary-actions-right{
    grid-column:1 / -1;
    grid-row:auto;
    justify-content:stretch;
    padding-right:0;
  }
  body.source-page .filter-summary-card .summary-actions-left{
    grid-column:2;
    grid-row:2;
    justify-content:flex-end;
    align-self:center;
  }
  body.source-page .btn-ai-match{
    width:100%;
    min-height:48px;
    border-radius:14px;
    font-size:15px;
  }
  body.source-page #clearFilters{
    min-height:42px;
    border-radius:12px;
    font-size:14px;
    padding:9px 12px;
  }
  body.source-page #list{
    gap:10px;
    margin-top:10px;
  }
  body.source-page .section.card{
    border-radius:16px;
    overflow:hidden;
  }
  body.source-page .section.card::before{
    left:0;
    top:0;
    bottom:0;
    width:3px;
    opacity:.45;
    transform:none;
  }
  body.source-page .section.card:hover::before,
  body.source-page .section.card:focus-visible::before{
    transform:none;
  }
  body.source-page .section.card .section-body{
    padding:12px;
  }
  body.source-page .card-body{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:start;
  }
  body.source-page .card-main{
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    gap:12px;
    width:100%;
    align-items:start;
    min-width:0;
  }
  body.source-page .uni-card-img{
    width:56px;
    height:56px;
  }
  body.source-page .uni-card-content{
    min-width:0;
    width:100%;
  }
  body.source-page .uni-card-content > div:first-child{
    display:flex !important;
    align-items:center !important;
    gap:7px 6px !important;
    flex-wrap:wrap;
    padding-right:42px;
  }
  body.source-page .uni-card-content > div:first-child > div:first-child{
    min-width:0;
    flex:1 1 100%;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    overflow-wrap:anywhere;
  }
  body.source-page .favorite-star-top{
    display:inline-flex;
    position:absolute;
    top:14px;
    right:14px;
    align-items:center;
    justify-content:center;
    min-width:36px;
    min-height:36px;
    margin-left:0 !important;
    border-radius:999px;
    background:rgba(248,250,252,.96);
  }
  body.source-page .favorite-star-action{
    display:none;
  }
  body.source-page .badge{
    margin-left:0;
    min-height:30px;
    padding:6px 9px;
    font-size:12px;
    line-height:1;
  }
  body.source-page .uni-card-content > div:first-child .badge{
    flex:0 0 auto;
  }
  body.source-page .uni-card-content > div:first-child .badge:nth-of-type(n+4){
    display:none;
  }
  body.source-page .uni-card-content .muted{
    max-width:100% !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere;
  }
  body.source-page .uni-card-content .tooltip{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    line-height:1.55;
    color:#64748b;
  }
  body.source-page .card-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  body.source-page .card-actions .btn{
    min-height:42px;
    border-radius:12px;
    font-size:14px;
    font-weight:800;
    text-align:center;
  }
  body.source-page .pager{
    display:grid;
    gap:10px;
    justify-content:stretch;
  }
  body.source-page .pager-controls{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  body.source-page .pager-controls .btn{
    min-height:40px;
    flex:1 1 auto;
  }
  body.source-page #jumpPage{
    flex:0 0 78px;
    min-height:40px;
  }
}

@media (max-width:389px){
  body.source-page .primary-filters .grid{
    grid-template-columns:1fr 1fr;
  }
  body.source-page .primary-filters .grid > :first-child,
  body.source-page .primary-filters .grid > :last-child{
    grid-column:1 / -1;
  }
  body.source-page .filters-condensed .grid{
    grid-template-columns:1fr;
  }
  body.source-page .filters-condensed .range-wrap.range-wrap-slider{
    grid-template-columns:minmax(0,1fr) 64px;
  }
  body.source-page .card-main{
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
  }
  body.source-page .uni-card-img{
    width:52px;
    height:52px;
  }
}
.ai-fullscreen-shell{max-width:none;padding:16px 24px;min-height:calc(100vh - var(--simple-header-height) - 78px)}
.ai-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);z-index:60}
.ai-loading-card{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.92);box-shadow:0 26px 54px rgba(15,23,42,.10);color:#0f172a;font-weight:900;display:inline-flex;align-items:center;gap:10px}
.ai-loading-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(148,163,184,.32);border-top-color:#2563eb;animation:aiSpin .9s linear infinite;flex:0 0 auto}
@keyframes aiSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.ai-flow-card{background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.92);border-radius:16px;box-shadow:0 26px 54px rgba(15,23,42,.08);padding:22px;display:grid;gap:14px}
.ai-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ai-intro-title{font-size:24px;font-weight:900;line-height:1.24;color:#0f172a}
.ai-match-note{font-size:12px}
.ai-flow-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ai-step-dot{border:1px solid rgba(148,163,184,.36);background:rgba(255,255,255,.82);color:#475569;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-step-dot.is-active{border-color:rgba(37,99,235,.45);color:#1d4ed8;background:rgba(219,234,254,.62)}
.ai-step-dot.is-done{border-color:rgba(16,185,129,.45);color:#047857;background:rgba(209,250,229,.7)}
.ai-step-stage{min-height:260px}
.ai-step{display:none;max-width:860px}
.ai-step.is-active{display:block;animation:fadeInUp .22s ease}
.ai-step-kicker{font-size:12px;font-weight:800;color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase}
.ai-step-title{font-size:32px;line-height:1.3;margin:8px 0 0;color:#0f172a}
.ai-step-desc{font-size:14px;line-height:1.7;color:#64748b;margin-top:8px}
.ai-live-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(248,250,252,.92);border:1px solid rgba(226,232,240,.92)}
.ai-live-summary:empty{display:none}
.ai-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(229,231,235,.92);color:#0f172a;font-size:12px;line-height:1}
.ai-chip .k{color:#64748b;font-weight:700}
.ai-chip .v{font-weight:800}
.ai-step-stack{display:grid;gap:10px;margin-top:14px;max-width:620px}
.ai-mini-title{font-size:12px;font-weight:800;color:#334155;letter-spacing:.02em}
.ai-step-input{margin-top:14px;max-width:620px;width:100%}
.ai-option-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ai-choice{min-width:108px}
.ai-choice.is-active{border-color:#60a5fa;background:rgba(219,234,254,.9);color:#1d4ed8;box-shadow:0 0 0 2px rgba(147,197,253,.35) inset}
.ai-ability-row{display:flex;align-items:center;gap:14px;max-width:620px;margin-top:14px}
.ai-ability-row .range{flex:1}
.ai-ability-value{font-size:24px;font-weight:900;color:#0f172a;min-width:90px;text-align:right}
.ai-flow-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-result-panel{margin-top:14px}
.ai-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ai-result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ai-action-tip{margin-top:6px}
.ai-recommend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:10px}
.ai-rec-card{background:rgba(255,255,255,.92);border:1px solid rgba(229,231,235,.92);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ai-rec-card:hover{transform:translateY(-2px);border-color:rgba(59,130,246,.42);box-shadow:0 18px 34px rgba(15,23,42,.16)}
.ai-rec-card:active{transform:translateY(0)}
.ai-rec-tier{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;width:max-content}
.ai-rec-tier-sprint{background:rgba(239,68,68,.12);color:#b91c1c;border:1px solid rgba(239,68,68,.28)}
.ai-rec-tier-stable{background:rgba(59,130,246,.12);color:#1d4ed8;border:1px solid rgba(59,130,246,.26)}
.ai-rec-tier-safe{background:rgba(16,185,129,.12);color:#047857;border:1px solid rgba(16,185,129,.24)}
.ai-rec-name{font-size:18px;font-weight:800;color:#0f172a;line-height:1.3}
.ai-rec-major{font-size:13px;color:#475569;line-height:1.35}
.ai-rec-score{font-size:12px;color:#475569}
.ai-rec-details{border-radius:10px;border:1px solid rgba(226,232,240,.92);background:rgba(248,250,252,.7);padding:8px 10px}
.ai-rec-details > summary{cursor:pointer;list-style:none;font-size:12px;font-weight:800;color:#0f172a}
.ai-rec-details > summary::-webkit-details-marker{display:none}
.ai-rec-details > summary::after{content:'展开';margin-left:8px;font-weight:800;color:#1d4ed8}
.ai-rec-details[open] > summary::after{content:'收起';color:#475569}
.ai-rec-reasons{margin:8px 0 0;padding-left:16px;color:#334155;font-size:13px;display:grid;gap:6px}
.ai-rec-card .meta-item.ai-meta-pass{background:rgba(209,250,229,.55);border-color:rgba(16,185,129,.22);color:#065f46}
.ai-rec-card .meta-item.ai-meta-fail{background:rgba(254,226,226,.62);border-color:rgba(239,68,68,.22);color:#991b1b}
.ai-rec-card .meta-item.ai-meta-unknown{background:rgba(241,245,249,.82);border-color:rgba(148,163,184,.28);color:#0f172a}
.ai-empty{padding:12px;border-radius:10px;background:rgba(248,250,252,.9);border:1px dashed rgba(148,163,184,.45);color:#475569}
.ai-card-preview-content{width:auto;max-width:94vw;height:min(94vh,1060px);aspect-ratio:3/4;background:#fff;border:1px solid rgba(226,232,240,.92)}
.ai-card-preview-content .modal-toolbar{background:#fff;border-bottom:1px solid rgba(226,232,240,.92)}
.ai-card-preview-body{padding:18px;overflow:auto;height:calc(100% - 52px)}
.ai-card-preview-body .ai-rec-card{margin:0 auto;max-width:100%;cursor:default;transform:none;box-shadow:var(--shadow-sm);border-color:rgba(229,231,235,.92);padding:18px;gap:12px}
.ai-card-preview-body .ai-rec-name{font-size:22px;line-height:1.25}
.ai-card-preview-body .ai-rec-major{font-size:14px;line-height:1.35}
.ai-card-preview-body .ai-rec-score{font-size:13px}
.ai-card-preview-body .meta{gap:10px}
.ai-card-preview-body .meta-item{font-size:13px;padding:6px 10px}
.ai-card-preview-body .ai-rec-details{padding:10px 12px}
.ai-card-preview-body .ai-rec-details > summary{font-size:13px}
.ai-card-preview-body .ai-rec-reasons{font-size:14px;gap:8px;padding-left:18px}
.ai-card-preview-body .ai-rec-card:hover,.ai-card-preview-body .ai-rec-card:active{transform:none;border-color:rgba(229,231,235,.92);box-shadow:var(--shadow-sm)}
@keyframes fadeInUp{
  from{opacity:0;transform:translate3d(0,8px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media (max-width:980px){
  .ai-fullscreen-shell{padding:12px}
  .ai-step-title{font-size:26px}
  .ai-flow-progress{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .ai-intro-title{font-size:20px}
  .ai-step-title{font-size:22px}
  .ai-flow-card{padding:14px}
  .ai-flow-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-recommend-grid{grid-template-columns:1fr}
  .ai-ability-value{font-size:20px;min-width:70px}
  .ai-choice{flex:1}
  .ai-flow-controls{position:sticky;bottom:10px;background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.92);border-radius:12px;padding:10px;box-shadow:0 18px 44px rgba(16,24,40,.10)}
}

@media (max-width:640px){
  body.site-shell .btn,
  body.site-shell .input,
  body.site-shell .select,
  body.site-shell .page-link{
    min-height:44px;
  }

  body.site-shell .meta-item,
  body.site-shell .badge{
    min-height:30px;
    display:inline-flex;
    align-items:center;
  }

  body.site-shell header:not(#site-header) a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }

  body.site-shell .simple-copyright a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
  }

  body.source-page input.range-value{
    min-height:36px;
  }

  #consult-card{
    width:calc(100vw - 24px);
  }

  #consult-card .consult-close{
    width:44px;
    height:44px;
  }

  #consult-card .input,
  #consult-card .select,
  #consult-card #btn-send-code,
  #consult-card #btn-submit-consult{
    min-height:44px;
    font-size:16px;
  }

  #consult-card .consult-body{
    padding:14px;
  }

  #consult-card .code-row{
    gap:8px;
  }

  #consult-card #btn-send-code{
    min-width:112px;
    padding:10px 12px;
    font-size:14px;
  }

  .wechat-drawer{
    right:12px;
    bottom:16px;
    width:min(286px, calc(100vw - 24px));
    z-index:90;
  }

  .drawer-tab{
    min-height:0;
  }

  .wechat-drawer.collapsed{
    width:112px;
  }

  .wechat-drawer.collapsed .drawer-tab{
    width:112px;
  }
}
