:root {
  --blue: #1687f5;
  --deep-blue: #0756b8;
  --text: #141414;
  --muted: #8a8f99;
  --line: #e8edf3;
  --orange: #ff6b18;
  --green: #1687f5;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 135, 245, .28);
  --container: 1200px;
  --main-col: 780px;
  --side-col: 390px;
  --page-gap: 30px;
}

/* UI/UX Pro Max final refinement pass */
:root {
  --ui-page-bg: #f6f9fc;
  --ui-surface: #ffffff;
  --ui-border: #dbe6f3;
  --ui-border-soft: #edf2f7;
  --ui-text: #0f172a;
  --ui-text-2: #334155;
  --ui-muted: #64748b;
  --ui-primary: #1269f3;
  --ui-primary-soft: #eef6ff;
  --ui-radius: 8px;
  --ui-radius-sm: 4px;
  --ui-shadow-1: 0 1px 2px rgba(15, 23, 42, .04);
  --ui-shadow-2: 0 10px 28px rgba(15, 42, 76, .08);
}

.page-reexam-announcement,
.page-article-detail,
.page-school-library,
.page-column-list,
.page-info-detail {
  color: var(--ui-text);
  background: var(--ui-page-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.page-reexam-announcement a,
.page-article-detail a,
.page-school-library a,
.page-column-list a,
.page-info-detail a,
.page-reexam-announcement button,
.page-article-detail button,
.page-school-library button,
.page-column-list button,
.page-info-detail button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-reexam-announcement a:focus-visible,
.page-article-detail a:focus-visible,
.page-school-library a:focus-visible,
.page-column-list a:focus-visible,
.page-info-detail a:focus-visible,
.page-reexam-announcement button:focus-visible,
.page-article-detail button:focus-visible,
.page-school-library button:focus-visible,
.page-column-list button:focus-visible,
.page-info-detail button:focus-visible {
  outline: 3px solid rgba(18, 105, 243, .24);
  outline-offset: 3px;
}

.page-reexam-announcement .inner-header,
.page-article-detail .inner-header,
.page-school-library .inner-header,
.page-column-list .inner-header,
.page-info-detail .inner-header {
  border-bottom: 1px solid rgba(219, 230, 243, .86);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02), 0 10px 24px rgba(15, 42, 76, .05);
}

.page-reexam-announcement .inner-header .topbar,
.page-article-detail .inner-header .topbar,
.page-school-library .inner-header .topbar,
.page-column-list .inner-header .topbar,
.page-info-detail .inner-header .topbar {
  min-height: 68px;
  padding-inline: 4px;
}

.page-reexam-announcement .nav-links a,
.page-article-detail .nav-links a,
.page-school-library .nav-links a,
.page-column-list .nav-links a,
.page-info-detail .nav-links a {
  min-height: 44px;
  padding: 0 12px;
  font-size: 14px;
  line-height: 44px;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger,
.page-column-list .mini-program-trigger,
.page-info-detail .mini-program-trigger,
.page-reexam-announcement .login-main,
.page-article-detail .login-main,
.page-school-library .login-main,
.page-column-list .login-main,
.page-info-detail .login-main {
  min-height: 40px;
  touch-action: manipulation;
}

.page-reexam-announcement .inner-main,
.page-article-detail .inner-main,
.page-column-list .inner-main,
.page-info-detail .inner-main {
  padding-top: 24px;
  padding-bottom: 56px;
}

.page-reexam-announcement .breadcrumb,
.page-article-detail .breadcrumb,
.page-column-list .breadcrumb,
.page-info-detail .breadcrumb {
  margin-bottom: 14px;
  color: #6b7788;
  font-size: 13px;
  line-height: 1.6;
}

.page-reexam-announcement h1,
.page-column-list h1,
.page-school-library h1,
.page-info-detail h1,
.page-article-detail h1 {
  letter-spacing: 0;
}

.page-reexam-announcement .inner-layout,
.page-column-list .inner-layout,
.page-generated-article .inner-layout,
.page-info-detail .inner-layout {
  gap: 28px;
}

.page-reexam-announcement .inner-card,
.page-column-list .inner-card,
.page-generated-article .inner-card.article,
.page-info-detail .inner-card,
.page-reexam-announcement .side-card,
.page-column-list .side-card,
.page-generated-article .side-card,
.page-info-detail .side-card,
.page-article-detail .side-card {
  border-color: var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-1);
}

.page-reexam-announcement .inner-card,
.page-column-list .inner-card,
.page-generated-article .inner-card.article,
.page-info-detail .inner-card {
  overflow: hidden;
}

.page-reexam-announcement .inner-card-head,
.page-column-list .inner-card-head {
  min-height: 96px;
  padding: 24px 28px 18px;
  border-bottom: 1px solid var(--ui-border-soft);
  background: linear-gradient(180deg, #fff, #fbfdff);
}

.page-column-list .inner-card-head h1,
.page-reexam-announcement .inner-card-head h1 {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
}

.page-reexam-announcement .filter-tabs,
.page-column-list .filter-tabs {
  gap: 4px 18px;
  margin-top: 14px;
  line-height: 1.4;
}

.page-reexam-announcement .filter-tabs a,
.page-column-list .filter-tabs a {
  min-height: 36px;
  padding: 7px 0;
  color: #41516a;
  font-size: 14px;
  font-weight: 500;
}

.page-reexam-announcement .filter-tabs a.active,
.page-column-list .filter-tabs a.active {
  color: var(--ui-primary);
  font-weight: 700;
}

.page-reexam-announcement .category-summary,
.page-column-list .category-summary {
  margin: 0;
  padding: 20px 24px;
  border-bottom: 1px solid var(--ui-border-soft);
  background: #f8fbff;
}

.page-reexam-announcement .summary-stat,
.page-column-list .summary-stat {
  min-height: 80px;
  padding: 16px 18px;
  border: 1px solid #dce9f8;
  border-radius: var(--ui-radius);
  background: #fff;
  box-shadow: none;
}

.page-reexam-announcement .summary-stat strong,
.page-column-list .summary-stat strong {
  font-size: 22px;
  line-height: 1;
}

.page-reexam-announcement .summary-stat span,
.page-column-list .summary-stat span,
.page-reexam-announcement .summary-stat em,
.page-column-list .summary-stat em {
  color: var(--ui-muted);
  font-size: 12px;
  line-height: 1.5;
}

.page-reexam-announcement .content-list,
.page-column-list .content-list {
  padding: 0;
  background: #fff;
}

.page-reexam-announcement .content-list li,
.page-column-list .content-list li {
  min-height: 88px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--ui-border-soft);
  border-radius: 0;
  background: #fff;
}

.page-reexam-announcement .content-list li:hover,
.page-column-list .content-list li:hover {
  background: #fbfdff;
}

.page-reexam-announcement .content-list a,
.page-column-list .content-list a {
  color: var(--ui-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.page-reexam-announcement .content-list a:hover,
.page-column-list .content-list a:hover {
  color: var(--ui-primary);
}

.page-reexam-announcement .content-list p,
.page-column-list .content-list p {
  margin-top: 8px;
  color: var(--ui-muted);
  font-size: 13px;
  line-height: 1.65;
}

.page-reexam-announcement .content-list time,
.page-column-list .content-list time {
  min-width: 74px;
  color: var(--ui-muted);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.page-reexam-announcement .list-label,
.page-column-list .list-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-right: 12px;
  padding: 0 8px;
  border-radius: var(--ui-radius-sm);
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  font-size: 12px;
  font-weight: 700;
}

.page-reexam-announcement .pager,
.page-column-list .pager {
  margin: 0;
  padding: 22px 24px 24px;
  border-top: 0;
  background: #fff;
}

.page-reexam-announcement .pager a,
.page-column-list .pager a,
.page-reexam-announcement .pager button,
.page-column-list .pager button {
  min-width: 40px;
  min-height: 40px;
  border-radius: 6px;
}

.page-reexam-announcement .rich-sidebar,
.page-column-list .rich-sidebar,
.page-generated-article .rich-sidebar,
.page-info-detail .rich-sidebar,
.detail-sidebar {
  gap: 18px;
}

.page-reexam-announcement .side-card,
.page-column-list .side-card,
.page-generated-article .side-card,
.page-info-detail .side-card,
.page-article-detail .side-card {
  padding: 18px;
}

.page-reexam-announcement .side-card h3,
.page-column-list .side-card h3,
.page-generated-article .side-card h3,
.page-info-detail .side-card h3,
.page-article-detail .side-card > h3,
.side-card-head h3 {
  font-size: 17px;
  line-height: 1.4;
}

.page-reexam-announcement .side-tool-grid,
.page-column-list .side-tool-grid,
.page-generated-article .side-tool-grid,
.page-info-detail .side-tool-grid,
.page-article-detail .detail-quick-card .side-tool-grid {
  gap: 10px;
}

.page-reexam-announcement .side-tool-grid a,
.page-column-list .side-tool-grid a,
.page-generated-article .side-tool-grid a,
.page-info-detail .side-tool-grid a,
.page-article-detail .detail-quick-card .side-tool-grid a {
  min-height: 78px;
  border-radius: var(--ui-radius);
}

.page-reexam-announcement .side-tool-grid a:hover,
.page-column-list .side-tool-grid a:hover,
.page-generated-article .side-tool-grid a:hover,
.page-info-detail .side-tool-grid a:hover,
.page-article-detail .detail-quick-card .side-tool-grid a:hover {
  background: #f7fbff !important;
}

.page-reexam-announcement .side-links a,
.page-column-list .side-links a,
.page-generated-article .side-links-dense a {
  min-height: 38px;
  color: var(--ui-text-2);
  font-size: 13px;
}

.page-reexam-announcement .side-links a:hover,
.page-column-list .side-links a:hover,
.page-generated-article .side-links-dense a:hover {
  color: var(--ui-primary);
  background: #f7fbff;
}

.article-detail-main,
.page-generated-article .inner-card.article {
  max-width: 860px;
}

.article-detail-main h1,
.page-generated-article .inner-card.article h1 {
  max-width: 820px;
  margin-bottom: 16px;
  font-size: 30px;
  line-height: 1.35;
}

.page-article-detail .article-meta,
.page-generated-article .article-meta {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ui-border-soft);
  color: var(--ui-muted);
}

.page-article-detail .article-summary,
.page-generated-article .article-summary {
  border-left: 3px solid var(--ui-primary);
  border-radius: var(--ui-radius-sm);
  background: #f5f9ff;
}

.page-article-detail .article-body,
.page-generated-article .article-body {
  max-width: 780px;
  color: #1e293b;
  font-size: 16px;
  line-height: 1.92;
}

.page-article-detail .article-body p,
.page-generated-article .article-body p {
  margin-bottom: 14px;
}

.page-article-detail .article-table-wrap,
.page-generated-article .article-table-wrap {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: #fff;
}

.page-article-detail .article-table-wrap table,
.page-generated-article .article-table-wrap table {
  font-size: 13px;
}

.related-reading,
.page-generated-article .notice-box {
  border-radius: var(--ui-radius);
}

.page-info-detail .detail-hero {
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-1);
}

.page-info-detail .detail-title h1 {
  font-size: 32px;
}

.page-info-detail .detail-stat {
  gap: 12px;
}

.page-info-detail .detail-stat span,
.page-info-detail .data-list li {
  border-radius: var(--ui-radius);
}

.page-school-library .library-hero {
  min-height: 180px;
  margin-bottom: 28px;
}

.page-school-library .school-filters {
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-1);
}

.page-school-library .school-card {
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-1);
}

.page-school-library .school-card:hover {
  border-color: #c7dcf5;
  box-shadow: var(--ui-shadow-2);
}

.page-school-library .school-card h2 {
  font-size: 22px;
}

.page-school-library .school-card .detail-link {
  min-height: 40px;
  border-radius: 6px;
}

@media (hover: hover) {
  .page-reexam-announcement .content-list li:hover,
  .page-column-list .content-list li:hover,
  .page-school-library .school-card:hover {
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-reexam-announcement *,
  .page-article-detail *,
  .page-school-library *,
  .page-column-list *,
  .page-info-detail * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 1100px) {
  .page-reexam-announcement .inner-layout,
  .page-column-list .inner-layout,
  .page-generated-article .inner-layout,
  .page-info-detail .inner-layout {
    grid-template-columns: 1fr;
  }

  .article-detail-main,
  .page-generated-article .inner-card.article,
  .page-article-detail .article-body,
  .page-generated-article .article-body {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .page-reexam-announcement .inner-main,
  .page-article-detail .inner-main,
  .page-column-list .inner-main,
  .page-info-detail .inner-main {
    padding-top: 18px;
    padding-bottom: 36px;
  }

  .page-reexam-announcement .inner-card-head,
  .page-column-list .inner-card-head,
  .page-reexam-announcement .category-summary,
  .page-column-list .category-summary,
  .page-reexam-announcement .content-list li,
  .page-column-list .content-list li,
  .page-reexam-announcement .pager,
  .page-column-list .pager {
    padding-inline: 18px;
  }

  .page-reexam-announcement .category-summary,
  .page-column-list .category-summary {
    grid-template-columns: 1fr !important;
  }

  .page-reexam-announcement .content-list li,
  .page-column-list .content-list li {
    grid-template-columns: 1fr !important;
    gap: 8px;
    min-height: 0;
    padding-block: 16px;
  }

  .page-reexam-announcement .content-list p,
  .page-column-list .content-list p {
    margin-left: 0 !important;
    white-space: normal !important;
  }

  .page-reexam-announcement .content-list time,
  .page-column-list .content-list time {
    min-width: 0;
    text-align: left;
  }

  .page-column-list .inner-card-head h1,
  .page-reexam-announcement .inner-card-head h1 {
    font-size: 22px;
  }

  .article-detail-main h1,
  .page-generated-article .inner-card.article h1,
  .page-info-detail .detail-title h1 {
    font-size: 24px;
  }

  .page-article-detail .article-body,
  .page-generated-article .article-body {
    font-size: 16px;
    line-height: 1.82;
  }

  .page-school-library .library-hero {
    min-height: 220px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #f7f9fc;
  color: var(--text);
  font-family: Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.page-shell {
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

a[href],
button {
  cursor: pointer;
}

button,
input {
  font: inherit;
}

.top-actions button,
.all-nav-actions button {
  border: 0;
  font: inherit;
}

.mini-program-trigger {
  color: inherit;
  background: transparent;
}

.wrap {
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
}

.site-hero {
  position: relative;
  height: 520px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(ellipse at 47% 88%, rgba(0, 68, 221, .55) 0 21%, transparent 22%),
    radial-gradient(ellipse at 22% 93%, rgba(79, 227, 255, .2) 0 28%, transparent 29%),
    radial-gradient(ellipse at 88% 40%, rgba(26, 232, 225, .56) 0 32%, transparent 33%),
    linear-gradient(132deg, #1674dc 0%, #168dea 34%, #16b8df 66%, #20c4cf 100%);
  background-size: cover;
}

.site-hero::before,
.site-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(0, 104, 218, .35) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(37, 82, 222, .36) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 29% 76%, transparent 0 24%, rgba(69, 218, 242, .18) 25% 34%, transparent 35%);
}

.site-hero::after {
  top: 58px;
  height: 1px;
  background: rgba(255, 255, 255, .16);
}

.topbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 58px;
}

.brand,
.footer-brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 7px;
  font-size: 22px;
  font-weight: 600;
  white-space: nowrap;
}

.brand-logo {
  display: block;
  width: 207px;
  height: 30px;
  object-fit: contain;
}

.brand-mark {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 16px;
  transform: skewY(-18deg);
  background: #fff;
  clip-path: polygon(50% 0, 100% 26%, 50% 56%, 0 26%);
}

.brand-mark::after {
  position: absolute;
  left: 5px;
  top: 7px;
  width: 12px;
  height: 6px;
  content: "";
  border-radius: 0 0 2px 2px;
  background: inherit;
}

.brand-mark.dark {
  background: #111;
}

.nav-links {
  display: flex;
  flex-shrink: 0;
  gap: 22px;
  margin-left: 64px;
  white-space: nowrap;
  font-size: 14px;
  color: rgba(255, 255, 255, .9);
}

.nav-links a:hover,
.nav-links button:hover,
.top-actions a:hover {
  color: #fff;
}

.nav-links button {
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  background: transparent;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: auto;
  white-space: nowrap;
  font-size: 14px;
  color: rgba(255, 255, 255, .9);
}

.top-actions button {
  height: 34px;
  padding: 0 18px;
  border: 0;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  background: #14b8d8;
}

.top-actions .login-main,
.all-nav-actions .login-main {
  display: inline-grid;
  height: 34px;
  padding: 0 18px;
  border-radius: 4px;
  color: #fff;
  place-items: center;
  background: #14b8d8;
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover {
  color: #fff;
  background: #ff6b18;
}

.hero-center {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-center h1 {
  margin: 46px 0 36px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 2px 10px rgba(0, 82, 160, .16);
}

.search-tabs {
  display: flex;
  align-self: center;
  width: 840px;
  height: 28px;
}

.search-tabs button {
  width: 86px;
  height: 34px;
  margin-right: 4px;
  border: 0;
  border-radius: 6px 6px 0 0;
  color: #fff;
  cursor: pointer;
  background: rgba(0, 124, 212, .75);
}

.search-tabs .active {
  background: rgba(255, 255, 255, .24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}

.search-box {
  display: flex;
  width: 840px;
  height: 58px;
  overflow: hidden;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(0, 102, 170, .12);
}

.search-box input {
  flex: 1;
  min-width: 0;
  padding: 0 24px;
  border: 0;
  outline: 0;
  color: #333;
}

.search-box button {
  display: grid;
  width: 48px;
  border: 0;
  place-items: center;
  cursor: pointer;
  background: #fff;
}

.search-box svg {
  width: 18px;
  fill: none;
  stroke: #6b7280;
  stroke-width: 2.5;
  stroke-linecap: round;
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(7, 112px);
  gap: 34px 6px;
  justify-content: center;
  width: 840px;
  margin-top: 44px;
}

.quick-grid a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 3px rgba(0, 69, 137, .25);
  transition: transform .16s ease, opacity .16s ease;
}

.quick-grid a:hover {
  opacity: .92;
  transform: translateY(-2px);
}

.qi {
  position: relative;
  width: 28px;
  height: 28px;
  display: block;
}

.qi::before,
.qi::after {
  position: absolute;
  content: "";
}

.qi-school::before { inset: 5px 5px 6px; border: 3px solid #fff; border-top: 0; border-radius: 2px; }
.qi-school::after { left: 3px; top: 0; border: 10px solid transparent; border-bottom-color: #fff; transform: scaleX(1.25); }
.qi-balance::before { left: 11px; top: 3px; width: 3px; height: 19px; background: #fff; }
.qi-balance::after { left: 2px; top: 7px; width: 21px; height: 10px; border: 3px solid #fff; border-top: 0; transform: rotate(-24deg); }
.qi-edit::before { inset: 3px 3px 2px; border: 3px solid #fff; border-radius: 3px; }
.qi-edit::after { right: 0; top: 1px; width: 13px; height: 4px; background: #fff; transform: rotate(-38deg); }
.qi-send::before { left: 2px; top: 4px; border-left: 22px solid #fff; border-top: 8px solid transparent; border-bottom: 8px solid transparent; transform: rotate(-18deg); }
.qi-news::before { inset: 3px 3px 4px; border: 3px solid #fff; border-radius: 2px; }
.qi-news::after { left: 8px; top: 9px; width: 9px; height: 3px; background: #fff; box-shadow: 0 5px 0 #fff; }
.qi-user::before { left: 8px; top: 1px; width: 9px; height: 9px; border: 3px solid #fff; border-radius: 50%; }
.qi-user::after { left: 4px; top: 14px; width: 17px; height: 9px; border: 3px solid #fff; border-radius: 12px 12px 3px 3px; border-bottom: 0; }
.qi-line::before { left: 3px; bottom: 4px; width: 20px; height: 15px; border-left: 3px solid #fff; border-bottom: 3px solid #fff; }
.qi-line::after { left: 7px; top: 6px; width: 15px; height: 9px; border-top: 3px solid #fff; border-right: 3px solid #fff; transform: skew(-25deg); }
.qi-bar::before { left: 4px; bottom: 4px; width: 4px; height: 12px; background: #fff; box-shadow: 7px -7px 0 #fff, 14px 2px 0 #fff; }
.qi-grid::before { inset: 4px 3px 3px; border: 3px solid #fff; border-radius: 3px; }
.qi-grid::after { left: 7px; top: 8px; width: 12px; height: 2px; background: #fff; box-shadow: 0 5px 0 #fff, 5px -3px 0 #fff, 5px 3px 0 #fff; }
.qi-bars::before { left: 4px; bottom: 4px; width: 4px; height: 8px; background: #fff; box-shadow: 7px -5px 0 #fff, 14px -12px 0 #fff; }
.qi-plane::before { left: 2px; top: 5px; border-left: 22px solid #fff; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.qi-folder::before { left: 3px; top: 8px; width: 20px; height: 13px; border-radius: 2px; background: #fff; }
.qi-folder::after { left: 5px; top: 4px; width: 9px; height: 6px; border-radius: 2px 2px 0 0; background: #fff; }
.qi-badge::before { left: 5px; top: 2px; width: 15px; height: 15px; border-radius: 50%; background: #fff; }
.qi-badge::after { left: 10px; top: 13px; border: 4px solid transparent; border-top-color: #fff; }
.qi-more::before { inset: 1px; border-radius: 50%; background: #fff; }
.qi-more::after { left: 7px; top: 11px; width: 3px; height: 3px; border-radius: 50%; background: #21a4ef; box-shadow: 5px 0 0 #21a4ef, 10px 0 0 #21a4ef; }

.main {
  padding-top: 48px;
}

.hero-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 840px;
  margin-top: 14px;
  color: rgba(255, 255, 255, .9);
}

.hot-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.hot-search span {
  color: rgba(255, 255, 255, .66);
}

.hot-search a {
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .12);
  transition: background-color .16s ease;
}

.hot-search a:hover {
  background: rgba(255, 255, 255, .22);
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, auto auto);
  gap: 0 6px;
  align-items: baseline;
  font-size: 13px;
  white-space: nowrap;
}

.hero-stats strong {
  color: #fff;
  font-size: 17px;
}

.hero-stats span {
  margin-right: 12px;
  color: rgba(255, 255, 255, .72);
}

.service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 34px;
}

.service-card {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 148px;
  padding: 22px 20px 18px;
  overflow: hidden;
  border: 1px solid #e3ebf5;
  border-radius: 8px;
  color: #111827;
  background: #fff;
  box-shadow: 0 12px 28px rgba(17, 74, 126, .06);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.service-card:hover {
  border-color: #cdddea;
  box-shadow: 0 18px 40px rgba(17, 74, 126, .1);
  transform: translateY(-2px);
}

.service-card .icon-slot {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
}

.service-card strong {
  position: relative;
  z-index: 1;
  min-width: 0;
  font-size: 20px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.service-card em {
  position: relative;
  z-index: 1;
  min-width: 0;
  margin-top: 8px;
  color: #475467;
  font-style: normal;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.service-card p {
  position: relative;
  z-index: 1;
  min-width: 0;
  margin: 9px 0 0;
  color: #667085;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.service-card::after {
  display: none;
  content: none;
}

.service-orange .icon-slot { color: #14b8d8; }
.service-green .icon-slot { color: #7c3aed; }
.service-blue .icon-slot { color: #0f8fe8; }
.service-purple .icon-slot { color: #1d4ed8; }
.service-orange::after { background: #14b8d8; }
.service-green::after { background: #7c3aed; }
.service-blue::after { background: #0f8fe8; }
.service-purple::after { background: #1d4ed8; }

.analysis-board,
.resource-hub,
.exam-data-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--side-col);
  gap: var(--page-gap);
  align-items: stretch;
  margin-bottom: 42px;
}

.analysis-card,
.timeline-card,
.rank-panel {
  border: 1px solid #e3ebf5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 74, 128, .06);
}

.analysis-card {
  display: grid;
  grid-template-columns: 1fr 1.2fr .8fr 106px;
  gap: 14px;
  align-items: center;
  min-height: 210px;
  padding: 24px;
  background:
    linear-gradient(100deg, rgba(15, 143, 232, .09), transparent 44%),
    #fff;
}

.analysis-title {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.analysis-title .icon-slot {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 10px;
  color: #0f8fe8;
  border-radius: 8px;
  background-color: #eaf6ff;
  mask-size: 24px;
  -webkit-mask-size: 24px;
}

.analysis-title strong {
  display: block;
  font-size: 24px;
  line-height: 1.25;
}

.analysis-title p {
  margin: 8px 0 0;
  color: #667085;
}

.score-panel,
.probability-row {
  display: grid;
  gap: 10px;
}

.score-panel {
  grid-template-columns: 1fr;
}

.score-panel label,
.probability-row div {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e7eef7;
  border-radius: 8px;
  background: #fbfdff;
}

.score-panel span,
.probability-row span {
  display: block;
  color: #667085;
  font-size: 13px;
}

.score-panel label {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
}

.score-panel b,
.probability-row strong {
  display: block;
  margin-top: 0;
  color: #111827;
  font-size: 21px;
}

.primary-link {
  display: grid;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 8px;
  color: #fff;
  place-items: center;
  font-weight: 700;
  background: #14b8d8;
  box-shadow: 0 10px 22px rgba(249, 115, 22, .24);
}

.timeline-card {
  padding: 24px;
}

.section-head.compact {
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.section-head.compact h2 {
  font-size: 22px;
}

.head-more {
  color: #0f8fe8;
  font-size: 14px;
  white-space: nowrap;
}

.exam-timeline {
  position: relative;
  display: grid;
  gap: 14px;
  margin: 20px 0 0;
  padding: 0 0 0 24px;
  list-style: none;
}

.exam-timeline::before {
  position: absolute;
  left: 5px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  content: "";
  background: #dbe8f6;
}

.exam-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
}

.exam-timeline li::before {
  position: absolute;
  left: -23px;
  width: 12px;
  height: 12px;
  content: "";
  border: 3px solid #fff;
  border-radius: 50%;
  background: #0f8fe8;
  box-shadow: 0 0 0 1px #cfe2f5;
}

.exam-timeline time {
  color: #0f8fe8;
  font-weight: 700;
}

.exam-timeline span {
  color: #344054;
}

.nav-hub {
  min-width: 0;
}

.nav-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.nav-hub-grid a {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 2px 12px;
  min-height: 88px;
  padding: 16px;
  border: 1px solid #e3ebf5;
  border-radius: 8px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.nav-hub-grid a:hover {
  border-color: #cdddea;
  box-shadow: 0 10px 24px rgba(15, 74, 128, .07);
}

.nav-hub-grid .icon-slot {
  grid-row: span 2;
  width: 32px;
  height: 32px;
  color: #0d9488;
}

.nav-hub-grid strong {
  font-size: 17px;
  line-height: 1.25;
}

.nav-hub-grid em {
  color: #667085;
  font-style: normal;
  line-height: 1.5;
}

.rank-panel {
  padding: 22px;
}

.rank-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.rank-head strong {
  font-size: 22px;
}

.rank-head a {
  color: #0f8fe8;
}

.hot-rank {
  margin: 0;
  padding: 0 0 0 22px;
}

.hot-rank li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  min-height: 38px;
  padding-left: 4px;
  align-items: center;
}

.hot-rank li::marker {
  color: #14b8d8;
  font-size: 16px;
  font-weight: 700;
}

.hot-rank a:hover {
  color: #0f8fe8;
}

.hot-rank span {
  color: #667085;
}

.exam-data-grid {
  grid-template-columns: 1fr 1fr;
}

.paper-links,
.score-line-grid {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid #e3ebf5;
  border-radius: 8px;
  background: #fff;
}

.paper-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.score-line-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.paper-links a,
.score-line-grid a {
  min-width: 0;
  padding: 11px 12px;
  overflow: hidden;
  border-radius: 6px;
  color: #344054;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f7fbff;
}

.paper-links a:hover,
.score-line-grid a:hover {
  color: #0f8fe8;
  background: #edf7ff;
}

.content-grid,
.bottom-grid {
  display: grid;
  grid-template-columns: var(--main-col) var(--side-col);
  gap: var(--page-gap);
  align-items: start;
  margin-bottom: 42px;
}

.content-grid > *,
.bottom-grid > *,
.tool-grid > * {
  min-width: 0;
}

.topbar,
.nav-links,
.top-actions,
.tabs,
.filter-tabs,
.inner-card,
.content-list li > div,
.article,
.side-card {
  min-width: 0;
}

.section-head {
  display: flex;
  align-items: baseline;
  min-height: 26px;
  gap: 26px;
}

.section-head h2 {
  flex-shrink: 0;
  margin: 0;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.tabs {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 15px;
  white-space: nowrap;
  color: #111;
}

.tabs a {
  position: relative;
  display: inline-block;
  padding-bottom: 5px;
}

.tabs .active {
  color: #1687ff;
}

.tabs .active::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  content: "";
  background: currentColor;
}

.tabs .green {
  color: var(--green);
}

.tabs .orange {
  color: var(--orange);
}

.news-card,
.school-card,
.major-card {
  position: relative;
  margin-top: 18px;
  border: 1px solid #e5edf5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(32, 96, 153, .05);
}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  padding: 26px 36px 46px;
}

.two-col > * {
  min-width: 0;
}

.rank-news {
  margin: 0;
  padding: 0 0 0 18px;
  list-style: decimal;
}

.rank-news li {
  min-width: 0;
  min-height: 48px;
  padding-left: 8px;
  color: #111;
}

.rank-news li::marker {
  color: #087cf6;
  font-size: 24px;
  font-weight: 700;
}

.rank-news a,
.file-list a {
  display: block;
  overflow: hidden;
  color: #222;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .16s ease;
}

.rank-news a:hover,
.file-list a:hover {
  color: #087cf6;
}

.rank-news span,
.file-list span {
  display: block;
  margin-top: 2px;
  color: #a3a7ad;
  font-size: 14px;
}

.more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  width: 110px;
  margin: 0 auto;
  color: #333;
  text-align: center;
}

.more span {
  color: #111;
}

.side-top {
  padding-top: 50px;
}

.home-side {
  display: grid;
  gap: 14px;
  padding-top: 0;
}

.home-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
}

.home-side-head h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
}

.home-side-head a {
  color: var(--blue);
  font-size: 14px;
}

.home-login-card,
.home-ad-card,
.home-update-card {
  border: 1px solid #e3ebf5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 74, 128, .06);
}

.home-login-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 143, 232, .06), rgba(13, 148, 136, .05)),
    #fff;
}

.home-login-card strong {
  display: block;
  color: #111827;
  font-size: 18px;
}

.home-login-card span,
.home-ad-card em {
  color: #667085;
  font-style: normal;
  line-height: 1.65;
}

.home-login-card .login-main {
  width: 100%;
  border: 0;
  color: #fff;
}

.home-login-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.home-login-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  color: #344054;
  background: #f8fbff;
}

.home-login-actions a:hover {
  color: var(--blue);
  border-color: rgba(15, 143, 232, .28);
  background: #eef7ff;
}

.home-login-actions .icon-slot {
  width: 16px;
  height: 16px;
  color: currentColor;
}

.home-ad-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 176px;
  overflow: hidden;
  padding: 22px;
  color: #111827;
  background:
    linear-gradient(135deg, #fff8ed 0%, #fff 58%),
    #fff;
}

.home-ad-card::before {
  display: none;
  content: none;
}

.home-ad-card::after {
  display: none;
  content: none;
}

.home-ad-kicker {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #c2410c;
  font-size: 12px;
  font-weight: 700;
  background: #ffedd5;
}

.home-ad-card strong,
.home-ad-card em,
.home-ad-card b {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.home-ad-card strong {
  display: block;
  max-width: 240px;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
}

.home-ad-card em {
  display: block;
  max-width: 260px;
  margin-top: 10px;
}

.home-ad-card b {
  display: inline-block;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--orange);
}

.banner-image {
  padding: 0;
  border: 0;
  background: transparent;
}

.banner-image::before,
.banner-image::after {
  display: none;
  content: none;
}

.banner-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}

.home-ad-card.banner-image {
  min-height: 0;
}

.home-update-card {
  padding: 18px;
}

.home-update-card h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 18px;
}

.home-update-card a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px dashed #e3ebf5;
  color: #344054;
}

.home-update-card a:hover {
  color: var(--blue);
}

.home-update-card span {
  color: #98a2b3;
  font-size: 12px;
}

.login-panel {
  display: grid;
  grid-template-columns: 92px repeat(4, 1fr);
  gap: 6px;
  height: 60px;
  padding: 6px;
  border: 1px solid #d9e6ef;
  border-radius: 8px;
  background: #f3fbff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.login-main {
  border: 0;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  background: #1687f5;
}

.login-panel a {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  color: #111;
  font-size: 12px;
  transition: color .16s ease, background-color .16s ease;
}

.login-panel a:hover {
  color: #087cf6;
  background: rgba(255, 255, 255, .55);
}

.login-panel span {
  width: 14px;
  height: 14px;
  border-radius: 2px;
  background: #111;
  opacity: .9;
}

.ad {
  position: relative;
  display: block;
  height: 250px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 8px;
  color: #111;
  padding: 34px 28px;
  isolation: isolate;
}

.ad::before,
.ad::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.ad strong {
  position: relative;
  z-index: 1;
  font-size: 34px;
  line-height: 1.25;
  letter-spacing: 0;
  text-shadow: 0 2px 0 rgba(255,255,255,.72);
}

.ad em {
  color: #b45309;
  font-style: normal;
}

.ad span,
.ad small {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: 18px;
  padding: 8px 16px;
  border-radius: 18px;
  color: #fff;
  background: #22c5d8;
  box-shadow: 0 8px 18px rgba(245, 158, 11, .18);
}

.ad i {
  position: absolute;
  left: 20px;
  bottom: 14px;
  z-index: 1;
  display: grid;
  width: 26px;
  height: 18px;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 10px;
  color: #fff;
  place-items: center;
  font-size: 19px;
  font-style: normal;
}

.ad-pink {
  background:
    radial-gradient(circle at 68% 43%, rgba(255, 255, 255, .92) 0 18px, transparent 19px),
    radial-gradient(circle at 9% 93%, rgba(255,255,255,.82) 0 16px, transparent 17px),
    linear-gradient(140deg, #eff6ff 0%, #e0f2fe 48%, #f0fdfa 100%);
}

.ad-pink::before {
  right: -10px;
  bottom: -21px;
  width: 112px;
  height: 94px;
  border-radius: 12px;
  background: linear-gradient(135deg, #bfdbfe, #ccfbf1);
  transform: rotate(-15deg);
}

.ad-pink::after {
  right: 78px;
  top: 30px;
  width: 118px;
  height: 28px;
  border: 4px solid #93c5fd;
  border-left: 0;
  border-right: 0;
  transform: rotate(5deg);
}

.ad-pink strong::first-line {
  font-size: 32px;
}

.side-ads {
  padding-top: 50px;
}

.ad-yellow {
  height: 160px;
  padding-top: 26px;
  background:
    radial-gradient(circle at 90% 19%, rgba(255, 255, 255, .7) 0 7px, transparent 8px),
    radial-gradient(circle at 16% 22%, rgba(72, 214, 235, .7) 0 24px, transparent 26px),
    linear-gradient(105deg, #eff6ff 0%, #dbeafe 52%, #f0fdfa 100%);
}

.ad-yellow strong {
  font-size: 30px;
}

.ad-yellow small {
  padding: 0;
  color: #444;
  background: transparent;
  line-height: 1.7;
}

.ad-yellow::before {
  right: 19px;
  bottom: 15px;
  width: 34px;
  height: 44px;
  border-radius: 50% 50% 50% 0;
  background: linear-gradient(#bfdbfe, #1674dc);
  transform: rotate(-35deg);
}

.ad-yellow::after {
  right: 31px;
  bottom: 33px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
}

.ad-blue {
  height: 58px;
  margin-top: 10px;
  padding: 10px 20px;
  background: linear-gradient(100deg, #eff6ff, #dbeafe 58%, #ccfbf1);
}

.ad-blue strong {
  font-size: 22px;
}

.ad-blue span {
  margin: 0;
  padding: 0;
  color: #4b5b73;
  background: transparent;
}

.file-card {
  min-height: 224px;
  padding-left: 36px;
  padding-right: 36px;
}

.file-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.file-list li {
  position: relative;
  min-height: 44px;
  padding-left: 36px;
}

.file-list li::before {
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 16px;
  border-radius: 3px;
  content: "";
  background: linear-gradient(135deg, #7ddd9a, #21b96d);
}

.file-list li::after {
  position: absolute;
  left: 3px;
  top: 1px;
  width: 8px;
  height: 5px;
  border-radius: 2px 2px 0 0;
  content: "";
  background: #79d79a;
}

.tool-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 44px;
}

.tool-grid .section-head h2,
.bottom-grid .section-head h2 {
  font-size: 28px;
}

.tool-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.tool-item {
  position: relative;
  min-height: 58px;
  padding: 12px 16px 10px 52px;
  border: 1px solid #e5edf5;
  border-radius: 8px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.tool-item:hover {
  border-color: #dce7f4;
  box-shadow: 0 6px 18px rgba(23, 91, 164, .08);
  transform: translateY(-1px);
}

.tool-item::before {
  position: absolute;
  left: 15px;
  top: 15px;
  width: 18px;
  height: 16px;
  border-radius: 4px;
  content: "";
  background: linear-gradient(135deg, #1d4ed8, #bfdbfe);
}

.tool-item::after {
  position: absolute;
  left: 9px;
  top: 12px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  content: "";
  background: #1d4ed8;
}

.tool-item strong {
  display: block;
  font-size: 15px;
  line-height: 1.1;
}

.tool-item span {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: #8d949e;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.school-card,
.major-card {
  box-shadow: 0 1px 0 rgba(11, 70, 130, .02);
}

.bottom-grid {
  margin-top: 0;
  align-items: stretch;
}

.school-card {
  min-height: 286px;
  padding: 16px 18px 32px;
}

.school-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 26px;
  row-gap: 10px;
}

.school-item {
  position: relative;
  min-height: 43px;
  padding-left: 42px;
  border-radius: 6px;
  transition: background-color .16s ease;
}

.school-item:hover {
  background: linear-gradient(90deg, rgba(255, 248, 242, .85), transparent);
}

.school-logo {
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  width: 32px;
  height: 32px;
  border: 2px solid #93c5fd;
  border-radius: 50%;
  color: #1e3a8a;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
}

.school-item strong {
  display: block;
  margin-bottom: 1px;
  font-size: 13px;
}

.school-item p {
  margin: 0 0 3px;
  color: #8f939b;
  font-size: 12px;
}

.tag {
  display: inline-block;
  margin-right: 4px;
  padding: 0 4px;
  color: #1d4ed8;
  font-size: 10px;
  line-height: 16px;
  background: #eff6ff;
}

.major-card {
  min-height: 286px;
  padding: 16px 20px 32px;
}

.major-list {
  margin: 0;
  padding: 0 0 0 20px;
}

.major-list li {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) 132px;
  min-height: 25px;
  padding-left: 6px;
  color: #222;
  align-items: center;
}

.major-list li > a {
  display: contents;
  color: inherit;
}

.major-list li::marker {
  color: var(--orange);
  font-size: 14px;
  font-weight: 700;
}

.major-list span {
  color: #90959c;
  font-size: 11px;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.friend-links {
  margin: 2px 0 22px;
  padding-top: 2px;
  color: #777;
  font-size: 12px;
}

.footer {
  border-top: 1px solid #ddd;
  background: #f5f6f8;
}

.footer-banners {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding: 26px 0 22px;
}

.mini {
  position: relative;
  display: block;
  min-height: 78px;
  padding: 18px 18px 16px 78px;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  color: #111827;
  font-weight: 800;
  line-height: 1.25;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 35, 56, .05);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.mini:hover {
  border-color: rgba(15, 143, 232, .32);
  box-shadow: 0 14px 34px rgba(15, 74, 128, .08);
  transform: translateY(-1px);
}

.mini::before {
  position: absolute;
  left: 18px;
  top: 18px;
  display: grid;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: var(--blue);
  place-items: center;
  font-size: 22px;
  line-height: 1;
  background: #eef7ff;
  content: "";
}

.mini::after {
  position: absolute;
  left: 30px;
  top: 30px;
  width: 18px;
  height: 18px;
  content: "";
  background: currentColor;
  mask: var(--mini-icon) center / contain no-repeat;
  -webkit-mask: var(--mini-icon) center / contain no-repeat;
}

.footer-banners .mini {
  width: auto;
  justify-self: stretch;
}

.mini span {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-weight: 500;
}

.mini-green {
  --mini-icon: var(--mini-book);
  color: #1674dc;
}

.mini-cyan {
  --mini-icon: var(--mini-users);
  color: #0f8fe8;
}

.mini-pink {
  --mini-icon: var(--mini-chart);
  color: #14b8d8;
}

.mini-green::before { background: #fff7ed; }
.mini-cyan::before { background: #eef7ff; }
.mini-pink::before { background: #fff7ed; }

.mini-image {
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  aspect-ratio: 900 / 260;
  padding: 0;
  overflow: hidden;
  border-color: transparent;
  background: transparent;
}

.mini-image::before,
.mini-image::after {
  display: none;
}

.mini-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: fill;
}

/* Responsive overrides */
.article-table-wrap table {
  width: max-content;
  min-width: 100%;
}

.article-body > table {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 900px) {
  .top-actions .mini-program-trigger {
    display: none;
  }

  .top-actions .login-main {
    display: inline-grid;
    min-height: 40px;
    padding-inline: 14px;
  }

  .footer-bottom,
  .footer-main,
  .inner-footer-main {
    grid-template-columns: 1fr;
  }

  .footer-cols,
  .inner-footer-main .footer-cols,
  .category-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-block: 16px;
  }

  .footer-main,
  .inner-footer-main {
    gap: 16px;
    min-height: 0;
    padding-block: 18px;
  }

  .footer-cols,
  .inner-footer-main .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
  }

  .footer-col h3 {
    margin-bottom: 6px;
  }

  .footer-col a {
    min-height: 0;
    margin-bottom: 3px;
    line-height: 1.55;
  }

  .qr-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 86px));
    justify-content: start;
    gap: 14px;
    padding-left: 0;
  }

  .qr-group span {
    width: 64px;
    height: 64px;
    margin-bottom: 6px;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
    row-gap: 10px;
    min-height: 0;
    padding-block: 14px;
  }

  .footer-bottom p {
    text-align: left;
  }

  .copyright {
    padding-bottom: 16px;
  }

  .article-table-wrap table {
    min-width: 720px;
  }

  .inner-header .topbar {
    height: auto;
    min-height: 108px;
    align-content: center;
  }

  .inner-header .nav-links {
    flex-basis: 100%;
    order: 3;
  }

  .inner-main {
    padding-top: 18px;
  }

  .info-table {
    display: table;
    width: calc(100% - 24px);
    table-layout: fixed;
    white-space: normal;
  }

  .info-table th {
    width: 96px;
  }

  .info-table th,
  .info-table td {
    padding: 12px 10px;
  }

  .detail-tabs,
  .compact-table,
  .info-table {
    scrollbar-width: none;
  }

  .detail-tabs::-webkit-scrollbar,
  .compact-table::-webkit-scrollbar,
  .info-table::-webkit-scrollbar {
    display: none;
  }
}

/* Final two-column alignment pass. */
@media (min-width: 1121px) {
  .inner-layout,
  .content-grid,
  .resource-hub,
  .bottom-grid,
  .exam-data-grid {
    align-items: start;
  }

  .rich-sidebar {
    position: sticky;
    top: 88px;
    align-self: start;
    max-height: calc(100vh - 108px);
    overflow-y: auto;
    padding-right: 2px;
    scrollbar-width: thin;
    scrollbar-color: rgba(29, 78, 216, .22) transparent;
  }

  .rich-sidebar::-webkit-scrollbar {
    width: 6px;
  }

  .rich-sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(29, 78, 216, .22);
  }

  .rich-sidebar .side-card,
  .rich-sidebar .side-report-card {
    margin-bottom: 0;
  }

  .home-side,
  .side-ads {
    align-self: stretch;
  }

  .home-side {
    grid-template-rows: auto auto auto;
  }

  .home-ad-card.banner-image {
    height: auto;
    min-height: 0;
    aspect-ratio: 680 / 390;
  }

  .home-ad-card.banner-image img {
    height: auto;
    object-fit: contain;
  }

  .side-ads {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 14px;
  }

  .side-ads .ad {
    margin-top: 0;
  }

  .side-ads .ad:first-child {
    height: auto;
    aspect-ratio: 680 / 320;
  }

  .side-ads .ad:first-child img {
    height: auto;
    object-fit: contain;
  }

  .side-card {
    padding: 16px;
  }

  .side-card h3 {
    margin-bottom: 10px;
    font-size: 17px;
  }

  .side-links-dense a {
    min-height: 34px;
    padding: 7px 0;
  }

  .side-rank-list {
    gap: 6px;
  }

  .side-rank-list li {
    min-height: 30px;
  }

  .side-report-card {
    min-height: 148px;
    padding: 18px;
  }

  .side-report-card strong {
    font-size: 19px;
  }

  .side-tool-grid a {
    min-height: 38px;
  }

  .side-metrics span {
    padding: 10px 6px;
  }
}

/* Brand color consolidation: education data portal tone. */
:root {
  --blue: #1d4ed8;
  --deep-blue: #1e3a8a;
  --teal: #1674dc;
  --orange: #22c5d8;
  --green: #7c3aed;
  --text: #111827;
  --muted: #64748b;
  --line: #dbe7f3;
  --surface-2: #f1f6fb;
}

.login-main,
.top-actions .login-main,
.all-nav-actions .login-main,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main,
.library-search button {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #22c5d8, #14b8d8);
  box-shadow: 0 10px 22px rgba(245, 158, 11, .22);
}

.login-main:hover,
.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.library-search button:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #0f7ee8, #0891c2);
  box-shadow: 0 12px 28px rgba(217, 119, 6, .25);
}

.tabs .green,
.tabs .orange,
.tabs .active,
.tabs a:hover,
.filter-tabs a.active,
.filter-tabs a:hover,
.detail-tabs a.active,
.detail-tabs a:hover,
.category-nav-card:hover,
.category-nav-card.active {
  color: var(--blue);
  background: #eff6ff;
}

.filter-tabs a.active,
.filter-tabs a:hover {
  color: #ffffff;
  background: var(--blue);
}

.list-label,
.tag,
.result-tags .tag {
  color: var(--blue);
  background: #eff6ff;
}

.school-logo {
  color: var(--deep-blue);
  border-color: #93c5fd;
  background: #eff6ff;
}

.school-item:hover {
  background: linear-gradient(90deg, rgba(239, 246, 255, .92), transparent);
}

.summary-stat strong,
.side-metrics strong,
.detail-stat strong,
.rank-head a,
.home-side-head a,
.head-more,
.breadcrumb a,
.article-next a:hover,
.side-links a:hover,
.side-rank-list a:hover,
.content-list a:hover,
.rank-news a:hover,
.file-list a:hover,
.paper-links a:hover,
.score-line-grid a:hover {
  color: var(--blue);
}

.side-rank-list li::before {
  background: #94a3b8;
}

.side-rank-list li:nth-child(-n + 3)::before {
  background: var(--blue);
}

.service-orange .icon-slot,
.service-purple .icon-slot,
.tool-item > .icon-slot {
  color: var(--blue);
}

.service-green .icon-slot,
.nav-hub-grid .icon-slot,
.side-report-orange .icon-slot {
  color: var(--teal);
}

.service-blue .icon-slot,
.side-report-card .icon-slot,
.category-nav-card .icon-slot {
  color: var(--blue);
}

.ad em {
  color: #b45309;
}

.ad span,
.ad small {
  background: var(--orange);
  box-shadow: 0 8px 18px rgba(245, 158, 11, .18);
}

.ad-pink,
.ad-yellow,
.ad-blue {
  background:
    linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(240, 253, 250, .9)),
    #ffffff;
}

.ad-pink::before,
.ad-yellow::before {
  background: linear-gradient(135deg, #bfdbfe, #ccfbf1);
}

.ad-pink::after {
  border-color: #93c5fd;
}

.footer {
  background: #f1f6fb;
}

/* Page alignment layer */
html,
body {
  width: 100%;
}

.wrap,
.all-nav-inner {
  margin-inline: auto;
}

.topbar,
.inner-header .topbar {
  min-width: 0;
}

.brand-logo {
  max-width: min(207px, 48vw);
}

.nav-links,
.tabs,
.filter-tabs,
.detail-tabs,
.all-nav-links {
  -webkit-overflow-scrolling: touch;
  scroll-padding-inline: 12px;
}

.nav-links a,
.tabs a,
.filter-tabs a,
.detail-tabs a {
  flex: 0 0 auto;
}

.inner-card-head > span,
.breadcrumb,
.detail-title p,
.library-hero p,
.member-hero p {
  overflow-wrap: anywhere;
}

.article,
.article-body,
.article-table-wrap,
.inner-card,
.inner-layout > *,
.content-grid > *,
.bottom-grid > * {
  min-width: 0;
}

.article-table-wrap {
  max-width: 100%;
  overscroll-behavior-inline: contain;
}

.article-table-wrap table {
  min-width: min(920px, max-content);
}

.article-body > table {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.compact-table,
.info-table {
  max-width: calc(100% - 36px);
  table-layout: auto;
}

.compact-table th,
.compact-table td,
.info-table th,
.info-table td,
.article-table-wrap th,
.article-table-wrap td {
  overflow-wrap: anywhere;
}

.result-item,
.data-card,
.side-card,
.school-item,
.tool-item {
  overflow: hidden;
}

.result-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.result-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.footer-main,
.footer-bottom,
.footer-banners {
  min-width: 0;
}

.footer-bottom {
  row-gap: 12px;
  padding-block: 14px;
}

.footer-bottom nav {
  min-width: 0;
}

@media (max-width: 900px) {
  .site-hero .topbar {
    gap: 12px;
  }

  .nav-links {
    gap: 10px;
    padding: 4px 2px 6px;
  }

  .nav-links a {
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 999px;
  }

  .inner-header .nav-links a.active,
  .inner-header .nav-links a:hover {
    background: #eef7ff;
  }

  .top-actions {
    flex: 0 0 auto;
  }

  .search-tabs,
  .filter-tabs,
  .detail-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .category-summary,
  .footer-cols,
  .inner-footer-main .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-main,
  .inner-footer-main {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .wrap,
  .all-nav-inner {
    width: min(100% - 24px, var(--container));
  }

  .topbar {
    align-items: center;
    padding-block: 10px;
  }

  .site-hero .topbar {
    min-height: 92px;
  }

  .inner-header .topbar {
    min-height: 64px;
  }

  .brand-logo {
    max-width: 176px;
    height: auto;
  }

  .hero-center {
    padding-bottom: 36px;
  }

  .hero-center h1 {
    max-width: 11em;
    margin-bottom: 24px;
    font-size: 30px;
  }

  .hero-meta {
    margin-top: 12px;
  }

  .hot-search {
    flex-wrap: wrap;
  }

  .hero-stats {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 8px;
    white-space: normal;
  }

  .hero-stats strong,
  .hero-stats span {
    display: block;
    margin-right: 0;
  }

  .quick-grid {
    margin-top: 26px;
  }

  .main,
  .inner-main {
    padding-top: 22px;
  }

  .section-head,
  .inner-card-head {
    gap: 10px;
  }

  .inner-card-head {
    padding: 16px 18px;
  }

  .category-summary,
  .footer-cols,
  .inner-footer-main .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-stat {
    padding: 12px;
  }

  .content-list {
    padding-inline: 18px;
  }

  .article {
    padding: 24px 18px;
  }

  .article h1 {
    font-size: 25px;
  }

  .article-body {
    font-size: 16px;
    line-height: 1.85;
  }

  .article-table-wrap {
    margin-inline: 0;
  }

  .article-table-wrap table {
    min-width: 720px;
    font-size: 12px;
  }

  .compact-table,
  .info-table {
    max-width: calc(100% - 24px);
  }

  .detail-tabs {
    padding-inline: 18px;
  }

  .detail-stat {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .detail-stat span {
    min-width: 0;
  }

  .library-search {
    gap: 8px;
  }

  .library-search button {
    min-height: 44px;
  }

  .result-meta {
    grid-template-columns: 1fr;
  }

  .footer {
    margin-top: 8px;
  }

  .footer-banners {
    gap: 10px;
    padding-block: 18px;
  }

  .footer-main,
  .inner-footer-main {
    gap: 18px;
    padding-block: 20px;
  }

  .footer-col a {
    min-height: 30px;
    margin-bottom: 2px;
  }

  .qr-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 86px));
    gap: 16px;
  }

  .footer-bottom nav {
    gap: 8px 12px;
  }

  .copyright {
    padding-bottom: 18px;
  }
}

@media (max-width: 420px) {
  .category-summary,
  .footer-cols,
  .inner-footer-main .footer-cols {
    grid-template-columns: 1fr 1fr;
  }

  .top-actions .login-main {
    display: none;
  }

  .hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Major library filter repair: align labels and wrapped options into stable columns. */
body.page-major-library .major-filter-panel {
  overflow: visible !important;
}

body.page-major-library .major-filter-row {
  grid-template-columns: 88px minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: 54px !important;
  padding: 12px 20px !important;
}

body.page-major-library .major-filter-row strong {
  display: flex !important;
  align-items: center !important;
  min-height: 32px !important;
  white-space: nowrap !important;
}

body.page-major-library .major-filter-row > div {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: start !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

body.page-major-library .major-filter-row a,
body.page-major-library .major-select-row button {
  width: auto !important;
  min-width: 48px !important;
  min-height: 32px !important;
  padding: 0 8px !important;
  white-space: nowrap !important;
}

body.page-major-library .major-filter-row > .major-select-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 28px !important;
}

body.page-major-library .major-filter-menu {
  position: relative !important;
  z-index: 4 !important;
}

body.page-major-library .major-filter-menu summary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 118px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  color: #263448 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  list-style: none !important;
}

body.page-major-library .major-filter-menu summary::-webkit-details-marker {
  display: none !important;
}

body.page-major-library .major-filter-menu[open] summary,
body.page-major-library .major-filter-menu summary:hover {
  border-color: #9cc7ff !important;
  color: var(--landing-blue) !important;
  background: #eef6ff !important;
}

body.page-major-library .major-filter-menu > div {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  width: 176px !important;
  padding: 8px !important;
  border: 1px solid #d9e5f2 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .14) !important;
}

body.page-major-library .major-filter-menu > div a {
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  color: #263448 !important;
  white-space: nowrap !important;
}

body.page-major-library .major-filter-menu > div a:hover {
  color: var(--landing-blue) !important;
  background: #f4f8ff !important;
}

@media (max-width: 720px) {
  body.page-major-library .major-filter-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  body.page-major-library .major-filter-row > div,
  body.page-major-library .major-select-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.page-major-library .major-filter-row a,
  body.page-major-library .major-select-row button {
    width: 100% !important;
    min-height: 38px !important;
    white-space: normal !important;
    justify-content: center !important;
  }

  body.page-major-library .major-filter-row > .major-select-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.page-major-library .major-filter-menu summary {
    width: 100% !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  body.page-major-library .major-filter-menu > div {
    position: static !important;
    width: 100% !important;
    margin-top: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10) !important;
  }
}

/* Home materials list: keep folder icons aligned with title and meta text. */
body .content-grid .news-card.file-card.two-col .file-list li {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) max-content !important;
  grid-template-rows: 1fr !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 33px !important;
}

body .content-grid .news-card.file-card.two-col .file-list li > i,
body .content-grid .news-card.file-card.two-col .file-list li > .icon-slot {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(4px) !important;
}

body .content-grid .news-card.file-card.two-col .file-list li > .icon-slot svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
}

body .content-grid .news-card.file-card.two-col .file-list li > a {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  min-width: 0 !important;
}

body .content-grid .news-card.file-card.two-col .file-list li > span {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  body .content-grid .news-card.file-card.two-col .file-list li {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    row-gap: 2px !important;
  }

  body .content-grid .news-card.file-card.two-col .file-list li > i,
  body .content-grid .news-card.file-card.two-col .file-list li > .icon-slot {
    align-self: start !important;
    margin-top: 1px !important;
    transform: translateY(3px) !important;
  }

  body .content-grid .news-card.file-card.two-col .file-list li > span {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
}

/* Search results landing page. */
.page-search-results {
  background: #f3f7fb !important;
}

.search-results-main {
  padding-top: 28px !important;
}

.search-results-hero,
.search-results-panel {
  border: 1px solid #dce8f5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(26, 77, 130, .06) !important;
}

.search-results-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px) !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 28px !important;
}

.search-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  color: #176fe8 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.search-results-hero h1 {
  margin: 0 !important;
  color: #102033 !important;
  font-size: 32px !important;
  line-height: 1.25 !important;
}

.search-results-hero p {
  margin: 12px 0 0 !important;
  color: #617085 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.search-results-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  min-height: 48px !important;
  border: 1px solid #cfe0f5 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.search-results-form input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  padding: 0 16px !important;
  color: #16243a !important;
  outline: none !important;
}

.search-results-form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 0 !important;
  color: #fff !important;
  background: #1677f2 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.search-results-form button .icon-slot,
.search-results-form button svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

.search-scope-tabs {
  display: flex !important;
  gap: 10px !important;
  margin: 18px 0 !important;
  overflow-x: auto !important;
}

.search-scope-tabs a {
  flex: 0 0 auto !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #d8e7f6 !important;
  border-radius: 999px !important;
  color: #26374d !important;
  background: #fff !important;
  font-weight: 700 !important;
}

.search-scope-tabs a.active,
.search-scope-tabs a:hover {
  color: #126fea !important;
  border-color: #9fc8ff !important;
  background: #eef6ff !important;
}

.search-results-panel {
  padding: 22px !important;
}

.search-results-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.search-results-head h2 {
  margin: 0 !important;
  color: #102033 !important;
  font-size: 20px !important;
}

.search-results-head span {
  color: #667891 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.search-result-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding-top: 18px !important;
}

.search-result-card {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid #e1ebf6 !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
  color: #142033 !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.search-result-card:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(22, 119, 242, .32) !important;
  box-shadow: 0 12px 28px rgba(21, 77, 142, .08) !important;
}

.search-result-card > span {
  justify-self: start !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  color: #176fe8 !important;
  background: #eef6ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.search-result-card strong {
  overflow: hidden !important;
  color: #102033 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 17px !important;
}

.search-result-card p {
  display: -webkit-box !important;
  min-height: 44px !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #5e6f86 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  line-height: 1.6 !important;
}

.search-result-card div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.search-result-card em {
  padding: 3px 8px !important;
  border-radius: 4px !important;
  color: #52677f !important;
  background: #f1f5f9 !important;
  font-style: normal !important;
  font-size: 12px !important;
}

.search-result-card b {
  color: #718198 !important;
  font-size: 12px !important;
}

.search-result-empty {
  grid-column: 1 / -1 !important;
  padding: 42px 18px !important;
  border: 1px dashed #cbd9e8 !important;
  border-radius: 8px !important;
  text-align: center !important;
  background: #f8fbff !important;
}

.search-result-empty strong {
  display: block !important;
  color: #142033 !important;
  font-size: 18px !important;
}

.search-result-empty p {
  margin: 10px 0 16px !important;
  color: #64748b !important;
}

.search-result-empty div {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

.search-result-empty a {
  padding: 8px 12px !important;
  border: 1px solid #cfe0f5 !important;
  border-radius: 4px !important;
  color: #176fe8 !important;
  background: #fff !important;
}

@media (max-width: 760px) {
  .search-results-hero {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  .search-results-hero h1 {
    font-size: 24px !important;
  }

  .search-results-form {
    grid-template-columns: 1fr !important;
  }

  .search-results-form input[type="search"],
  .search-results-form button {
    min-height: 44px !important;
  }

  .search-result-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final layout cleanup: keep sparse cards from stretching into blank panels. */
.content-grid,
.bottom-grid,
.resource-hub,
.tool-grid,
.exam-data-grid,
.inner-layout,
.school-result,
.major-result,
.data-grid,
.footer-banners {
  align-items: start;
}

.tool-grid > .block,
.bottom-grid > .block,
.content-grid > *,
.resource-hub > *,
.exam-data-grid > *,
.inner-layout > * {
  align-self: start;
}

.school-card,
.major-card,
.file-card,
.news-card {
  min-height: 0;
}

.tool-grid > .block {
  height: auto;
}

.side-ads,
.side-top {
  padding-top: 0;
}

.ad {
  height: auto;
  min-height: 0;
}

.ad.banner-image {
  margin-top: 14px;
  padding: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 12px 32px rgba(15, 74, 128, .06);
}

.ad-yellow:not(.banner-image) {
  min-height: 160px;
}

.ad-blue:not(.banner-image) {
  min-height: 58px;
}

.ad-compact:not(.banner-image) {
  min-height: 86px;
}

.rank-panel {
  align-self: start;
}

.content-empty {
  padding: 18px 20px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: #fbfcfe;
}

.static-search-empty {
  grid-column: 1 / -1;
  width: 100%;
  text-align: center;
}

.content-list .static-search-empty {
  display: block;
  min-height: 0;
  padding: 22px;
}

[hidden] {
  display: none !important;
}

.footer-main {
  display: grid;
  grid-template-columns: 1fr 260px;
  min-height: 160px;
  padding: 22px 0 20px;
  border-top: 1px solid #ddd;
}

.footer-cols {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 18px;
}

.footer-col h3 {
  margin: 0 0 9px;
  font-size: 13px;
  font-weight: 600;
}

.footer-col a {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-size: 12px;
}

.qr-group {
  display: flex;
  justify-content: space-between;
  padding-left: 22px;
}

.qr-group div {
  width: 86px;
  text-align: center;
}

.qr-group span {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 10px;
  border-radius: 4px;
  border: 8px solid #fff;
  background:
    linear-gradient(90deg, #111 0 10px, transparent 10px 16px, #111 16px 22px, transparent 22px),
    linear-gradient(#111 0 10px, transparent 10px 16px, #111 16px 22px, transparent 22px),
    repeating-linear-gradient(45deg, #111 0 4px, transparent 4px 9px),
    #fff;
  background-size: 28px 28px, 28px 28px, 100% 100%, auto;
  box-shadow: 0 6px 18px rgba(15, 35, 56, .08);
}

.qr-group .circle {
  overflow: hidden;
  position: relative;
  border-radius: 50%;
  background: #fff;
}

.qr-group .circle.has-code {
  background: #fff url("./assets/mini-program-code.png") center / cover no-repeat;
}

.qr-group .circle.no-code {
  display: grid;
  place-items: center;
  border-style: dashed;
  background: #f8fafc;
}

.qr-group .circle.no-code::after {
  color: #64748b;
  font-size: 12px;
  line-height: 1.2;
  content: "待配置";
}

.qr-group p {
  margin: 0;
}

.mini-program-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, .42);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.mini-program-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.mini-program-panel {
  position: relative;
  width: min(320px, 100%);
  padding: 22px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 35, 56, .22);
  text-align: center;
  transform: translateY(8px);
  transition: transform .18s ease;
}

.mini-program-modal.is-open .mini-program-panel {
  transform: translateY(0);
}

.mini-program-panel h2 {
  margin: 0 0 14px;
  color: #111827;
  font-size: 18px;
}

.mini-program-panel img {
  display: block;
  width: min(220px, 100%);
  aspect-ratio: 1;
  margin: 0 auto 12px;
}

.mini-program-panel img.is-missing {
  display: none;
}

.mini-program-placeholder {
  display: grid;
  width: min(220px, 100%);
  margin: 0 auto 12px;
  padding: 22px 18px;
  border: 1px dashed #93c5fd;
  border-radius: 8px;
  color: #475569;
  background: linear-gradient(180deg, #eff6ff, #f8fafc);
  gap: 10px;
}

.mini-program-placeholder strong {
  color: #1e3a8a;
  font-size: 16px;
}

.mini-program-placeholder span {
  color: #64748b;
  line-height: 1.6;
}

.mini-program-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 4px;
}

.mini-program-actions a {
  display: grid;
  min-height: 36px;
  border-radius: 6px;
  color: #fff;
  place-items: center;
  background: var(--blue);
}

.mini-program-panel p {
  margin: 0;
  color: #4b5563;
  font-size: 13px;
}

.mini-program-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #f3f4f6;
  color: #111827;
  cursor: pointer;
}

.mini-program-close:hover {
  background: #e5e7eb;
}

.footer-bottom {
  display: grid;
  grid-template-columns: 190px 1fr 330px;
  column-gap: 24px;
  align-items: center;
  min-height: 62px;
  border-top: 1px solid #ededed;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.footer-bottom p,
.copyright {
  margin: 0;
  color: #555;
}

.footer-brand {
  gap: 7px;
  color: #111;
  font-size: 16px;
}

.footer-brand .brand-mark {
  width: 22px;
  height: 13px;
}

.footer-bottom p {
  text-align: right;
}

.copyright {
  padding-bottom: 24px;
  text-align: center;
  font-size: 11px;
}

.inner-footer-banners {
  gap: 20px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.inner-footer-main {
  grid-template-columns: 1fr 220px;
}

.inner-footer-main .footer-cols {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inner-footer-main {
  padding-top: 24px;
  padding-bottom: 24px;
}

/* Inner page templates */
.inner-page {
  background: #f5f7fb;
}

.inner-header {
  border-bottom: 1px solid #e6edf5;
  background: #fff;
  box-shadow: 0 1px 0 rgba(16, 42, 76, .03);
}

.inner-header .topbar {
  height: 64px;
}

.inner-header .brand {
  color: #121820;
}

.inner-header .brand-mark {
  background: #111820;
}

.inner-header .nav-links a {
  color: #202733;
}

.inner-header .nav-links a.active,
.inner-header .nav-links a:hover {
  color: var(--blue);
}

.inner-header .top-actions a {
  color: #333;
}

.inner-main {
  padding: 24px 0 44px;
}

.breadcrumb {
  margin-bottom: 18px;
  color: #7b8491;
  font-size: 13px;
}

.breadcrumb a {
  color: #5f6d7e;
}

.inner-layout {
  display: grid;
  grid-template-columns: 860px 300px;
  gap: 30px;
  align-items: start;
}

.inner-card {
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(15, 55, 96, .04);
}

.inner-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  padding: 0 22px;
  border-bottom: 1px solid #edf1f6;
}

.inner-card-head h1,
.inner-card-head h2 {
  margin: 0;
  color: #111820;
  font-size: 22px;
  line-height: 1.2;
}

.category-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid #edf1f6;
  background: #fbfdff;
}

.summary-stat {
  padding: 12px;
  border: 1px solid #e7eef7;
  border-radius: 6px;
  background: #fff;
}

.summary-stat strong {
  display: block;
  margin-bottom: 4px;
  color: var(--blue);
  font-size: 20px;
}

.summary-stat span {
  color: #7b8491;
  font-size: 12px;
}

.filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-tabs a {
  padding: 6px 10px;
  border-radius: 4px;
  color: #4f5b68;
  font-size: 13px;
}

.filter-tabs a.active,
.filter-tabs a:hover {
  color: #fff;
  background: var(--blue);
}

.content-list {
  margin: 0;
  padding: 8px 22px 16px;
  list-style: none;
}

.content-list li {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 18px;
  align-items: center;
  min-height: 46px;
  border-bottom: 1px dashed #e6edf5;
}

.content-list li:last-child {
  border-bottom: 0;
}

.content-list a {
  overflow: hidden;
  color: #222;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.content-list p {
  overflow: hidden;
  margin: 5px 0 0;
  color: #88929e;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.list-label {
  display: inline-block;
  margin-right: 8px;
  padding: 1px 6px;
  border-radius: 3px;
  color: var(--blue);
  font-size: 12px;
  background: #eef7ff;
}

.content-list a:hover {
  color: var(--blue);
}

.content-list time,
.content-list span {
  color: #929aa5;
  font-size: 12px;
  text-align: right;
}

.pager {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 14px 0 24px;
}

.pager a {
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #dce5ef;
  border-radius: 4px;
  color: #55606c;
  text-align: center;
  line-height: 30px;
  background: #fff;
}

.pager a.active,
.pager a:hover {
  color: #fff;
  border-color: var(--blue);
  background: var(--blue);
}

.side-card {
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  background: #fff;
}

.side-card h3 {
  margin: 0 0 12px;
  font-size: 18px;
}

.side-card .muted {
  margin: -6px 0 12px;
  color: #8b95a1;
  font-size: 12px;
}

.side-links a {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed #edf1f6;
  color: #303845;
}

.side-links a:last-child {
  border-bottom: 0;
}

.side-links a:hover {
  color: var(--blue);
}

.rich-sidebar {
  display: grid;
  gap: 16px;
}

.rich-sidebar .ad {
  margin-top: 0;
}

.side-login-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 143, 232, .08), rgba(13, 148, 136, .08)),
    #fff;
}

.side-login-card strong {
  display: block;
  color: #111827;
  font-size: 20px;
}

.side-login-card span {
  color: #667085;
  font-size: 13px;
}

.side-user-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.side-user-actions a,
.side-tool-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  color: #344054;
  background: #f8fbff;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}

.side-user-actions a:hover,
.side-tool-grid a:hover {
  color: var(--blue);
  border-color: rgba(15, 143, 232, .28);
  background: #eef7ff;
}

.side-user-actions .icon-slot,
.side-tool-grid .icon-slot {
  width: 17px;
  height: 17px;
  color: currentColor;
}

.side-tool-card h3,
.school-side-summary h3,
.article-toc h3 {
  margin-bottom: 14px;
}

.side-tool-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.side-report-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 162px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid #d9eaf7;
  border-radius: 8px;
  color: #0f2742;
  background: linear-gradient(135deg, #eef8ff, #f7fbff);
  box-shadow: var(--shadow-md);
}

.side-report-card::after {
  display: none;
  content: none;
}

.side-report-orange {
  border-color: #ffe0c5;
  background: linear-gradient(135deg, #fff7ed, #fffdf8);
}

.side-report-card .icon-slot {
  width: 30px;
  height: 30px;
  color: var(--blue);
}

.side-report-orange .icon-slot {
  color: var(--orange);
}

.side-report-card strong,
.side-report-card em,
.side-report-card b {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.side-report-card strong {
  font-size: 21px;
  line-height: 1.25;
}

.side-report-card em {
  color: #526070;
  font-style: normal;
}

.side-report-card b {
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  background: var(--blue);
}

.side-report-orange b {
  background: var(--orange);
}

.side-links-dense a {
  gap: 12px;
  min-height: 38px;
  padding: 9px 0;
}

.side-links-dense span {
  flex: 0 0 auto;
  color: #98a2b3;
  font-size: 12px;
}

.side-rank-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: side-rank;
}

.side-rank-list li {
  counter-increment: side-rank;
  display: grid;
  grid-template-columns: 26px 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 34px;
  color: #344054;
}

.side-rank-list li::before {
  display: grid;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  color: #fff;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  background: #98a2b3;
  content: counter(side-rank);
}

.side-rank-list li:nth-child(-n + 3)::before {
  background: var(--orange);
}

.side-rank-list a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-rank-list a:hover,
.article-toc a:hover {
  color: var(--blue);
}

.side-rank-list span {
  color: #98a2b3;
  font-size: 12px;
}

.side-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.side-metrics span {
  min-width: 0;
  padding: 12px 8px;
  border-radius: 8px;
  color: #667085;
  text-align: center;
  background: #f6f9fc;
}

.side-metrics strong {
  display: block;
  color: var(--blue);
  font-size: 18px;
  line-height: 1.25;
}

.article-toc {
  position: sticky;
  top: 18px;
  z-index: 1;
}

.article-toc a {
  display: block;
  padding: 9px 0 9px 12px;
  border-left: 2px solid #dce8f5;
  color: #475467;
}

.article {
  padding: 28px 38px 36px;
}

.article h1 {
  margin: 0 0 14px;
  color: #111820;
  font-size: 28px;
  line-height: 1.35;
}

.article-meta {
  display: flex;
  gap: 18px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #edf1f6;
  color: #8b95a1;
  font-size: 13px;
}

.article-summary {
  margin: 0 0 24px;
  padding: 14px 16px;
  border-left: 3px solid var(--blue);
  border-radius: 4px;
  color: #4e5b69;
  line-height: 1.8;
  background: #f5f9ff;
}

.article-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
}

.article-actions a,
.article-actions button {
  appearance: none;
  padding: 7px 12px;
  border: 1px solid #dce6f0;
  border-radius: 4px;
  color: #53606e;
  font-size: 13px;
  background: #fff;
}

.article-actions a:hover,
.article-actions button:hover {
  color: var(--blue);
  border-color: rgba(0, 128, 255, .35);
}

.article-body {
  color: #303844;
  font-size: 16px;
  line-height: 2;
  max-width: 100%;
  overflow-x: auto;
}

.article-body table {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

.article-body p {
  margin: 0 0 18px;
}

.article-body h2 {
  margin: 28px 0 12px;
  color: #111820;
  font-size: 20px;
}

.article-next {
  display: grid;
  gap: 10px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid #edf1f6;
  color: #56616e;
}

.attach-box,
.notice-box {
  margin-top: 24px;
  padding: 16px;
  border: 1px solid #e3ebf4;
  border-radius: 6px;
  background: #fbfdff;
}

.attach-box h3,
.notice-box h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.attach-box a {
  display: block;
  padding: 8px 0;
  color: #2e6da8;
}

.notice-box p {
  margin: 0;
  color: #697482;
  line-height: 1.8;
}

.article-next a:hover {
  color: var(--blue);
}

.list-bottom-panel {
  margin: -18px 0 34px;
  padding: 24px;
  border: 1px solid #e2ebf5;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 143, 232, .07), rgba(13, 148, 136, .05)),
    #fff;
  box-shadow: var(--shadow-md);
}

.inner-card > .list-bottom-panel {
  margin: 4px 22px 24px;
  box-shadow: none;
}

.bottom-panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #edf2f7;
}

.bottom-panel-head h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
}

.bottom-panel-head p {
  max-width: 520px;
  margin: 0;
  color: #667085;
  text-align: right;
}

.bottom-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.bottom-panel-grid section {
  min-width: 0;
  padding: 18px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
}

.bottom-panel-grid strong {
  display: block;
  margin-bottom: 10px;
  color: #111827;
  font-size: 17px;
}

.bottom-panel-grid a {
  display: block;
  overflow: hidden;
  padding: 8px 0;
  color: #475467;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bottom-panel-grid a + a {
  border-top: 1px dashed #e3ebf5;
}

.bottom-panel-grid a:hover {
  color: var(--blue);
}

.about-service-grid,
.account-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.about-service-grid section,
.account-quick-grid a,
.member-hero {
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
}

.about-service-grid section,
.account-quick-grid a {
  padding: 18px;
}

.about-service-grid strong,
.account-quick-grid strong {
  display: block;
  color: #111827;
  font-size: 17px;
}

.about-service-grid span,
.account-quick-grid em {
  display: block;
  margin-top: 8px;
  color: #667085;
  font-style: normal;
  line-height: 1.7;
}

.member-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  padding: 28px 30px;
  background:
    radial-gradient(circle at 88% 24%, rgba(249, 115, 22, .14), transparent 24%),
    linear-gradient(135deg, #eef8ff, #fff);
  box-shadow: var(--shadow-md);
}

.member-hero h1 {
  margin: 0 0 8px;
  font-size: 30px;
}

.member-hero p {
  margin: 0;
  color: #667085;
}

.member-hero .login-main {
  min-width: 132px;
  border: 0;
  color: #fff;
}

.account-quick-grid {
  margin-bottom: 26px;
}

.account-quick-grid a {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 3px 12px;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.account-quick-grid a:hover {
  border-color: rgba(15, 143, 232, .32);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.account-quick-grid .icon-slot {
  grid-row: span 2;
  width: 30px;
  height: 30px;
  color: var(--blue);
}

.library-hero {
  margin-bottom: 20px;
  padding: 26px 30px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(120deg, #0c8fe8, #19c2d5);
}

.library-hero h1 {
  margin: 0 0 10px;
  font-size: 28px;
}

.library-hero p {
  margin: 0;
  opacity: .9;
}

.library-search {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 10px;
  max-width: 520px;
  margin-top: 18px;
}

.library-search input {
  height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: 4px;
  outline: none;
}

.library-search button {
  border: 0;
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  background: #ff7a1a;
  cursor: pointer;
}

.filter-panel {
  margin-bottom: 18px;
  padding: 18px 22px;
}

.filter-row {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px dashed #edf1f6;
}

.filter-row:last-child {
  border-bottom: 0;
}

.filter-row strong {
  color: #111820;
}

.filter-row div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.filter-row a {
  color: #4f5b68;
}

.filter-row a.active,
.filter-row a:hover {
  color: var(--blue);
}

.school-result,
.major-result {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  padding: 18px;
}

.result-item {
  display: block;
  padding: 18px;
  border: 1px solid #e5ecf4;
  border-radius: 8px;
  color: #222;
  background: #fff;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.result-item:hover {
  border-color: rgba(0, 128, 255, .45);
  box-shadow: 0 10px 24px rgba(26, 92, 158, .08);
  transform: translateY(-2px);
}

.result-item h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.result-item p {
  margin: 0 0 12px;
  color: #7d8792;
}

.result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.result-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 14px;
  color: #7d8792;
  font-size: 12px;
}

.result-meta span {
  padding: 6px;
  border-radius: 4px;
  text-align: center;
  background: #f6f8fb;
}

.detail-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  margin-bottom: 18px;
  padding: 26px 30px;
}

.detail-title h1 {
  margin: 0 0 8px;
  font-size: 30px;
}

.detail-title p {
  margin: 0;
  color: #697482;
}

.detail-stat {
  display: flex;
  gap: 12px;
}

.detail-stat span {
  min-width: 86px;
  padding: 12px;
  border-radius: 6px;
  text-align: center;
  background: #eef7ff;
}

.detail-stat strong {
  display: block;
  color: var(--blue);
  font-size: 20px;
}

.detail-tabs {
  display: flex;
  gap: 24px;
  height: 48px;
  padding: 0 22px;
  border-bottom: 1px solid #edf1f6;
  background: #fff;
  align-items: center;
}

.detail-tabs a {
  position: relative;
  color: #4e5966;
  font-weight: 600;
}

.detail-tabs a.active,
.detail-tabs a:hover {
  color: var(--blue);
}

.detail-tabs a.active::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -15px;
  height: 2px;
  border-radius: 2px;
  background: var(--blue);
  content: "";
}

.data-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 18px;
}

.data-card {
  padding: 16px;
  border: 1px solid #e6edf5;
  border-radius: 6px;
  background: #fbfdff;
}

.data-card strong {
  display: block;
  margin-bottom: 6px;
  color: #111820;
  font-size: 16px;
}

.data-card span {
  color: #7b8491;
  font-size: 12px;
}

.compact-table {
  width: calc(100% - 36px);
  margin: 18px;
  border-collapse: collapse;
}

.compact-table th,
.compact-table td {
  padding: 12px 14px;
  border: 1px solid #e6edf5;
  text-align: left;
}

.compact-table th {
  color: #56616e;
  background: #f8fafc;
}

.info-table {
  width: 100%;
  border-collapse: collapse;
}

.info-table th,
.info-table td {
  padding: 14px 18px;
  border: 1px solid #e6edf5;
  text-align: left;
}

.info-table th {
  width: 120px;
  color: #5f6874;
  background: #f8fafc;
}

.article-table-wrap {
  width: 100%;
  max-width: 100%;
  margin: 18px 0 6px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.article-table-wrap table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.55;
}

.article-table-wrap th,
.article-table-wrap td {
  max-width: 280px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
  word-break: break-word;
}

.article-table-wrap th {
  color: var(--text-strong);
  background: #f6f8fb;
  font-weight: 800;
}

.toast {
  position: fixed;
  left: 50%;
  top: 22px;
  z-index: 20;
  max-width: 360px;
  padding: 10px 18px;
  border-radius: 4px;
  color: #fff;
  background: rgba(0, 0, 0, .76);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -10px);
  transition: opacity .18s ease, transform .18s ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.all-nav-modal {
  position: fixed;
  inset: 0;
  z-index: 15;
  height: 478px;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}

.all-nav-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.all-nav-panel {
  position: relative;
  width: 100%;
  height: 478px;
  border-radius: 0 0 10px 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 112, 209, .35);
  transform: translateY(-12px);
  transition: transform .18s ease;
}

.all-nav-modal.is-category {
  height: 309px;
}

.all-nav-modal.is-category .all-nav-panel {
  height: 309px;
}

.all-nav-modal.is-open .all-nav-panel {
  transform: translateY(0);
}

.all-nav-close {
  position: absolute;
  top: 18px;
  right: max(22px, calc((100vw - 1260px) / 2));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #d9e3ef;
  border-radius: 50%;
  background: #fff;
  color: #243040;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.all-nav-close:hover,
.all-nav-close:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
  outline: none;
}

.all-nav-inner {
  width: 1260px;
  margin: 0 auto;
}

.all-nav-top {
  display: flex;
  align-items: center;
  height: 64px;
}

.all-nav-brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 8px;
  margin-right: 62px;
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
}

.all-nav-brand .brand-mark {
  width: 28px;
  height: 16px;
}

.all-nav-links {
  display: flex;
  gap: 25px;
  align-items: center;
  white-space: nowrap;
  font-size: 14px;
}

.all-nav-links .active {
  color: #0087ff;
}

.all-nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: auto;
  white-space: nowrap;
  font-size: 14px;
}

.all-nav-actions button {
  height: 29px;
  padding: 0 14px;
  border: 0;
  border-radius: 5px;
  color: #fff;
  background: #ff812d;
}

.all-nav-grid {
  display: grid;
  grid-template-columns: 118px 118px 158px 160px 112px 118px 112px 148px;
  gap: 34px;
  padding-top: 36px;
}

.all-nav-modal.is-category .all-nav-grid {
  display: none;
}

.category-nav-grid {
  display: none;
  grid-template-columns: repeat(5, 224px);
  gap: 20px;
  width: 1200px;
  margin: 36px auto 0;
}

.all-nav-modal.is-category .category-nav-grid {
  display: grid;
}

.category-nav-card {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 64px;
  padding: 0 22px;
  border-radius: 5px;
  color: #20252c;
  background: #edf8fd;
  font-size: 16px;
  font-weight: 500;
}

.category-nav-card:hover,
.category-nav-card.active {
  color: #008dff;
}

.category-nav-card .icon-slot {
  width: 20px;
  height: 20px;
  color: #2097ff;
}

.all-nav-grid section {
  min-width: 0;
}

.all-nav-grid h3 {
  position: relative;
  margin: 0 0 14px;
  padding-bottom: 6px;
  color: #111;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

.all-nav-grid h3::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, #c9c9c9 0 34%, #555 34% 67%, #e7e7e7 67% 100%);
}

.all-nav-grid a {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 37px;
  color: #333;
  font-size: 15px;
  white-space: nowrap;
}

.all-nav-grid a:hover,
.all-nav-grid .hover {
  color: #008dff;
}

.nav-ico {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1.7px solid currentColor;
  border-radius: 4px;
}

.nav-ico::before,
.nav-ico::after {
  position: absolute;
  content: "";
}

.nav-ico.file::before {
  right: 2px;
  top: -1px;
  width: 6px;
  height: 6px;
  border-left: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  background: #fff;
}

.nav-ico.check::before {
  left: 4px;
  top: 5px;
  width: 8px;
  height: 4px;
  border-left: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  transform: rotate(-45deg);
}

.nav-ico.folder {
  border-radius: 4px;
}

.nav-ico.folder::before {
  left: 1px;
  top: -4px;
  width: 8px;
  height: 5px;
  border: 1.7px solid currentColor;
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
  background: #fff;
}

.nav-ico.doc::before {
  left: 4px;
  top: 5px;
  width: 8px;
  height: 1.7px;
  background: currentColor;
  box-shadow: 0 4px 0 currentColor;
}

.nav-ico.pen {
  width: 18px;
  height: 18px;
  border: 0;
}

.nav-ico.pen::before {
  left: 2px;
  top: 11px;
  width: 15px;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(-43deg);
}

.nav-ico.pen::after {
  left: 1px;
  bottom: 1px;
  width: 13px;
  height: 5px;
  border-bottom: 1.7px solid currentColor;
  border-left: 1.7px solid currentColor;
}

.nav-ico.image::before {
  left: 3px;
  bottom: 3px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid currentColor;
}

.nav-ico.ai {
  border-radius: 5px;
}

.nav-ico.ai::before {
  left: 3px;
  top: 7px;
  width: 10px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 -4px 0 currentColor, 0 4px 0 currentColor;
}

.nav-ico.trophy {
  border-radius: 50%;
}

.nav-ico.trophy::before {
  left: -4px;
  top: 3px;
  width: 4px;
  height: 6px;
  border: 1.7px solid currentColor;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  box-shadow: 20px 0 0 -1.7px #fff, 20px 0 0 0 currentColor;
}

.nav-ico.bars {
  border: 0;
  border-bottom: 1.7px solid currentColor;
  border-radius: 0;
}

.nav-ico.bars::before {
  left: 2px;
  bottom: 1px;
  width: 3px;
  height: 8px;
  background: currentColor;
  box-shadow: 6px -6px 0 currentColor, 12px -2px 0 currentColor;
}

.nav-ico.line {
  border: 0;
  border-left: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  border-radius: 0;
}

.nav-ico.line::before {
  left: 3px;
  top: 4px;
  width: 13px;
  height: 7px;
  border-top: 1.7px solid currentColor;
  border-right: 1.7px solid currentColor;
  transform: skew(-25deg);
}

.nav-ico.cap {
  height: 14px;
  border: 0;
}

.nav-ico.cap::before {
  left: 1px;
  top: 2px;
  width: 15px;
  height: 10px;
  background: currentColor;
  clip-path: polygon(50% 0, 100% 36%, 50% 72%, 0 36%);
}

.nav-ico.edit::before {
  right: -2px;
  top: 1px;
  width: 9px;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(-35deg);
}

.nav-ico.chart {
  border: 0;
  border-left: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  border-radius: 0;
}

.nav-ico.chart::before {
  left: 4px;
  top: 5px;
  width: 12px;
  height: 6px;
  border-top: 1.7px solid currentColor;
  transform: skew(-30deg);
}

.nav-ico.heart {
  border-radius: 7px;
}

.nav-ico.heart::before {
  left: 5px;
  top: 5px;
  width: 6px;
  height: 6px;
  border-left: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  transform: rotate(-45deg);
}

.nav-ico.send {
  border: 0;
}

.nav-ico.send::before {
  left: 1px;
  top: 3px;
  border-left: 17px solid currentColor;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  transform: rotate(-20deg);
}

.nav-ico.monitor {
  height: 13px;
  margin-bottom: 5px;
  border-radius: 3px;
}

.nav-ico.monitor::before {
  left: 6px;
  bottom: -6px;
  width: 6px;
  height: 6px;
  border-bottom: 1.7px solid currentColor;
}

.nav-ico.flame {
  border: 0;
}

.nav-ico.flame::before {
  left: 4px;
  top: 1px;
  width: 10px;
  height: 15px;
  border: 1.7px solid currentColor;
  border-radius: 50% 50% 50% 10%;
  transform: rotate(35deg);
}

.nav-ico.school {
  border-radius: 50%;
}

.nav-ico.school::before {
  left: 4px;
  top: 7px;
  width: 8px;
  height: 1.7px;
  background: currentColor;
}

.nav-ico.library {
  border: 0;
}

.nav-ico.library::before {
  left: 1px;
  bottom: 0;
  width: 16px;
  height: 12px;
  border: 1.7px solid currentColor;
}

.nav-ico.library::after {
  left: 7px;
  top: 1px;
  width: 4px;
  height: 16px;
  border-left: 1.7px solid currentColor;
  border-right: 1.7px solid currentColor;
}

.nav-ico.book {
  border: 0;
}

.nav-ico.book::before,
.nav-ico.book::after {
  top: 2px;
  width: 8px;
  height: 14px;
  border: 1.7px solid currentColor;
  border-radius: 2px;
}

.nav-ico.book::before {
  left: 1px;
}

.nav-ico.book::after {
  right: 1px;
}

.nav-ico.flow::before {
  left: 3px;
  top: 7px;
  width: 10px;
  height: 2px;
  background: currentColor;
}

.icon-slot::before,
.icon-slot::after,
.nav-ico::before,
.nav-ico::after,
.qi::before,
.qi::after {
  content: none !important;
}

.icon-slot {
  display: inline-block;
  background: currentColor;
  mask: var(--icon-url) center / contain no-repeat;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
}

.search-box .icon-slot {
  display: block;
  width: 18px;
  height: 18px;
  color: #6b7280;
}

.quick-grid .qi {
  display: grid;
  width: 25px;
  height: 25px;
  color: #fff;
  place-items: center;
}

.login-panel .icon-slot {
  display: grid;
  width: 14px;
  height: 14px;
  color: #111;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  place-items: center;
}

.file-list li {
  padding-left: 31px;
}

.file-list li::before,
.file-list li::after,
.tool-item::before,
.tool-item::after {
  content: none;
}

.file-list li > .icon-slot {
  position: absolute;
  left: 0;
  top: 3px;
  width: 22px;
  height: 22px;
  color: #35bf70;
}

.tool-item > .icon-slot {
  position: absolute;
  left: 17px;
  top: 17px;
  width: 22px;
  height: 22px;
  color: #1d4ed8;
}

.nav-ico.icon-slot {
  display: grid;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: currentColor;
  border: 0;
  border-radius: 0;
  place-items: center;
}

/* UI polish layer */
:root {
  --blue: #0f8fe8;
  --deep-blue: #075fc7;
  --teal: #0d9488;
  --orange: #14b8d8;
  --green: #7c3aed;
  --text: #111827;
  --muted: #667085;
  --soft: #f8fbff;
  --line: #e5edf6;
  --surface: #ffffff;
  --surface-2: #f2f8fc;
  --shadow-sm: 0 1px 2px rgba(15, 35, 56, .06);
  --shadow-md: 0 12px 34px rgba(15, 74, 128, .09);
  --shadow-lg: 0 24px 70px rgba(8, 67, 120, .16);
  --radius: 8px;
  --container: 1180px;
  --main-col: minmax(0, 1fr);
  --side-col: 340px;
  --page-gap: 28px;
  --mini-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E");
  --mini-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --mini-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
}

html {
  min-width: 0;
  scroll-behavior: smooth;
}

body {
  min-width: 0;
  overflow-x: hidden;
  background:
    linear-gradient(180deg, #f7fbff 0%, #f3f7fb 42%, #f7f9fc 100%);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}

body.nav-open {
  overflow: hidden;
}

.page-shell {
  min-width: 0;
}

.wrap,
.all-nav-inner {
  width: min(var(--container), calc(100% - 48px));
  max-width: var(--container);
}

a,
button,
input {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(15, 143, 232, .28);
  outline-offset: 3px;
}

button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
}

button,
.top-actions button,
.login-main,
.library-search button {
  min-height: 44px;
  border-radius: var(--radius);
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

button:active,
.tool-item:active,
.result-item:active {
  transform: translateY(1px);
}

.site-hero {
  height: auto;
  min-height: 560px;
  background: #079de8 url("./assets/brand/header-bg.png") center top / cover no-repeat;
}

.site-hero::before {
  background: linear-gradient(180deg, rgba(0, 42, 122, .08), rgba(0, 42, 122, .12));
}

.topbar {
  height: 68px;
  gap: 24px;
}

.brand,
.footer-brand {
  gap: 10px;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0;
}

.brand-mark {
  width: 30px;
  height: 18px;
}

.nav-links,
.top-actions {
  gap: 18px;
  margin-left: 28px;
  font-size: 14px;
}

.nav-links {
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}

.nav-links::-webkit-scrollbar {
  display: none;
}

.nav-links a,
.top-actions a,
.footer-bottom a,
.footer-col a {
  transition: color .18s ease, opacity .18s ease;
}

.top-actions button {
  height: 42px;
  padding: 0 18px;
  box-shadow: 0 10px 22px rgba(249, 115, 22, .26);
  background: var(--orange);
}

.top-actions button:hover,
.login-main:hover,
.library-search button:hover {
  box-shadow: 0 12px 28px rgba(249, 115, 22, .28);
  transform: translateY(-1px);
}

.hero-center {
  padding: 42px 0 64px;
}

.hero-center h1 {
  max-width: 780px;
  margin: 26px 0 34px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.12;
  text-align: center;
  letter-spacing: 0;
}

.search-tabs,
.search-box,
.quick-grid {
  width: min(860px, 100%);
}

.search-tabs {
  height: auto;
  gap: 8px;
  align-items: end;
}

.search-tabs button {
  width: auto;
  min-width: 88px;
  height: 40px;
  margin: 0;
  padding: 0 18px;
  border-radius: 8px 8px 0 0;
  color: rgba(255, 255, 255, .88);
  background: rgba(5, 75, 151, .35);
  backdrop-filter: blur(14px);
}

.search-tabs .active {
  color: #fff;
  background: rgba(255, 255, 255, .24);
}

.search-box {
  height: 64px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 0 12px 12px 12px;
  box-shadow: var(--shadow-lg);
}

.search-box input {
  padding: 0 24px;
  color: var(--text);
  font-size: 16px;
}

.search-box button {
  width: 64px;
  min-height: 64px;
  border-radius: 0;
}

.search-box button:hover {
  background: #f4f9fd;
}

.search-box.is-loading button,
.library-search.is-loading button {
  position: relative;
  color: transparent;
}

.search-box.is-loading button::after,
.library-search.is-loading button::after {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 2px solid rgba(15, 143, 232, .22);
  border-top-color: var(--blue);
  border-radius: 50%;
  content: "";
  animation: spin .75s linear infinite;
}

.library-search.is-loading button::after {
  border-color: rgba(255, 255, 255, .38);
  border-top-color: #fff;
}

.quick-grid {
  grid-template-columns: repeat(7, minmax(84px, 1fr));
  gap: 22px 12px;
  margin-top: 42px;
}

.quick-grid a {
  min-height: 72px;
  padding: 10px 6px;
  border-radius: var(--radius);
  font-size: 14px;
  line-height: 1.35;
  background: rgba(255, 255, 255, .08);
  transition: transform .18s ease, background-color .18s ease, opacity .18s ease;
}

.quick-grid a:hover {
  opacity: 1;
  background: rgba(255, 255, 255, .15);
}

.main {
  padding-top: 52px;
}

.content-grid,
.bottom-grid {
  grid-template-columns: minmax(0, 1fr) var(--side-col);
  gap: var(--page-gap);
  margin-bottom: 48px;
}

.section-head {
  align-items: center;
  gap: 24px;
  min-height: 40px;
}

.section-head h2 {
  font-size: clamp(24px, 2.3vw, 32px);
  font-weight: 800;
  letter-spacing: 0;
}

.tabs {
  gap: 10px;
  overflow-x: auto;
  color: #3d4754;
  font-size: 14px;
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar {
  display: none;
}

.tabs a,
.filter-tabs a {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  line-height: 1.35;
  transition: background-color .18s ease, color .18s ease;
}

.tabs .active::after {
  content: none;
}

.tabs .active,
.tabs a:hover {
  color: var(--blue);
  background: #eef7ff;
}

.tabs .green {
  color: var(--green);
  background: #edfdf5;
}

.tabs .orange {
  color: var(--orange);
  background: #fff4ed;
}

.news-card,
.school-card,
.major-card,
.inner-card,
.side-card,
.filter-panel,
.result-item,
.data-card,
.attach-box,
.notice-box {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.news-card,
.school-card,
.major-card,
.inner-card,
.side-card {
  box-shadow: var(--shadow-md);
}

.two-col {
  gap: 34px;
  padding: 28px 34px 56px;
}

.rank-news li,
.file-list li {
  min-height: 52px;
}

.rank-news li::marker {
  color: var(--blue);
}

.rank-news a,
.file-list a,
.content-list a {
  color: #1f2937;
  font-size: 16px;
  font-weight: 650;
}

.rank-news span,
.file-list span,
.content-list p,
.content-list time,
.content-list span {
  color: var(--muted);
}

.more {
  bottom: 16px;
  width: auto;
  min-width: 118px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #344054;
  font-size: 14px;
  transition: background-color .18s ease, color .18s ease;
}

.more:hover {
  color: var(--blue);
  background: #eef7ff;
}

.login-panel {
  grid-template-columns: 104px repeat(4, 1fr);
  gap: 8px;
  height: auto;
  min-height: 72px;
  padding: 8px;
  border-color: #d8ebf8;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--shadow-md);
}

.login-main {
  background: linear-gradient(135deg, var(--blue), var(--teal));
}

.login-panel a {
  min-height: 54px;
  border-radius: 7px;
  color: #334155;
}

.login-panel a:hover {
  color: var(--blue);
  background: #f0f8ff;
}

.ad {
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

.ad strong {
  font-size: clamp(24px, 2.7vw, 32px);
  font-weight: 850;
}

.ad span,
.ad small {
  border-radius: 999px;
  font-size: 13px;
}

.tool-grid {
  gap: 22px;
  margin-bottom: 50px;
}

.tool-grid > .block {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--shadow-sm);
}

.tool-list {
  gap: 10px;
}

.tool-item {
  min-height: 72px;
  padding: 14px 16px 12px 58px;
  border-color: var(--line);
  box-shadow: 0 1px 0 rgba(15, 35, 56, .03);
}

.tool-item:hover,
.result-item:hover {
  border-color: rgba(15, 143, 232, .36);
  box-shadow: var(--shadow-md);
}

.tool-item > .icon-slot {
  left: 18px;
  top: 18px;
  width: 24px;
  height: 24px;
  color: var(--blue);
}

.tool-item strong {
  font-size: 16px;
  line-height: 1.35;
}

.tool-item span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.school-card,
.major-card {
  padding: 20px 22px 46px;
}

.school-item {
  min-height: 68px;
  padding: 8px 8px 8px 48px;
}

.school-logo {
  left: 8px;
  top: 10px;
  width: 34px;
  height: 34px;
  border-color: #d92d20;
  color: #b42318;
  background: #fff4f2;
}

.school-item strong {
  font-size: 15px;
}

.school-item p,
.major-list span {
  color: var(--muted);
  font-size: 12px;
}

.tag {
  margin: 0 4px 4px 0;
  padding: 2px 7px;
  border-radius: 999px;
  color: #c2410c;
  font-size: 11px;
  line-height: 18px;
  background: #fff4ed;
}

.major-list li {
  min-height: 34px;
  font-size: 14px;
}

.footer {
  border-top-color: var(--line);
  background: #eef4f8;
}

.footer-banners {
  gap: 18px;
}

.mini {
  width: 100%;
  max-width: 300px;
  height: auto;
  min-height: 72px;
  padding: 16px 18px 14px 78px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.footer-main {
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 28px;
}

.footer-cols {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px 28px;
}

.footer-col h3 {
  font-size: 14px;
}

.footer-col a {
  color: #4b5563;
  font-size: 13px;
}

.footer-bottom {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.inner-page {
  background:
    radial-gradient(circle at 0 0, rgba(15, 143, 232, .08), transparent 28%),
    #f6f8fb;
}

.inner-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(16px);
}

.inner-header .topbar {
  height: 68px;
}

.inner-main {
  padding: 26px 0 56px;
}

.breadcrumb {
  color: var(--muted);
  font-size: 14px;
}

.inner-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--page-gap);
}

.inner-card-head {
  min-height: 70px;
  gap: 18px;
  padding: 16px 24px;
}

.inner-card-head h1,
.inner-card-head h2 {
  font-size: 24px;
  font-weight: 800;
}

.category-summary {
  gap: 14px;
  padding: 20px 24px;
  background: #f8fbff;
}

.summary-stat {
  padding: 16px;
  border-radius: var(--radius);
}

.summary-stat strong {
  color: var(--blue);
  font-size: 24px;
}

.filter-tabs {
  gap: 8px;
}

.filter-tabs a.active,
.filter-tabs a:hover {
  background: var(--blue);
}

.content-list {
  padding: 10px 24px 20px;
}

.content-list li {
  min-height: 72px;
}

.list-label {
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--blue);
  background: #eef7ff;
}

.pager {
  gap: 10px;
}

.pager a {
  min-width: 38px;
  height: 38px;
  border-radius: var(--radius);
  line-height: 36px;
}

.side-card {
  padding: 20px;
}

.side-card h3 {
  font-size: 19px;
}

.side-links a {
  min-height: 42px;
  align-items: center;
  color: #344054;
}

.article {
  padding: 34px 42px 42px;
}

.article h1 {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 850;
}

.article-summary {
  border-left-color: var(--blue);
  border-radius: var(--radius);
  background: #f2f8ff;
}

.article-actions a,
.article-actions button {
  min-height: 38px;
  border-radius: var(--radius);
}

.article-body {
  color: #263241;
  font-size: 17px;
  line-height: 1.95;
  max-width: 100%;
  overflow-x: auto;
}

.library-hero {
  margin-bottom: 22px;
  padding: 34px;
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 85% 24%, rgba(255, 255, 255, .24), transparent 24%),
    linear-gradient(135deg, var(--deep-blue), var(--blue) 52%, var(--teal));
  box-shadow: var(--shadow-md);
}

.library-hero h1 {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 850;
}

.library-search {
  grid-template-columns: minmax(0, 1fr) 108px;
}

.library-search input {
  height: 46px;
  border-radius: var(--radius);
  font-size: 15px;
}

.library-search button {
  background: var(--orange);
}

.filter-panel {
  padding: 20px 24px;
}

.filter-row {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 0;
}

.filter-row div {
  gap: 8px;
}

.filter-row a {
  padding: 4px 10px;
  border-radius: 999px;
  color: #4b5563;
}

.filter-row a.active,
.filter-row a:hover {
  color: var(--blue);
  background: #eef7ff;
}

.filter-row a:focus-visible,
.filter-tabs a:focus-visible,
.tabs a:focus-visible {
  outline-offset: 2px;
}

.school-result,
.major-result {
  gap: 18px;
  padding: 22px;
}

.result-item {
  padding: 22px;
}

.result-item h3 {
  font-size: 20px;
  font-weight: 800;
}

.result-meta {
  font-size: 12px;
}

.detail-hero {
  padding: 30px 34px;
}

.detail-title h1 {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 850;
}

.detail-stat span {
  border-radius: var(--radius);
  background: #eef7ff;
}

.detail-tabs {
  height: auto;
  min-height: 56px;
  gap: 18px;
  overflow-x: auto;
}

.inner-card-head[id],
.data-grid[id],
.content-list[id],
.compact-table[id] {
  scroll-margin-top: 92px;
}

.data-grid {
  gap: 16px;
  padding: 22px;
}

.data-card {
  padding: 18px;
}

.compact-table,
.info-table {
  font-size: 14px;
}

.compact-table th,
.compact-table td,
.info-table th,
.info-table td {
  padding: 14px 16px;
}

.toast {
  border-radius: 999px;
}

.all-nav-modal {
  height: auto;
  background: rgba(4, 18, 38, .18);
}

.all-nav-panel {
  height: auto;
  max-height: min(86vh, 620px);
  overflow: auto;
  border-radius: 0 0 14px 14px;
}

.all-nav-modal.is-category,
.all-nav-modal.is-category .all-nav-panel {
  height: auto;
}

.all-nav-top {
  min-height: 68px;
  height: auto;
  gap: 20px;
  padding: 10px 0;
}

.all-nav-brand {
  margin-right: 24px;
}

.all-nav-links {
  gap: 18px;
  overflow-x: auto;
}

.all-nav-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px 34px;
  padding: 28px 0 38px;
}

.category-nav-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(var(--container), calc(100% - 48px));
  gap: 16px;
  margin: 28px auto 38px;
}

.category-nav-card {
  min-height: 64px;
  border-radius: var(--radius);
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes shimmer {
  to {
    background-position: calc(100% + 180px) 0, 0 0, 0 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.footer-banners {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 28px 0 24px;
}

.footer-banners .mini-image {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 900 / 260;
  border: 1px solid rgba(191, 219, 254, .18);
  border-radius: 8px;
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 135, 245, .12);
}

.footer-banners .mini-image::before,
.footer-banners .mini-image::after,
.footer-banners .mini::before {
  content: none;
  display: none;
}

.footer-banners .mini-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  .footer-banners .mini-image:hover {
    border-color: rgba(191, 219, 254, .36);
    box-shadow: 0 18px 38px rgba(22, 135, 245, .16);
    transform: translateY(-2px);
  }
}

@media (max-width: 900px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0 20px;
  }
}

/* Final premium line icon system */
:root {
  --icon-ink: #1674dc;
  --icon-muted: #5d7fa8;
  --icon-surface: rgba(255, 255, 255, .72);
  --icon-surface-strong: #f7fbff;
  --icon-border: rgba(22, 135, 245, .18);
  --icon-border-hover: rgba(22, 135, 245, .34);
  --icon-shadow: 0 6px 14px rgba(22, 135, 245, .08);
}

.icon-slot,
.qi.icon-slot,
i.icon-slot,
.nav-ico.icon-slot,
.search-box .icon-slot,
.login-panel .icon-slot,
.member-primary-action .icon-slot {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--icon-border);
  border-radius: 10px;
  color: var(--icon-ink);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(239, 247, 255, .92));
  box-shadow: var(--icon-shadow);
  place-items: center;
  transform: none;
  transition:
    color var(--motion-fast, 160ms) ease,
    border-color var(--motion-base, 220ms) var(--ease-out, ease),
    background var(--motion-base, 220ms) var(--ease-out, ease),
    box-shadow var(--motion-base, 220ms) var(--ease-out, ease),
    transform var(--motion-base, 220ms) var(--ease-out, ease);
  mask: none;
  -webkit-mask: none;
}

.icon-slot::before,
.qi.icon-slot::before,
i.icon-slot::before,
.nav-ico.icon-slot::before,
.search-box .icon-slot::before,
.login-panel .icon-slot::before,
.member-primary-action .icon-slot::before {
  content: none !important;
  display: none !important;
}

.icon-slot::after,
.qi.icon-slot::after,
i.icon-slot::after,
.nav-ico.icon-slot::after,
.search-box .icon-slot::after,
.login-panel .icon-slot::after,
.member-primary-action .icon-slot::after {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 54%;
  height: 54%;
  content: "" !important;
  background: currentColor;
  mask: var(--icon-url) center / contain no-repeat;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
  transform: translate(-50%, -50%);
}

.quick-grid .qi.icon-slot,
.quick-grid > a:nth-child(3n + 1) .qi.icon-slot,
.quick-grid > a:nth-child(3n + 2) .qi.icon-slot,
.quick-grid > a:nth-child(3n) .qi.icon-slot,
.quick-grid > button .qi.icon-slot {
  width: 34px;
  height: 34px;
  margin: 0 0 4px;
  border-color: rgba(255, 255, 255, .28);
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.quick-grid .qi.icon-slot::after {
  width: 58%;
  height: 58%;
}

.service-card .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.side-report-card .icon-slot,
.side-tool-grid .icon-slot,
.member-timeline .icon-slot,
.member-tool-grid .icon-slot,
.account-quick-grid .icon-slot,
.side-user-actions .icon-slot {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.tool-item > .icon-slot,
.file-list li > .icon-slot {
  width: 30px;
  height: 30px;
  border-radius: 9px;
}

.file-list li > .icon-slot {
  color: var(--icon-muted);
  border-color: rgba(100, 116, 139, .16);
  background: #fff;
  box-shadow: none;
}

.search-box .icon-slot,
.login-panel .icon-slot,
.member-primary-action .icon-slot,
.nav-ico.icon-slot {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
  box-shadow: none;
}

.search-box .icon-slot::after,
.login-panel .icon-slot::after,
.member-primary-action .icon-slot::after,
.nav-ico.icon-slot::after {
  width: 100%;
  height: 100%;
}

.service-card:nth-child(n) .icon-slot,
.tool-item:nth-child(n) > .icon-slot,
.member-tool-grid a:nth-child(n) .icon-slot,
.member-timeline a:nth-child(n) .icon-slot,
.side-tool-grid a:nth-child(n) .icon-slot,
.account-quick-grid a:nth-child(n) .icon-slot,
.side-user-actions a:nth-child(n) .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.service-green .icon-slot,
.service-orange .icon-slot {
  color: var(--icon-ink);
  border-color: var(--icon-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(239, 247, 255, .92));
  box-shadow: var(--icon-shadow);
}

.tool-item > .icon-slot {
  color: #0f7ee8;
}

.member-avatar.icon-slot {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  background: linear-gradient(135deg, #1687f5, #16b8df);
  box-shadow: 0 12px 24px rgba(22, 135, 245, .18);
}

@media (hover: hover) and (pointer: fine) {
  a:hover .icon-slot,
  button:hover .icon-slot,
  .tool-item:hover > .icon-slot,
  .service-card:hover .icon-slot,
  .side-tool-grid a:hover .icon-slot,
  .member-tool-grid a:hover .icon-slot,
  .member-timeline a:hover .icon-slot,
  .account-quick-grid a:hover .icon-slot,
  .side-user-actions a:hover .icon-slot {
    color: #0756b8;
    border-color: var(--icon-border-hover);
    background:
      linear-gradient(180deg, #ffffff, #eef7ff);
    box-shadow: 0 10px 22px rgba(22, 135, 245, .13);
    transform: translateY(-1px);
  }

  .quick-grid > a:hover .qi.icon-slot,
  .quick-grid > button:hover .qi.icon-slot {
    color: #fff;
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
    transform: none;
  }

  .search-box button:hover .icon-slot,
  .login-panel a:hover .icon-slot,
  .member-primary-action:hover .icon-slot,
  .all-nav-links a:hover .nav-ico.icon-slot {
    color: currentColor;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    transform: none;
  }
}

/* Final youthful blue theme */
:root {
  --blue: #1687f5;
  --deep-blue: #0756b8;
  --teal: #16b8df;
  --orange: #14b8d8;
  --green: #16b8df;
  --text: #162033;
  --muted: #64748b;
  --line: #dbeafe;
  --surface: #ffffff;
  --surface-soft: #f7fbff;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 135, 245, .28);
  --brand-blue: #1687f5;
  --brand-navy: #0756b8;
  --brand-teal: #16b8df;
  --brand-ink: #162033;
  --brand-gold: #60a5fa;
  --hover-border: rgba(22, 135, 245, .28);
  --hover-shadow: 0 18px 38px rgba(22, 135, 245, .13);
  --hover-soft-shadow: 0 10px 24px rgba(22, 135, 245, .10);
}

html,
body {
  background: #f6fbff;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 14% 180px, rgba(22, 184, 223, .11), transparent 260px),
    radial-gradient(circle at 88% 420px, rgba(22, 135, 245, .10), transparent 300px),
    linear-gradient(180deg, #f7fbff 0, #f4f9ff 520px, #f8fbff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 22% 92%, rgba(100, 216, 255, .24) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 36%, rgba(72, 205, 255, .40) 0 31%, transparent 32%),
    linear-gradient(132deg, #1674dc 0%, #1687f5 38%, #16a7ee 68%, #16b8df 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .13) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .11) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 29% 76%, transparent 0 24%, rgba(255, 255, 255, .16) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.top-actions .mini-program-trigger,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
a.more,
.section-head .head-more,
.paper-bank .head-more {
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  background: linear-gradient(135deg, #1687f5 0%, #16a7ee 58%, #16b8df 100%);
  box-shadow: 0 12px 26px rgba(22, 135, 245, .24);
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.top-actions .mini-program-trigger:hover,
.login-main:hover,
.primary-link:hover,
.library-search button:hover,
.search-box button:hover,
.member-primary-action:hover,
.member-code-button:hover,
.member-profile-card button:hover,
.mini-program-actions a:hover,
.article-actions button:hover,
.article-actions a:hover,
a.more:hover,
.section-head .head-more:hover,
.paper-bank .head-more:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .42);
  background: linear-gradient(135deg, #0f7ee8 0%, #1687f5 52%, #12abd5 100%);
  box-shadow: 0 16px 34px rgba(22, 135, 245, .30);
  filter: none;
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover {
  color: var(--blue);
  border-color: rgba(22, 135, 245, .22);
  background: #eef7ff;
}

.section-head h2::after,
.title-dot,
.side-card h3::before,
.inner-card h3::before {
  background: #16b8df;
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.quick-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.content-list li {
  border-color: rgba(191, 219, 254, .74);
  background-color: rgba(255, 255, 255, .96);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .quick-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(22, 135, 245, .30);
    box-shadow: 0 16px 34px rgba(22, 135, 245, .12);
  }
}

.footer-banners .mini-image {
  border-color: rgba(191, 219, 254, .92);
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 135, 245, .12);
}

@media (hover: hover) and (pointer: fine) {
  .footer-banners .mini-image:hover {
    border-color: rgba(22, 135, 245, .32);
    box-shadow: 0 18px 38px rgba(22, 135, 245, .16);
    transform: translateY(-2px);
  }
}

/* Youthful blue theme correction */
:root {
  --blue: #1687f5;
  --deep-blue: #0756b8;
  --teal: #16b8df;
  --orange: #14b8d8;
  --green: #16b8df;
  --text: #162033;
  --muted: #64748b;
  --line: #dbeafe;
  --surface: #ffffff;
  --surface-soft: #f7fbff;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 135, 245, .28);
  --brand-blue: #1687f5;
  --brand-navy: #0756b8;
  --brand-teal: #16b8df;
  --brand-ink: #162033;
  --brand-gold: #60a5fa;
  --hover-border: rgba(22, 135, 245, .28);
  --hover-shadow: 0 18px 38px rgba(22, 135, 245, .13);
  --hover-soft-shadow: 0 10px 24px rgba(22, 135, 245, .10);
}

html,
body {
  background: #f6fbff;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 14% 180px, rgba(22, 184, 223, .11), transparent 260px),
    radial-gradient(circle at 88% 420px, rgba(22, 135, 245, .10), transparent 300px),
    linear-gradient(180deg, #f7fbff 0, #f4f9ff 520px, #f8fbff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 22% 92%, rgba(100, 216, 255, .24) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 36%, rgba(72, 205, 255, .40) 0 31%, transparent 32%),
    linear-gradient(132deg, #1674dc 0%, #1687f5 38%, #16a7ee 68%, #16b8df 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .13) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .11) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 29% 76%, transparent 0 24%, rgba(255, 255, 255, .16) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.top-actions .mini-program-trigger,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
a.more,
.section-head .head-more,
.paper-bank .head-more {
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  background: linear-gradient(135deg, #1687f5 0%, #16a7ee 58%, #16b8df 100%);
  box-shadow: 0 12px 26px rgba(22, 135, 245, .24);
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.top-actions .mini-program-trigger:hover,
.login-main:hover,
.primary-link:hover,
.library-search button:hover,
.search-box button:hover,
.member-primary-action:hover,
.member-code-button:hover,
.member-profile-card button:hover,
.mini-program-actions a:hover,
.article-actions button:hover,
.article-actions a:hover,
a.more:hover,
.section-head .head-more:hover,
.paper-bank .head-more:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .42);
  background: linear-gradient(135deg, #0f7ee8 0%, #1687f5 52%, #12abd5 100%);
  box-shadow: 0 16px 34px rgba(22, 135, 245, .30);
  filter: none;
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover {
  color: var(--blue);
  border-color: rgba(22, 135, 245, .22);
  background: #eef7ff;
}

.section-head h2::after,
.title-dot,
.side-card h3::before,
.inner-card h3::before {
  background: #16b8df;
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.quick-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.content-list li {
  border-color: rgba(191, 219, 254, .74);
  background-color: rgba(255, 255, 255, .96);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .quick-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(22, 135, 245, .30);
    box-shadow: 0 16px 34px rgba(22, 135, 245, .12);
  }
}

.footer-banners .mini-image {
  border-color: rgba(191, 219, 254, .92);
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 135, 245, .12);
}

@media (hover: hover) and (pointer: fine) {
  .footer-banners .mini-image:hover {
    border-color: rgba(22, 135, 245, .32);
    box-shadow: 0 18px 38px rgba(22, 135, 245, .16);
    transform: translateY(-2px);
  }
}

.footer-banners {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 28px 0 24px;
}

.footer-banners .mini-image {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 900 / 260;
  border: 1px solid rgba(191, 219, 254, .18);
  border-radius: 8px;
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 135, 245, .12);
}

.footer-banners .mini-image::before,
.footer-banners .mini-image::after {
  content: none;
  display: none;
}

.footer-banners .mini-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  .footer-banners .mini-image:hover {
    border-color: rgba(191, 219, 254, .36);
    box-shadow: 0 18px 38px rgba(22, 135, 245, .16);
    transform: translateY(-2px);
  }
}

@media (max-width: 900px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0 20px;
  }
}

/* Refined quick entry navigation */
.quick-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(92px, 1fr));
  gap: 10px;
  width: min(920px, 100%);
  margin-top: 38px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(10, 24, 42, .18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10);
  backdrop-filter: blur(10px);
}

.quick-grid > a,
.quick-grid > button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  justify-content: start;
  min-height: 46px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
  text-shadow: none;
  background: rgba(255, 255, 255, .075);
  box-shadow: none;
  opacity: 1;
}

.quick-grid > button {
  width: 100%;
  font: inherit;
}

.quick-grid .qi.icon-slot,
.quick-grid > a:nth-child(3n + 1) .qi.icon-slot,
.quick-grid > a:nth-child(3n + 2) .qi.icon-slot,
.quick-grid > a:nth-child(3n) .qi.icon-slot,
.quick-grid > button .qi.icon-slot {
  width: 26px;
  height: 26px;
  margin: 0;
  border: 0;
  border-radius: 7px;
  color: #f8fafc;
  background: rgba(255, 255, 255, .13);
  box-shadow: none;
}

.quick-grid .qi.icon-slot::before {
  content: none !important;
}

.quick-grid .qi.icon-slot::after {
  width: 62%;
  height: 62%;
}

@media (hover: hover) and (pointer: fine) {
  .quick-grid > a:hover,
  .quick-grid > button:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 8px 18px rgba(0, 0, 0, .10);
    transform: translateY(-1px);
  }

  .quick-grid > a:hover .qi.icon-slot,
  .quick-grid > button:hover .qi.icon-slot {
    background: rgba(255, 255, 255, .20);
    box-shadow: none;
    transform: none;
  }
}

.quick-grid > a:active,
.quick-grid > button:active {
  box-shadow: none;
  transform: translateY(0);
}

.side-tool-card {
  padding: 0;
  overflow: hidden;
  border-color: rgba(20, 36, 58, .08);
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 36, 58, .06);
}

.side-tool-card::before {
  height: 3px;
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-teal));
}

.side-tool-card h3 {
  padding: 16px 16px 10px;
  font-size: 16px;
}

.side-tool-card h3::after {
  color: #94a3b8;
  content: "工具";
}

.side-tool-grid {
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0 12px 14px;
}

.side-tool-grid a,
.side-tool-grid a:nth-child(1) {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 14px;
  min-height: 48px;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid #edf1f4;
  border-radius: 8px;
  color: #263244;
  font-size: 13px;
  font-weight: 750;
  background: #f8fbff;
  box-shadow: none;
}

.side-tool-grid a::before {
  width: 0;
  content: "";
}

.side-tool-grid a::after {
  color: #b4bdc8;
  font-size: 15px;
  content: "›";
}

.side-tool-grid .icon-slot,
.side-tool-grid a:nth-child(2n) .icon-slot,
.side-tool-grid a:nth-child(3n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(22, 135, 245, .10);
  border-radius: 8px;
  color: var(--brand-teal);
  background: #eefbff;
  box-shadow: none;
}

.side-tool-grid .icon-slot::before {
  content: none !important;
}

.side-tool-grid .icon-slot::after {
  width: 58%;
  height: 58%;
}

@media (hover: hover) and (pointer: fine) {
  .side-tool-grid a:hover {
    color: var(--brand-navy);
    border-color: rgba(22, 135, 245, .20);
    background: #f8fbfa;
    box-shadow: 0 8px 18px rgba(20, 36, 58, .07);
    transform: translateY(-1px);
  }

  .side-tool-grid a:hover .icon-slot {
    color: #fff;
    background: var(--brand-teal);
    box-shadow: none;
    transform: none;
  }
}

@media (max-width: 920px) {
  .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Landed feature modules */
.member-workspace {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  margin: 0 0 36px;
}

.member-tabs,
.member-section,
.download-toolbar,
.download-card {
  border: 1px solid rgba(75, 63, 45, .10);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 42px rgba(51, 46, 38, .07);
}

.member-tabs {
  position: sticky;
  top: 18px;
  display: grid;
  align-self: start;
  gap: 8px;
  padding: 12px;
}

.member-tabs a {
  padding: 12px 14px;
  border-radius: 8px;
  color: #334155;
  font-weight: 800;
}

.member-tabs a.active,
.member-tabs a:hover {
  color: var(--brand-navy);
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
}

.member-section {
  display: none;
  min-height: 260px;
  padding: 24px;
}

.member-section.is-active {
  display: block;
}

.member-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.member-section-head span {
  display: block;
  color: var(--brand-teal);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.member-section-head h2 {
  margin: 4px 0 0;
  color: var(--brand-ink);
  font-size: 24px;
}

.member-section-head a,
.member-section-head button {
  padding: 10px 14px;
  border: 1px solid rgba(22, 135, 245, .28);
  border-radius: 8px;
  color: var(--brand-navy);
  font-weight: 800;
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
}

.member-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.member-profile-form label {
  display: grid;
  gap: 8px;
  color: #344054;
  font-weight: 800;
}

.member-profile-form input,
.member-profile-form select {
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border: 1px solid #d8e2dd;
  border-radius: 8px;
  color: var(--brand-ink);
  background: #f8fbff;
}

.member-record-list {
  display: grid;
  gap: 10px;
}

.member-record-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(22, 135, 245, .12);
  border-radius: 8px;
  background: #f8fbff;
}

.member-record-item strong {
  min-width: 0;
  color: var(--brand-ink);
  overflow-wrap: anywhere;
}

.member-record-item span,
.member-empty {
  color: var(--muted);
}

.member-empty {
  padding: 22px;
  border: 1px dashed rgba(22, 135, 245, .22);
  border-radius: 8px;
  background: #eefbff;
}

.download-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  align-items: center;
  margin: 24px 0;
  padding: 16px;
}

.download-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.download-filter button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(22, 135, 245, .16);
  border-radius: 999px;
  color: #344054;
  font-weight: 800;
  background: #fff;
}

.download-filter button.active {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-teal));
}

.download-search {
  display: grid;
  gap: 8px;
  color: #344054;
  font-weight: 800;
}

.download-search input {
  height: 44px;
  padding: 0 12px;
  border: 1px solid #d8e2dd;
  border-radius: 8px;
  background: #f8fbff;
}

.download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 36px;
}

.download-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
}

.download-card > div {
  min-width: 0;
}

.download-card strong {
  display: block;
  color: var(--brand-ink);
  font-size: 18px;
}

.download-card p {
  margin: 6px 0 14px;
  color: var(--muted);
  line-height: 1.65;
}

.download-card button {
  min-height: 40px;
  border-radius: 8px;
}

.download-card button[data-download-resource] {
  grid-column: 1 / -1;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-teal));
}

.download-card button[data-save-resource] {
  grid-column: 1 / -1;
  color: var(--brand-navy);
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
}

.download-empty {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px dashed rgba(22, 135, 245, .24);
  border-radius: 8px;
  color: var(--muted);
  background: #eefbff;
}

@media (max-width: 920px) {
  .member-workspace,
  .download-toolbar,
  .download-grid {
    grid-template-columns: 1fr;
  }

  .member-tabs {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-profile-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  :root {
    --side-col: 300px;
    --page-gap: 22px;
  }

  .tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-main,
  .footer-bottom,
  .inner-layout {
    grid-template-columns: 1fr;
  }

  .footer-bottom p {
    text-align: left;
  }

  .footer-banners {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inner-layout > aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .inner-layout > aside.rich-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inner-layout > aside .ad {
    margin-top: 0;
  }

  .inner-footer-main .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .all-nav-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .category-nav-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .wrap,
  .all-nav-inner {
    width: min(100% - 32px, var(--container));
  }

  .topbar {
    flex-wrap: wrap;
    height: auto;
    min-height: 68px;
    padding: 12px 0;
  }

  .brand {
    font-size: 18px;
  }

  .nav-links {
    order: 3;
    flex-basis: 100%;
    margin-left: 0;
    padding-bottom: 2px;
  }

  .nav-links,
  .tabs {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .nav-links::-webkit-scrollbar,
  .tabs::-webkit-scrollbar {
    display: none;
  }

  .tabs a {
    flex: 0 0 auto;
  }

  .top-actions {
    gap: 10px;
    margin-left: auto;
  }

  .top-actions a {
    display: none;
  }

  .site-hero {
    min-height: auto;
  }

  .hero-center {
    padding: 30px 0 46px;
  }

  .hero-center h1 {
    margin-top: 12px;
  }

  .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .hero-meta,
  .analysis-card {
    width: 100%;
  }

  .hero-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .service-strip,
  .analysis-board,
  .resource-hub,
  .exam-data-grid,
  .analysis-card,
  .bottom-panel-grid {
    grid-template-columns: 1fr;
  }

  .bottom-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .bottom-panel-head p {
    max-width: none;
    text-align: left;
  }

  .service-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-card,
  .ad {
    max-width: 100%;
    contain: paint;
  }

  .nav-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-grid,
  .bottom-grid {
    grid-template-columns: 1fr;
  }

  .side-top,
  .side-ads {
    padding-top: 0;
  }

  .tool-grid,
  .school-result,
  .major-result,
  .data-grid {
    grid-template-columns: 1fr;
  }

  .footer-banners,
  .footer-cols,
  .category-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-main {
    padding-top: 28px;
  }

  .qr-group {
    justify-content: flex-start;
    gap: 20px;
    padding-left: 0;
  }

  .article {
    padding: 28px 24px;
  }

  .detail-hero {
    grid-template-columns: 1fr;
  }

  .detail-stat {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 14px;
  }

  .wrap,
  .all-nav-inner {
    width: min(100% - 24px, var(--container));
  }

  body,
  .inner-page,
  .page-shell,
  .inner-main,
  .inner-card,
  .content-list,
  .content-list li,
  .content-list li > div {
    max-width: 100%;
  }

  .top-actions button {
    height: 38px;
    min-height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }

  .hero-center h1 {
    font-size: 32px;
  }

  .search-tabs {
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .search-tabs::-webkit-scrollbar {
    display: none;
  }

  .search-tabs button {
    min-width: 76px;
    height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }

  .search-box {
    height: 56px;
  }

  .search-box input {
    padding: 0 16px;
    font-size: 15px;
  }

  .search-box button {
    width: 54px;
    min-height: 56px;
  }

  .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-strip,
  .nav-hub-grid,
  .score-panel,
  .paper-links,
  .score-line-grid {
    grid-template-columns: 1fr;
  }

  .hero-stats {
    grid-template-columns: repeat(2, auto auto);
  }

  .analysis-card,
  .timeline-card,
  .rank-panel {
    padding: 20px;
  }

  .probability-row {
    grid-template-columns: 1fr;
  }

  .section-head,
  .inner-card-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .two-col,
  .school-list {
    grid-template-columns: 1fr;
  }

  .two-col {
    padding: 22px 20px 56px;
  }

  .login-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .login-main {
    grid-column: 1 / -1;
  }

  .ad {
    height: auto;
    min-height: 148px;
    padding: 24px 20px;
  }

  .footer-banners,
  .footer-cols,
  .category-summary,
  .inner-layout > aside,
  .result-meta,
  .library-search,
  .about-service-grid,
  .account-quick-grid,
  .member-hero,
  .bottom-panel-grid {
    grid-template-columns: 1fr;
  }

  .list-bottom-panel {
    margin-top: 0;
    padding: 20px;
  }

  .inner-layout > aside.rich-sidebar,
  .side-metrics,
  .inner-footer-main,
  .inner-footer-main .footer-cols {
    grid-template-columns: 1fr;
  }

  .article-toc {
    position: static;
  }

  .mini,
  .footer-banners .mini:nth-child(1),
  .footer-banners .mini:nth-child(2),
  .footer-banners .mini:nth-child(3) {
    max-width: none;
    justify-self: stretch;
  }

  .content-list li {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 14px 0;
  }

  .content-list a,
  .content-list p,
  .rank-news a,
  .file-list a {
    display: inline;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-break: break-word;
  }

  .content-list time {
    text-align: left;
  }

  .content-list p,
  .rank-news span,
  .file-list span {
    display: block;
  }

  .library-hero,
  .filter-panel,
  .result-item,
  .detail-hero {
    padding: 22px 18px;
  }

  .filter-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .detail-stat span {
    flex: 1 1 120px;
  }

  .compact-table {
    display: block;
    width: calc(100% - 24px);
    margin: 12px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .info-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .article-meta,
  .article-actions {
    flex-wrap: wrap;
  }

  .all-nav-actions {
    display: none;
  }

  .all-nav-grid,
  .category-nav-grid {
    grid-template-columns: 1fr;
  }

  .all-nav-panel {
    max-height: 100dvh;
    border-radius: 0;
  }
}

.mini-image {
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  aspect-ratio: 900 / 260;
  padding: 0;
  overflow: hidden;
  border-color: transparent;
  background: transparent;
}

.mini-image::before,
.mini-image::after {
  display: none;
}

.mini-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: fill;
}
/* Page overrides: keep this block last. */
.article-table-wrap table {
  width: max-content;
  min-width: 100%;
}

.article-body > table {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 900px) {
  .top-actions .mini-program-trigger {
    display: none;
  }

  .top-actions .login-main {
    display: inline-grid;
    min-height: 40px;
    padding-inline: 14px;
  }

  .footer-bottom,
  .footer-main,
  .inner-footer-main {
    grid-template-columns: 1fr;
  }

  .footer-cols,
  .inner-footer-main .footer-cols,
  .category-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-block: 16px;
  }

  .footer-main,
  .inner-footer-main {
    gap: 16px;
    min-height: 0;
    padding-block: 18px;
  }

  .footer-cols,
  .inner-footer-main .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
  }

  .footer-col h3 {
    margin-bottom: 6px;
  }

  .footer-col a {
    min-height: 0;
    margin-bottom: 3px;
    line-height: 1.55;
  }

  .qr-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 86px));
    justify-content: start;
    gap: 14px;
    padding-left: 0;
  }

  .qr-group span {
    width: 64px;
    height: 64px;
    margin-bottom: 6px;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
    row-gap: 10px;
    min-height: 0;
    padding-block: 14px;
  }

  .footer-bottom p {
    text-align: left;
  }

  .copyright {
    padding-bottom: 16px;
  }

  .article-table-wrap table {
    min-width: 720px;
  }

  .inner-header .topbar {
    height: auto;
    min-height: 108px;
    align-content: center;
  }

  .inner-header .nav-links {
    flex-basis: 100%;
    order: 3;
  }

  .inner-main {
    padding-top: 18px;
  }

  .info-table {
    display: table;
    width: calc(100% - 24px);
    table-layout: fixed;
    white-space: normal;
  }

  .info-table th {
    width: 96px;
  }

  .info-table th,
  .info-table td {
    padding: 12px 10px;
  }

  .detail-tabs,
  .compact-table,
  .info-table {
    scrollbar-width: none;
  }

  .detail-tabs::-webkit-scrollbar,
  .compact-table::-webkit-scrollbar,
  .info-table::-webkit-scrollbar {
    display: none;
  }
}

/* Final color system pass: intentionally last. */
:root {
  --blue: #1d4ed8;
  --deep-blue: #1e3a8a;
  --teal: #1674dc;
  --orange: #22c5d8;
  --green: #7c3aed;
  --text: #111827;
  --muted: #64748b;
  --line: #dbe7f3;
  --surface-2: #f1f6fb;
}

.login-main,
.top-actions .login-main,
.inner-header .top-actions .login-main,
.all-nav-actions .login-main,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main,
.library-search button {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #22c5d8, #14b8d8);
  box-shadow: 0 10px 22px rgba(245, 158, 11, .22);
}

.login-main:hover,
.top-actions .login-main:hover,
.inner-header .top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.library-search button:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #0f7ee8, #0891c2);
  box-shadow: 0 12px 28px rgba(217, 119, 6, .25);
}

.tabs .green,
.tabs .orange,
.tabs .active,
.tabs a:hover,
.detail-tabs a.active,
.detail-tabs a:hover,
.category-nav-card:hover,
.category-nav-card.active {
  color: var(--blue);
  background: #eff6ff;
}

.filter-tabs a.active,
.filter-tabs a:hover {
  color: #ffffff;
  background: var(--blue);
}

.list-label,
.content-list .list-label,
.tag,
.result-tags .tag,
.school-card .tag,
.result-item .tag {
  color: var(--blue);
  background: #eff6ff;
}

.school-logo {
  color: var(--deep-blue);
  border-color: #93c5fd;
  background: #eff6ff;
}

.school-item:hover {
  background: linear-gradient(90deg, rgba(239, 246, 255, .92), transparent);
}

.summary-stat strong,
.side-metrics strong,
.detail-stat strong,
.rank-head a,
.home-side-head a,
.head-more,
.breadcrumb a,
.article-next a:hover,
.side-links a:hover,
.side-rank-list a:hover,
.content-list a:hover,
.rank-news a:hover,
.file-list a:hover,
.paper-links a:hover,
.score-line-grid a:hover {
  color: var(--blue);
}

.side-rank-list li::before {
  background: #94a3b8;
}

.side-rank-list li:nth-child(-n + 3)::before {
  background: var(--blue);
}

.service-orange .icon-slot,
.service-purple .icon-slot,
.tool-item > .icon-slot {
  color: var(--blue);
}

.service-green .icon-slot,
.nav-hub-grid .icon-slot,
.side-report-orange .icon-slot {
  color: var(--teal);
}

.service-blue .icon-slot,
.side-report-card .icon-slot,
.category-nav-card .icon-slot {
  color: var(--blue);
}

.ad em {
  color: #b45309;
}

.ad span,
.ad small {
  background: var(--orange);
  box-shadow: 0 8px 18px rgba(245, 158, 11, .18);
}

.ad-pink,
.ad-yellow,
.ad-blue {
  background:
    linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(240, 253, 250, .9)),
    #ffffff;
}

.ad-pink::before,
.ad-yellow::before {
  background: linear-gradient(135deg, #bfdbfe, #ccfbf1);
}

.ad-pink::after {
  border-color: #93c5fd;
}

.footer {
  background: #f1f6fb;
}
/* EOF right-side visual alignment override. */
@media (min-width: 1121px) {
  .rich-sidebar {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .home-side,
  .side-ads,
  .rich-sidebar {
    width: 100%;
    min-width: 0;
  }

  .content-grid > .side-ads {
    padding-top: 58px !important;
    gap: 10px;
    max-width: 314px;
    justify-self: end;
  }

  .content-grid > .home-side {
    gap: 18px;
  }

  .content-grid > .side-ads > .ad.banner-image,
  .rich-sidebar > .ad.banner-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin-top: 0 !important;
  }

  .content-grid > .home-side > .banner-image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  .content-grid > .side-ads > .ad.banner-image img,
  .rich-sidebar > .ad.banner-image img,
  .home-side .banner-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    object-fit: contain;
  }

  .content-grid > .side-ads > .side-ad-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    color: #1e3a8a;
    background: linear-gradient(90deg, #eff6ff, #f8fafc);
    box-shadow: 0 10px 24px rgba(15, 74, 128, .05);
  }

  .content-grid > .side-ads > .side-ad-link strong {
    font-size: 14px;
  }

  .content-grid > .side-ads > .side-ad-link span {
    color: #64748b;
    font-size: 12px;
  }

  .content-grid .section-head {
    min-width: 0;
    overflow: hidden;
  }

  .content-grid .section-head .tabs {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .content-grid .section-head .tabs::-webkit-scrollbar {
    display: none;
  }

  .content-grid .section-head .tabs a {
    flex: 0 0 auto;
  }
}

.content-grid .file-card.two-col {
  row-gap: 14px;
  padding-bottom: 76px;
}

.material-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid #edf2f7;
}

.material-actions a {
  display: block;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  color: #1f2937;
  background: linear-gradient(180deg, #f8fbff, #f3f8ff);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.material-actions a:hover {
  border-color: rgba(37, 99, 235, .32);
  box-shadow: 0 10px 24px rgba(15, 74, 128, .07);
  transform: translateY(-1px);
}

.material-actions strong,
.material-actions span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-actions strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 750;
}

.material-actions span {
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
}

@media (max-width: 1120px) {
  .content-grid .file-card.two-col {
    padding-bottom: 70px;
  }

  .material-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Footer image banner polish: keep supplied artwork intact, no crop or stretch. */
.footer-banners {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 28px 0 24px;
  border-bottom: 1px solid rgba(148, 163, 184, .24);
}

.footer-banners .mini-image {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: auto;
  border: 1px solid rgba(191, 219, 254, .82);
  border-radius: 8px;
  background: #f8fbff;
  box-shadow: 0 10px 26px rgba(15, 74, 128, .07);
  transform: translateZ(0);
}

.footer-banners .mini-image:hover {
  border-color: rgba(37, 99, 235, .28);
  box-shadow: 0 16px 34px rgba(15, 74, 128, .1);
}

.footer-banners .mini-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 7px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0;
  }
}

/* Premium visual refresh */
:root {
  --blue: #1674dc;
  --deep-blue: #0b2f63;
  --text: #0f172a;
  --muted: #64748b;
  --line: #dbe5ef;
  --orange: #0891c2;
  --green: #1d7fd8;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 116, 220, .24);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 18px rgba(15, 23, 42, .05);
  --shadow-md: 0 16px 42px rgba(15, 23, 42, .08);
  --shadow-lg: 0 26px 70px rgba(15, 23, 42, .13);
}

html {
  background: #f4f7fb;
  scroll-behavior: smooth;
}

body {
  min-width: 0;
  color: var(--text);
  font-family: "Inter", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  background:
    linear-gradient(180deg, #f7fbff 0, #f4f7fb 430px, #f8fafc 100%);
  overflow-x: hidden;
}

.page-shell {
  min-width: 0;
}

.wrap {
  width: min(var(--container), calc(100vw - 48px));
}

a,
button,
input {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--ring);
  outline-offset: 3px;
}

.site-hero {
  height: auto;
  min-height: 560px;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(6, 33, 78, .93), rgba(12, 91, 190, .88) 48%, rgba(18, 153, 245, .78)),
    url("./assets/brand/header-bg.png") center / cover no-repeat;
}

.site-hero::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .13), transparent 20%),
    linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
  mask-image: linear-gradient(180deg, #000, transparent 86%);
}

.site-hero::after {
  top: 72px;
  background: rgba(255, 255, 255, .14);
}

.topbar {
  height: 72px;
}

.brand-logo {
  width: 196px;
  height: auto;
}

.nav-links {
  gap: 18px;
  margin-left: 48px;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
}

.nav-links a,
.top-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border-radius: 999px;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.nav-links a:hover,
.nav-links a.active,
.top-actions a:hover {
  color: #fff;
  background: rgba(255, 255, 255, .1);
}

.top-actions {
  gap: 10px;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.top-actions .mini-program-trigger,
.login-main,
.primary-link,
.library-search button,
.search-box button {
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #1674dc, #1299f5);
  box-shadow: 0 12px 24px rgba(22, 116, 220, .24);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.login-main:hover,
.primary-link:hover,
.library-search button:hover,
.search-box button:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(22, 116, 220, .3);
}

.hero-center {
  padding: 40px 0 58px;
}

.hero-center h1 {
  max-width: 820px;
  margin: 28px 0 28px;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.12;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 14px 34px rgba(2, 6, 23, .26);
}

.search-tabs {
  width: min(860px, 100%);
  height: auto;
  gap: 8px;
  margin-bottom: 10px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(15, 23, 42, .22);
  backdrop-filter: blur(16px);
}

.search-tabs button {
  flex: 1 1 0;
  width: auto;
  min-height: 42px;
  margin: 0;
  border-radius: 999px;
  color: rgba(255, 255, 255, .78);
  background: transparent;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.search-tabs button:hover,
.search-tabs .active {
  color: #0f172a;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .18);
}

.search-box {
  width: min(860px, 100%);
  height: 66px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-lg);
}

.search-box input {
  padding: 0 22px;
  color: var(--text);
  font-size: 16px;
  background: transparent;
}

.search-box button {
  width: 54px;
  height: 54px;
  background: linear-gradient(135deg, #1674dc, #1299f5);
}

.search-box button .icon-slot,
.search-box button svg {
  color: #fff;
  stroke: #fff;
}

.hero-meta {
  width: min(860px, 100%);
  gap: 18px;
  margin-top: 18px;
}

.hot-search a {
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
}

.quick-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: min(920px, 100%);
  gap: 12px;
  margin-top: 34px;
}

.quick-grid a {
  min-height: 86px;
  justify-content: center;
  padding: 14px 8px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  color: rgba(255, 255, 255, .92);
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
}

.quick-grid a:hover {
  opacity: 1;
  background: rgba(255, 255, 255, .15);
  transform: translateY(-3px);
}

.main {
  padding-top: 56px;
}

.content-grid,
.bottom-grid,
.analysis-board,
.resource-hub,
.exam-data-grid {
  gap: 28px;
  margin-bottom: 48px;
}

.section-head {
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.section-head h2 {
  font-size: 26px;
  font-weight: 750;
  letter-spacing: 0;
}

.section-head h2::after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 10px;
  border-radius: 999px;
  background: #1299f5;
  content: "";
  vertical-align: middle;
}

.tabs {
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}

.tabs a {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange {
  color: var(--blue);
  border-color: rgba(22, 116, 220, .18);
  background: #eef7ff;
}

.tabs .active::after {
  display: none;
}

.news-card,
.school-card,
.major-card,
.inner-card,
.side-card,
.analysis-card,
.timeline-card,
.rank-panel,
.home-login-card,
.home-ad-card,
.home-update-card,
.service-card,
.tool-grid > .block {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-sm);
}

.news-card:hover,
.school-card:hover,
.major-card:hover,
.inner-card:hover,
.side-card:hover,
.service-card:hover,
.tool-item:hover {
  border-color: rgba(22, 116, 220, .26);
  box-shadow: var(--shadow-md);
}

.two-col {
  column-gap: 34px;
  padding: 28px 32px 58px;
}

.rank-news li {
  min-height: 54px;
  padding: 0 0 12px 10px;
}

.rank-news li::marker {
  color: var(--blue);
  font-size: 20px;
}

.rank-news a,
.file-list a,
.content-list a {
  color: #172033;
  font-size: 15px;
  font-weight: 650;
}

.rank-news span,
.file-list span,
.content-list time,
.content-list span,
.content-list p {
  color: var(--muted);
}

.more {
  bottom: 18px;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  color: var(--blue);
  background: #eef7ff;
}

.home-side-head h2 {
  font-size: 22px;
  font-weight: 750;
}

.home-login-card {
  gap: 16px;
  padding: 20px;
  background:
    linear-gradient(145deg, rgba(22, 116, 220, .09), rgba(18, 153, 245, .07)),
    #fff;
}

.home-login-actions a,
.material-actions a,
.paper-links a,
.score-line-grid a,
.nav-hub-grid a,
.side-user-actions a,
.side-tool-grid a {
  border-radius: 8px;
  background: #f8fbff;
}

.tool-grid {
  gap: 28px;
}

.tool-list {
  gap: 12px;
}

.tool-item {
  min-height: 112px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #fff, #f9fbfd);
}

.tool-item strong {
  font-size: 17px;
}

.inner-header {
  border-bottom: 1px solid rgba(148, 163, 184, .2);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
  backdrop-filter: blur(14px);
}

.inner-header .nav-links a,
.inner-header .top-actions a {
  color: #475569;
}

.inner-header .nav-links a.active,
.inner-header .nav-links a:hover,
.inner-header .top-actions a:hover {
  color: var(--blue);
  background: #eef7ff;
}

.inner-main {
  padding-top: 34px;
}

.breadcrumb {
  color: var(--muted);
}

.detail-hero,
.library-hero {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(22, 116, 220, .11), rgba(18, 153, 245, .07)),
    #fff;
  box-shadow: var(--shadow-sm);
}

.detail-hero h1,
.library-hero h1,
.article h1 {
  letter-spacing: 0;
}

.detail-stat span,
.data-list li,
.side-metrics,
.article-meta,
.article-summary {
  border-color: rgba(148, 163, 184, .22);
  border-radius: 8px;
  background: #f8fbff;
}

.inner-card-head {
  border-bottom-color: rgba(148, 163, 184, .18);
}

.content-list li {
  border-bottom-color: rgba(148, 163, 184, .16);
}

.side-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #334155;
}

.side-links a,
.side-links span,
.side-links strong {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(22, 116, 220, .18);
  border-radius: 999px;
  color: #0b5db8;
  font-weight: 650;
  background: #eef7ff;
}

.article {
  padding: 30px;
}

.article-body {
  color: #263244;
  font-size: 16px;
  line-height: 1.82;
}

.article-actions a,
.article-actions button,
.article-next a {
  border-radius: 999px;
}

.library-search {
  height: auto;
  min-height: 58px;
  padding: 6px;
  border-color: rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.library-search input {
  min-height: 46px;
  font-size: 16px;
}

.library-search button {
  min-height: 46px;
  padding-inline: 24px;
}

.footer {
  color: #dbeafe;
  background:
    linear-gradient(180deg, #0f172a, #0b1120);
}

.footer-col h3 {
  color: #fff;
}

.footer-col a,
.footer-bottom,
.footer-bottom a {
  color: rgba(226, 232, 240, .76);
}

.footer-col a:hover,
.footer-bottom a:hover {
  color: #fff;
}

@media (max-width: 1120px) {
  .wrap {
    width: min(100% - 32px, 960px);
  }

  .content-grid,
  .bottom-grid,
  .analysis-board,
  .resource-hub,
  .exam-data-grid {
    grid-template-columns: 1fr;
  }

  .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero-meta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 14px;
  }

  .wrap {
    width: min(100% - 24px, 640px);
  }

  .topbar {
    height: auto;
    min-height: 64px;
    padding: 12px 0;
    gap: 12px;
  }

  .brand-logo {
    width: 168px;
  }

  .site-hero {
    min-height: 0;
  }

  .hero-center {
    padding: 26px 0 34px;
  }

  .hero-center h1 {
    margin: 18px 0 22px;
    font-size: 34px;
  }

  .search-tabs {
    overflow-x: auto;
    justify-content: flex-start;
    border-radius: 8px;
  }

  .search-tabs button {
    flex: 0 0 auto;
    min-width: 88px;
  }

  .search-box {
    height: 60px;
  }

  .search-box button {
    width: 48px;
    height: 48px;
  }

  .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-grid a {
    min-height: 78px;
  }

  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .tabs {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .two-col {
    grid-template-columns: 1fr;
    padding: 22px 20px 58px;
  }

  .article {
    padding: 22px 18px;
  }

  .article-body {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Brand color system */
:root {
  --blue: #1687f5;
  --deep-blue: #0756b8;
  --green: #1687f5;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 135, 245, .28);
}

.site-hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .24) 0 7%, transparent 8%),
    radial-gradient(circle at 86% 22%, rgba(108, 193, 255, .32) 0 12%, transparent 13%),
    linear-gradient(128deg, #0756b8 0%, #1674dc 46%, #1299f5 100%);
}

.site-hero::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .16), transparent 24%),
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button {
  background: linear-gradient(135deg, #1674dc, #1299f5);
  box-shadow: 0 14px 30px rgba(22, 116, 220, .28);
}

.section-head h2::after,
.exam-timeline li::before {
  background: #1687f5;
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange,
.inner-header .nav-links a.active,
.inner-header .nav-links a:hover,
.inner-header .top-actions .mini-program-trigger:hover,
.inner-header .top-actions a:hover,
.more,
.side-links a,
.side-links span,
.side-links strong {
  color: #0756b8;
  border-color: rgba(22, 135, 245, .22);
  background: #eef7ff;
}

.news-card:hover,
.school-card:hover,
.major-card:hover,
.inner-card:hover,
.side-card:hover,
.service-card:hover,
.tool-item:hover {
  border-color: rgba(22, 135, 245, .3);
}

/* Refined editorial product theme */
:root {
  --blue: #1769d2;
  --deep-blue: #0b3f8a;
  --ink: #111827;
  --muted: #64748b;
  --line: #d9e2ec;
  --accent-teal: #16b8df;
  --accent-amber: #7c8cff;
  --accent-violet: #7c8cff;
  --surface-tint: #eef5ff;
  --ring: rgba(23, 105, 210, .24);
}

body {
  background:
    linear-gradient(180deg, #f7f9fc 0, #f1f6fb 360px, #f8fafc 100%);
}

.site-hero {
  background:
    radial-gradient(circle at 16% 22%, rgba(255, 255, 255, .20) 0 7%, transparent 8%),
    radial-gradient(circle at 80% 18%, rgba(15, 159, 143, .28) 0 12%, transparent 13%),
    radial-gradient(circle at 84% 78%, rgba(196, 122, 26, .18) 0 14%, transparent 15%),
    linear-gradient(128deg, #0b3f8a 0%, #1769d2 52%, #16b8df 100%);
}

.top-actions button,
.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.member-primary-action,
.library-search button,
.search-box button {
  border: 1px solid rgba(255, 255, 255, .18);
  color: #fff;
  background: linear-gradient(135deg, #173b78, #1769d2);
  box-shadow: 0 12px 28px rgba(23, 105, 210, .22);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.top-actions button:hover,
.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.login-main:hover,
.primary-link:hover,
.member-primary-action:hover,
.library-search button:hover,
.search-box button:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .34);
  background: linear-gradient(135deg, #102f63, #16b8df);
  box-shadow: 0 16px 34px rgba(17, 24, 39, .18);
  transform: translateY(-1px);
}

.inner-header .top-actions .mini-program-trigger {
  color: #173b78;
  border-color: rgba(23, 105, 210, .16);
  background: #eef5ff;
  box-shadow: none;
}

.inner-header .top-actions .mini-program-trigger:hover {
  color: #0b3f8a;
  border-color: rgba(15, 159, 143, .28);
  background: #e9f8f5;
  box-shadow: 0 10px 24px rgba(15, 159, 143, .12);
}

.nav-links a:hover,
.nav-links button:hover,
.quick-grid a:hover,
.news-card:hover,
.school-card:hover,
.major-card:hover,
.inner-card:hover,
.side-card:hover,
.service-card:hover,
.tool-item:hover,
.result-item:hover,
.account-quick-grid a:hover,
.member-tool-grid a:hover,
.member-timeline a:hover {
  border-color: rgba(15, 159, 143, .26);
  box-shadow: 0 18px 44px rgba(17, 24, 39, .10);
  transform: translateY(-2px);
}

.icon-slot,
.qi {
  color: currentColor;
}

.quick-grid .qi,
.service-card .icon-slot,
.tool-item > .icon-slot,
.nav-hub-grid .icon-slot,
.account-quick-grid .icon-slot,
.member-tool-grid .icon-slot,
.member-timeline .icon-slot,
.side-user-actions .icon-slot,
.side-tool-grid .icon-slot,
.category-nav-card .icon-slot {
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 10px;
  color: #173b78;
  background: linear-gradient(180deg, #f8fbff, #eef5ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 20px rgba(17,24,39,.06);
}

.service-card:nth-child(2n) .icon-slot,
.tool-item:nth-child(3n + 2) > .icon-slot,
.member-tool-grid a:nth-child(2n) .icon-slot {
  color: #16b8df;
  background: linear-gradient(180deg, #f3fbff, #e6f7ff);
}

.service-card:nth-child(3n) .icon-slot,
.tool-item:nth-child(3n) > .icon-slot,
.member-tool-grid a:nth-child(3n) .icon-slot {
  color: #1674dc;
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
}

.service-orange .icon-slot,
.service-green .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.tabs .orange,
.tabs .green {
  color: inherit;
}

.service-orange::after,
.service-green::after,
.service-blue::after,
.service-purple::after {
  background: linear-gradient(90deg, var(--blue), var(--accent-teal));
}

.member-page .inner-main {
  padding-top: 34px;
}

.member-landing {
  display: grid;
  grid-template-columns: minmax(360px, .88fr) minmax(420px, 1.12fr);
  gap: 24px;
  align-items: stretch;
}

.member-login-panel,
.member-dashboard-preview,
.member-tool-grid a {
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 20px 54px rgba(17, 24, 39, .08);
}

.member-login-panel {
  padding: 34px;
}

.member-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #16b8df;
  font-size: 12px;
  font-weight: 700;
  background: #e9f8f5;
}

.member-login-panel h1 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1.18;
}

.member-login-panel p {
  margin: 0 0 24px;
  color: var(--muted);
  line-height: 1.7;
}

.member-login-form {
  display: grid;
  gap: 16px;
}

.member-login-form label {
  display: grid;
  gap: 8px;
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}

.member-login-form input[type="text"],
.member-login-form input[type="password"] {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  color: var(--ink);
  font-size: 15px;
  background: #f8fafc;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.member-login-form input:focus {
  border-color: rgba(23, 105, 210, .48);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(23, 105, 210, .10);
  outline: 0;
}

.member-form-row,
.member-alt-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--muted);
  font-size: 13px;
}

.member-check {
  display: inline-flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px !important;
  font-weight: 500 !important;
}

.member-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  border-radius: 8px;
  font-weight: 700;
}

.member-primary-action .icon-slot {
  width: 18px;
  height: 18px;
}

.member-alt-actions {
  margin-top: 18px;
}

.member-alt-actions a,
.member-form-row a {
  color: #1769d2;
}

.member-dashboard-preview {
  padding: 24px;
  background:
    radial-gradient(circle at 88% 16%, rgba(15, 159, 143, .13), transparent 28%),
    linear-gradient(180deg, #ffffff, #f8fbff);
}

.member-profile-card {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(23, 105, 210, .10);
  border-radius: 8px;
  background: #fff;
}

.member-avatar {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #173b78, #16b8df);
}

.member-profile-card strong,
.member-timeline h2 {
  color: var(--ink);
}

.member-profile-card p,
.member-timeline em,
.member-tool-grid em {
  margin: 4px 0 0;
  color: var(--muted);
  font-style: normal;
}

.member-profile-card a {
  padding: 8px 12px;
  border-radius: 999px;
  color: #16b8df;
  background: #e9f8f5;
}

.member-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 16px 0;
}

.member-stat-grid a {
  padding: 18px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
}

.member-stat-grid strong {
  display: block;
  color: #173b78;
  font-size: 28px;
  line-height: 1;
}

.member-stat-grid span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.member-timeline {
  display: grid;
  gap: 10px;
}

.member-timeline h2 {
  margin: 4px 0 2px;
  font-size: 18px;
}

.member-timeline a,
.member-tool-grid a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px 12px;
  align-items: center;
  padding: 14px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.member-timeline a {
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
}

.member-timeline .icon-slot,
.member-tool-grid .icon-slot {
  grid-row: span 2;
  width: 42px;
  height: 42px;
}

.member-tool-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 24px 0 32px;
}

.member-tool-grid strong,
.member-timeline strong {
  color: var(--ink);
}

@media (max-width: 920px) {
  .member-landing,
  .member-tool-grid {
    grid-template-columns: 1fr;
  }

  .member-login-panel,
  .member-dashboard-preview {
    padding: 22px;
  }

  .member-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* More buttons */
.news-card .more,
.school-card .more,
.major-card .more,
.material-card .more,
a.more {
  position: absolute;
  left: 50%;
  right: auto;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto;
  min-width: 126px;
  min-height: 38px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid rgba(23, 105, 210, .16);
  border-radius: 999px;
  color: #173b78;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  background: #fff;
  box-shadow: 0 10px 22px rgba(17, 24, 39, .06);
  transform: translateX(-50%);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
}

a.more span {
  color: currentColor;
  font-size: 15px;
  line-height: 1;
  transform: translateY(-.5px);
  transition: transform .18s ease;
}

a.more:hover {
  color: #16b8df;
  border-color: rgba(15, 159, 143, .34);
  background: #f3fbff;
  box-shadow: 0 16px 32px rgba(15, 159, 143, .12);
  transform: translate(-50%, -2px);
}

a.more:hover span {
  transform: translate(3px, -.5px);
}

.section-head .head-more,
.home-side-head > a,
.paper-bank .head-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 999px;
  color: #173b78;
  font-size: 13px;
  font-weight: 700;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 24, 39, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
}

.section-head .head-more:hover,
.home-side-head > a:hover,
.paper-bank .head-more:hover {
  color: #16b8df;
  border-color: rgba(15, 159, 143, .3);
  background: #f3fbff;
  box-shadow: 0 14px 28px rgba(15, 159, 143, .10);
  transform: translateY(-1px);
}

@media (max-width: 680px) {
  .news-card .more,
  .school-card .more,
  .major-card .more,
  .material-card .more,
  a.more {
    min-width: 112px;
    min-height: 36px;
    font-size: 13px;
  }
}

/* Pagination refinement */
.inner-card > .pager {
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  margin: 6px 22px 24px;
  padding: 16px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 255, .98)),
    #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .05);
}

.inner-card > .pager a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(23, 105, 210, .14);
  border-radius: 999px;
  color: #173b78;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 24, 39, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease;
}

.inner-card > .pager a.active,
.inner-card > .pager a[aria-current="page"] {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #173b78, #16b8df);
  box-shadow: 0 12px 24px rgba(23, 59, 120, .18);
}

.inner-card > .pager a:hover {
  color: #16b8df;
  border-color: rgba(15, 159, 143, .34);
  background: #f3fbff;
  box-shadow: 0 14px 26px rgba(15, 159, 143, .10);
  transform: translateY(-1px);
}

.inner-card > .pager a.active:hover,
.inner-card > .pager a[aria-current="page"]:hover {
  color: #fff;
  background: linear-gradient(135deg, #173b78, #16b8df);
}

.inner-card > .pager span,
.inner-card > .pager .pager-note {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(15, 159, 143, .16);
  border-radius: 999px;
  color: #526071;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  background: #f3fbff;
}

.inner-card > .pager .pager-note:first-child::before {
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 999px;
  background: #16b8df;
  content: "";
}

@media (max-width: 640px) {
  .inner-card > .pager {
    justify-content: flex-start;
    margin: 4px 16px 20px;
    padding: 14px;
  }

  .inner-card > .pager a {
    min-width: 38px;
    height: 38px;
  }

  .inner-card > .pager span,
  .inner-card > .pager .pager-note {
    min-height: 32px;
    font-size: 12px;
  }
}

/* Sidebar column navigation */
.side-card:has(.side-links-dense) {
  padding: 0;
  overflow: hidden;
  border-color: rgba(17, 24, 39, .08);
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 24, 39, .06);
}

.side-card:has(.side-links-dense) h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 18px 18px 14px;
  color: #111827;
  font-size: 17px;
  font-weight: 800;
  border-bottom: 1px solid rgba(17, 24, 39, .06);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.side-card:has(.side-links-dense) h3::after {
  width: 38px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #173b78, #16b8df);
  content: "";
}

.side-links.side-links-dense {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 8px;
  color: #344054;
  background: #fff;
}

.side-links.side-links-dense a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 42px;
  padding: 10px 10px 10px 14px;
  border: 0;
  border-radius: 7px;
  color: #344054;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.3;
  background: transparent;
  box-shadow: none;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.side-links.side-links-dense a::before {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(100, 116, 139, .38);
  content: "";
}

.side-links.side-links-dense a {
  grid-template-columns: 5px minmax(0, 1fr) auto;
}

.side-links.side-links-dense a span {
  justify-self: end;
  min-width: 34px;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 999px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 22px;
  text-align: center;
  background: #f8fafc;
}

.side-links.side-links-dense a:hover {
  color: #173b78;
  background: #f6f9fd;
  transform: translateX(2px);
}

.side-links.side-links-dense a:hover::before,
.side-links.side-links-dense a.is-current::before,
.side-links.side-links-dense a[aria-current="page"]::before {
  background: #16b8df;
}

.side-links.side-links-dense a.is-current,
.side-links.side-links-dense a[aria-current="page"] {
  color: #173b78;
  background: linear-gradient(90deg, rgba(23, 59, 120, .09), rgba(15, 159, 143, .07));
}

.side-links.side-links-dense a.is-current span,
.side-links.side-links-dense a[aria-current="page"] span {
  color: #16b8df;
  border-color: rgba(15, 159, 143, .18);
  background: #e9f8f5;
}

@media (max-width: 640px) {
  .side-card:has(.side-links-dense) h3 {
    padding: 16px;
  }

  .side-links.side-links-dense {
    grid-template-columns: 1fr;
  }
}

/* Footer banner sizing */
.footer-banners .mini-image {
  aspect-ratio: 900 / 260;
  background: #fff;
}

.footer-banners .mini-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Footer QR cleanup */
.qr-group {
  justify-content: flex-end;
}

.qr-group:has(> div:only-child) {
  justify-content: flex-end;
  padding-left: 0;
}

@media (max-width: 640px) {
  .qr-group,
  .qr-group:has(> div:only-child) {
    grid-template-columns: minmax(0, 86px);
    justify-content: start;
  }
}

/* Banner landing pages */
.landing-page {
  background:
    linear-gradient(180deg, #f5f8fc 0, #ffffff 420px);
}

.landing-main {
  padding: 30px 0 56px;
}

.landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 24px;
  padding: 34px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(23, 59, 120, .08), rgba(15, 159, 143, .07)),
    #fff;
  box-shadow: 0 18px 44px rgba(17, 24, 39, .07);
}

.landing-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: #16b8df;
  font-weight: 800;
  background: #e9f8f5;
}

.landing-hero h1 {
  margin: 18px 0 12px;
  color: #111827;
  font-size: 38px;
  line-height: 1.2;
}

.landing-hero p {
  max-width: 720px;
  margin: 0;
  color: #526071;
  font-size: 16px;
  line-height: 1.75;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.landing-actions a,
.landing-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(23, 105, 210, .14);
  border-radius: 999px;
  font-weight: 800;
  background: #fff;
}

.landing-panel {
  padding: 22px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background: #fff;
}

.landing-panel strong {
  display: block;
  margin-bottom: 12px;
  color: #111827;
  font-size: 18px;
}

.landing-panel ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.landing-panel li {
  padding: 10px 12px;
  border-radius: 7px;
  color: #344054;
  background: #f8fbff;
}

.landing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.landing-grid a {
  min-height: 128px;
  padding: 20px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(17, 24, 39, .05);
}

.landing-grid strong,
.landing-grid span {
  display: block;
}

.landing-grid strong {
  color: #111827;
  font-size: 18px;
}

.landing-grid span {
  margin-top: 8px;
  color: #64748b;
}

.landing-form {
  display: grid;
  gap: 14px;
}

.landing-form label {
  display: grid;
  gap: 6px;
  color: #344054;
  font-weight: 700;
}

.landing-form input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #d8e6f4;
  border-radius: 7px;
  outline: 0;
}

@media (max-width: 900px) {
  .landing-hero,
  .landing-grid {
    grid-template-columns: 1fr;
  }

  .landing-hero {
    padding: 24px;
  }

  .landing-hero h1 {
    font-size: 30px;
  }
}

/* Premium sidebar tools */
.side-tool-card {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-color: rgba(17, 24, 39, .08);
  background:
    linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 16px 36px rgba(17, 24, 39, .07);
}

.side-tool-card::before {
  display: block;
  height: 4px;
  background: linear-gradient(90deg, #173b78, #16b8df, #7c8cff);
  content: "";
}

.side-tool-card h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 17px 18px 12px;
  color: #111827;
  font-size: 17px;
  font-weight: 850;
}

.side-tool-card h3::after {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  content: "常用工具";
}

.side-tool-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0 12px 14px;
}

.side-tool-grid a {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  justify-content: stretch;
  min-height: 64px;
  padding: 11px 12px;
  overflow: hidden;
  border: 1px solid rgba(17, 24, 39, .07);
  border-radius: 8px;
  color: #172033;
  font-size: 14px;
  font-weight: 800;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 24, 39, .045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.side-tool-grid a::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 999px;
  background: transparent;
  content: "";
}

.side-tool-grid a::after {
  justify-self: end;
  color: #94a3b8;
  font-size: 18px;
  font-weight: 400;
  content: ">";
}

.side-tool-grid .icon-slot {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: #173b78;
  background:
    linear-gradient(180deg, #f8fbff, #eef5ff);
}

.side-tool-grid a span:not(.icon-slot) {
  min-width: 0;
}

.side-tool-grid a .icon-slot + span,
.side-tool-grid a > span:not(.icon-slot):last-child {
  display: block;
}

.side-tool-grid a[href*="schools"]::before,
.side-tool-grid a[href*="school-plan"]::before {
  background: #173b78;
}

.side-tool-grid a[href*="kygjx"]::before {
  background: #16b8df;
}

.side-tool-grid a[href*="fsmd"]::before,
.side-tool-grid a[href*="lqmd"]::before {
  background: #7c8cff;
}

.side-tool-grid a[href*="tjgg"]::before,
.side-tool-grid a[href*="majors"]::before {
  background: #7c8cff;
}

.side-tool-grid a:hover {
  color: #173b78;
  border-color: rgba(23, 59, 120, .18);
  background:
    linear-gradient(90deg, rgba(23, 59, 120, .05), rgba(15, 159, 143, .04)),
    #fff;
  box-shadow: 0 14px 28px rgba(17, 24, 39, .08);
  transform: translateY(-1px);
}

.side-tool-grid a:hover::after {
  color: #16b8df;
}

.side-tool-grid a:nth-child(1) {
  min-height: 74px;
  background:
    linear-gradient(135deg, rgba(23, 59, 120, .09), rgba(15, 159, 143, .05)),
    #fff;
}

.side-tool-grid a:nth-child(1)::after {
  color: #16b8df;
}

@media (max-width: 1120px) {
  .side-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .side-tool-grid {
    grid-template-columns: 1fr;
  }
}

/* Member SMS auth */
.member-page:not(.is-member-authenticated) .member-dashboard-preview,
.member-page:not(.is-member-authenticated) .member-tool-grid {
  display: none;
}

.member-page:not(.is-member-authenticated) .member-landing {
  grid-template-columns: minmax(0, 560px);
  justify-content: center;
}

.member-page.is-member-authenticated .member-login-panel {
  display: none;
}

.member-page.is-member-authenticated .member-landing {
  grid-template-columns: minmax(0, 1fr);
}

.member-login-form input[type="tel"] {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  color: var(--ink);
  font-size: 15px;
  background: #f8fafc;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.member-code-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 118px;
  gap: 10px;
}

.member-code-button {
  height: 46px;
  border: 1px solid rgba(23, 59, 120, .16);
  border-radius: 8px;
  color: #173b78;
  font-size: 14px;
  font-weight: 800;
  background: linear-gradient(180deg, #ffffff, #eef5ff);
  box-shadow: 0 8px 18px rgba(23, 59, 120, .08);
}

.member-code-button:hover {
  border-color: rgba(15, 159, 143, .32);
  color: #16b8df;
  background: #ffffff;
  transform: translateY(-1px);
}

.member-code-button:disabled {
  color: #94a3b8;
  cursor: not-allowed;
  background: #f1f5f9;
  box-shadow: none;
  transform: none;
}

.member-login-message {
  min-height: 20px;
  margin: -4px 0 0;
  color: #c2410c;
  font-size: 13px;
  line-height: 1.5;
}

.member-login-message.is-success {
  color: #16b8df;
}

.member-profile-card button {
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  color: #173b78;
  font-weight: 800;
  background: #eef5ff;
}

.member-profile-card button:hover {
  color: #16b8df;
  background: #e9f8f5;
}

@media (max-width: 520px) {
  .member-code-input {
    grid-template-columns: 1fr;
  }

  .member-code-button {
    width: 100%;
  }
}

/* Refined multi-tone brand palette */
:root {
  --blue: #1687f5;
  --deep-blue: #0756b8;
  --text: #162033;
  --ink: #162033;
  --muted: #64748b;
  --line: #dbeafe;
  --orange: #14b8d8;
  --green: #16b8df;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 135, 245, .28);
  --brand-navy: #0756b8;
  --brand-ink: #162033;
  --brand-teal: #16b8df;
  --brand-gold: #60a5fa;
  --brand-clay: #38bdf8;
  --brand-plum: #7c8cff;
  --brand-paper: #f7fbff;
  --brand-cream: #f4efe7;
  --brand-mist: #eefbff;
}

body {
  background:
    linear-gradient(180deg, #f8fbff 0%, #f1f7ff 46%, #f8faf9 100%);
}

.site-hero {
  background:
    radial-gradient(ellipse at 22% 92%, rgba(100, 216, 255, .24) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 36%, rgba(72, 205, 255, .40) 0 31%, transparent 32%),
    linear-gradient(132deg, #1674dc 0%, #1687f5 38%, #16a7ee 68%, #16b8df 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 39%, rgba(22, 135, 245, .16) 40% 45%, transparent 46%),
    linear-gradient(124deg, transparent 0 53%, rgba(91, 85, 127, .22) 54% 59%, transparent 60%),
    radial-gradient(ellipse at 33% 78%, transparent 0 23%, rgba(22, 135, 245, .18) 24% 33%, transparent 34%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.home-login-card .login-main,
.side-login-card .login-main,
.member-primary-action,
.primary-link {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-teal));
  box-shadow: 0 12px 24px rgba(20, 56, 111, .18);
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.home-login-card .login-main:hover,
.side-login-card .login-main:hover,
.member-primary-action:hover,
.primary-link:hover {
  background: linear-gradient(135deg, #0f7ee8, #16b8df);
  box-shadow: 0 16px 30px rgba(22, 135, 245, .22);
}

.search-tabs .active,
.tabs .active,
.pager a.active,
.pager a:hover,
.filter-row .active,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: var(--brand-navy);
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
  border-color: rgba(22, 135, 245, .34);
}

.search-tabs button:hover,
.tabs a:hover,
.filter-row a:hover,
.side-links a:hover {
  color: var(--brand-teal);
  background: #eefbff;
  border-color: rgba(22, 135, 245, .24);
}

.section-title h2::before,
.section-title strong::before,
.tabs .active::after,
.content-list li::before,
.side-card h3::before {
  background: linear-gradient(180deg, var(--brand-gold), var(--brand-teal));
}

.news-card,
.school-card,
.major-card,
.content-list,
.side-card,
.member-login-panel,
.member-dashboard-preview,
.member-tool-grid a,
.landing-card,
.landing-form,
.landing-grid a {
  border-color: rgba(75, 63, 45, .10);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(251, 250, 247, .94));
  box-shadow: 0 18px 42px rgba(51, 46, 38, .07);
}

.news-card:hover,
.school-card:hover,
.major-card:hover,
.content-list li:hover,
.landing-grid a:hover,
.member-tool-grid a:hover,
.member-timeline a:hover {
  border-color: rgba(22, 135, 245, .25);
  box-shadow: 0 20px 46px rgba(51, 46, 38, .10);
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span {
  color: var(--brand-plum);
  background: #eaf4ff;
}

.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: var(--brand-teal);
  background: #eefbff;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: var(--brand-clay);
  background: #eef7ff;
}

.service-blue .icon-slot,
.service-purple .icon-slot,
.member-avatar,
.side-tool-grid .icon-slot,
.member-timeline .icon-slot,
.member-tool-grid .icon-slot {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-plum));
}

.service-green .icon-slot,
.side-tool-grid a:nth-child(2n) .icon-slot,
.member-tool-grid a:nth-child(2n) .icon-slot {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-teal), #67e8f9);
}

.service-orange .icon-slot,
.side-tool-grid a:nth-child(3n) .icon-slot,
.member-tool-grid a:nth-child(3n) .icon-slot {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-gold), var(--brand-clay));
}

.side-tool-card::before,
.footer-banners .mini::before,
.landing-hero::before {
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-teal), var(--brand-gold), var(--brand-plum));
}

.side-tool-grid a:nth-child(1),
.member-stat-grid a,
.member-timeline a {
  background:
    linear-gradient(135deg, rgba(22, 135, 245, .10), rgba(22, 135, 245, .06)),
    #fff;
}

.side-tool-grid a:hover {
  color: var(--brand-navy);
  border-color: rgba(22, 135, 245, .28);
  background:
    linear-gradient(90deg, rgba(22, 135, 245, .08), rgba(22, 135, 245, .05)),
    #fff;
}

.footer {
  background:
    linear-gradient(180deg, #0b2a55 0%, #08213f 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #93c5fd;
}

.mini-program-actions a,
.member-code-button,
.member-profile-card button,
.member-profile-card a,
a.more {
  color: var(--brand-navy);
  background: linear-gradient(180deg, #f7fbff, #eaf4ff);
  border-color: rgba(22, 135, 245, .28);
}

.mini-program-actions a:hover,
.member-code-button:hover,
.member-profile-card button:hover,
.member-profile-card a:hover,
a.more:hover {
  color: var(--brand-teal);
  background: #eefbff;
  border-color: rgba(22, 135, 245, .26);
}

input:focus,
textarea:focus,
select:focus,
.member-login-form input:focus,
.landing-form input:focus {
  border-color: rgba(22, 135, 245, .42);
  box-shadow: 0 0 0 4px rgba(22, 135, 245, .10);
}

/* Premium icon system */
.icon-slot,
.qi.icon-slot,
i.icon-slot {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, var(--brand-navy), var(--brand-teal));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .42),
    0 12px 22px rgba(20, 56, 111, .18);
  place-items: center;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  mask: none;
  -webkit-mask: none;
}

.icon-slot::before,
.icon-slot::after,
.qi.icon-slot::before,
.qi.icon-slot::after,
.nav-ico.icon-slot::before,
.nav-ico.icon-slot::after {
  position: absolute;
  content: "" !important;
  pointer-events: none;
}

.icon-slot::before,
.qi.icon-slot::before {
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .36), transparent 42%),
    radial-gradient(circle at 74% 78%, rgba(255, 255, 255, .18), transparent 38%);
}

.icon-slot::after,
.qi.icon-slot::after {
  width: 52%;
  height: 52%;
  background: currentColor;
  mask: var(--icon-url) center / contain no-repeat;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
}

a:hover .icon-slot,
button:hover .icon-slot,
.tool-item:hover > .icon-slot,
.service-card:hover .icon-slot,
.side-tool-grid a:hover .icon-slot,
.member-tool-grid a:hover .icon-slot,
.member-timeline a:hover .icon-slot {
  border-color: rgba(255, 255, 255, .75);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .52),
    0 16px 30px rgba(22, 135, 245, .20);
  transform: translateY(-1px);
}

.quick-grid .qi.icon-slot {
  width: 42px;
  height: 42px;
  margin-bottom: 2px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, .10));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .46),
    0 14px 24px rgba(0, 0, 0, .16);
}

.quick-grid a:nth-child(3n + 1) .qi.icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .48), transparent 34%),
    linear-gradient(135deg, #1687f5, #16b8df);
}

.quick-grid a:nth-child(3n + 2) .qi.icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .48), transparent 34%),
    linear-gradient(135deg, #3aa0ff, #7c8cff);
}

.quick-grid a:nth-child(3n) .qi.icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .48), transparent 34%),
    linear-gradient(135deg, #16b8df, #1687f5);
}

.service-card .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.side-report-card .icon-slot,
.side-tool-grid .icon-slot,
.member-timeline .icon-slot,
.member-tool-grid .icon-slot {
  width: 46px;
  height: 46px;
  border-radius: 14px;
}

.tool-item > .icon-slot,
.file-list li > .icon-slot {
  width: 34px;
  height: 34px;
  border-radius: 11px;
}

.tool-item > .icon-slot {
  left: 14px;
  top: 12px;
}

.file-list li > .icon-slot {
  left: -4px;
  top: -3px;
}

.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > .icon-slot,
.member-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, var(--brand-navy), var(--brand-teal));
}

.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > .icon-slot,
.member-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, var(--brand-gold), var(--brand-clay));
}

.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > .icon-slot,
.member-tool-grid a:nth-child(4n + 3) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, var(--brand-plum), var(--brand-navy));
}

.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > .icon-slot,
.member-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .44), transparent 34%),
    linear-gradient(135deg, var(--brand-teal), #67e8f9);
}

.search-box .icon-slot,
.login-panel .icon-slot,
.member-primary-action .icon-slot,
.nav-ico.icon-slot {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.search-box .icon-slot::before,
.login-panel .icon-slot::before,
.member-primary-action .icon-slot::before,
.nav-ico.icon-slot::before {
  content: none !important;
}

.search-box .icon-slot::after,
.login-panel .icon-slot::after,
.member-primary-action .icon-slot::after,
.nav-ico.icon-slot::after {
  width: 100%;
  height: 100%;
}

.nav-ico.icon-slot {
  opacity: .88;
}

.all-nav-links a:hover .nav-ico.icon-slot {
  color: var(--brand-teal);
  opacity: 1;
}

.member-avatar.icon-slot {
  width: 54px;
  height: 54px;
  border-radius: 16px;
}

/* Unified login button states */
.login-main,
.top-actions .login-main,
.inner-header .top-actions .login-main,
.all-nav-actions .login-main,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  border: 1px solid rgba(255, 255, 255, .26);
  color: #fff;
  background:
    linear-gradient(135deg, #1687f5 0%, #16a7ee 58%, #16b8df 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    0 14px 28px rgba(22, 135, 245, .24);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, filter .18s ease;
}

.login-main:hover,
.top-actions .login-main:hover,
.inner-header .top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.home-login-card .login-main:hover,
.side-login-card .login-main:hover,
.member-hero .login-main:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .38);
  background:
    linear-gradient(135deg, #0f7ee8 0%, #1687f5 52%, #12abd5 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 18px 34px rgba(22, 135, 245, .30);
  filter: none;
  transform: translateY(-1px);
}

.login-main:active,
.top-actions .login-main:active,
.inner-header .top-actions .login-main:active,
.all-nav-actions .login-main:active,
.home-login-card .login-main:active,
.side-login-card .login-main:active,
.member-hero .login-main:active {
  color: #fff;
  border-color: rgba(255, 255, 255, .34);
  background:
    linear-gradient(135deg, #0b72d8 0%, #1674dc 52%, #109fc8 100%);
  box-shadow:
    inset 0 2px 8px rgba(6, 18, 36, .22),
    0 8px 18px rgba(20, 56, 111, .18);
  transform: translateY(0);
}

.login-main:focus-visible,
.top-actions .login-main:focus-visible,
.inner-header .top-actions .login-main:focus-visible,
.all-nav-actions .login-main:focus-visible,
.home-login-card .login-main:focus-visible,
.side-login-card .login-main:focus-visible,
.member-hero .login-main:focus-visible {
  outline: 3px solid rgba(22, 135, 245, .30);
  outline-offset: 3px;
}

/* Unified hover and press interactions */
:root {
  --motion-fast: 160ms;
  --motion-base: 220ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --hover-border: rgba(22, 135, 245, .28);
  --hover-shadow: 0 18px 38px rgba(22, 135, 245, .13);
  --hover-soft-shadow: 0 10px 24px rgba(22, 135, 245, .10);
}

a[href],
button,
[role="button"],
input[type="submit"],
input[type="button"] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
a.more,
.section-head .head-more,
.paper-bank .head-more {
  will-change: transform, box-shadow;
  transition:
    transform var(--motion-base) var(--ease-out),
    box-shadow var(--motion-base) var(--ease-out),
    border-color var(--motion-base) var(--ease-out),
    background var(--motion-base) var(--ease-out),
    color var(--motion-fast) ease,
    opacity var(--motion-fast) ease;
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.quick-grid a,
.side-tool-grid a,
.side-links a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.footer-banners .mini-image,
.content-list li {
  will-change: transform, box-shadow;
  transition:
    transform var(--motion-base) var(--ease-out),
    box-shadow var(--motion-base) var(--ease-out),
    border-color var(--motion-base) var(--ease-out),
    background var(--motion-base) var(--ease-out),
    color var(--motion-fast) ease,
    opacity var(--motion-fast) ease;
}

.tabs a,
.search-tabs button,
.filter-row a,
.filter-tabs a,
.detail-tabs a,
.pager a,
.side-links.side-links-dense a,
.footer-col a,
.footer-bottom a,
.rank-news a,
.file-list a,
.paper-links a,
.score-line-grid a,
.hot-search a {
  transition:
    transform var(--motion-base) var(--ease-out),
    box-shadow var(--motion-base) var(--ease-out),
    border-color var(--motion-base) var(--ease-out),
    background var(--motion-base) var(--ease-out),
    color var(--motion-fast) ease;
}

@media (hover: hover) and (pointer: fine) {
  button:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover,
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover {
    filter: none;
    transform: translateY(-2px);
  }

  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .quick-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .footer-banners .mini-image:hover {
    border-color: var(--hover-border);
    box-shadow: var(--hover-shadow);
    transform: translateY(-3px);
  }

  .content-list li:hover,
  .side-tool-grid a:hover,
  .side-links.side-links-dense a:hover {
    border-color: rgba(22, 135, 245, .24);
    box-shadow: var(--hover-soft-shadow);
    transform: translateY(-1px);
  }

  .tabs a:hover,
  .search-tabs button:hover,
  .filter-row a:hover,
  .filter-tabs a:hover,
  .detail-tabs a:hover,
  .pager a:hover {
    color: var(--brand-navy);
    border-color: rgba(22, 135, 245, .26);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(237, 244, 242, .96));
    box-shadow: 0 8px 18px rgba(22, 135, 245, .10);
    transform: translateY(-1px);
  }

  .footer-col a:hover,
  .footer-bottom a:hover,
  .rank-news a:hover,
  .file-list a:hover,
  .paper-links a:hover,
  .score-line-grid a:hover,
  .hot-search a:hover {
    color: var(--brand-teal);
    transform: translateX(2px);
  }
}

button:active,
.login-main:active,
.primary-link:active,
.library-search button:active,
.search-box button:active,
.member-primary-action:active,
.member-code-button:active,
.member-profile-card button:active,
.mini-program-actions a:active,
.article-actions button:active,
.article-actions a:active,
a.more:active,
.news-card:active,
.school-card:active,
.major-card:active,
.material-card:active,
.service-card:active,
.tool-item:active,
.result-item:active,
.side-tool-grid a:active,
.member-tool-grid a:active,
.member-timeline a:active,
.quick-grid a:active,
.landing-grid a:active {
  box-shadow: 0 6px 16px rgba(22, 135, 245, .10);
  transform: translateY(0) scale(.985);
}

a:focus-visible,
button:focus-visible,
.tabs a:focus-visible,
.search-tabs button:focus-visible,
.filter-row a:focus-visible,
.filter-tabs a:focus-visible,
.detail-tabs a:focus-visible,
.pager a:focus-visible,
.side-tool-grid a:focus-visible,
.member-tool-grid a:focus-visible {
  outline: 3px solid rgba(22, 135, 245, .28);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  button,
  a,
  .news-card,
  .school-card,
  .major-card,
  .material-card,
  .service-card,
  .tool-item,
  .result-item,
  .side-card,
  .inner-card,
  .category-nav-card,
  .nav-hub-grid a,
  .quick-grid a,
  .side-tool-grid a,
  .member-tool-grid a,
  .member-timeline a,
  .content-list li {
    transition-duration: .01ms !important;
  }

  button:hover,
  a:hover,
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .quick-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .content-list li:hover {
    transform: none !important;
  }
}
.footer-banners {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 28px 0 24px;
}

.footer-banners .mini-image {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 900 / 260;
  border: 1px solid rgba(191, 219, 254, .18);
  border-radius: 8px;
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 135, 245, .12);
}

.footer-banners .mini-image::before,
.footer-banners .mini-image::after,
.footer-banners .mini::before {
  content: none;
  display: none;
}

.footer-banners .mini-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  .footer-banners .mini-image:hover {
    border-color: rgba(191, 219, 254, .36);
    box-shadow: 0 18px 38px rgba(22, 135, 245, .16);
    transform: translateY(-2px);
  }
}

@media (max-width: 900px) {
  .footer-banners {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0 20px;
  }
}
/* Final premium line icon system */
:root {
  --icon-ink: #1674dc;
  --icon-muted: #5d7fa8;
  --icon-border: rgba(22, 135, 245, .18);
  --icon-border-hover: rgba(22, 135, 245, .34);
  --icon-shadow: 0 6px 14px rgba(22, 135, 245, .08);
}

.icon-slot,
.qi.icon-slot,
i.icon-slot,
.nav-ico.icon-slot,
.search-box .icon-slot,
.login-panel .icon-slot,
.member-primary-action .icon-slot {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--icon-border);
  border-radius: 10px;
  color: var(--icon-ink);
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(239, 247, 255, .92));
  box-shadow: var(--icon-shadow);
  place-items: center;
  transform: none;
  transition:
    color var(--motion-fast, 160ms) ease,
    border-color var(--motion-base, 220ms) var(--ease-out, ease),
    background var(--motion-base, 220ms) var(--ease-out, ease),
    box-shadow var(--motion-base, 220ms) var(--ease-out, ease),
    transform var(--motion-base, 220ms) var(--ease-out, ease);
  mask: none;
  -webkit-mask: none;
}

.icon-slot::before,
.qi.icon-slot::before,
i.icon-slot::before,
.nav-ico.icon-slot::before,
.search-box .icon-slot::before,
.login-panel .icon-slot::before,
.member-primary-action .icon-slot::before {
  content: none !important;
  display: none !important;
}

.icon-slot::after,
.qi.icon-slot::after,
i.icon-slot::after,
.nav-ico.icon-slot::after,
.search-box .icon-slot::after,
.login-panel .icon-slot::after,
.member-primary-action .icon-slot::after {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 54%;
  height: 54%;
  content: "" !important;
  background: currentColor;
  mask: var(--icon-url) center / contain no-repeat;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
  transform: translate(-50%, -50%);
}

.quick-grid .qi.icon-slot,
.quick-grid > a:nth-child(3n + 1) .qi.icon-slot,
.quick-grid > a:nth-child(3n + 2) .qi.icon-slot,
.quick-grid > a:nth-child(3n) .qi.icon-slot,
.quick-grid > button .qi.icon-slot {
  width: 34px;
  height: 34px;
  margin: 0 0 4px;
  border-color: rgba(255, 255, 255, .28);
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.quick-grid .qi.icon-slot::after {
  width: 58%;
  height: 58%;
}

.service-card .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.side-report-card .icon-slot,
.side-tool-grid .icon-slot,
.member-timeline .icon-slot,
.member-tool-grid .icon-slot,
.account-quick-grid .icon-slot,
.side-user-actions .icon-slot {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.tool-item > .icon-slot,
.file-list li > .icon-slot {
  width: 30px;
  height: 30px;
  border-radius: 9px;
}

.file-list li > .icon-slot {
  color: var(--icon-muted);
  border-color: rgba(100, 116, 139, .16);
  background: #fff;
  box-shadow: none;
}

.search-box .icon-slot,
.login-panel .icon-slot,
.member-primary-action .icon-slot,
.nav-ico.icon-slot {
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
  box-shadow: none;
}

.search-box .icon-slot::after,
.login-panel .icon-slot::after,
.member-primary-action .icon-slot::after,
.nav-ico.icon-slot::after {
  width: 100%;
  height: 100%;
}

.service-card:nth-child(n) .icon-slot,
.tool-item:nth-child(n) > .icon-slot,
.member-tool-grid a:nth-child(n) .icon-slot,
.member-timeline a:nth-child(n) .icon-slot,
.side-tool-grid a:nth-child(n) .icon-slot,
.account-quick-grid a:nth-child(n) .icon-slot,
.side-user-actions a:nth-child(n) .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.service-green .icon-slot,
.service-orange .icon-slot {
  color: var(--icon-ink);
  border-color: var(--icon-border);
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(239, 247, 255, .92));
  box-shadow: var(--icon-shadow);
}

.member-avatar.icon-slot {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  background: linear-gradient(135deg, #1687f5, #16b8df);
  box-shadow: 0 12px 24px rgba(22, 135, 245, .18);
}

@media (hover: hover) and (pointer: fine) {
  a:hover .icon-slot,
  button:hover .icon-slot,
  .tool-item:hover > .icon-slot,
  .service-card:hover .icon-slot,
  .side-tool-grid a:hover .icon-slot,
  .member-tool-grid a:hover .icon-slot,
  .member-timeline a:hover .icon-slot,
  .account-quick-grid a:hover .icon-slot,
  .side-user-actions a:hover .icon-slot {
    color: #0756b8;
    border-color: var(--icon-border-hover);
    background: linear-gradient(180deg, #ffffff, #eef7ff);
    box-shadow: 0 10px 22px rgba(22, 135, 245, .13);
    transform: translateY(-1px);
  }

  .quick-grid > a:hover .qi.icon-slot,
  .quick-grid > button:hover .qi.icon-slot {
    color: #fff;
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
    transform: none;
  }

  .search-box button:hover .icon-slot,
  .login-panel a:hover .icon-slot,
  .member-primary-action:hover .icon-slot,
  .all-nav-links a:hover .nav-ico.icon-slot {
    color: currentColor;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    transform: none;
  }
}

/* Final restrained more-link interaction */
a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(22, 135, 245, .18);
  border-radius: 999px;
  color: #1674dc;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  background: rgba(238, 247, 255, .72);
  box-shadow: none;
  filter: none;
  transform: none;
  transition:
    color 160ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

a.more span {
  display: inline-block;
  margin-left: 0;
  color: currentColor;
  line-height: 1;
  transform: translateX(0);
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #0756b8;
    border-color: rgba(22, 135, 245, .30);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 135, 245, .10);
    filter: none;
    transform: none;
  }

  a.more:hover span {
    transform: translateX(2px);
  }
}

a.more:active,
.section-head .head-more:active,
.paper-bank .head-more:active,
.head-more:active {
  color: #0756b8;
  background: #eef7ff;
  box-shadow: none;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  a.more,
  a.more span,
  .section-head .head-more,
  .paper-bank .head-more,
  .head-more {
    transition-duration: .01ms !important;
    transform: none !important;
  }
}

/* Final campus blue color system */
:root {
  --blue: #1674dc;
  --deep-blue: #0b56c5;
  --teal: #06b6d4;
  --green: #f97316;
  --orange: #06b6d4;
  --text: #102033;
  --ink: #102033;
  --muted: #64748b;
  --line: #dbeafe;
  --surface: #ffffff;
  --surface-soft: #f7fbff;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 116, 220, .26);
  --brand-blue: #1674dc;
  --brand-navy: #0b56c5;
  --brand-teal: #06b6d4;
  --brand-ink: #102033;
  --brand-gold: #60a5fa;
  --brand-clay: #38bdf8;
  --brand-plum: #4f8dff;
  --brand-paper: #f7fbff;
  --brand-mist: #eef7ff;
  --accent-teal: #06b6d4;
  --accent-amber: #60a5fa;
  --accent-violet: #4f8dff;
  --hover-border: rgba(22, 116, 220, .28);
  --hover-shadow: 0 18px 38px rgba(22, 116, 220, .12);
  --hover-soft-shadow: 0 10px 24px rgba(22, 116, 220, .09);
  --icon-ink: #1674dc;
  --icon-muted: #5d7fa8;
  --icon-border: rgba(22, 116, 220, .16);
  --icon-border-hover: rgba(22, 116, 220, .32);
  --icon-shadow: 0 6px 14px rgba(22, 116, 220, .07);
}

html,
body {
  background: #f6fbff;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 12% 160px, rgba(6, 182, 212, .11), transparent 280px),
    radial-gradient(circle at 88% 420px, rgba(22, 116, 220, .10), transparent 320px),
    linear-gradient(180deg, #f8fcff 0, #f3f9ff 520px, #f8fbff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 20% 92%, rgba(103, 232, 249, .23) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 34%, rgba(125, 211, 252, .34) 0 31%, transparent 32%),
    linear-gradient(132deg, #145fd4 0%, #1674dc 38%, #1597e6 68%, #06b6d4 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .13) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .11) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 29% 76%, transparent 0 24%, rgba(255, 255, 255, .16) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.top-actions .mini-program-trigger,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #fff;
  border-color: rgba(255, 255, 255, .26);
  background: linear-gradient(135deg, #1674dc 0%, #1687f5 54%, #06b6d4 100%);
  box-shadow: 0 14px 28px rgba(22, 116, 220, .22);
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.top-actions .mini-program-trigger:hover,
.login-main:hover,
.primary-link:hover,
.library-search button:hover,
.search-box button:hover,
.member-primary-action:hover,
.member-code-button:hover,
.member-profile-card button:hover,
.mini-program-actions a:hover,
.article-actions button:hover,
.article-actions a:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .38);
  background: linear-gradient(135deg, #0b63ce 0%, #1674dc 52%, #0891c2 100%);
  box-shadow: 0 18px 34px rgba(22, 116, 220, .28);
  filter: none;
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(191, 219, 254, .78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 252, 255, .96));
  box-shadow: 0 14px 34px rgba(30, 64, 175, .07);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(22, 116, 220, .28);
    box-shadow: 0 18px 40px rgba(22, 116, 220, .11);
  }
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #0b56c5;
  border-color: rgba(22, 116, 220, .20);
  background: #eef7ff;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #0b56c5;
  background: #eef7ff;
}

.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #0f7b8f;
  background: #ecfeff;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: #2563eb;
  background: #eff6ff;
}

.section-head h2::after,
.section-title h2::before,
.section-title strong::before,
.tabs .active::after,
.content-list li::before,
.side-card h3::before,
.inner-card h3::before,
.title-dot {
  background: linear-gradient(180deg, #1674dc, #06b6d4);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #1674dc;
  border-color: rgba(22, 116, 220, .18);
  background: rgba(238, 247, 255, .78);
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #0b56c5;
    border-color: rgba(22, 116, 220, .30);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 116, 220, .10);
  }
}

.icon-slot,
.qi.icon-slot,
i.icon-slot {
  color: #1674dc;
  border-color: rgba(22, 116, 220, .16);
  background: linear-gradient(180deg, #ffffff, #eef7ff);
  box-shadow: 0 6px 14px rgba(22, 116, 220, .07);
}

.quick-grid .qi.icon-slot {
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.footer {
  background: linear-gradient(180deg, #0b2a55 0%, #08213f 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #93c5fd;
}

.footer-banners .mini-image {
  border-color: rgba(191, 219, 254, .92);
  background: #f4fbff;
  box-shadow: 0 14px 30px rgba(22, 116, 220, .11);
}

input:focus,
textarea:focus,
select:focus,
.member-login-form input:focus,
.landing-form input:focus {
  border-color: rgba(22, 116, 220, .42);
  box-shadow: 0 0 0 4px rgba(22, 116, 220, .10);
}

/* Final balanced youth palette */
:root {
  --blue: #2563eb;
  --deep-blue: #1d4ed8;
  --teal: #06b6d4;
  --green: #f97316;
  --orange: #f97316;
  --violet: #8b5cf6;
  --text: #111827;
  --ink: #111827;
  --muted: #64748b;
  --line: #e5e7eb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-tint: #f1f5f9;
  --ring: rgba(37, 99, 235, .24);
  --brand-blue: #2563eb;
  --brand-navy: #1d4ed8;
  --brand-teal: #06b6d4;
  --brand-green: #f97316;
  --brand-violet: #8b5cf6;
  --brand-coral: #f97316;
  --brand-gold: #f59e0b;
  --brand-clay: #fb923c;
  --brand-plum: #8b5cf6;
  --brand-ink: #111827;
  --brand-paper: #f8fafc;
  --brand-mist: #f1f5f9;
  --accent-teal: #06b6d4;
  --accent-amber: #f59e0b;
  --accent-violet: #8b5cf6;
  --hover-border: rgba(37, 99, 235, .24);
  --hover-shadow: 0 18px 38px rgba(15, 23, 42, .10);
  --hover-soft-shadow: 0 10px 24px rgba(15, 23, 42, .08);
  --icon-ink: #2563eb;
  --icon-muted: #64748b;
  --icon-border: rgba(148, 163, 184, .24);
  --icon-border-hover: rgba(37, 99, 235, .28);
  --icon-shadow: 0 6px 14px rgba(15, 23, 42, .06);
}

html,
body {
  background: #f8fafc;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 10% 160px, rgba(249, 115, 22, .10), transparent 270px),
    radial-gradient(circle at 82% 300px, rgba(139, 92, 246, .09), transparent 310px),
    radial-gradient(circle at 78% 720px, rgba(249, 115, 22, .06), transparent 300px),
    linear-gradient(180deg, #fbfdff 0, #f8fafc 520px, #fbfdff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 17% 90%, rgba(249, 115, 22, .26) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 34%, rgba(139, 92, 246, .28) 0 31%, transparent 32%),
    radial-gradient(ellipse at 74% 88%, rgba(249, 115, 22, .16) 0 22%, transparent 23%),
    linear-gradient(132deg, #2563eb 0%, #4f46e5 46%, #06b6d4 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .12) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .10) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 30% 76%, transparent 0 24%, rgba(255, 255, 255, .15) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action {
  color: #fff;
  border-color: rgba(255, 255, 255, .26);
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 58%, #06b6d4 100%);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .22);
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, .18);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover {
    color: #fff;
    background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 54%, #0891b2 100%);
    box-shadow: 0 18px 34px rgba(37, 99, 235, .28);
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover {
    color: #7c3aed;
    border-color: rgba(249, 115, 22, .26);
    background: #fff7ed;
    box-shadow: 0 10px 22px rgba(249, 115, 22, .10);
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(226, 232, 240, .95);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 250, 252, .96));
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(37, 99, 235, .18);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .09);
  }
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.tabs .green,
.filter-row .green {
  color: #7c3aed;
  border-color: rgba(249, 115, 22, .22);
  background: #fff7ed;
}

.tabs .orange,
.filter-row .orange {
  color: #c2410c;
  border-color: rgba(249, 115, 22, .22);
  background: #fff7ed;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #1d4ed8;
  background: #eff6ff;
}

.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #7c3aed;
  background: #fff7ed;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: #6d28d9;
  background: #f5f3ff;
}

.tag:nth-child(4n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(4n) {
  color: #c2410c;
  background: #fff7ed;
}

.main > section:nth-of-type(4n + 1) .section-head h2::after,
.main > section:nth-of-type(4n + 1) .side-card h3::before {
  background: linear-gradient(180deg, #2563eb, #06b6d4);
}

.main > section:nth-of-type(4n + 2) .section-head h2::after,
.main > section:nth-of-type(4n + 2) .side-card h3::before {
  background: linear-gradient(180deg, #f97316, #06b6d4);
}

.main > section:nth-of-type(4n + 3) .section-head h2::after,
.main > section:nth-of-type(4n + 3) .side-card h3::before {
  background: linear-gradient(180deg, #8b5cf6, #4f46e5);
}

.main > section:nth-of-type(4n) .section-head h2::after,
.main > section:nth-of-type(4n) .side-card h3::before {
  background: linear-gradient(180deg, #f97316, #f59e0b);
}

.section-title h2::before,
.section-title strong::before,
.content-list li::before,
.inner-card h3::before,
.title-dot {
  background: linear-gradient(180deg, #f97316, #06b6d4);
}

.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > .icon-slot,
.member-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot {
  color: #2563eb;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > .icon-slot,
.member-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot {
  color: #7c3aed;
  border-color: rgba(249, 115, 22, .20);
  background: #fff7ed;
}

.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > .icon-slot,
.member-tool-grid a:nth-child(4n + 3) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  color: #7c3aed;
  border-color: rgba(139, 92, 246, .20);
  background: #f5f3ff;
}

.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > .icon-slot,
.member-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot {
  color: #ea580c;
  border-color: rgba(249, 115, 22, .20);
  background: #fff7ed;
}

.quick-grid > a:nth-child(4n + 1) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 1) .qi.icon-slot {
  color: #fff;
  background: rgba(37, 99, 235, .18);
}

.quick-grid > a:nth-child(4n + 2) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 2) .qi.icon-slot {
  color: #fff;
  background: rgba(249, 115, 22, .20);
}

.quick-grid > a:nth-child(4n + 3) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 3) .qi.icon-slot {
  color: #fff;
  background: rgba(139, 92, 246, .20);
}

.quick-grid > a:nth-child(4n) .qi.icon-slot,
.quick-grid > button:nth-child(4n) .qi.icon-slot {
  color: #fff;
  background: rgba(249, 115, 22, .18);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #1d4ed8;
  border-color: rgba(148, 163, 184, .28);
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #7c3aed;
    border-color: rgba(249, 115, 22, .28);
    background: #fff7ed;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .10);
  }
}

.footer {
  background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #67e8f9;
}

.footer-banners .mini-image {
  border-color: rgba(226, 232, 240, .92);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}

/* Final Dewu-inspired monochrome mint theme */
:root {
  --blue: #00d6b9;
  --deep-blue: #111827;
  --teal: #00d6b9;
  --green: #00d6b9;
  --orange: #00d6b9;
  --violet: #111827;
  --text: #111827;
  --ink: #111827;
  --muted: #667085;
  --line: #e5e7eb;
  --surface: #ffffff;
  --surface-soft: #f7f8fa;
  --surface-tint: #eefdfa;
  --ring: rgba(0, 214, 185, .26);
  --brand-blue: #00d6b9;
  --brand-navy: #111827;
  --brand-teal: #00d6b9;
  --brand-green: #00d6b9;
  --brand-violet: #111827;
  --brand-coral: #00d6b9;
  --brand-gold: #00d6b9;
  --brand-clay: #00d6b9;
  --brand-plum: #111827;
  --brand-ink: #111827;
  --brand-paper: #f7f8fa;
  --brand-mist: #eefdfa;
  --accent-teal: #00d6b9;
  --accent-amber: #00d6b9;
  --accent-violet: #111827;
  --hover-border: rgba(0, 214, 185, .32);
  --hover-shadow: 0 18px 38px rgba(17, 24, 39, .10);
  --hover-soft-shadow: 0 10px 24px rgba(17, 24, 39, .08);
  --icon-ink: #111827;
  --icon-muted: #667085;
  --icon-border: rgba(17, 24, 39, .12);
  --icon-border-hover: rgba(0, 214, 185, .38);
  --icon-shadow: 0 6px 14px rgba(17, 24, 39, .06);
}

html,
body {
  background: #f7f8fa;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 12% 160px, rgba(0, 214, 185, .12), transparent 300px),
    radial-gradient(circle at 88% 340px, rgba(17, 24, 39, .06), transparent 320px),
    linear-gradient(180deg, #ffffff 0, #f7f8fa 520px, #ffffff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 20% 88%, rgba(0, 214, 185, .26) 0 28%, transparent 29%),
    radial-gradient(ellipse at 86% 34%, rgba(255, 255, 255, .13) 0 31%, transparent 32%),
    linear-gradient(132deg, #090f1a 0%, #111827 52%, #00bfa8 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(0, 214, 185, .18) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .10) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 30% 76%, transparent 0 24%, rgba(0, 214, 185, .14) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action {
  color: #ffffff;
  border-color: rgba(0, 214, 185, .34);
  background: linear-gradient(135deg, #111827 0%, #172033 62%, #00bfa8 100%);
  box-shadow: 0 14px 28px rgba(17, 24, 39, .20);
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #111827;
  border-color: rgba(17, 24, 39, .12);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(17, 24, 39, .06);
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover {
    background: linear-gradient(135deg, #050b14 0%, #111827 58%, #00d6b9 100%);
    box-shadow: 0 18px 34px rgba(0, 214, 185, .18);
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover {
    color: #0f766e;
    border-color: rgba(0, 214, 185, .34);
    background: #eefdfa;
    box-shadow: 0 10px 22px rgba(0, 214, 185, .12);
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(17, 24, 39, .08);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 248, 250, .97));
  box-shadow: 0 14px 34px rgba(17, 24, 39, .07);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(0, 214, 185, .28);
    box-shadow: 0 18px 40px rgba(17, 24, 39, .10);
  }
}

.tabs .active,
.tabs a:hover,
.tabs .green,
.tabs .orange,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #111827;
  border-color: rgba(0, 214, 185, .28);
  background: #eefdfa;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #111827;
  background: #eefdfa;
}

.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #0f766e;
  background: #e6fffb;
}

.tag:nth-child(3n),
.tag:nth-child(4n),
.result-tags .tag:nth-child(3n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(3n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(3n),
.major-card .tag:nth-child(4n) {
  color: #344054;
  background: #f2f4f7;
}

.main > section:nth-of-type(n) .section-head h2::after,
.main > section:nth-of-type(n) .side-card h3::before,
.section-title h2::before,
.section-title strong::before,
.content-list li::before,
.inner-card h3::before,
.title-dot {
  background: linear-gradient(180deg, #111827, #00d6b9);
}

.service-card:nth-child(n) .icon-slot,
.tool-item:nth-child(n) > .icon-slot,
.member-tool-grid a:nth-child(n) .icon-slot,
.side-tool-grid a:nth-child(n) .icon-slot {
  color: #111827;
  border-color: rgba(0, 214, 185, .24);
  background: #eefdfa;
}

.quick-grid > a:nth-child(n) .qi.icon-slot,
.quick-grid > button:nth-child(n) .qi.icon-slot {
  background: rgba(0, 214, 185, .20);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #111827;
  border-color: rgba(17, 24, 39, .14);
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #0f766e;
    border-color: rgba(0, 214, 185, .32);
    background: #eefdfa;
    box-shadow: 0 8px 18px rgba(0, 214, 185, .12);
  }
}

.icon-slot,
.qi.icon-slot,
i.icon-slot {
  color: #111827;
  border-color: rgba(0, 214, 185, .24);
  background: linear-gradient(180deg, #ffffff, #eefdfa);
  box-shadow: 0 6px 14px rgba(17, 24, 39, .06);
}

.quick-grid .qi.icon-slot {
  color: #fff;
  border-color: rgba(255, 255, 255, .24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.footer {
  background: linear-gradient(180deg, #111827 0%, #050b14 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #00d6b9;
}

.footer-banners .mini-image {
  border-color: rgba(17, 24, 39, .10);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(17, 24, 39, .08);
}

/* Final Dewu minimal commerce theme */
:root {
  --blue: #00e6c3;
  --deep-blue: #0b0f14;
  --teal: #00e6c3;
  --green: #00e6c3;
  --orange: #00e6c3;
  --violet: #0b0f14;
  --text: #111318;
  --ink: #0b0f14;
  --muted: #6b7280;
  --line: #e8eaee;
  --surface: #ffffff;
  --surface-soft: #f6f7f9;
  --surface-tint: #f2fffc;
  --ring: rgba(0, 230, 195, .28);
  --brand-blue: #00e6c3;
  --brand-navy: #0b0f14;
  --brand-teal: #00e6c3;
  --brand-green: #00e6c3;
  --brand-violet: #0b0f14;
  --brand-coral: #00e6c3;
  --brand-gold: #00e6c3;
  --brand-clay: #00e6c3;
  --brand-plum: #0b0f14;
  --brand-ink: #0b0f14;
  --brand-paper: #f6f7f9;
  --brand-mist: #f2fffc;
  --accent-teal: #00e6c3;
  --accent-amber: #00e6c3;
  --accent-violet: #0b0f14;
  --hover-border: rgba(0, 230, 195, .38);
  --hover-shadow: 0 18px 40px rgba(11, 15, 20, .10);
  --hover-soft-shadow: 0 10px 24px rgba(11, 15, 20, .08);
  --icon-ink: #0b0f14;
  --icon-muted: #737985;
  --icon-border: rgba(11, 15, 20, .10);
  --icon-border-hover: rgba(0, 230, 195, .44);
  --icon-shadow: 0 8px 18px rgba(11, 15, 20, .06);
}

html,
body {
  background: #f6f7f9 !important;
}

body {
  color: #111318;
  background: linear-gradient(180deg, #ffffff 0, #f6f7f9 460px, #ffffff 100%) !important;
}

.site-hero {
  color: #111318 !important;
  background:
    linear-gradient(90deg, rgba(0, 230, 195, .16) 0 1px, transparent 1px) 0 0 / 42px 42px,
    linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%) !important;
  border-bottom: 1px solid rgba(11, 15, 20, .08);
}

.site-hero::before,
.site-hero::after {
  opacity: .08 !important;
  background: #00e6c3 !important;
}

.site-hero h1,
.site-hero p,
.brand,
.site-hero .brand,
.nav-links a,
.nav-links button,
.top-actions a,
.all-nav-links a {
  color: #111318;
}

.nav-links a:hover,
.nav-links button:hover,
.top-actions a:hover,
.all-nav-links a:hover,
.inner-header .nav-links a.active,
.inner-header .nav-links a:hover {
  color: #0b0f14;
  background: #f2fffc;
  border-color: rgba(0, 230, 195, .36);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  color: #ffffff !important;
  border-color: #0b0f14 !important;
  background: #0b0f14 !important;
  box-shadow: 0 14px 28px rgba(11, 15, 20, .18) !important;
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
.secondary-link,
.ghost-link {
  color: #0b0f14 !important;
  border-color: rgba(11, 15, 20, .12) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(11, 15, 20, .05) !important;
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover,
  .home-login-card .login-main:hover,
  .side-login-card .login-main:hover,
  .member-hero .login-main:hover {
    transform: translateY(-1px);
    color: #0b0f14 !important;
    border-color: #00e6c3 !important;
    background: #00e6c3 !important;
    box-shadow: 0 16px 34px rgba(0, 230, 195, .22) !important;
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover,
  .secondary-link:hover,
  .ghost-link:hover {
    color: #0b0f14 !important;
    border-color: rgba(0, 230, 195, .44) !important;
    background: #f2fffc !important;
    box-shadow: 0 12px 24px rgba(11, 15, 20, .08) !important;
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(11, 15, 20, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(11, 15, 20, .06) !important;
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #0b0f14 !important;
  border-color: rgba(0, 230, 195, .38) !important;
  background: #f2fffc !important;
}

.tabs .green,
.tabs .orange,
.filter-row .green,
.filter-row .orange,
.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #0b0f14 !important;
  background: #f2fffc !important;
  border-color: rgba(0, 230, 195, .22) !important;
}

.tag:nth-child(2n),
.tag:nth-child(3n),
.tag:nth-child(4n),
.result-tags .tag:nth-child(2n),
.result-tags .tag:nth-child(3n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(2n),
.school-card .tag:nth-child(3n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(2n),
.major-card .tag:nth-child(3n),
.major-card .tag:nth-child(4n) {
  color: #333842 !important;
  background: #f6f7f9 !important;
}

.main > section .section-head h2::after,
.main > section .side-card h3::before,
.all-nav-grid h3::after {
  background: #00e6c3 !important;
}

.service-card .icon-slot,
.service-orange .icon-slot,
.service-green .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.tool-item > .icon-slot,
.member-tool-grid a .icon-slot,
.side-tool-grid a .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.account-quick-grid .icon-slot,
.side-report-card .icon-slot,
.side-report-orange .icon-slot {
  color: #0b0f14 !important;
  border-color: rgba(11, 15, 20, .10) !important;
  background: #f6f7f9 !important;
  box-shadow: none !important;
}

.quick-grid > a .qi.icon-slot,
.quick-grid > button .qi.icon-slot,
.search-box .icon-slot,
.login-panel .icon-slot,
.file-list li > .icon-slot {
  color: #0b0f14 !important;
  background: #f2fffc !important;
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #0b0f14 !important;
  border-color: rgba(11, 15, 20, .12) !important;
  background: #ffffff !important;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    transform: translateY(-1px);
    color: #0b0f14 !important;
    border-color: rgba(0, 230, 195, .48) !important;
    background: #f2fffc !important;
    box-shadow: 0 10px 22px rgba(11, 15, 20, .08) !important;
  }
}

.footer {
  background: #0b0f14 !important;
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #00e6c3 !important;
}

.footer-banners .mini-image {
  border-color: rgba(11, 15, 20, .10) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(11, 15, 20, .07) !important;
}

/* Final iris violet theme */
:root {
  --blue: #7c3aed;
  --deep-blue: #5b21b6;
  --teal: #38bdf8;
  --green: #ec4899;
  --orange: #ec4899;
  --violet: #7c3aed;
  --text: #111827;
  --ink: #111827;
  --muted: #64748b;
  --line: #e5e7eb;
  --surface: #ffffff;
  --surface-soft: #fafaff;
  --surface-tint: #f5f3ff;
  --ring: rgba(124, 58, 237, .24);
  --brand-blue: #7c3aed;
  --brand-navy: #5b21b6;
  --brand-teal: #38bdf8;
  --brand-green: #ec4899;
  --brand-violet: #7c3aed;
  --brand-coral: #ec4899;
  --brand-gold: #a78bfa;
  --brand-clay: #ec4899;
  --brand-plum: #7c3aed;
  --brand-ink: #111827;
  --brand-paper: #fafaff;
  --brand-mist: #f5f3ff;
  --accent-teal: #38bdf8;
  --accent-amber: #ec4899;
  --accent-violet: #7c3aed;
  --hover-border: rgba(124, 58, 237, .24);
  --hover-shadow: 0 18px 38px rgba(88, 28, 135, .12);
  --hover-soft-shadow: 0 10px 24px rgba(88, 28, 135, .09);
  --icon-ink: #7c3aed;
  --icon-muted: #64748b;
  --icon-border: rgba(167, 139, 250, .26);
  --icon-border-hover: rgba(124, 58, 237, .32);
  --icon-shadow: 0 6px 14px rgba(88, 28, 135, .07);
}

html,
body {
  background: #fafaff;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 12% 160px, rgba(236, 72, 153, .09), transparent 280px),
    radial-gradient(circle at 86% 310px, rgba(124, 58, 237, .12), transparent 330px),
    radial-gradient(circle at 76% 760px, rgba(56, 189, 248, .09), transparent 300px),
    linear-gradient(180deg, #ffffff 0, #fafaff 520px, #ffffff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 16% 88%, rgba(236, 72, 153, .22) 0 28%, transparent 29%),
    radial-gradient(ellipse at 84% 34%, rgba(167, 139, 250, .34) 0 31%, transparent 32%),
    radial-gradient(ellipse at 76% 86%, rgba(56, 189, 248, .18) 0 22%, transparent 23%),
    linear-gradient(132deg, #7c3aed 0%, #6d28d9 48%, #38bdf8 100%);
}

.site-hero::before {
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .13) 39% 44%, transparent 45%),
    linear-gradient(124deg, transparent 0 51%, rgba(255, 255, 255, .10) 52% 57%, transparent 58%),
    radial-gradient(ellipse at 30% 76%, transparent 0 24%, rgba(255, 255, 255, .15) 25% 34%, transparent 35%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action {
  color: #fff;
  border-color: rgba(255, 255, 255, .26);
  background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 62%, #38bdf8 100%);
  box-shadow: 0 14px 28px rgba(124, 58, 237, .22);
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #6d28d9;
  border-color: rgba(167, 139, 250, .28);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(88, 28, 135, .06);
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover {
    background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 58%, #0ea5e9 100%);
    box-shadow: 0 18px 34px rgba(124, 58, 237, .28);
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover {
    color: #be185d;
    border-color: rgba(236, 72, 153, .28);
    background: #fdf2f8;
    box-shadow: 0 10px 22px rgba(236, 72, 153, .10);
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(226, 232, 240, .96);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(250, 250, 255, .97));
  box-shadow: 0 14px 34px rgba(88, 28, 135, .06);
}

@media (hover: hover) and (pointer: fine) {
  .news-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .service-card:hover,
  .tool-item:hover,
  .result-item:hover,
  .side-card:hover,
  .inner-card:hover,
  .category-nav-card:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .member-timeline a:hover,
  .account-quick-grid a:hover,
  .landing-grid a:hover,
  .content-list li:hover {
    border-color: rgba(124, 58, 237, .20);
    box-shadow: 0 18px 40px rgba(88, 28, 135, .09);
  }
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #6d28d9;
  border-color: rgba(124, 58, 237, .20);
  background: #f5f3ff;
}

.tabs .green,
.filter-row .green,
.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #be185d;
  border-color: rgba(236, 72, 153, .22);
  background: #fdf2f8;
}

.tabs .orange,
.filter-row .orange,
.tag:nth-child(4n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(4n) {
  color: #0369a1;
  border-color: rgba(56, 189, 248, .28);
  background: #f0f9ff;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #6d28d9;
  background: #f5f3ff;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: #4f46e5;
  background: #eef2ff;
}

.main > section:nth-of-type(4n + 1) .section-head h2::after,
.main > section:nth-of-type(4n + 1) .side-card h3::before {
  background: linear-gradient(180deg, #7c3aed, #38bdf8);
}

.main > section:nth-of-type(4n + 2) .section-head h2::after,
.main > section:nth-of-type(4n + 2) .side-card h3::before {
  background: linear-gradient(180deg, #ec4899, #7c3aed);
}

.main > section:nth-of-type(4n + 3) .section-head h2::after,
.main > section:nth-of-type(4n + 3) .side-card h3::before {
  background: linear-gradient(180deg, #a78bfa, #6d28d9);
}

.main > section:nth-of-type(4n) .section-head h2::after,
.main > section:nth-of-type(4n) .side-card h3::before {
  background: linear-gradient(180deg, #38bdf8, #7c3aed);
}

.section-title h2::before,
.section-title strong::before,
.content-list li::before,
.inner-card h3::before,
.title-dot {
  background: linear-gradient(180deg, #7c3aed, #38bdf8);
}

.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > .icon-slot,
.member-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot {
  color: #7c3aed;
  border-color: rgba(124, 58, 237, .22);
  background: #f5f3ff;
}

.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > .icon-slot,
.member-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot {
  color: #be185d;
  border-color: rgba(236, 72, 153, .24);
  background: #fdf2f8;
}

.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > .icon-slot,
.member-tool-grid a:nth-child(4n + 3) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  color: #4f46e5;
  border-color: rgba(99, 102, 241, .22);
  background: #eef2ff;
}

.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > .icon-slot,
.member-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot {
  color: #0369a1;
  border-color: rgba(56, 189, 248, .28);
  background: #f0f9ff;
}

.quick-grid > a:nth-child(4n + 1) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 1) .qi.icon-slot {
  background: rgba(124, 58, 237, .18);
}

.quick-grid > a:nth-child(4n + 2) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 2) .qi.icon-slot {
  background: rgba(236, 72, 153, .18);
}

.quick-grid > a:nth-child(4n + 3) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 3) .qi.icon-slot {
  background: rgba(99, 102, 241, .18);
}

.quick-grid > a:nth-child(4n) .qi.icon-slot,
.quick-grid > button:nth-child(4n) .qi.icon-slot {
  background: rgba(56, 189, 248, .18);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #6d28d9;
  border-color: rgba(167, 139, 250, .28);
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #be185d;
    border-color: rgba(236, 72, 153, .28);
    background: #fdf2f8;
    box-shadow: 0 8px 18px rgba(236, 72, 153, .10);
  }
}

.icon-slot,
.qi.icon-slot,
i.icon-slot {
  color: #7c3aed;
  border-color: rgba(167, 139, 250, .26);
  background: linear-gradient(180deg, #ffffff, #f5f3ff);
  box-shadow: 0 6px 14px rgba(88, 28, 135, .07);
}

.quick-grid .qi.icon-slot {
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.footer {
  background: linear-gradient(180deg, #1e1b4b 0%, #111827 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #c4b5fd;
}

.footer-banners .mini-image {
  border-color: rgba(226, 232, 240, .92);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(88, 28, 135, .08);
}

/* Final no-green academy palette */
:root {
  --blue: #2563eb;
  --deep-blue: #1d4ed8;
  --teal: #38bdf8;
  --green: #f97316;
  --orange: #f59e0b;
  --violet: #8b5cf6;
  --text: #111827;
  --ink: #111827;
  --muted: #64748b;
  --line: #e5e7eb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-tint: #f1f5f9;
  --ring: rgba(37, 99, 235, .24);
  --brand-blue: #2563eb;
  --brand-navy: #1d4ed8;
  --brand-teal: #38bdf8;
  --brand-green: #f97316;
  --brand-violet: #8b5cf6;
  --brand-coral: #fb7185;
  --brand-gold: #f59e0b;
  --brand-clay: #f97316;
  --brand-plum: #8b5cf6;
  --brand-ink: #111827;
  --brand-paper: #f8fafc;
  --brand-mist: #f1f5f9;
  --accent-teal: #38bdf8;
  --accent-amber: #f59e0b;
  --accent-violet: #8b5cf6;
  --hover-border: rgba(37, 99, 235, .22);
  --hover-shadow: 0 18px 38px rgba(15, 23, 42, .09);
  --hover-soft-shadow: 0 10px 24px rgba(15, 23, 42, .07);
  --icon-ink: #2563eb;
  --icon-muted: #64748b;
  --icon-border: rgba(148, 163, 184, .24);
  --icon-border-hover: rgba(37, 99, 235, .28);
  --icon-shadow: 0 6px 14px rgba(15, 23, 42, .06);
}

html,
body {
  background: #f8fafc;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 12% 160px, rgba(251, 113, 133, .10), transparent 280px),
    radial-gradient(circle at 86% 310px, rgba(139, 92, 246, .10), transparent 320px),
    radial-gradient(circle at 78% 760px, rgba(245, 158, 11, .11), transparent 300px),
    linear-gradient(180deg, #ffffff 0, #f8fafc 520px, #ffffff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 16% 88%, rgba(251, 113, 133, .22) 0 28%, transparent 29%),
    radial-gradient(ellipse at 84% 34%, rgba(139, 92, 246, .32) 0 31%, transparent 32%),
    radial-gradient(ellipse at 76% 86%, rgba(245, 158, 11, .18) 0 22%, transparent 23%),
    linear-gradient(132deg, #2563eb 0%, #4f46e5 48%, #38bdf8 100%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action {
  color: #fff;
  border-color: rgba(255, 255, 255, .26);
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 62%, #38bdf8 100%);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .22);
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #4f46e5;
  border-color: rgba(148, 163, 184, .26);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 58%, #0ea5e9 100%);
    box-shadow: 0 18px 34px rgba(37, 99, 235, .28);
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover {
    color: #be123c;
    border-color: rgba(251, 113, 133, .30);
    background: #fff1f2;
    box-shadow: 0 10px 22px rgba(251, 113, 133, .10);
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(226, 232, 240, .96);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 250, 252, .97));
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.tabs .green,
.filter-row .green,
.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #be123c;
  border-color: rgba(251, 113, 133, .24);
  background: #fff1f2;
}

.tabs .orange,
.filter-row .orange,
.tag:nth-child(4n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(4n) {
  color: #92400e;
  border-color: rgba(245, 158, 11, .32);
  background: #fffbeb;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #1d4ed8;
  background: #eff6ff;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: #6d28d9;
  background: #f5f3ff;
}

.main > section:nth-of-type(4n + 1) .section-head h2::after,
.main > section:nth-of-type(4n + 1) .side-card h3::before {
  background: linear-gradient(180deg, #2563eb, #38bdf8);
}

.main > section:nth-of-type(4n + 2) .section-head h2::after,
.main > section:nth-of-type(4n + 2) .side-card h3::before {
  background: linear-gradient(180deg, #fb7185, #f97316);
}

.main > section:nth-of-type(4n + 3) .section-head h2::after,
.main > section:nth-of-type(4n + 3) .side-card h3::before {
  background: linear-gradient(180deg, #8b5cf6, #4f46e5);
}

.main > section:nth-of-type(4n) .section-head h2::after,
.main > section:nth-of-type(4n) .side-card h3::before {
  background: linear-gradient(180deg, #f59e0b, #fb7185);
}

.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > .icon-slot,
.member-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot {
  color: #2563eb;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > .icon-slot,
.member-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot {
  color: #be123c;
  border-color: rgba(251, 113, 133, .26);
  background: #fff1f2;
}

.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > .icon-slot,
.member-tool-grid a:nth-child(4n + 3) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  color: #7c3aed;
  border-color: rgba(139, 92, 246, .26);
  background: #f5f3ff;
}

.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > .icon-slot,
.member-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot {
  color: #92400e;
  border-color: rgba(245, 158, 11, .34);
  background: #fffbeb;
}

.quick-grid > a:nth-child(4n + 1) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 1) .qi.icon-slot {
  background: rgba(37, 99, 235, .18);
}

.quick-grid > a:nth-child(4n + 2) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 2) .qi.icon-slot {
  background: rgba(251, 113, 133, .20);
}

.quick-grid > a:nth-child(4n + 3) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 3) .qi.icon-slot {
  background: rgba(139, 92, 246, .22);
}

.quick-grid > a:nth-child(4n) .qi.icon-slot,
.quick-grid > button:nth-child(4n) .qi.icon-slot {
  background: rgba(245, 158, 11, .20);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #1d4ed8;
  border-color: rgba(148, 163, 184, .28);
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #be123c;
    border-color: rgba(251, 113, 133, .28);
    background: #fff1f2;
    box-shadow: 0 8px 18px rgba(251, 113, 133, .10);
  }
}

.footer {
  background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #fbbf24;
}

.footer-banners .mini-image {
  border-color: rgba(226, 232, 240, .92);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}

/* Final fresh study palette */
:root {
  --blue: #2563eb;
  --deep-blue: #1d4ed8;
  --teal: #38bdf8;
  --green: #f59e0b;
  --orange: #facc15;
  --violet: #a78bfa;
  --text: #0f172a;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-tint: #f1f5f9;
  --ring: rgba(37, 99, 235, .24);
  --brand-blue: #2563eb;
  --brand-navy: #1d4ed8;
  --brand-teal: #38bdf8;
  --brand-green: #f59e0b;
  --brand-violet: #a78bfa;
  --brand-coral: #facc15;
  --brand-gold: #facc15;
  --brand-clay: #facc15;
  --brand-plum: #a78bfa;
  --brand-ink: #0f172a;
  --brand-paper: #f8fafc;
  --brand-mist: #f1f5f9;
  --accent-teal: #38bdf8;
  --accent-amber: #facc15;
  --accent-violet: #a78bfa;
  --hover-border: rgba(37, 99, 235, .22);
  --hover-shadow: 0 18px 38px rgba(15, 23, 42, .09);
  --hover-soft-shadow: 0 10px 24px rgba(15, 23, 42, .07);
  --icon-ink: #2563eb;
  --icon-muted: #64748b;
  --icon-border: rgba(148, 163, 184, .24);
  --icon-border-hover: rgba(37, 99, 235, .28);
  --icon-shadow: 0 6px 14px rgba(15, 23, 42, .06);
}

html,
body {
  background: #f8fafc;
}

body {
  color: var(--text);
  background:
    radial-gradient(circle at 12% 160px, rgba(249, 115, 22, .10), transparent 280px),
    radial-gradient(circle at 86% 310px, rgba(167, 139, 250, .10), transparent 320px),
    radial-gradient(circle at 78% 760px, rgba(250, 204, 21, .10), transparent 300px),
    linear-gradient(180deg, #ffffff 0, #f8fafc 520px, #ffffff 100%);
}

.site-hero {
  color: #fff;
  background:
    radial-gradient(ellipse at 16% 88%, rgba(249, 115, 22, .24) 0 28%, transparent 29%),
    radial-gradient(ellipse at 84% 34%, rgba(167, 139, 250, .28) 0 31%, transparent 32%),
    radial-gradient(ellipse at 76% 86%, rgba(250, 204, 21, .18) 0 22%, transparent 23%),
    linear-gradient(132deg, #2563eb 0%, #4f46e5 48%, #38bdf8 100%);
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action {
  color: #fff;
  border-color: rgba(255, 255, 255, .26);
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 62%, #38bdf8 100%);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .22);
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a {
  color: #1d4ed8;
  border-color: rgba(148, 163, 184, .26);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 58%, #0ea5e9 100%);
    box-shadow: 0 18px 34px rgba(37, 99, 235, .28);
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover {
    color: #7c3aed;
    border-color: rgba(249, 115, 22, .28);
    background: #fff7ed;
    box-shadow: 0 10px 22px rgba(249, 115, 22, .10);
  }
}

.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-color: rgba(226, 232, 240, .96);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 250, 252, .97));
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.tabs .green,
.filter-row .green {
  color: #7c3aed;
  border-color: rgba(249, 115, 22, .24);
  background: #fff7ed;
}

.tabs .orange,
.filter-row .orange {
  color: #854d0e;
  border-color: rgba(250, 204, 21, .36);
  background: #fefce8;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #1d4ed8;
  background: #eff6ff;
}

.tag:nth-child(2n),
.result-tags .tag:nth-child(2n),
.school-card .tag:nth-child(2n),
.major-card .tag:nth-child(2n) {
  color: #7c3aed;
  background: #fff7ed;
}

.tag:nth-child(3n),
.result-tags .tag:nth-child(3n),
.school-card .tag:nth-child(3n),
.major-card .tag:nth-child(3n) {
  color: #6d28d9;
  background: #f5f3ff;
}

.tag:nth-child(4n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(4n) {
  color: #854d0e;
  background: #fefce8;
}

.main > section:nth-of-type(4n + 1) .section-head h2::after,
.main > section:nth-of-type(4n + 1) .side-card h3::before {
  background: linear-gradient(180deg, #2563eb, #38bdf8);
}

.main > section:nth-of-type(4n + 2) .section-head h2::after,
.main > section:nth-of-type(4n + 2) .side-card h3::before {
  background: linear-gradient(180deg, #f59e0b, #facc15);
}

.main > section:nth-of-type(4n + 3) .section-head h2::after,
.main > section:nth-of-type(4n + 3) .side-card h3::before {
  background: linear-gradient(180deg, #a78bfa, #7c3aed);
}

.main > section:nth-of-type(4n) .section-head h2::after,
.main > section:nth-of-type(4n) .side-card h3::before {
  background: linear-gradient(180deg, #facc15, #facc15);
}

.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > .icon-slot,
.member-tool-grid a:nth-child(4n + 1) .icon-slot,
.side-tool-grid a:nth-child(4n + 1) .icon-slot {
  color: #2563eb;
  border-color: rgba(37, 99, 235, .18);
  background: #eff6ff;
}

.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > .icon-slot,
.member-tool-grid a:nth-child(4n + 2) .icon-slot,
.side-tool-grid a:nth-child(4n + 2) .icon-slot {
  color: #7c3aed;
  border-color: rgba(249, 115, 22, .22);
  background: #fff7ed;
}

.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > .icon-slot,
.member-tool-grid a:nth-child(4n + 3) .icon-slot,
.side-tool-grid a:nth-child(4n + 3) .icon-slot {
  color: #7c3aed;
  border-color: rgba(167, 139, 250, .26);
  background: #f5f3ff;
}

.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > .icon-slot,
.member-tool-grid a:nth-child(4n) .icon-slot,
.side-tool-grid a:nth-child(4n) .icon-slot {
  color: #854d0e;
  border-color: rgba(250, 204, 21, .36);
  background: #fefce8;
}

.quick-grid > a:nth-child(4n + 1) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 1) .qi.icon-slot {
  background: rgba(37, 99, 235, .18);
}

.quick-grid > a:nth-child(4n + 2) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 2) .qi.icon-slot {
  background: rgba(249, 115, 22, .20);
}

.quick-grid > a:nth-child(4n + 3) .qi.icon-slot,
.quick-grid > button:nth-child(4n + 3) .qi.icon-slot {
  background: rgba(167, 139, 250, .22);
}

.quick-grid > a:nth-child(4n) .qi.icon-slot,
.quick-grid > button:nth-child(4n) .qi.icon-slot {
  background: rgba(250, 204, 21, .22);
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #1d4ed8;
  border-color: rgba(148, 163, 184, .28);
  background: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #7c3aed;
    border-color: rgba(249, 115, 22, .28);
    background: #fff7ed;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .10);
  }
}

.footer {
  background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #facc15;
}

.footer-banners .mini-image {
  border-color: rgba(226, 232, 240, .92);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .09);
}

/* Final high-key lavender active theme */
:root {
  --blue: #8b5cf6;
  --deep-blue: #7c3aed;
  --teal: #60a5fa;
  --green: #8b5cf6;
  --orange: #8b5cf6;
  --violet: #a78bfa;
  --text: #342f45;
  --ink: #2f2a3d;
  --muted: #746f82;
  --line: #ebe7f6;
  --surface: #ffffff;
  --surface-soft: #fbf9ff;
  --surface-tint: #f5f0ff;
  --ring: rgba(139, 92, 246, .22);
  --brand-blue: #8b5cf6;
  --brand-navy: #7c3aed;
  --brand-teal: #60a5fa;
  --brand-green: #8b5cf6;
  --brand-violet: #a78bfa;
  --brand-coral: #d8b4fe;
  --brand-gold: #bfdbfe;
  --brand-clay: #c4b5fd;
  --brand-plum: #7c3aed;
  --brand-ink: #2f2a3d;
  --brand-paper: #fbf9ff;
  --brand-mist: #f5f0ff;
  --accent-teal: #60a5fa;
  --accent-amber: #d8b4fe;
  --accent-violet: #a78bfa;
  --hover-border: rgba(139, 92, 246, .28);
  --hover-shadow: 0 12px 26px rgba(139, 92, 246, .08);
  --hover-soft-shadow: 0 8px 18px rgba(139, 92, 246, .06);
  --icon-ink: #7c3aed;
  --icon-muted: #837b94;
  --icon-border: rgba(124, 58, 237, .10);
  --icon-border-hover: rgba(139, 92, 246, .32);
  --icon-shadow: none;
}

html,
body,
.page-shell {
  background: #ffffff !important;
}

body {
  color: #342f45 !important;
  background:
    radial-gradient(circle at 10% 120px, rgba(216, 180, 254, .20), transparent 280px),
    radial-gradient(circle at 88% 320px, rgba(191, 219, 254, .18), transparent 300px),
    linear-gradient(180deg, #ffffff 0, #fbf9ff 520px, #ffffff 100%) !important;
}

.site-hero,
.inner-header,
.member-hero,
.page-hero,
.landing-hero {
  color: #342f45 !important;
  background:
    radial-gradient(circle at 18% 86%, rgba(216, 180, 254, .24), transparent 280px),
    radial-gradient(circle at 84% 24%, rgba(191, 219, 254, .22), transparent 260px),
    linear-gradient(135deg, #ffffff 0%, #f8f4ff 48%, #ffffff 100%) !important;
  border-bottom: 1px solid rgba(124, 58, 237, .08) !important;
  box-shadow: none !important;
}

.site-hero::before,
.site-hero::after,
.inner-header::before,
.inner-header::after,
.member-hero::before,
.member-hero::after,
.page-hero::before,
.page-hero::after {
  opacity: .04 !important;
  filter: brightness(1.25) saturate(.78) !important;
}

.site-hero h1,
.site-hero p,
.hero-center h1,
.hero-center p,
.brand,
.site-hero .brand,
.nav-links a,
.nav-links button,
.top-actions a,
.all-nav-links a,
h1,
h2,
h3,
strong {
  color: #2f2a3d !important;
}

p,
li,
span,
em,
.article-meta,
.content-list span,
.rank-news span,
.file-list span {
  color: #746f82;
}

.nav-links a:hover,
.nav-links button:hover,
.top-actions a:hover,
.all-nav-links a:hover,
.inner-header .nav-links a.active,
.inner-header .nav-links a:hover {
  color: #7c3aed !important;
  background: #f5f0ff !important;
  border-color: rgba(139, 92, 246, .24) !important;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  color: #ffffff !important;
  border-color: rgba(139, 92, 246, .28) !important;
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 58%, #60a5fa 100%) !important;
  box-shadow: 0 10px 22px rgba(139, 92, 246, .12) !important;
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
.secondary-link,
.ghost-link {
  color: #7c3aed !important;
  border-color: rgba(124, 58, 237, .10) !important;
  background: #ffffff !important;
  box-shadow: 0 6px 14px rgba(139, 92, 246, .04) !important;
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover,
  .home-login-card .login-main:hover,
  .side-login-card .login-main:hover,
  .member-hero .login-main:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #9f7aea 0%, #b79cff 56%, #7db7ff 100%) !important;
    box-shadow: 0 12px 26px rgba(139, 92, 246, .15) !important;
  }

  .top-actions .mini-program-trigger:hover,
  .member-code-button:hover,
  .member-profile-card button:hover,
  .mini-program-actions a:hover,
  .article-actions button:hover,
  .article-actions a:hover,
  .secondary-link:hover,
  .ghost-link:hover {
    color: #7c3aed !important;
    border-color: rgba(139, 92, 246, .24) !important;
    background: #f5f0ff !important;
    box-shadow: 0 8px 18px rgba(139, 92, 246, .06) !important;
  }
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card,
.all-nav-panel,
.all-nav-grid section,
.search-box,
.quick-grid a,
.quick-grid button {
  border-color: rgba(124, 58, 237, .07) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(139, 92, 246, .045) !important;
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #7c3aed !important;
  border-color: rgba(139, 92, 246, .24) !important;
  background: #f5f0ff !important;
}

.tabs .green,
.tabs .orange,
.filter-row .green,
.filter-row .orange,
.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #7c3aed !important;
  background: #f5f0ff !important;
  border-color: rgba(139, 92, 246, .14) !important;
}

.tag:nth-child(2n),
.tag:nth-child(3n),
.tag:nth-child(4n),
.result-tags .tag:nth-child(2n),
.result-tags .tag:nth-child(3n),
.result-tags .tag:nth-child(4n),
.school-card .tag:nth-child(2n),
.school-card .tag:nth-child(3n),
.school-card .tag:nth-child(4n),
.major-card .tag:nth-child(2n),
.major-card .tag:nth-child(3n),
.major-card .tag:nth-child(4n) {
  color: #6f657a !important;
  background: #f7fbff !important;
}

.main > section .section-head h2::after,
.main > section .side-card h3::before,
.all-nav-grid h3::after {
  background: linear-gradient(180deg, #a78bfa, #93c5fd) !important;
}

.service-card .icon-slot,
.service-orange .icon-slot,
.service-green .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.tool-item > .icon-slot,
.member-tool-grid a .icon-slot,
.side-tool-grid a .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.account-quick-grid .icon-slot,
.side-report-card .icon-slot,
.side-report-orange .icon-slot,
.quick-grid > a .qi.icon-slot,
.quick-grid > button .qi.icon-slot,
.search-box .icon-slot,
.login-panel .icon-slot,
.file-list li > .icon-slot {
  color: #7c3aed !important;
  border-color: rgba(139, 92, 246, .14) !important;
  background: #f5f0ff !important;
  box-shadow: none !important;
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #7c3aed !important;
  border-color: rgba(124, 58, 237, .10) !important;
  background: #ffffff !important;
}

@media (hover: hover) and (pointer: fine) {
  a.more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    transform: translateY(-1px);
    color: #7c3aed !important;
    border-color: rgba(139, 92, 246, .24) !important;
    background: #f5f0ff !important;
    box-shadow: 0 8px 18px rgba(139, 92, 246, .06) !important;
  }
}

.banner-image,
.ad,
.home-ad-card,
.footer-banners .mini-image {
  background: #ffffff !important;
  border-color: rgba(124, 58, 237, .07) !important;
  box-shadow: 0 8px 18px rgba(139, 92, 246, .045) !important;
}

.banner-image img,
.ad img,
.home-ad-card img,
.footer-banners img {
  filter: brightness(1.10) saturate(.90) contrast(.95) !important;
}

.footer {
  color: #746f82 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbf9ff 100%) !important;
  border-top: 1px solid rgba(139, 92, 246, .10) !important;
  box-shadow: none !important;
}

.footer a,
.footer p,
.footer span,
.footer li {
  color: #746f82 !important;
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #7c3aed !important;
}

.footer-banners .mini-image {
  background: #ffffff !important;
}

/* Final lavender UI polish */
.login-main span,
.primary-link span,
.member-primary-action span,
.search-box button span,
.top-actions a span,
.home-login-actions a span,
.article-actions a span,
.article-actions button span {
  color: inherit !important;
}

.brand-logo {
  display: block;
  object-fit: contain;
}

.home-side-head,
.rank-head,
.member-section-head,
.inner-card-head {
  align-items: center;
  gap: 12px;
}

.home-login-card {
  align-items: flex-start !important;
  gap: 14px !important;
}

.home-login-card > div:first-child {
  display: grid;
  gap: 5px;
}

.home-login-card .login-main {
  min-height: 42px;
  padding-inline: 18px;
  border-radius: 12px;
}

.home-login-actions a,
.member-alt-actions a,
.side-ad-link,
.rank-head a,
.home-side-head a {
  color: #7c3aed !important;
  background: #f7f3ff !important;
  border: 1px solid rgba(139, 92, 246, .12) !important;
  box-shadow: none !important;
}

.category-summary {
  gap: 12px !important;
}

.summary-stat {
  min-height: 78px;
  border: 1px solid rgba(124, 58, 237, .08) !important;
  background:
    linear-gradient(135deg, rgba(245, 240, 255, .88), rgba(255, 255, 255, .96)) !important;
  box-shadow: 0 8px 18px rgba(139, 92, 246, .045) !important;
}

.summary-stat strong {
  color: #6d4ce8 !important;
  letter-spacing: 0 !important;
}

.summary-stat span {
  color: #746f82 !important;
}

.inner-card > .pager,
.pager {
  gap: 8px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(124, 58, 237, .08);
}

.inner-card > .pager a,
.pager a {
  min-width: 38px;
  height: 38px;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.inner-card > .pager .pager-note,
.pager-note {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #746f82 !important;
  background: #fbf9ff !important;
  border: 1px solid rgba(124, 58, 237, .08) !important;
}

.side-links-dense {
  display: grid;
  gap: 8px;
}

.side-links-dense a {
  min-height: 42px;
  padding: 0 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(124, 58, 237, .08) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.side-links-dense a span {
  min-width: 34px;
  height: 24px;
  border-radius: 999px;
  color: #7c3aed !important;
  background: #f5f0ff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.quick-grid a,
.quick-grid button,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.tool-item {
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .quick-grid a:hover,
  .quick-grid button:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .tool-item:hover,
  .side-links-dense a:hover {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, .22) !important;
    background: #fbf9ff !important;
    box-shadow: 0 10px 22px rgba(139, 92, 246, .065) !important;
  }
}

.member-login-form input,
.member-login-form select,
.member-profile-form input,
.member-profile-form select,
.search-box input {
  color: #342f45 !important;
  border-color: rgba(124, 58, 237, .12) !important;
  background: #ffffff !important;
}

.member-login-form input:focus,
.member-profile-form input:focus,
.member-profile-form select:focus,
.search-box input:focus {
  border-color: rgba(139, 92, 246, .34) !important;
  box-shadow: 0 0 0 4px rgba(139, 92, 246, .10) !important;
}

/* Final hero background artwork */
.site-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .86) 0%, rgba(255, 255, 255, .70) 42%, rgba(255, 255, 255, .30) 100%),
    url("./assets/brand/header-bg-lavender-20260529.png") center top / cover no-repeat !important;
}

.site-hero::before,
.site-hero::after {
  display: none !important;
}

.site-hero .topbar,
.hero-center {
  position: relative;
  z-index: 1;
}

.hero-center {
  text-shadow: none !important;
}

@media (max-width: 760px) {
  .site-hero {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .82) 54%, rgba(251, 249, 255, .92) 100%),
      url("./assets/brand/header-bg-lavender-20260529.png") 62% top / auto 100% no-repeat !important;
  }
}

/* Final original blue active theme */
:root {
  --blue: #1674dc;
  --deep-blue: #0756b8;
  --teal: #16b8df;
  --green: #1674dc;
  --orange: #1674dc;
  --violet: #1674dc;
  --text: #102033;
  --ink: #0f1f33;
  --muted: #66758a;
  --line: #dce8f5;
  --surface: #ffffff;
  --surface-soft: #f5f9ff;
  --surface-tint: #eef7ff;
  --ring: rgba(22, 116, 220, .24);
  --brand-blue: #1674dc;
  --brand-navy: #0756b8;
  --brand-teal: #16b8df;
  --brand-green: #1674dc;
  --brand-violet: #1674dc;
  --brand-coral: #16b8df;
  --brand-gold: #16b8df;
  --brand-clay: #1674dc;
  --brand-plum: #0756b8;
  --brand-ink: #0f1f33;
  --brand-paper: #f5f9ff;
  --brand-mist: #eef7ff;
  --accent-teal: #16b8df;
  --accent-amber: #1674dc;
  --accent-violet: #1674dc;
  --hover-border: rgba(22, 116, 220, .28);
  --hover-shadow: 0 14px 30px rgba(22, 116, 220, .12);
  --hover-soft-shadow: 0 8px 18px rgba(22, 116, 220, .08);
  --icon-ink: #1674dc;
  --icon-muted: #66758a;
  --icon-border: rgba(22, 116, 220, .14);
  --icon-border-hover: rgba(22, 116, 220, .30);
  --icon-shadow: none;
}

html,
body,
.page-shell {
  background: #f5f9ff !important;
}

body {
  color: #102033 !important;
  background: linear-gradient(180deg, #ffffff 0, #f5f9ff 520px, #ffffff 100%) !important;
}

.site-hero {
  color: #ffffff !important;
  background:
    linear-gradient(90deg, rgba(7, 86, 184, .72) 0%, rgba(22, 116, 220, .54) 45%, rgba(22, 184, 223, .28) 100%),
    url("./assets/brand/header-bg.png") center top / cover no-repeat !important;
  border-bottom: 0 !important;
}

.site-hero .brand-logo-dark {
  filter: brightness(0) invert(1) !important;
}

.site-hero h1,
.site-hero p,
.hero-center h1,
.hero-center p,
.site-hero .brand,
.site-hero .nav-links a,
.site-hero .nav-links button,
.site-hero .top-actions a {
  color: #ffffff !important;
}

.site-hero .nav-links a:hover,
.site-hero .nav-links button:hover,
.site-hero .top-actions a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, .16) !important;
  border-color: rgba(255, 255, 255, .28) !important;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  color: #ffffff !important;
  border-color: rgba(22, 116, 220, .30) !important;
  background: linear-gradient(135deg, #1674dc 0%, #1687f5 58%, #16b8df 100%) !important;
  box-shadow: 0 12px 26px rgba(22, 116, 220, .18) !important;
}

.top-actions .mini-program-trigger,
.member-code-button,
.member-profile-card button,
.mini-program-actions a,
.article-actions button,
.article-actions a,
.secondary-link,
.ghost-link {
  color: #1674dc !important;
  border-color: rgba(22, 116, 220, .14) !important;
  background: #ffffff !important;
  box-shadow: 0 6px 14px rgba(22, 116, 220, .05) !important;
}

@media (hover: hover) and (pointer: fine) {
  .top-actions .login-main:hover,
  .all-nav-actions .login-main:hover,
  .login-main:hover,
  .primary-link:hover,
  .library-search button:hover,
  .search-box button:hover,
  .member-primary-action:hover,
  .home-login-card .login-main:hover,
  .side-login-card .login-main:hover,
  .member-hero .login-main:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #0756b8 0%, #1674dc 56%, #16b8df 100%) !important;
    box-shadow: 0 14px 30px rgba(22, 116, 220, .22) !important;
  }
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card,
.all-nav-panel,
.all-nav-grid section,
.search-box,
.quick-grid a,
.quick-grid button {
  border-color: rgba(22, 116, 220, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(22, 116, 220, .045) !important;
}

.tabs .active,
.tabs a:hover,
.search-tabs .active,
.search-tabs button:hover,
.filter-row a:hover,
.filter-row a.active,
.filter-tabs a:hover,
.filter-tabs a.active,
.detail-tabs a:hover,
.detail-tabs a.active,
.pager a:hover,
.pager a.active,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #1674dc !important;
  border-color: rgba(22, 116, 220, .22) !important;
  background: #eef7ff !important;
}

.tabs .green,
.tabs .orange,
.filter-row .green,
.filter-row .orange,
.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #1674dc !important;
  background: #eef7ff !important;
  border-color: rgba(22, 116, 220, .14) !important;
}

.main > section .section-head h2::after,
.main > section .side-card h3::before,
.all-nav-grid h3::after {
  background: linear-gradient(180deg, #1674dc, #16b8df) !important;
}

.service-card .icon-slot,
.service-orange .icon-slot,
.service-green .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.tool-item > .icon-slot,
.member-tool-grid a .icon-slot,
.side-tool-grid a .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.account-quick-grid .icon-slot,
.side-report-card .icon-slot,
.side-report-orange .icon-slot,
.quick-grid > a .qi.icon-slot,
.quick-grid > button .qi.icon-slot,
.search-box .icon-slot,
.login-panel .icon-slot,
.file-list li > .icon-slot {
  color: #1674dc !important;
  border-color: rgba(22, 116, 220, .14) !important;
  background: #eef7ff !important;
  box-shadow: none !important;
}

a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  color: #1674dc !important;
  border-color: rgba(22, 116, 220, .12) !important;
  background: #ffffff !important;
}

.footer {
  color: #66758a !important;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
  border-top: 1px solid rgba(22, 116, 220, .10) !important;
  box-shadow: none !important;
}

.footer-col h3,
.footer-bottom nav a:hover,
.footer-col a:hover {
  color: #1674dc !important;
}

@media (max-width: 760px) {
  .site-hero {
    background:
      linear-gradient(180deg, rgba(7, 86, 184, .82) 0%, rgba(22, 116, 220, .66) 58%, rgba(22, 184, 223, .40) 100%),
      url("./assets/brand/header-bg.png") center top / auto 100% no-repeat !important;
  }
}

/* Final UI repair layer */
* {
  box-sizing: border-box;
}

body {
  color: #12223a !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
li,
span,
em {
  letter-spacing: 0 !important;
}

h1,
h2,
h3,
strong {
  color: #102033 !important;
  letter-spacing: 0 !important;
}

.site-hero h1,
.site-hero h2,
.site-hero h3,
.site-hero strong,
.site-hero span,
.site-hero p,
.site-hero em {
  color: #ffffff !important;
}

.wrap {
  width: min(1200px, calc(100% - 32px));
}

.site-hero {
  min-height: 520px;
  padding-bottom: 42px;
}

.topbar {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo {
  width: 207px;
  height: auto;
  max-height: 34px;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.nav-links a,
.nav-links button,
.top-actions a,
.top-actions button,
.all-nav-actions button {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1;
  cursor: pointer;
}

.site-hero .nav-links a,
.site-hero .nav-links button,
.site-hero .top-actions button,
.site-hero .top-actions a {
  color: rgba(255, 255, 255, .94) !important;
  border: 1px solid transparent !important;
  background: transparent !important;
}

.site-hero .top-actions .login-main {
  color: #1674dc !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, .45) !important;
  box-shadow: 0 10px 24px rgba(6, 42, 91, .16) !important;
}

.site-hero .top-actions .mini-program-trigger {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, .26) !important;
  background: rgba(255, 255, 255, .12) !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .site-hero .nav-links a:hover,
  .site-hero .nav-links button:hover,
  .site-hero .top-actions button:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    box-shadow: none !important;
  }

  .site-hero .top-actions .login-main:hover {
    color: #0756b8 !important;
    background: #f5fbff !important;
    border-color: rgba(255, 255, 255, .58) !important;
    box-shadow: 0 12px 28px rgba(6, 42, 91, .18) !important;
  }
}

.hero-center {
  max-width: 980px;
  padding-top: 34px;
  padding-bottom: 0;
}

.hero-center h1 {
  margin: 0 0 22px;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.08;
  font-weight: 800;
}

.search-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.search-tabs button {
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  color: rgba(255, 255, 255, .90) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  background: rgba(255, 255, 255, .10) !important;
  box-shadow: none !important;
}

.search-tabs button.active,
.search-tabs button:hover {
  color: #1674dc !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, .55) !important;
}

.search-box {
  max-width: 760px;
  height: 58px;
  padding: 6px;
  border-radius: 16px;
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, .70) !important;
  box-shadow: 0 18px 42px rgba(4, 44, 94, .18) !important;
}

.search-box input {
  min-width: 0;
  height: 46px;
  color: #102033 !important;
}

.search-box button {
  width: 52px;
  height: 46px;
  min-width: 52px;
  border-radius: 12px;
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  margin-top: 16px;
}

.hot-search,
.hero-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: rgba(255, 255, 255, .86) !important;
}

.hot-search a,
.hero-stats strong,
.hero-stats span {
  color: #ffffff !important;
}

.quick-grid {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.quick-grid a,
.quick-grid button {
  min-height: 76px;
  padding: 12px 8px;
  border-radius: 14px;
  color: #173b78 !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  box-shadow: 0 10px 24px rgba(7, 86, 184, .11) !important;
}

.quick-grid .qi.icon-slot,
.quick-grid > a .qi.icon-slot,
.quick-grid > button .qi.icon-slot {
  width: 30px;
  height: 30px;
  margin-bottom: 8px;
  color: #1674dc !important;
  background: #eef7ff !important;
  border: 1px solid rgba(22, 116, 220, .12) !important;
}

.main {
  display: grid;
  gap: 28px;
  padding-top: 34px;
  padding-bottom: 50px;
}

.content-grid,
.resource-hub,
.bottom-grid {
  gap: 22px;
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.landing-card,
.landing-form,
.home-login-card,
.rank-panel,
.analysis-card,
.timeline-card {
  border-radius: 14px !important;
  border: 1px solid rgba(22, 116, 220, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(23, 59, 120, .055) !important;
}

.block {
  padding: 22px;
}

.section-head,
.inner-card-head,
.home-side-head,
.rank-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.section-head h2,
.inner-card-head h1,
.inner-card-head h2,
.side-card h3 {
  margin: 0;
}

.tabs,
.filter-tabs,
.detail-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tabs a,
.filter-tabs a,
.detail-tabs a,
.filter-row a,
.side-links a {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(22, 116, 220, .10);
  color: #52647c !important;
  background: #ffffff !important;
}

.tabs a.active,
.tabs a:hover,
.filter-tabs a.active,
.filter-tabs a:hover,
.detail-tabs a.active,
.detail-tabs a:hover,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: #1674dc !important;
  background: #eef7ff !important;
  border-color: rgba(22, 116, 220, .20) !important;
}

.news-card.two-col,
.file-card.two-col {
  padding: 18px;
  gap: 18px;
}

.rank-news,
.file-list,
.content-list {
  padding: 0;
  margin: 0;
}

.rank-news li,
.file-list li,
.content-list li {
  border-radius: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(22, 116, 220, .07) !important;
  box-shadow: none !important;
  background: transparent !important;
}

.rank-news li a,
.file-list li a,
.content-list li a {
  color: #102033 !important;
  line-height: 1.55;
}

.rank-news li span,
.file-list li span,
.content-list time,
.content-list span {
  color: #6a7890 !important;
}

.more,
a.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.home-login-card {
  padding: 18px !important;
}

.home-login-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
}

.home-login-actions a {
  min-height: 38px;
  border-radius: 10px !important;
}

.banner-image,
.ad,
.home-ad-card,
.footer-banners .mini-image {
  overflow: hidden;
  border-radius: 14px !important;
}

.banner-image img,
.ad img,
.home-ad-card img,
.footer-banners img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: none !important;
}

.footer-banners {
  gap: 14px;
}

.footer-banners .mini-image {
  aspect-ratio: 3.8 / 1;
  min-height: 0;
}

.inner-main {
  padding-top: 28px;
  padding-bottom: 52px;
}

.inner-layout {
  gap: 22px;
}

.category-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.summary-stat {
  padding: 16px;
  border-radius: 14px !important;
}

.inner-card > .pager,
.pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.member-landing {
  gap: 24px;
}

.member-login-panel,
.member-dashboard-preview,
.member-section {
  border-radius: 16px !important;
  border: 1px solid rgba(22, 116, 220, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(23, 59, 120, .06) !important;
}

.member-login-form input,
.member-login-form select,
.member-profile-form input,
.member-profile-form select,
.search-box input {
  border-radius: 12px !important;
}

.all-nav-panel {
  border-radius: 18px !important;
}

.all-nav-grid section,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.account-quick-grid a,
.landing-grid a {
  border-radius: 14px !important;
}

@media (hover: hover) and (pointer: fine) {
  .quick-grid a:hover,
  .quick-grid button:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .tool-item:hover,
  .side-links-dense a:hover,
  .landing-grid a:hover,
  .category-nav-card:hover {
    transform: translateY(-2px);
    border-color: rgba(22, 116, 220, .20) !important;
    box-shadow: 0 14px 30px rgba(23, 59, 120, .09) !important;
  }
}

@media (max-width: 1024px) {
  .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .content-grid,
  .resource-hub,
  .bottom-grid {
    grid-template-columns: 1fr;
  }

  .category-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .wrap {
    width: min(100% - 24px, 1200px);
  }

  .site-hero {
    min-height: auto;
    padding-bottom: 24px;
  }

  .topbar {
    min-height: 64px;
    flex-wrap: wrap;
    gap: 10px;
  }

  .brand-logo {
    width: 168px;
  }

  .nav-links {
    order: 3;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .top-actions {
    margin-left: auto;
  }

  .hero-center {
    padding-top: 20px;
  }

  .hero-center h1 {
    font-size: 34px;
  }

  .search-box {
    height: auto;
  }

  .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .block,
  .news-card.two-col,
  .file-card.two-col,
  .inner-card {
    padding: 16px !important;
  }

  .section-head,
  .inner-card-head,
  .home-side-head,
  .rank-head {
    align-items: stretch;
    flex-direction: column;
  }

  .category-summary {
    grid-template-columns: 1fr;
  }

  .footer-banners {
    grid-template-columns: 1fr;
  }
}

/* Final component consistency pass */
.quick-grid a,
.quick-grid button,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.account-quick-grid a,
.landing-grid a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.quick-grid a,
.quick-grid button {
  flex-direction: column;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.nav-hub-grid a,
.member-tool-grid a,
.account-quick-grid a,
.landing-grid a {
  align-items: flex-start;
  justify-content: flex-start;
}

.side-tool-grid a {
  min-height: 46px;
  padding: 10px 12px;
  justify-content: flex-start;
  color: #173b78 !important;
}

.nav-hub-grid strong,
.member-tool-grid strong,
.account-quick-grid strong,
.landing-grid strong,
.tool-item strong {
  color: #102033 !important;
  font-size: 15px;
}

.nav-hub-grid em,
.member-tool-grid em,
.account-quick-grid em,
.landing-grid span,
.tool-item span {
  color: #66758a !important;
  line-height: 1.45;
}

.tool-list {
  gap: 12px;
}

.tool-item {
  min-height: 92px;
  padding: 16px !important;
  display: grid !important;
  grid-template-columns: 42px 1fr;
  align-items: center;
  column-gap: 12px;
}

.tool-item > i,
.tool-item > .icon-slot {
  grid-row: span 2;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}

.tool-item span {
  display: block;
  margin-top: 4px;
}

.rank-news li,
.file-list li,
.content-list li {
  padding: 12px 0 !important;
}

.content-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.content-list p,
.rank-news span,
.file-list span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.content-list p {
  margin: 7px 0 0;
  line-height: 1.65;
  color: #66758a !important;
}

.list-label,
.tag,
.result-tags .tag {
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-right: 8px;
  font-size: 12px;
  font-weight: 700;
}

.school-list,
.major-list,
.material-grid,
.service-grid {
  gap: 12px;
}

.school-item,
.major-list li,
.material-card,
.service-card {
  border-radius: 14px !important;
  border: 1px solid rgba(22, 116, 220, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(23, 59, 120, .045) !important;
}

.school-logo {
  color: #1674dc !important;
  background: #eef7ff !important;
  border: 1px solid rgba(22, 116, 220, .14);
}

.material-actions {
  gap: 10px;
}

.material-actions a,
.side-ad-link,
.home-login-actions a {
  border-radius: 12px !important;
  color: #173b78 !important;
  border-color: rgba(22, 116, 220, .10) !important;
  background: #f7fbff !important;
  box-shadow: none !important;
}

.side-links-dense a {
  justify-content: space-between;
  color: #173b78 !important;
}

.side-links-dense a span {
  color: #1674dc !important;
  background: #eef7ff !important;
}

.member-login-panel {
  padding: 28px !important;
}

.member-login-form {
  gap: 14px;
}

.member-code-input {
  gap: 10px;
}

.member-code-button {
  min-width: 118px;
}

.member-primary-action {
  min-height: 46px;
  border-radius: 12px !important;
}

.landing-hero {
  min-height: 280px;
  padding: 34px !important;
}

.landing-actions {
  gap: 10px;
}

.landing-actions a {
  min-height: 42px;
  border-radius: 12px;
}

.footer {
  padding-top: 28px;
}

.footer-main {
  gap: 28px;
}

.footer-cols {
  gap: 24px;
}

.footer-col a {
  line-height: 1.9;
}

.qr-group {
  display: none !important;
}

@media (max-width: 760px) {
  .quick-grid a,
  .quick-grid button {
    min-height: 68px;
    font-size: 13px;
  }

  .content-list li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .tool-item {
    grid-template-columns: 38px 1fr;
    min-height: 82px;
  }

  .tool-item > i,
  .tool-item > .icon-slot {
    width: 38px !important;
    height: 38px !important;
  }

  .member-code-input {
    grid-template-columns: 1fr;
  }

  .member-code-button {
    width: 100%;
  }

  .landing-hero {
    padding: 22px !important;
  }
}

/* Final visual richness pass */
:root {
  --accent-sky: #16b8df;
  --accent-violet-soft: #7c8cff;
  --accent-rose-soft: #ff7aa8;
  --accent-gold-soft: #f6b84b;
  --surface-blue: #f2f8ff;
  --surface-cyan: #effcff;
  --surface-violet: #f5f6ff;
  --surface-rose: #fff5f8;
  --surface-gold: #fff8eb;
}

body {
  background:
    radial-gradient(circle at 8% 180px, rgba(22, 184, 223, .10), transparent 320px),
    radial-gradient(circle at 92% 580px, rgba(124, 140, 255, .10), transparent 360px),
    linear-gradient(180deg, #ffffff 0, #f5f9ff 580px, #ffffff 100%) !important;
}

.main > section,
.inner-main > section,
.resource-hub,
.tool-grid,
.bottom-grid {
  position: relative;
}

.main > section:nth-of-type(2),
.tool-grid,
.landing-main .landing-grid {
  padding: 18px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(242, 248, 255, .86), rgba(255, 255, 255, .68)) !important;
}

.main > section:nth-of-type(3),
.resource-hub {
  padding: 18px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(239, 252, 255, .78), rgba(245, 246, 255, .70)) !important;
}

.section-head h2,
.inner-card-head h1,
.inner-card-head h2,
.side-card h3,
.rank-head strong,
.home-side-head h2 {
  position: relative;
  padding-left: 13px;
}

.section-head h2::before,
.inner-card-head h1::before,
.inner-card-head h2::before,
.side-card h3::before,
.rank-head strong::before,
.home-side-head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .28em;
  width: 4px;
  height: 1.05em;
  border-radius: 999px;
  background: linear-gradient(180deg, #1674dc, #16b8df);
}

.main > section:nth-of-type(2) .section-head h2::before,
.main > section:nth-of-type(2) .side-card h3::before {
  background: linear-gradient(180deg, #16b8df, #7c8cff);
}

.main > section:nth-of-type(3) .section-head h2::before,
.main > section:nth-of-type(3) .side-card h3::before {
  background: linear-gradient(180deg, #7c8cff, #ff7aa8);
}

.main > section:nth-of-type(4) .section-head h2::before,
.main > section:nth-of-type(4) .side-card h3::before {
  background: linear-gradient(180deg, #f6b84b, #16b8df);
}

.news-card,
.school-card,
.major-card,
.rank-panel,
.side-card,
.home-login-card {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

.file-card,
.material-card,
.nav-hub-grid a:nth-child(3n + 1),
.tool-item:nth-child(4n + 1) {
  background:
    linear-gradient(180deg, #ffffff, var(--surface-blue)) !important;
}

.nav-hub-grid a:nth-child(3n + 2),
.tool-item:nth-child(4n + 2),
.side-tool-grid a:nth-child(4n + 2),
.member-tool-grid a:nth-child(4n + 2) {
  background:
    linear-gradient(180deg, #ffffff, var(--surface-cyan)) !important;
}

.nav-hub-grid a:nth-child(3n),
.tool-item:nth-child(4n + 3),
.side-tool-grid a:nth-child(4n + 3),
.member-tool-grid a:nth-child(4n + 3) {
  background:
    linear-gradient(180deg, #ffffff, var(--surface-violet)) !important;
}

.tool-item:nth-child(4n),
.side-tool-grid a:nth-child(4n),
.member-tool-grid a:nth-child(4n),
.landing-grid a:nth-child(4n) {
  background:
    linear-gradient(180deg, #ffffff, var(--surface-gold)) !important;
}

.tabs a.active,
.search-tabs button.active,
.filter-tabs a.active,
.detail-tabs a.active {
  box-shadow: inset 0 -2px 0 rgba(22, 116, 220, .22) !important;
}

.tabs a:nth-child(4n + 2):hover,
.filter-tabs a:nth-child(4n + 2):hover,
.detail-tabs a:nth-child(4n + 2):hover {
  color: #0f8aa8 !important;
  background: var(--surface-cyan) !important;
  border-color: rgba(22, 184, 223, .22) !important;
}

.tabs a:nth-child(4n + 3):hover,
.filter-tabs a:nth-child(4n + 3):hover,
.detail-tabs a:nth-child(4n + 3):hover {
  color: #5965d8 !important;
  background: var(--surface-violet) !important;
  border-color: rgba(124, 140, 255, .22) !important;
}

.tabs a:nth-child(4n):hover,
.filter-tabs a:nth-child(4n):hover,
.detail-tabs a:nth-child(4n):hover {
  color: #a66700 !important;
  background: var(--surface-gold) !important;
  border-color: rgba(246, 184, 75, .28) !important;
}

.tag:nth-child(4n + 1),
.result-tags .tag:nth-child(4n + 1),
.list-label {
  color: #1674dc !important;
  background: var(--surface-blue) !important;
}

.tag:nth-child(4n + 2),
.result-tags .tag:nth-child(4n + 2) {
  color: #0f8aa8 !important;
  background: var(--surface-cyan) !important;
}

.tag:nth-child(4n + 3),
.result-tags .tag:nth-child(4n + 3) {
  color: #5965d8 !important;
  background: var(--surface-violet) !important;
}

.tag:nth-child(4n),
.result-tags .tag:nth-child(4n) {
  color: #a66700 !important;
  background: var(--surface-gold) !important;
}

.quick-grid a:nth-child(4n + 1) .qi,
.service-card:nth-child(4n + 1) .icon-slot,
.tool-item:nth-child(4n + 1) > i,
.tool-item:nth-child(4n + 1) > .icon-slot,
.nav-hub-grid a:nth-child(4n + 1) .icon-slot {
  color: #1674dc !important;
  background: var(--surface-blue) !important;
  border-color: rgba(22, 116, 220, .18) !important;
}

.quick-grid a:nth-child(4n + 2) .qi,
.service-card:nth-child(4n + 2) .icon-slot,
.tool-item:nth-child(4n + 2) > i,
.tool-item:nth-child(4n + 2) > .icon-slot,
.nav-hub-grid a:nth-child(4n + 2) .icon-slot {
  color: #0f8aa8 !important;
  background: var(--surface-cyan) !important;
  border-color: rgba(22, 184, 223, .20) !important;
}

.quick-grid a:nth-child(4n + 3) .qi,
.service-card:nth-child(4n + 3) .icon-slot,
.tool-item:nth-child(4n + 3) > i,
.tool-item:nth-child(4n + 3) > .icon-slot,
.nav-hub-grid a:nth-child(4n + 3) .icon-slot {
  color: #5965d8 !important;
  background: var(--surface-violet) !important;
  border-color: rgba(124, 140, 255, .20) !important;
}

.quick-grid a:nth-child(4n) .qi,
.service-card:nth-child(4n) .icon-slot,
.tool-item:nth-child(4n) > i,
.tool-item:nth-child(4n) > .icon-slot,
.nav-hub-grid a:nth-child(4n) .icon-slot {
  color: #a66700 !important;
  background: var(--surface-gold) !important;
  border-color: rgba(246, 184, 75, .22) !important;
}

.home-ad-card,
.side-ads .ad,
.footer-banners .mini-image {
  background: #ffffff !important;
  border: 1px solid rgba(22, 116, 220, .08) !important;
}

.side-ads .ad:nth-child(2),
.footer-banners .mini-image:nth-child(2) {
  border-color: rgba(22, 184, 223, .16) !important;
  box-shadow: 0 12px 26px rgba(22, 184, 223, .08) !important;
}

.side-ads .ad:nth-child(3),
.footer-banners .mini-image:nth-child(3) {
  border-color: rgba(124, 140, 255, .16) !important;
  box-shadow: 0 12px 26px rgba(124, 140, 255, .08) !important;
}

.category-summary .summary-stat:nth-child(4n + 1) {
  background: linear-gradient(135deg, #ffffff, var(--surface-blue)) !important;
}

.category-summary .summary-stat:nth-child(4n + 2) {
  background: linear-gradient(135deg, #ffffff, var(--surface-cyan)) !important;
}

.category-summary .summary-stat:nth-child(4n + 3) {
  background: linear-gradient(135deg, #ffffff, var(--surface-violet)) !important;
}

.category-summary .summary-stat:nth-child(4n) {
  background: linear-gradient(135deg, #ffffff, var(--surface-gold)) !important;
}

.summary-stat:nth-child(4n + 2) strong {
  color: #0f8aa8 !important;
}

.summary-stat:nth-child(4n + 3) strong {
  color: #5965d8 !important;
}

.summary-stat:nth-child(4n) strong {
  color: #a66700 !important;
}

.content-list li:nth-child(odd),
.rank-news li:nth-child(odd),
.file-list li:nth-child(odd) {
  background: linear-gradient(90deg, rgba(242, 248, 255, .58), transparent) !important;
}

.content-list li:hover,
.rank-news li:hover,
.file-list li:hover {
  background: #f7fbff !important;
}

.landing-hero,
.member-login-panel,
.member-dashboard-preview {
  background:
    radial-gradient(circle at 92% 14%, rgba(22, 184, 223, .12), transparent 220px),
    linear-gradient(135deg, #ffffff, #f7fbff) !important;
}

@media (max-width: 760px) {
  .main > section:nth-of-type(2),
  .main > section:nth-of-type(3),
  .resource-hub,
  .tool-grid,
  .landing-main .landing-grid {
    padding: 12px;
  }
}

/* Final editorial portal pass */
:root {
  --portal-blue: #1674dc;
  --portal-blue-deep: #0756b8;
  --portal-cyan: #16a7d8;
  --portal-ink: #102033;
  --portal-muted: #66758a;
  --portal-border: #dbe7f4;
  --portal-bg: #f5f8fc;
  --portal-panel: #ffffff;
}

body {
  color: var(--portal-ink) !important;
  background: var(--portal-bg) !important;
}

.main > section:nth-of-type(2),
.main > section:nth-of-type(3),
.resource-hub,
.tool-grid,
.bottom-grid,
.landing-main .landing-grid {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.site-hero {
  min-height: 500px;
  background:
    linear-gradient(90deg, rgba(7, 86, 184, .82) 0%, rgba(22, 116, 220, .64) 48%, rgba(22, 167, 216, .36) 100%),
    url("./assets/brand/header-bg.png") center top / cover no-repeat !important;
}

.site-hero .topbar {
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.hero-center h1 {
  font-weight: 760;
}

.search-box {
  box-shadow: 0 12px 28px rgba(6, 42, 91, .16) !important;
}

.quick-grid {
  gap: 8px;
}

.quick-grid a,
.quick-grid button {
  min-height: 70px;
  color: #173b78 !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(255, 255, 255, .58) !important;
  box-shadow: 0 6px 16px rgba(6, 42, 91, .10) !important;
}

.quick-grid .qi.icon-slot,
.quick-grid > a .qi.icon-slot,
.quick-grid > button .qi.icon-slot,
.service-card .icon-slot,
.service-orange .icon-slot,
.service-green .icon-slot,
.service-blue .icon-slot,
.service-purple .icon-slot,
.tool-item > i,
.tool-item > .icon-slot,
.member-tool-grid a .icon-slot,
.side-tool-grid a .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.account-quick-grid .icon-slot,
.side-report-card .icon-slot,
.side-report-orange .icon-slot {
  color: var(--portal-blue) !important;
  background: #eef6ff !important;
  border-color: rgba(22, 116, 220, .14) !important;
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.member-timeline a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.content-list li,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card,
.all-nav-panel,
.all-nav-grid section,
.search-box {
  background: var(--portal-panel) !important;
  border: 1px solid var(--portal-border) !important;
  box-shadow: 0 6px 16px rgba(16, 32, 51, .045) !important;
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.rank-panel {
  border-radius: 10px !important;
}

.section-head h2,
.inner-card-head h1,
.inner-card-head h2,
.side-card h3,
.rank-head strong,
.home-side-head h2 {
  padding-left: 0 !important;
}

.section-head h2::before,
.inner-card-head h1::before,
.inner-card-head h2::before,
.side-card h3::before,
.rank-head strong::before,
.home-side-head h2::before {
  display: none !important;
}

.section-head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--portal-border);
}

.section-head h2,
.inner-card-head h1,
.inner-card-head h2,
.side-card h3 {
  font-weight: 720;
}

.tabs a,
.filter-tabs a,
.detail-tabs a,
.filter-row a,
.side-links a {
  color: #52647c !important;
  background: #ffffff !important;
  border: 1px solid #dce8f5 !important;
  box-shadow: none !important;
}

.tabs a.active,
.tabs a:hover,
.filter-tabs a.active,
.filter-tabs a:hover,
.detail-tabs a.active,
.detail-tabs a:hover,
.filter-row a.active,
.filter-row a:hover,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: var(--portal-blue) !important;
  background: #eef6ff !important;
  border-color: rgba(22, 116, 220, .22) !important;
  box-shadow: none !important;
}

.tag,
.result-tags .tag,
.member-kicker,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label,
.tag:nth-child(n),
.result-tags .tag:nth-child(n) {
  color: #1674dc !important;
  background: #eef6ff !important;
  border-color: rgba(22, 116, 220, .14) !important;
}

.main > section .section-head h2::after,
.main > section .side-card h3::before,
.all-nav-grid h3::after {
  background: var(--portal-blue) !important;
}

.news-card,
.school-card,
.major-card,
.rank-panel,
.side-card,
.home-login-card,
.file-card,
.material-card,
.nav-hub-grid a:nth-child(n),
.tool-item:nth-child(n),
.side-tool-grid a:nth-child(n),
.member-tool-grid a:nth-child(n),
.landing-grid a:nth-child(n),
.summary-stat:nth-child(n) {
  background: #ffffff !important;
}

.content-list li:nth-child(n),
.rank-news li:nth-child(n),
.file-list li:nth-child(n) {
  background: transparent !important;
}

.content-list li:hover,
.rank-news li:hover,
.file-list li:hover {
  background: #f7fbff !important;
}

.tool-item,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.landing-grid a {
  border-radius: 10px !important;
}

.tool-item strong,
.nav-hub-grid strong,
.member-tool-grid strong,
.landing-grid strong {
  color: var(--portal-ink) !important;
}

.tool-item span,
.nav-hub-grid em,
.member-tool-grid em,
.landing-grid span {
  color: var(--portal-muted) !important;
}

.category-summary .summary-stat {
  background: #ffffff !important;
  border-color: var(--portal-border) !important;
  box-shadow: none !important;
}

.summary-stat strong,
.summary-stat:nth-child(n) strong {
  color: var(--portal-blue) !important;
}

.home-ad-card,
.side-ads .ad,
.footer-banners .mini-image,
.side-ads .ad:nth-child(n),
.footer-banners .mini-image:nth-child(n) {
  border-color: var(--portal-border) !important;
  box-shadow: 0 6px 16px rgba(16, 32, 51, .045) !important;
}

.landing-hero,
.member-login-panel,
.member-dashboard-preview {
  background: #ffffff !important;
  border-color: var(--portal-border) !important;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.search-box button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  background: var(--portal-blue) !important;
  border-color: var(--portal-blue) !important;
  box-shadow: 0 8px 18px rgba(22, 116, 220, .18) !important;
}

@media (hover: hover) and (pointer: fine) {
  .quick-grid a:hover,
  .quick-grid button:hover,
  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .tool-item:hover,
  .side-links-dense a:hover,
  .landing-grid a:hover,
  .category-nav-card:hover {
    transform: translateY(-1px);
    border-color: rgba(22, 116, 220, .22) !important;
    box-shadow: 0 10px 22px rgba(16, 32, 51, .07) !important;
    background: #ffffff !important;
  }
}

.footer {
  background: #ffffff !important;
  border-top: 1px solid var(--portal-border) !important;
}

@media (max-width: 760px) {
  .site-hero {
    background:
      linear-gradient(180deg, rgba(7, 86, 184, .86) 0%, rgba(22, 116, 220, .70) 100%),
      url("./assets/brand/header-bg.png") center top / auto 100% no-repeat !important;
  }
}

/* Final human-edited portal layer: quieter, denser, less template-like. */
:root {
  --human-blue: #1674dc;
  --human-blue-deep: #0756b8;
  --human-blue-soft: #eaf4ff;
  --human-cyan: #18a7d8;
  --human-ink: #102033;
  --human-muted: #5d6f85;
  --human-line: #d9e5f2;
  --human-bg: #f5f8fc;
  --human-panel: #ffffff;
}

html {
  background: var(--human-bg) !important;
}

body {
  background:
    linear-gradient(180deg, #f8fbff 0, var(--human-bg) 360px, #f7f9fc 100%) !important;
  color: var(--human-ink) !important;
  letter-spacing: 0 !important;
}

a,
button,
.tool-item,
.quick-grid a,
.quick-grid button,
.side-tool-grid a,
.landing-grid a,
.nav-hub-grid a,
.member-tool-grid a,
.category-nav-card {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.site-hero {
  min-height: 440px !important;
  padding-bottom: 28px !important;
  background:
    linear-gradient(90deg, rgba(7, 86, 184, .94) 0%, rgba(20, 102, 204, .86) 48%, rgba(21, 136, 204, .76) 100%),
    url("./assets/brand/header-bg.png") center top / cover no-repeat !important;
}

.site-hero::before,
.site-hero::after,
.block::before,
.news-card::before,
.side-card::before,
.landing-hero::before,
.member-login-panel::before,
.member-dashboard-preview::before {
  display: none !important;
}

.hero-center {
  max-width: 980px !important;
  padding-top: 26px !important;
  text-align: left !important;
}

.hero-center h1 {
  max-width: 800px !important;
  margin: 0 0 18px !important;
  font-size: clamp(30px, 3.25vw, 46px) !important;
  line-height: 1.14 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

.search-tabs {
  justify-content: flex-start !important;
  gap: 22px !important;
  margin-bottom: 12px !important;
}

.search-tabs button {
  min-height: 30px !important;
  padding: 0 2px 5px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 15px !important;
}

.search-tabs button.active,
.search-tabs button:hover {
  color: #ffffff !important;
  border-bottom-color: #ffffff !important;
  transform: none !important;
}

.search-box {
  max-width: 760px !important;
  height: 54px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, .48) !important;
  box-shadow: 0 12px 24px rgba(4, 44, 94, .16) !important;
}

.search-box input {
  font-size: 16px !important;
}

.search-box button {
  width: 58px !important;
  border-radius: 0 5px 5px 0 !important;
  background: var(--human-blue-deep) !important;
  border-color: var(--human-blue-deep) !important;
  box-shadow: none !important;
}

.hero-meta {
  justify-content: flex-start !important;
  gap: 28px !important;
  margin: 15px 0 0 !important;
}

.hot-search,
.hero-stats {
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
}

.hot-search a {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.hero-stats {
  padding-left: 24px !important;
  border-left: 1px solid rgba(255, 255, 255, .26) !important;
}

.quick-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 1px !important;
  max-width: 100% !important;
  margin: 22px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .24) !important;
  box-shadow: none !important;
}

.quick-grid a,
.quick-grid button {
  min-height: 50px !important;
  padding: 0 10px !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #163a74 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 640 !important;
}

.quick-grid .qi.icon-slot {
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--human-blue) !important;
}

.wrap.main,
.landing-main,
.member-main,
.inner-main {
  padding-top: 24px !important;
}

.content-grid,
.tool-grid,
.bottom-grid {
  gap: 18px !important;
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card,
.all-nav-panel,
.all-nav-grid section {
  border: 1px solid var(--human-line) !important;
  border-radius: 8px !important;
  background: var(--human-panel) !important;
  box-shadow: none !important;
}

.block {
  padding: 18px 20px !important;
}

.section-head,
.inner-card-head,
.rank-head,
.home-side-head,
.side-card h3 {
  border-bottom-color: var(--human-line) !important;
}

.section-head h2,
.inner-card-head h1,
.inner-card-head h2,
.side-card h3,
.rank-head strong,
.home-side-head h2 {
  font-size: 20px !important;
  font-weight: 740 !important;
  color: var(--human-ink) !important;
}

.tabs,
.filter-tabs,
.detail-tabs {
  gap: 18px !important;
}

.tabs a,
.filter-tabs a,
.detail-tabs a,
.filter-row a,
.side-links a {
  min-height: 30px !important;
  padding: 0 0 5px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--human-muted) !important;
  box-shadow: none !important;
}

.tabs a.active,
.tabs a:hover,
.filter-tabs a.active,
.filter-tabs a:hover,
.detail-tabs a.active,
.detail-tabs a:hover,
.filter-row a.active,
.filter-row a:hover,
.side-links a:hover,
.side-links a.is-current,
.side-links a[aria-current="page"] {
  color: var(--human-blue) !important;
  border-bottom-color: var(--human-blue) !important;
  background: transparent !important;
}

.rank-news,
.file-list,
.content-list {
  border-radius: 0 !important;
}

.rank-news li,
.file-list li,
.content-list li {
  padding: 13px 0 !important;
  border-bottom: 1px solid #edf2f8 !important;
  background: transparent !important;
}

.rank-news li:last-child,
.file-list li:last-child,
.content-list li:last-child {
  border-bottom: 0 !important;
}

.rank-news li:hover,
.file-list li:hover,
.content-list li:hover {
  background: #f7fbff !important;
  transform: none !important;
}

.rank-news a,
.file-list a,
.content-list a {
  color: #15283f !important;
  font-weight: 610 !important;
}

.rank-news a:hover,
.file-list a:hover,
.content-list a:hover {
  color: var(--human-blue) !important;
}

.more,
.view-more,
.load-more,
.pager a,
.pager button {
  border-radius: 6px !important;
  box-shadow: none !important;
}

.more {
  color: var(--human-blue) !important;
  background: transparent !important;
  border: 0 !important;
  padding-right: 0 !important;
}

.more span {
  transform: none !important;
}

.side-tool-grid {
  display: grid !important;
  gap: 0 !important;
  border: 1px solid var(--human-line) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.side-tool-grid a {
  min-height: 44px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf2f8 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  justify-content: flex-start !important;
}

.side-tool-grid a:last-child {
  border-bottom: 0 !important;
}

.tool-list {
  gap: 10px !important;
}

.tool-item {
  min-height: 76px !important;
  padding: 14px 15px !important;
  align-items: flex-start !important;
  border-left: 3px solid transparent !important;
}

.tool-item i.icon-slot,
.side-tool-grid .icon-slot,
.nav-hub-grid .icon-slot,
.category-nav-card .icon-slot,
.account-quick-grid .icon-slot {
  color: var(--human-blue) !important;
  background: var(--human-blue-soft) !important;
  border-color: rgba(22, 116, 220, .16) !important;
}

.tool-item:hover {
  border-left-color: var(--human-cyan) !important;
}

.landing-hero,
.member-login-panel,
.member-dashboard-preview {
  border-radius: 8px !important;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 58%, #f2f8ff 100%) !important;
  box-shadow: none !important;
}

.landing-kicker,
.member-kicker,
.tag,
.result-tags .tag,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  border-radius: 4px !important;
  color: #0d66c2 !important;
  background: #eef6ff !important;
  border-color: rgba(22, 116, 220, .14) !important;
}

.landing-grid {
  gap: 12px !important;
}

.landing-grid a,
.nav-hub-grid a,
.member-tool-grid a,
.account-quick-grid a {
  padding: 16px !important;
}

.landing-grid a strong,
.nav-hub-grid strong,
.member-tool-grid strong,
.tool-item strong {
  color: var(--human-ink) !important;
}

.landing-grid a span,
.nav-hub-grid em,
.member-tool-grid em,
.tool-item span {
  color: var(--human-muted) !important;
}

.home-ad-card,
.side-ads .ad,
.footer-banners .mini-image {
  border-radius: 8px !important;
  border-color: var(--human-line) !important;
  box-shadow: none !important;
}

.footer-banners {
  gap: 12px !important;
}

.footer-banners .mini-image img,
.side-ads .ad img,
.home-ad-card img {
  filter: saturate(.96) contrast(1.02) !important;
}

.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  border-radius: 6px !important;
  background: var(--human-blue) !important;
  border-color: var(--human-blue) !important;
  box-shadow: none !important;
}

.top-actions .login-main:hover,
.all-nav-actions .login-main:hover,
.login-main:hover,
.primary-link:hover,
.library-search button:hover,
.search-box button:hover,
.member-primary-action:hover,
.home-login-card .login-main:hover,
.side-login-card .login-main:hover {
  background: var(--human-blue-deep) !important;
  border-color: var(--human-blue-deep) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 16px rgba(7, 86, 184, .14) !important;
}

@media (hover: hover) and (pointer: fine) {
  .quick-grid a:hover,
  .quick-grid button:hover {
    background: #ffffff !important;
    color: var(--human-blue-deep) !important;
    transform: none !important;
    box-shadow: inset 0 -2px 0 var(--human-cyan) !important;
  }

  .nav-hub-grid a:hover,
  .side-tool-grid a:hover,
  .member-tool-grid a:hover,
  .tool-item:hover,
  .side-links-dense a:hover,
  .landing-grid a:hover,
  .category-nav-card:hover,
  .school-card:hover,
  .major-card:hover,
  .material-card:hover,
  .result-item:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(22, 116, 220, .24) !important;
    box-shadow: 0 8px 18px rgba(16, 32, 51, .06) !important;
    background: #ffffff !important;
  }
}

@media (max-width: 980px) {
  .quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .site-hero {
    min-height: auto !important;
    padding-bottom: 20px !important;
  }

  .hero-center {
    padding-top: 18px !important;
  }

  .hero-meta {
    display: block !important;
  }

  .hero-stats {
    margin-top: 12px !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .quick-grid a,
  .quick-grid button {
    min-height: 46px !important;
  }

  .block {
    padding: 16px !important;
  }
}

/* Homepage 2026 reference rebuild */
:root {
  --home-blue: #126feb;
  --home-blue-2: #0b63d8;
  --home-text: #172033;
  --home-muted: #69778c;
  --home-line: #dfe8f3;
  --home-bg: #f6f9fd;
}

body {
  background: var(--home-bg) !important;
}

.site-hero {
  min-height: 374px !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, rgba(20, 116, 222, .95) 0%, rgba(33, 132, 230, .82) 46%, rgba(33, 135, 227, .55) 100%),
    url("./assets/brand/header-bg.png") center center / cover no-repeat !important;
}

.site-hero .topbar {
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 calc((100% - min(1480px, calc(100% - 64px))) / 2) !important;
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid #e9eef5 !important;
  box-shadow: 0 2px 12px rgba(17, 42, 80, .06) !important;
}

.site-hero .brand-logo-dark {
  filter: none !important;
}

.site-hero .nav-links {
  margin-left: 52px !important;
  gap: 34px !important;
  color: var(--home-text) !important;
}

.site-hero .nav-links a,
.site-hero .nav-links button {
  position: relative !important;
  min-height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #1b2433 !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

.site-hero .nav-links a.active,
.site-hero .nav-links a:hover,
.site-hero .nav-links button:hover {
  color: var(--home-blue) !important;
}

.site-hero .nav-links a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--home-blue);
}

.site-hero .top-actions {
  gap: 14px !important;
  color: var(--home-text) !important;
}

.site-hero .top-actions .mini-program-trigger,
.site-hero .top-actions .login-main {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-weight: 650 !important;
}

.site-hero .top-actions .mini-program-trigger {
  color: #1c2b40 !important;
  border: 1px solid #e3ebf5 !important;
  background: #fff !important;
}

.site-hero .top-actions .mini-program-trigger::before {
  content: "";
  width: 18px;
  height: 18px;
  margin-right: 6px;
  border: 2px solid var(--home-blue);
  border-radius: 50%;
}

.site-hero .top-actions .login-main {
  color: #fff !important;
  background: var(--home-blue) !important;
  border-color: var(--home-blue) !important;
}

.site-hero .hero-center {
  position: relative !important;
  display: grid !important;
  justify-items: center !important;
  max-width: 980px !important;
  min-height: 316px !important;
  padding-top: 45px !important;
  text-align: center !important;
}

.site-hero .hero-center h1 {
  margin: 0 0 8px !important;
  max-width: none !important;
  color: #fff !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  text-shadow: 0 3px 12px rgba(11, 74, 150, .22) !important;
}

.site-hero .search-tabs {
  justify-self: center !important;
  display: grid !important;
  grid-template-columns: repeat(4, 112px) !important;
  gap: 0 !important;
  width: 672px !important;
  margin: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 6px 6px 0 0 !important;
  background: transparent !important;
}

.site-hero .search-tabs button {
  position: relative !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .36) !important;
  border-right: 0 !important;
  border-radius: 6px 6px 0 0 !important;
  color: #244160 !important;
  background: rgba(255, 255, 255, .68) !important;
  font-size: 15px !important;
}

.site-hero .search-tabs button:last-child {
  border-right: 1px solid rgba(255, 255, 255, .36) !important;
}

.site-hero .search-tabs button.active,
.site-hero .search-tabs button:hover {
  color: #fff !important;
  background: var(--home-blue) !important;
  border-color: var(--home-blue) !important;
  box-shadow: none !important;
}

.site-hero .search-tabs button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 0;
  height: 0;
  margin-left: -7px;
  border: 7px solid transparent;
  border-top-color: var(--home-blue);
}

.site-hero .search-box {
  justify-self: center !important;
  width: 672px !important;
  max-width: 672px !important;
  height: 68px !important;
  padding: 8px !important;
  border-radius: 0 8px 8px 8px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(10, 72, 142, .16) !important;
}

.site-hero .search-box input {
  height: 52px !important;
  padding: 0 18px !important;
  color: #1d2b3d !important;
  font-size: 16px !important;
}

.site-hero .search-box button {
  width: 140px !important;
  min-width: 140px !important;
  height: 52px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: var(--home-blue) !important;
  font-size: 0 !important;
}

.site-hero .search-box button::after {
  content: "搜索";
  margin-left: 10px;
  font-size: 20px;
  font-weight: 760;
}

.site-hero .search-box .icon-slot {
  width: 28px !important;
  height: 28px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
}

.hero-stat-cards {
  position: absolute;
  top: 39px;
  right: -140px;
  display: grid;
  gap: 10px;
  width: 208px;
}

.hero-stat-cards div {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  min-height: 76px;
  padding: 12px 16px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 6px 18px rgba(15, 73, 145, .08);
}

.hero-stat-cards .icon-slot {
  grid-row: span 2;
  width: 40px !important;
  height: 40px !important;
  color: var(--home-blue) !important;
  border-radius: 50%;
  background: #eaf4ff !important;
  border: 0 !important;
}

.hero-stat-cards div:nth-child(2) .icon-slot {
  color: #28a978 !important;
  background: #e9f8f2 !important;
}

.hero-stat-cards div:nth-child(3) .icon-slot {
  color: #f69a20 !important;
  background: #fff4e4 !important;
}

.hero-stat-cards strong {
  color: var(--home-blue) !important;
  font-size: 24px !important;
  line-height: 1;
}

.hero-stat-cards div:nth-child(2) strong {
  color: #259a71 !important;
}

.hero-stat-cards div:nth-child(3) strong {
  color: #f08b16 !important;
}

.hero-stat-cards em {
  color: #1e2b3d !important;
  font-style: normal;
}

.site-hero .hero-meta {
  justify-self: center !important;
  width: 672px !important;
  position: relative !important;
  z-index: 3 !important;
  margin-top: 8px !important;
  color: #fff !important;
}

.site-hero .hot-search {
  gap: 14px !important;
  font-weight: 650 !important;
  flex-wrap: nowrap !important;
  line-height: 1 !important;
}

.site-hero .hot-search span,
.site-hero .hot-search a {
  color: #fff !important;
  text-decoration: none !important;
  background: transparent !important;
}

.site-hero .hot-search i {
  width: 1px;
  height: 13px;
  background: rgba(255, 255, 255, .55);
}

.site-hero .quick-grid {
  position: absolute !important;
  left: 50% !important;
  bottom: -86px !important;
  display: grid !important;
  grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
  width: min(1480px, calc(100vw - 64px)) !important;
  max-width: none !important;
  margin: 0 !important;
  transform: translateX(-50%);
  overflow: visible !important;
  border: 1px solid #e0e8f2 !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 8px 26px rgba(38, 72, 112, .10) !important;
}

.site-hero .quick-grid a,
.site-hero .quick-grid button {
  min-height: 88px !important;
  padding: 13px 8px 12px !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 7px !important;
  color: #1a2738 !important;
  background: #fff !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 560 !important;
  white-space: nowrap !important;
}

.site-hero .quick-grid .qi.icon-slot {
  width: 32px !important;
  height: 32px !important;
  color: var(--home-blue) !important;
  background: transparent !important;
}

.site-hero .quick-grid .qi.icon-slot::after,
.tool-tile-grid .icon-slot::after,
.home-service-strip .icon-slot::after,
.hero-stat-cards .icon-slot::after {
  width: 82% !important;
  height: 82% !important;
}

.site-hero .quick-grid > :nth-child(3n + 1) .qi.icon-slot { color: #1aa06f !important; }
.site-hero .quick-grid > :nth-child(3n + 2) .qi.icon-slot { color: #ff941f !important; }
.site-hero .quick-grid > :nth-child(3n) .qi.icon-slot { color: #755cf5 !important; }

.wrap.main {
  width: min(1480px, calc(100% - 64px)) !important;
  padding-top: 106px !important;
  gap: 18px !important;
}

.content-grid {
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
}

.content-grid > div,
.content-grid > aside {
  min-width: 0;
}

.block,
.news-card,
.home-login-card,
.home-ad-card,
.hot-download-panel {
  border: 1px solid var(--home-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.block {
  padding: 18px 22px !important;
}

.section-head,
.home-side-head {
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  align-items: center !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.section-head h2,
.home-side-head h2 {
  padding-left: 0 !important;
  color: #111827 !important;
  font-size: 21px !important;
  font-weight: 760 !important;
}

.section-head h2::before,
.home-side-head h2::before,
.rank-head strong::before {
  display: none !important;
}

.tabs {
  flex: 1;
  justify-content: space-around;
  gap: 16px !important;
  overflow-x: auto;
}

.tabs a {
  min-height: 32px !important;
  padding: 0 8px 8px !important;
  color: #202a38 !important;
  font-size: 14px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
}

.tabs a.active {
  color: var(--home-blue) !important;
  border-bottom-color: var(--home-blue) !important;
}

.news-card.two-col,
.file-card.two-col {
  margin-top: 0 !important;
  padding: 14px 22px 36px !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rank-news li,
.file-list li {
  min-height: 33px !important;
  padding: 5px 0 !important;
  border-bottom: 0 !important;
}

.rank-news a,
.file-list a {
  font-size: 14px !important;
  font-weight: 560 !important;
}

.rank-news span,
.file-list span {
  font-size: 12px !important;
}

.news-card.two-col .rank-news li {
  grid-template-columns: 25px minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
}

.news-card.two-col .rank-news li::before,
.download-rank-list li::before {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 3px;
  color: #fff;
  background: var(--home-blue);
  font-size: 12px;
  font-weight: 700;
}

.news-card.two-col .rank-news li a {
  grid-column: 2;
}

.news-card.two-col .rank-news li span {
  grid-column: 3;
  align-self: center;
  white-space: nowrap;
}

.more {
  bottom: 4px !important;
  color: var(--home-blue) !important;
}

.home-side {
  gap: 16px !important;
}

.home-login-card {
  padding: 20px !important;
}

.home-login-card strong {
  font-size: 20px !important;
}

.home-login-card .login-main {
  width: 140px !important;
  min-height: 38px !important;
  justify-self: center;
}

.home-login-actions {
  margin-top: 4px;
  border-top: 1px solid #edf2f7;
}

.home-login-actions a {
  min-height: 44px !important;
  border: 0 !important;
  background: transparent !important;
}

.hot-download-panel {
  padding: 18px 22px !important;
}

.download-rank-list,
.latest-school-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.download-rank-list li,
.latest-school-list li {
  counter-increment: item;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 32px;
}

.download-rank-list {
  counter-reset: item;
}

.download-rank-list li::before {
  content: counter(item);
}

.download-rank-list a,
.latest-school-list a {
  overflow: hidden;
  color: #172033 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.download-rank-list span,
.latest-school-list time {
  color: #7c8798 !important;
  font-size: 12px;
}

.homepage-three-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr) minmax(360px, .95fr);
  gap: 16px;
  margin-bottom: 0;
}

.school-major-panel .section-head {
  grid-template-columns: auto 1fr auto;
}

.school-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
  padding-top: 14px;
}

.school-mini-grid a {
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 10px;
  min-height: 64px;
  padding: 8px 10px;
  border: 1px solid #edf2f7;
  border-radius: 4px;
}

.school-mini-grid span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--home-blue) !important;
  border: 1px solid #cfe0f5;
  background: #f4f9ff;
  font-weight: 800;
}

.school-mini-grid strong {
  color: #172033 !important;
  font-size: 14px !important;
}

.school-mini-grid em {
  color: #6b7788 !important;
  font-size: 12px;
  font-style: normal;
}

.tool-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px 24px;
  padding: 24px 16px 6px;
}

.tool-tile-grid a {
  display: grid;
  justify-items: center;
  gap: 10px;
  color: #172033 !important;
  font-weight: 650;
}

.tool-tile-grid .icon-slot {
  width: 58px !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 8px;
  color: var(--home-blue) !important;
  background: #f1f7ff !important;
}

.tool-tile-grid a:nth-child(2) .icon-slot { color: #11a7b9 !important; background: #eefcff !important; }
.tool-tile-grid a:nth-child(4) .icon-slot { color: #4b8ff5 !important; }
.tool-tile-grid a:nth-child(5) .icon-slot { color: #2382f2 !important; }
.tool-tile-grid a:nth-child(6) .icon-slot { color: #ff8832 !important; background: #fff5ec !important; }

.latest-school-list li {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 30px;
}

.home-promo-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.home-promo-row .banner-image {
  display: block;
  overflow: hidden;
  border: 1px solid #dfe8f3 !important;
  border-radius: 4px !important;
  background: #eaf4ff !important;
}

.home-promo-row img {
  width: 100%;
  height: 164px;
  object-fit: cover;
}

.home-service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0 !important;
  border: 1px solid #dfe8f3;
  border-radius: 4px;
  background: #fff;
}

.home-service-strip div {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  min-height: 76px;
  padding: 14px 40px;
  column-gap: 12px;
  border-right: 1px solid #edf2f7;
}

.home-service-strip div:last-child {
  border-right: 0;
}

.home-service-strip .icon-slot {
  grid-row: span 2;
  width: 34px !important;
  height: 34px !important;
  color: var(--home-blue) !important;
  background: transparent !important;
  border: 0 !important;
}

.home-service-strip strong {
  color: #172033 !important;
  font-size: 15px !important;
}

.home-service-strip em {
  color: #6b7788 !important;
  font-size: 12px;
  font-style: normal;
}

.home-legacy,
.footer-banners {
  display: none !important;
}

.news-card.two-col .rank-news {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.news-card.two-col .rank-news[start="1"] { counter-reset: home-rank 0; }
.news-card.two-col .rank-news[start="9"] { counter-reset: home-rank 8; }

.news-card.two-col .rank-news li {
  counter-increment: home-rank;
}

.news-card.two-col .rank-news li::before {
  content: counter(home-rank) !important;
  color: #fff !important;
  background: var(--home-blue) !important;
  border-radius: 3px !important;
}

.file-card .file-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.file-card .file-list li {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 8px !important;
  align-items: center !important;
}

.file-card .file-list li > .icon-slot,
.file-card .file-list li > i {
  grid-row: span 2 !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

.file-card .file-list a {
  grid-column: 2 !important;
  min-width: 0 !important;
}

.file-card .file-list span {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  white-space: nowrap !important;
}

.footer {
  margin-top: 28px;
}

@media (max-width: 1320px) {
  .site-hero .nav-links {
    gap: 20px !important;
    margin-left: 28px !important;
  }

  .hero-stat-cards { right: -96px; }

  .site-hero .quick-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    bottom: -176px !important;
  }

  .wrap.main {
    padding-top: 196px !important;
  }

  .homepage-three-grid {
    grid-template-columns: 1fr 1fr;
  }

  .latest-school-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .site-hero .topbar {
    padding: 0 16px !important;
    flex-wrap: wrap;
    min-height: 98px !important;
  }

  .site-hero .nav-links {
    order: 3;
    width: 100%;
    margin-left: 0 !important;
    overflow-x: auto;
  }

  .hero-stat-cards {
    display: none;
  }

  .site-hero .hero-center,
  .site-hero .search-box,
  .site-hero .hero-meta {
    width: min(100%, 672px) !important;
  }

  .content-grid,
  .homepage-three-grid {
    grid-template-columns: 1fr !important;
  }

  .home-promo-row,
  .home-service-strip {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .site-hero {
    min-height: auto !important;
    padding-bottom: 18px !important;
  }

  .site-hero .hero-center {
    padding-top: 24px !important;
    min-height: 0 !important;
  }

  .site-hero .hero-center h1 {
    font-size: 30px !important;
  }

  .site-hero .search-tabs {
    width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .site-hero .search-box {
    height: auto !important;
    flex-direction: column;
    border-radius: 0 0 8px 8px !important;
  }

  .site-hero .search-box button {
    width: 100% !important;
  }

  .site-hero .hero-meta {
    display: none !important;
  }

  .site-hero .quick-grid {
    position: static !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin-top: 18px !important;
    transform: none !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    min-height: 72px !important;
    padding: 8px 3px !important;
    font-size: 12px !important;
  }

  .site-hero .quick-grid .qi.icon-slot {
    width: 25px !important;
    height: 25px !important;
  }

  .wrap.main {
    width: min(100% - 24px, 1480px) !important;
    padding-top: 18px !important;
  }

  .news-card.two-col,
  .file-card.two-col,
  .school-mini-grid,
  .tool-tile-grid,
  .home-promo-row,
  .home-service-strip {
    grid-template-columns: 1fr !important;
  }

  .home-service-strip div {
    border-right: 0;
    border-bottom: 1px solid #edf2f7;
    padding: 14px 18px;
  }

  .home-service-strip div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 360px) {
  .site-hero .quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Brightness correction: keep the blue theme, but remove the heavy dusk feeling. */
:root {
  --human-blue: #1784f4;
  --human-blue-deep: #0b68d8;
  --human-blue-soft: #f0f8ff;
  --human-cyan: #16b8df;
  --human-ink: #132236;
  --human-muted: #62758c;
  --human-line: #e0ebf6;
  --human-bg: #f9fcff;
  --human-panel: #ffffff;
}

html,
body {
  background: #f9fcff !important;
}

body {
  color: var(--human-ink) !important;
}

.site-hero {
  background:
    linear-gradient(90deg, rgba(18, 126, 238, .78) 0%, rgba(34, 144, 246, .66) 48%, rgba(32, 178, 223, .56) 100%),
    url("./assets/brand/header-bg.png") center top / cover no-repeat !important;
}

.topbar {
  background: rgba(255, 255, 255, .08) !important;
  border-bottom-color: rgba(255, 255, 255, .16) !important;
}

.hero-center h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(4, 48, 100, .16) !important;
}

.search-tabs button,
.hot-search,
.hero-stats {
  color: rgba(255, 255, 255, .9) !important;
}

.search-box {
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 10px 22px rgba(14, 88, 166, .12) !important;
}

.search-box button,
.top-actions .login-main,
.all-nav-actions .login-main,
.login-main,
.primary-link,
.library-search button,
.member-primary-action,
.home-login-card .login-main,
.side-login-card .login-main,
.member-hero .login-main {
  background: #1784f4 !important;
  border-color: #1784f4 !important;
}

.quick-grid {
  border-color: rgba(255, 255, 255, .52) !important;
  background: rgba(255, 255, 255, .42) !important;
}

.quick-grid a,
.quick-grid button {
  background: rgba(255, 255, 255, .97) !important;
  color: #164071 !important;
}

.block,
.news-card,
.school-card,
.major-card,
.material-card,
.service-card,
.tool-item,
.result-item,
.side-card,
.inner-card,
.category-nav-card,
.nav-hub-grid a,
.side-tool-grid a,
.member-tool-grid a,
.account-quick-grid a,
.landing-grid a,
.landing-card,
.landing-form,
.content-list,
.home-login-card,
.home-update-card,
.home-ad-card,
.rank-panel,
.analysis-card,
.timeline-card,
.all-nav-panel,
.all-nav-grid section {
  border-color: #e3edf7 !important;
  background: #ffffff !important;
}

.rank-news li:hover,
.file-list li:hover,
.content-list li:hover,
.side-tool-grid a:hover {
  background: #fbfdff !important;
}

.landing-hero,
.member-login-panel,
.member-dashboard-preview {
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 62%, #f7fbff 100%) !important;
}

.landing-kicker,
.member-kicker,
.tag,
.result-tags .tag,
.pager-note,
.article-meta span,
.content-list time,
.content-list span,
.list-label {
  color: #126fd0 !important;
  background: #f2f8ff !important;
  border-color: rgba(23, 132, 244, .12) !important;
}

.footer {
  background: #ffffff !important;
}

@media (max-width: 760px) {
  .site-hero {
    background:
      linear-gradient(180deg, rgba(18, 126, 238, .76) 0%, rgba(34, 144, 246, .62) 100%),
      url("./assets/brand/header-bg.png") center top / auto 100% no-repeat !important;
  }
}

/* PC layout repair: undo broad overrides that squeezed desktop pages. */
@media (min-width: 1024px) {
  .site-hero .search-tabs {
    display: flex !important;
    width: auto !important;
    max-width: 860px !important;
    padding: 0 !important;
    gap: 12px !important;
    background: rgba(7, 86, 184, .26) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .site-hero .search-tabs button {
    min-width: 138px !important;
    height: 42px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .10) !important;
    color: rgba(255, 255, 255, .94) !important;
    box-shadow: none !important;
  }

  .site-hero .search-tabs button.active,
  .site-hero .search-tabs button:hover {
    background: #ffffff !important;
    color: var(--human-blue) !important;
    border: 0 !important;
    box-shadow: inset 0 -3px 0 #ffffff !important;
  }

  .inner-card-head {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 28px !important;
    min-height: 72px !important;
  }

  .inner-card-head h1,
  .inner-card-head h2 {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    line-height: 1.15 !important;
  }

  .inner-card-head .filter-tabs,
  .inner-card-head .detail-tabs,
  .inner-card-head nav {
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 18px !important;
  }

  .member-page .member-landing {
    display: flex !important;
    justify-content: center !important;
    align-items: start !important;
  }

  .member-page .member-login-panel {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
  }

  .member-page .member-dashboard-preview:not([hidden]) {
    width: min(760px, 100%) !important;
    max-width: 760px !important;
  }

  .landing-page .landing-main {
    width: min(1180px, calc(100% - 64px)) !important;
  }

  .landing-page .landing-hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
    align-items: center !important;
    min-height: 300px !important;
    padding: 34px !important;
  }

  .download-card button,
  .member-code-button,
  .landing-actions a,
  .member-alt-actions a {
    border-width: 1px !important;
    box-shadow: none !important;
  }

  .download-card button[data-download-resource] {
    background: var(--human-blue) !important;
    border-color: var(--human-blue) !important;
  }

  .download-card button:not([data-download-resource]) {
    background: #f6fbff !important;
    border-color: #cfe0f2 !important;
    color: var(--human-blue) !important;
  }

  .site-hero .hero-center {
    max-width: 1060px !important;
  }

  .site-hero .quick-grid {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }

  .site-hero .quick-grid .qi.icon-slot {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }

  .member-alt-actions a {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--human-blue) !important;
    box-shadow: none !important;
  }
}

.article-table-wrap,
.article-body > table {
  max-width: 100% !important;
}

.article-table-wrap {
  overflow-x: auto !important;
}

.article-table-wrap table,
.article-body > table {
  width: max-content !important;
  min-width: min(100%, 720px) !important;
}

/* PC homepage rank list repair: prevent native list markers from colliding across columns. */
@media (min-width: 1024px) {
  .news-card.two-col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 34px !important;
    row-gap: 0 !important;
    padding: 22px 30px 34px !important;
  }

  .news-card.two-col .rank-news {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  .news-card.two-col .rank-news[start="1"] {
    counter-reset: home-rank 0;
  }

  .news-card.two-col .rank-news[start="9"] {
    counter-reset: home-rank 8;
  }

  .news-card.two-col .rank-news li {
    counter-increment: home-rank;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    min-height: 68px !important;
    padding: 13px 0 !important;
    border-radius: 0 !important;
  }

  .news-card.two-col .rank-news li::marker {
    content: "" !important;
  }

  .news-card.two-col .rank-news li::before {
    content: counter(home-rank) "." !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    color: var(--human-blue) !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 780 !important;
    font-variant-numeric: tabular-nums !important;
  }

  .news-card.two-col .rank-news li a,
  .news-card.two-col .rank-news li span {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  .news-card.two-col .rank-news li a {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.45 !important;
  }

  .news-card.two-col .rank-news li span {
    margin-top: 4px !important;
  }

  .news-card.two-col > .more {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    margin-top: 2px !important;
  }
}

/* Final homepage patch after legacy PC rank repair */
@media (min-width: 1024px) {
  .site-hero .quick-grid {
    grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
    width: min(1480px, calc(100vw - 64px)) !important;
    max-width: none !important;
    bottom: -106px !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    min-height: 88px !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px 4px 10px !important;
    overflow: hidden !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1.15 !important;
    font-size: 12px !important;
  }

  .wrap.main {
    width: min(1480px, calc(100% - 64px)) !important;
    padding-top: 126px !important;
  }

  .news-card.two-col .rank-news li {
    min-height: 33px !important;
    padding: 5px 0 !important;
    grid-template-columns: 25px minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
  }

  .news-card.two-col .rank-news li::before {
    content: counter(home-rank) !important;
    display: grid !important;
    place-items: center !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 3px !important;
    color: #fff !important;
    background: var(--home-blue) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .news-card.two-col .rank-news li a {
    grid-column: 2 !important;
  }

  .news-card.two-col .rank-news li span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    margin-top: 0 !important;
    align-self: center !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1024px) and (max-width: 1320px) {
  .site-hero .quick-grid {
    grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
    bottom: -106px !important;
  }

  .wrap.main {
    padding-top: 126px !important;
  }
}

/* PC-only homepage refinement */
@media (min-width: 1024px) {
  .site-hero .topbar {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .site-hero .brand-logo {
    width: 218px !important;
    max-height: 38px !important;
  }

  .site-hero .nav-links {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    gap: clamp(22px, 2.15vw, 40px) !important;
    margin-left: 36px !important;
  }

  .site-hero .nav-links a,
  .site-hero .nav-links button {
    flex: 0 0 auto !important;
    overflow: visible !important;
    font-size: 15px !important;
  }

  .site-hero .top-actions {
    flex: 0 0 auto !important;
  }

  .site-hero .quick-grid {
    width: min(1480px, calc(100vw - 48px)) !important;
    bottom: -106px !important;
  }

  .wrap.main {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 126px !important;
  }

  .content-grid {
    grid-template-columns: minmax(0, 1fr) 420px !important;
  }

  .home-login-card {
    min-height: 158px !important;
    padding: 14px 18px !important;
    gap: 10px 14px !important;
    border-top: 0 !important;
    border-radius: 0 0 4px 4px !important;
  }

  .home-login-card::before {
    width: 66px !important;
    height: 66px !important;
  }

  .home-login-card::after {
    left: 44px !important;
    top: 48px !important;
    width: 34px !important;
    height: 42px !important;
  }

  .home-login-card strong {
    font-size: 18px !important;
  }

  .home-login-card .login-main {
    min-height: 34px !important;
  }

  .home-login-actions a {
    min-height: 32px !important;
  }

  .home-ad-card.banner-image img {
    height: 150px !important;
    aspect-ratio: auto !important;
  }

  .home-side {
    gap: 16px !important;
  }

  .home-side-head {
    min-height: 62px !important;
    padding: 0 20px !important;
    border: 1px solid var(--home-line) !important;
    border-bottom: 1px solid #edf2f7 !important;
    border-radius: 4px 4px 0 0 !important;
    background: #fff !important;
  }

  .home-side-head + .home-login-card {
    margin-top: -16px !important;
  }

  .site-hero .quick-grid .qi.icon-slot {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }
}

/* Homepage detail polish */
.main > section .section-head h2::after,
.main > section .home-side-head h2::after,
.main > section .rank-head strong::after {
  display: none !important;
  content: none !important;
}

.main > .content-grid .section-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 24px !important;
}

.main > .content-grid .section-head .tabs {
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}

.main > .content-grid .section-head .tabs a {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.head-more,
.home-side-head a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid #e4edf7 !important;
  border-radius: 999px !important;
  color: var(--home-blue) !important;
  background: #fff !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

.home-side-head {
  display: grid !important;
  grid-template-columns: auto auto !important;
}

.home-login-card {
  position: relative !important;
  grid-template-columns: 102px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 170px !important;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 58%, #f6fbff 100%) !important;
}

.home-login-card::before {
  content: "" !important;
  display: block !important;
  grid-row: span 2;
  width: 82px;
  height: 82px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(18, 111, 235, .12), rgba(22, 184, 223, .08)),
    #eaf4ff;
  box-shadow: inset 0 0 0 1px rgba(18, 111, 235, .08);
}

.home-login-card::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 50px;
  top: 52px;
  width: 45px;
  height: 54px;
  border-radius: 7px;
  border: 2px solid rgba(18, 111, 235, .32);
  background:
    linear-gradient(#86bdf6, #86bdf6) 13px 16px / 19px 3px no-repeat,
    linear-gradient(#c5ddf7, #c5ddf7) 13px 27px / 24px 3px no-repeat,
    linear-gradient(#c5ddf7, #c5ddf7) 13px 38px / 17px 3px no-repeat,
    #fff;
}

.home-login-card > div:first-child {
  min-width: 0;
}

.home-login-card .login-main {
  justify-self: start !important;
}

.home-login-actions {
  grid-column: 1 / -1 !important;
}

.home-ad-card.banner-image img {
  aspect-ratio: 2.08 / 1 !important;
  object-fit: cover !important;
}

.download-rank-list li:nth-child(-n + 3)::before {
  background: linear-gradient(180deg, #2f8bf7, #0d65dc) !important;
}

.download-rank-list li:nth-child(1)::before {
  background: linear-gradient(180deg, #ffad3d, #ff8618) !important;
}

.school-mini-grid a,
.tool-tile-grid a,
.download-rank-list li,
.latest-school-list li,
.home-service-strip div,
.home-promo-row .banner-image {
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .school-mini-grid a:hover,
  .tool-tile-grid a:hover,
  .download-rank-list li:hover,
  .latest-school-list li:hover,
  .home-promo-row .banner-image:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(18, 111, 235, .24) !important;
    background: #fbfdff !important;
    box-shadow: 0 8px 18px rgba(38, 72, 112, .08) !important;
  }
}

.school-mini-grid a:nth-child(3n + 1) span { color: #df4d4d !important; border-color: #f5cccc; background: #fff5f5; }
.school-mini-grid a:nth-child(3n + 2) span { color: #8f66d8 !important; border-color: #dfd3fa; background: #f8f5ff; }
.school-mini-grid a:nth-child(3n) span { color: #1c74d8 !important; border-color: #cfe0f5; background: #f4f9ff; }

.material-actions {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.material-actions a {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border: 1px solid #e3edf7 !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
}

.material-actions strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #172033 !important;
  font-size: 15px !important;
}

.material-actions span {
  display: block !important;
  overflow: hidden !important;
  color: #69778c !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
}

@media (max-width: 1180px) and (min-width: 981px) {
  .site-hero .top-actions .mini-program-trigger {
    width: 40px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  .site-hero .top-actions .mini-program-trigger::before {
    margin-right: 0 !important;
  }

  .site-hero .nav-links {
    gap: 16px !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    font-size: 12px !important;
  }
}

@media (max-width: 980px) {
  .main > .content-grid .section-head {
    display: flex !important;
  }

  .main > .content-grid .section-head .tabs {
    overflow-x: auto !important;
  }

  .home-login-card {
    grid-template-columns: 1fr !important;
  }

  .home-login-card::before {
    display: none !important;
  }

  .material-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* PC shape repair: prevent portal components from stretching into distorted forms. */
@media (min-width: 1024px) {
  :root {
    --home-pc-container: 1480px;
    --home-pc-gap: 18px;
    --home-pc-side: 420px;
  }

  .site-hero,
  .site-hero .topbar,
  .wrap.main {
    min-width: 1200px !important;
  }

  .site-hero {
    height: 385px !important;
    min-height: 385px !important;
  }

  .site-hero .hero-center {
    width: min(980px, calc(100% - 64px)) !important;
    max-width: 980px !important;
    min-height: 313px !important;
    padding-top: 44px !important;
  }

  .site-hero .hero-center h1 {
    margin-bottom: 26px !important;
    font-size: 42px !important;
    line-height: 1.15 !important;
  }

  .site-hero .search-tabs {
    width: 672px !important;
    grid-template-columns: repeat(4, 168px) !important;
  }

  .site-hero .search-box,
  .site-hero .hero-meta {
    width: 672px !important;
    max-width: 672px !important;
  }

  .site-hero .search-box {
    height: 64px !important;
    padding: 8px !important;
  }

  .site-hero .search-box input,
  .site-hero .search-box button {
    height: 48px !important;
  }

  .site-hero .hero-meta {
    margin-top: 10px !important;
  }

  .hero-stat-cards {
    top: 40px !important;
    right: -210px !important;
    width: 208px !important;
  }

  .site-hero .quick-grid {
    left: 50% !important;
    width: min(var(--home-pc-container), calc(100vw - 64px)) !important;
    max-width: var(--home-pc-container) !important;
    bottom: -104px !important;
    grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
    border-radius: 4px !important;
    transform: translateX(-50%) !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    min-height: 112px !important;
    padding: 16px 6px 12px !important;
    gap: 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .site-hero .quick-grid .qi.icon-slot {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  .wrap.main {
    width: min(var(--home-pc-container), calc(100% - 64px)) !important;
    max-width: var(--home-pc-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 128px !important;
    gap: var(--home-pc-gap) !important;
  }

  .content-grid {
    grid-template-columns: minmax(0, calc(var(--home-pc-container) - var(--home-pc-side) - var(--home-pc-gap))) var(--home-pc-side) !important;
    gap: var(--home-pc-gap) !important;
  }

  .homepage-three-grid {
    grid-template-columns: minmax(0, 1.45fr) 336px 400px !important;
    gap: var(--home-pc-gap) !important;
  }

  .main > section {
    margin-bottom: 0 !important;
  }

  .block {
    padding: 18px 22px !important;
  }

  .news-card.two-col,
  .file-card.two-col {
    padding: 14px 22px 36px !important;
  }

  .rank-news a,
  .file-list a,
  .download-rank-list a,
  .latest-school-list a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .home-side-head {
    height: 62px !important;
    min-height: 62px !important;
  }

  .home-login-card {
    min-height: 176px !important;
  }

  .home-ad-card.banner-image img {
    height: 154px !important;
  }

  .school-mini-grid a {
    min-height: 62px !important;
  }

  .tool-tile-grid {
    padding-top: 24px !important;
    gap: 24px 22px !important;
  }

  .home-promo-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--home-pc-gap) !important;
  }

  .home-promo-row img {
    height: 164px !important;
  }

  .home-service-strip {
    margin-top: 0 !important;
  }
}

/* PC final morphology lock: keep the desktop portal from looking stretched. */
@media (min-width: 1024px) {
  .site-hero .quick-grid {
    height: 112px !important;
    min-height: 112px !important;
    padding: 0 !important;
    bottom: -104px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  .site-hero .quick-grid a,
  .site-hero .quick-grid button {
    height: 110px !important;
    min-height: 110px !important;
    padding: 12px 3px 10px !important;
    gap: 7px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .site-hero .quick-grid .qi.icon-slot {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
  }

  .wrap.main {
    padding-top: 128px !important;
  }
}

/* Disable more-link animations. */
a.more,
.more,
.section-head .head-more,
.paper-bank .head-more,
.head-more {
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

a.more span,
.more span,
.section-head .head-more span,
.paper-bank .head-more span,
.head-more span {
  transition: none !important;
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

a.more:hover,
.more:hover,
.section-head .head-more:hover,
.paper-bank .head-more:hover,
.head-more:hover,
a.more:active,
.more:active,
.section-head .head-more:active,
.paper-bank .head-more:active,
.head-more:active {
  transition: none !important;
  animation: none !important;
}

a.more:hover span,
.more:hover span,
.section-head .head-more:hover span,
.paper-bank .head-more:hover span,
.head-more:hover span,
a.more:active span,
.more:active span,
.section-head .head-more:active span,
.paper-bank .head-more:active span,
.head-more:active span {
  transform: none !important;
}

/* PC search button shape lock. */
@media (min-width: 1024px) {
  .site-hero .search-box {
    display: flex !important;
    align-items: center !important;
    height: 64px !important;
    padding: 8px !important;
    overflow: hidden !important;
  }

  .site-hero .search-box input {
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 4px 0 0 4px !important;
  }

  .site-hero .search-box button {
    display: inline-flex !important;
    flex: 0 0 140px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 140px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    line-height: 1 !important;
  }

  .site-hero .search-box button .icon-slot,
  .site-hero .search-box button span {
    position: relative !important;
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .site-hero .search-box button::after {
    content: "搜索" !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #fff !important;
    transform: none !important;
  }
}

/* PC hot-search spacing lock. */
@media (min-width: 1024px) {
  .site-hero .hero-meta {
    height: 24px !important;
    margin-top: -4px !important;
    overflow: visible !important;
  }

  .site-hero .hot-search {
    height: 24px !important;
    align-items: center !important;
  }

  .site-hero .quick-grid {
    bottom: -112px !important;
  }
}

/* PC assistant panel layout lock. */
@media (min-width: 1024px) {
  .home-side {
    display: grid !important;
    grid-template-rows: 50px 176px 154px !important;
    gap: 12px !important;
    align-content: start !important;
  }

  .home-side-head {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 20px !important;
    border: 1px solid var(--home-line) !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  .home-side-head h2 {
    line-height: 1 !important;
  }

  .home-side-head + .home-login-card {
    margin-top: 0 !important;
  }

  .home-login-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-rows: auto auto 42px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 176px !important;
    height: 176px !important;
    margin: 0 !important;
    padding: 18px 18px 14px !important;
    gap: 8px 16px !important;
    overflow: hidden !important;
    border: 1px solid var(--home-line) !important;
    border-radius: 4px !important;
    background: #fff !important;
  }

  .home-login-card::before {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 70px !important;
    height: 70px !important;
    border-radius: 12px !important;
  }

  .home-login-card::after {
    left: 42px !important;
    top: 40px !important;
    width: 38px !important;
    height: 48px !important;
    border-radius: 6px !important;
  }

  .home-login-card > div:first-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .home-login-card strong {
    margin-bottom: 6px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .home-login-card span {
    display: block !important;
    line-height: 1.45 !important;
  }

  .home-login-card .login-main {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    width: 140px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
  }

  .home-login-actions {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-self: end !important;
    width: 100% !important;
    height: 42px !important;
    margin: 4px 0 0 !important;
    padding-top: 8px !important;
    gap: 0 !important;
    border-top: 1px solid #edf2f7 !important;
  }

  .home-login-actions a {
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    border-radius: 0 !important;
  }

  .home-ad-card {
    width: 100% !important;
    height: 154px !important;
    min-height: 154px !important;
  }

  .home-ad-card.banner-image img {
    width: 100% !important;
    height: 152px !important;
    object-fit: cover !important;
  }
}

/* Keep section more links blue in every click/visited state. */
.section-head .head-more,
.section-head .head-more:link,
.section-head .head-more:visited,
.section-head .head-more:hover,
.section-head .head-more:active,
.section-head .head-more:focus,
.paper-bank .head-more,
.paper-bank .head-more:link,
.paper-bank .head-more:visited,
.paper-bank .head-more:hover,
.paper-bank .head-more:active,
.paper-bank .head-more:focus,
.head-more,
.head-more:link,
.head-more:visited,
.head-more:hover,
.head-more:active,
.head-more:focus {
  color: var(--home-blue) !important;
  border-color: #e4edf7 !important;
  background: #fff !important;
  box-shadow: none !important;
  outline-color: rgba(18, 111, 235, .26) !important;
}

.section-head .head-more span,
.section-head .head-more:visited span,
.section-head .head-more:hover span,
.section-head .head-more:active span,
.paper-bank .head-more span,
.paper-bank .head-more:visited span,
.paper-bank .head-more:hover span,
.paper-bank .head-more:active span,
.head-more span,
.head-more:visited span,
.head-more:hover span,
.head-more:active span {
  color: currentColor !important;
}

/* School library icons: use actual school icon instead of text logo. */
.school-mini-grid span.icon-slot {
  grid-row: span 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #f4f9ff !important;
  border: 1px solid #cfe0f5 !important;
}

.school-mini-grid span.icon-slot::after {
  width: 72% !important;
  height: 72% !important;
}

.school-mini-grid a:nth-child(3n + 1) span.icon-slot {
  color: #df4d4d !important;
  border-color: #f5cccc !important;
  background: #fff5f5 !important;
}

.school-mini-grid a:nth-child(3n + 2) span.icon-slot {
  color: #8f66d8 !important;
  border-color: #dfd3fa !important;
  background: #f8f5ff !important;
}

.school-mini-grid a:nth-child(3n) span.icon-slot {
  color: #1c74d8 !important;
  border-color: #cfe0f5 !important;
  background: #f4f9ff !important;
}

/* Regenerated exam tool icons. */
.tool-tile-grid .tool-tile-icon {
  display: grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  border: 1px solid rgba(18, 111, 235, .10) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #f7fbff 0%, #edf6ff 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65) !important;
}

.tool-tile-grid .tool-tile-icon svg {
  width: 38px !important;
  height: 38px !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.tool-tile-grid a:nth-child(1) .tool-tile-icon {
  color: #1677d2 !important;
  background: linear-gradient(180deg, #f5fbff 0%, #e9f4ff 100%) !important;
}

.tool-tile-grid a:nth-child(2) .tool-tile-icon {
  color: #10a7b5 !important;
  background: linear-gradient(180deg, #f4feff 0%, #e8fbfd 100%) !important;
}

.tool-tile-grid a:nth-child(3) .tool-tile-icon {
  color: #2f7fe8 !important;
  background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%) !important;
}

.tool-tile-grid a:nth-child(4) .tool-tile-icon {
  color: #2387e6 !important;
  background: linear-gradient(180deg, #f5fbff 0%, #eaf6ff 100%) !important;
}

.tool-tile-grid a:nth-child(5) .tool-tile-icon {
  color: #1787d8 !important;
  background: linear-gradient(180deg, #f4fbff 0%, #e8f6ff 100%) !important;
}

.tool-tile-grid a:nth-child(6) .tool-tile-icon {
  color: #f18a24 !important;
  background: linear-gradient(180deg, #fffaf4 0%, #fff1e2 100%) !important;
}

/* Rebuilt dense PC footer. */
@media (min-width: 1024px) {
  .pc-footer.footer {
    margin-top: 0 !important;
    padding: 0 !important;
    color: #d4d8dd !important;
    background: transparent !important;
  }

  .pc-footer .footer-tool-band {
    padding: 28px 0 30px !important;
    background: #fff !important;
    border-top: 1px solid #e5edf5 !important;
  }

  .pc-footer .footer-tool-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .pc-footer .footer-tool-grid a {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    min-height: 74px !important;
    padding: 12px 12px !important;
    column-gap: 10px !important;
    border: 1px solid #eef3f8 !important;
    border-radius: 8px !important;
    color: #172033 !important;
    background: linear-gradient(135deg, #f5fbff, #eef8ff) !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(2),
  .pc-footer .footer-tool-grid a:nth-child(10) {
    background: linear-gradient(135deg, #fffaf0, #fff5d9) !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(3),
  .pc-footer .footer-tool-grid a:nth-child(7),
  .pc-footer .footer-tool-grid a:nth-child(11) {
    background: linear-gradient(135deg, #fff4f3, #fff0ec) !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(4),
  .pc-footer .footer-tool-grid a:nth-child(8),
  .pc-footer .footer-tool-grid a:nth-child(9) {
    background: linear-gradient(135deg, #f0fbff, #e8f8ff) !important;
  }

  .pc-footer .footer-tool-grid .icon-slot {
    grid-row: 1 / span 2 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: #2f98df !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(2) .icon-slot,
  .pc-footer .footer-tool-grid a:nth-child(10) .icon-slot {
    background: #ffc737 !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(3) .icon-slot,
  .pc-footer .footer-tool-grid a:nth-child(7) .icon-slot,
  .pc-footer .footer-tool-grid a:nth-child(11) .icon-slot {
    background: #ff5f51 !important;
  }

  .pc-footer .footer-tool-grid a:nth-child(4) .icon-slot,
  .pc-footer .footer-tool-grid a:nth-child(8) .icon-slot,
  .pc-footer .footer-tool-grid a:nth-child(9) .icon-slot {
    background: #1ebfcf !important;
  }

  .pc-footer .footer-tool-grid .icon-slot::after {
    width: 62% !important;
    height: 62% !important;
  }

  .pc-footer .footer-tool-grid strong {
    overflow: hidden !important;
    color: #172033 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .pc-footer .footer-tool-grid em {
    overflow: hidden !important;
    color: #667385 !important;
    font-size: 12px !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .pc-footer .footer-brand-band {
    background: #eaf3fb !important;
    border-top: 1px solid #dbe8f2 !important;
  }

  .pc-footer .footer-brand-inner {
    display: grid !important;
    grid-template-columns: 220px 1fr 170px !important;
    align-items: center !important;
    min-height: 88px !important;
    gap: 28px !important;
  }

  .pc-footer .footer-brand {
    justify-content: flex-start !important;
    margin: 0 !important;
    opacity: .56 !important;
  }

  .pc-footer .footer-brand-inner p {
    margin: 0 !important;
    color: #26374c !important;
    font-size: 14px !important;
  }

  .pc-footer .footer-brand-inner button {
    height: 38px !important;
    border: 0 !important;
    border-radius: 6px !important;
    color: #fff !important;
    background: #ff7d2a !important;
    font-weight: 700 !important;
  }

  .pc-footer .footer-dark {
    padding: 34px 0 28px !important;
    background: #1f1f1f !important;
  }

  .pc-footer .footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 230px !important;
    gap: 58px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .pc-footer .footer-cols {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }

  .pc-footer .footer-col {
    display: block !important;
    min-width: 0 !important;
  }

  .pc-footer .footer-col h3,
  .pc-footer .footer-contact h3 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
  }

  .pc-footer .footer-col a {
    display: block !important;
    margin: 0 0 12px !important;
    color: #aeb4bd !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .pc-footer .footer-col a:hover,
  .pc-footer .footer-bottom a:hover {
    color: #fff !important;
  }

  .pc-footer .footer-contact {
    color: #c9ced6 !important;
  }

  .pc-footer .footer-qr {
    width: 110px !important;
    height: 110px !important;
    margin: 0 0 24px !important;
    border: 8px solid #fff !important;
    border-radius: 6px !important;
    background:
      linear-gradient(90deg, #111 50%, transparent 0) 0 0 / 18px 18px,
      linear-gradient(#111 50%, transparent 0) 0 0 / 18px 18px,
      #fff !important;
    box-shadow: inset 0 0 0 18px #fff !important;
  }

  .pc-footer .footer-contact p {
    margin: -8px 0 24px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .pc-footer .footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 14px 28px !important;
    align-items: center !important;
    margin-top: 28px !important;
    padding: 22px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    color: #9fa5ad !important;
    background: transparent !important;
  }

  .pc-footer .footer-bottom nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: flex-start !important;
  }

  .pc-footer .footer-bottom a,
  .pc-footer .footer-bottom p {
    margin: 0 !important;
    color: #aeb4bd !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .pc-footer .footer-bottom p:first-of-type {
    grid-column: 1 !important;
  }

  .pc-footer .footer-bottom p:last-of-type {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
  }

  .wrap.main {
    padding-bottom: 0 !important;
  }
}

/* Homepage regenerated hero banner. */
@media (min-width: 1024px) {
  .site-hero {
    background:
      linear-gradient(90deg, rgba(16, 107, 218, .80) 0%, rgba(23, 125, 225, .58) 43%, rgba(26, 148, 222, .46) 100%),
      url("./assets/brand/home-hero-banner-20260531.png") center center / cover no-repeat !important;
  }
}

/* Homepage contrast repair: reduce washed-out gray text. */
@media (min-width: 1024px) {
  :root {
    --home-text: #111827;
    --home-muted: #40556f;
    --home-muted-strong: #2f435c;
    --home-link-ink: #162238;
  }

  .main,
  .main a,
  .main strong,
  .main h2,
  .main h3 {
    color: var(--home-link-ink) !important;
  }

  .tabs a {
    color: #26364c !important;
    font-weight: 560 !important;
  }

  .tabs a.active {
    color: var(--home-blue) !important;
    font-weight: 720 !important;
  }

  .rank-news a,
  .file-list a,
  .download-rank-list a,
  .latest-school-list a {
    color: #172033 !important;
    font-weight: 650 !important;
  }

  .rank-news span,
  .file-list span,
  .download-rank-list span,
  .latest-school-list time {
    color: var(--home-muted-strong) !important;
    font-weight: 560 !important;
  }

  .home-login-card span,
  .material-actions span,
  .school-mini-grid em,
  .home-service-strip em,
  .footer-tool-grid em,
  .footer-brand-inner p {
    color: var(--home-muted-strong) !important;
    font-weight: 520 !important;
  }

  .home-login-actions a,
  .home-service-strip strong,
  .material-actions strong,
  .school-mini-grid strong,
  .tool-tile-grid strong {
    color: #172033 !important;
    font-weight: 700 !important;
  }

  .home-service-strip .icon-slot,
  .home-login-actions .icon-slot {
    color: var(--home-blue) !important;
  }

  .pc-footer .footer-col a,
  .pc-footer .footer-bottom a,
  .pc-footer .footer-bottom p {
    color: #d2d8df !important;
  }

  .pc-footer .footer-contact p {
    color: #f1f5f9 !important;
  }

  .news-card.two-col .rank-news li span,
  .news-card.two-col .file-list li span,
  .file-card.two-col .file-list li span,
  .hot-download-panel .download-rank-list span,
  .latest-school-panel .latest-school-list time {
    color: #354a64 !important;
    font-weight: 600 !important;
  }

  .pc-footer .footer-tool-grid em,
  .pc-footer .footer-brand-inner p,
  .pc-footer .footer-tool-grid a em {
    color: #32465e !important;
    font-weight: 560 !important;
  }
}

/* PC hero search focus: keep one clean frame, not stacked input rings. */
@media (min-width: 1024px) {
  .site-hero .search-box {
    border: 1px solid rgba(255, 255, 255, .78) !important;
    box-shadow: 0 14px 30px rgba(10, 72, 142, .16) !important;
    transition: border-color .16s ease, box-shadow .16s ease !important;
  }

  .site-hero .search-box:focus-within {
    border-color: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 34px rgba(10, 72, 142, .22) !important;
  }

  .site-hero .search-box input,
  .site-hero .search-box input:focus,
  .site-hero .search-box input:focus-visible,
  .site-hero .search-box button,
  .site-hero .search-box button:focus,
  .site-hero .search-box button:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
  }

  .site-hero .search-box input,
  .site-hero .search-box button {
    border: 0 !important;
  }
}

/* PC more links: static text buttons, no motion or lift effects. */
@media (min-width: 1024px) {
  a.more,
  .more,
  .view-more,
  .load-more,
  .section-head .head-more,
  .paper-bank .head-more,
  .head-more,
  a.more:hover,
  .more:hover,
  .view-more:hover,
  .load-more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover,
  a.more:active,
  .more:active,
  .view-more:active,
  .load-more:active,
  .section-head .head-more:active,
  .paper-bank .head-more:active,
  .head-more:active,
  a.more:focus,
  .more:focus,
  .view-more:focus,
  .load-more:focus,
  .section-head .head-more:focus,
  .paper-bank .head-more:focus,
  .head-more:focus {
    animation: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  a.more span,
  .more span,
  .view-more span,
  .load-more span,
  .section-head .head-more span,
  .paper-bank .head-more span,
  .head-more span,
  a.more:hover span,
  .more:hover span,
  .view-more:hover span,
  .load-more:hover span,
  .section-head .head-more:hover span,
  .paper-bank .head-more:hover span,
  .head-more:hover span,
  a.more:active span,
  .more:active span,
  .view-more:active span,
  .load-more:active span,
  .section-head .head-more:active span,
  .paper-bank .head-more:active span,
  .head-more:active span {
    animation: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  a.more:hover,
  .more:hover,
  .view-more:hover,
  .load-more:hover,
  .section-head .head-more:hover,
  .paper-bank .head-more:hover,
  .head-more:hover {
    color: #0756b8 !important;
    background: #fff !important;
    border-color: #d7e8fb !important;
  }
}

/* PC more links layout: keep card footers in normal flow. */
@media (min-width: 1024px) {
  .news-card .more,
  .school-card .more,
  .major-card .more,
  .material-card .more,
  .news-card.two-col > .more,
  .news-card.file-card.two-col > .more,
  a.more {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 112px !important;
    min-height: 32px !important;
    margin: 16px auto 0 !important;
    transform: none !important;
  }

  .news-card.two-col {
    align-items: start !important;
    row-gap: 12px !important;
    overflow: visible !important;
  }

  .news-card.two-col > .more,
  .news-card.file-card.two-col > .more {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    align-self: start !important;
  }

  .news-card.two-col .rank-news,
  .news-card.file-card.two-col .file-list {
    margin-bottom: 0 !important;
  }

  .news-card.file-card.two-col .material-actions {
    grid-column: 1 / -1 !important;
    margin-top: 16px !important;
  }

  .school-card,
  .major-card,
  .material-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .school-card .more,
  .major-card .more,
  .material-card .more {
    align-self: center !important;
  }
}

/* List page screenshot override: keep this block last. */
.page-reexam-announcement {
  --container: 1320px !important;
  background: #ffffff !important;
}

.page-reexam-announcement .inner-header {
  background: #ffffff !important;
}

.page-reexam-announcement .inner-header .topbar {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 28px !important;
  height: 66px !important;
  padding: 0 !important;
}

.page-reexam-announcement .nav-links {
  display: flex !important;
  justify-content: space-between !important;
  gap: 0 !important;
  overflow: visible !important;
}

.page-reexam-announcement .nav-links a {
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.page-reexam-announcement .nav-links a.active {
  color: #7c3aed !important;
  background: #f2ecff !important;
}

.page-reexam-announcement .inner-layout {
  grid-template-columns: minmax(0, 940px) 330px !important;
  gap: 28px !important;
}

.page-reexam-announcement .inner-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.page-reexam-announcement .inner-card-head {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.page-reexam-announcement .inner-card-head h1 {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
}

.page-reexam-announcement .inner-card-head h1::before,
.page-reexam-announcement .inner-card-head h1::after {
  display: none !important;
  content: none !important;
}

.page-reexam-announcement .filter-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  background: transparent !important;
}

.page-reexam-announcement .filter-tabs a {
  position: relative !important;
  min-height: 0 !important;
  padding: 0 13px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #111827 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.page-reexam-announcement .filter-tabs a.active,
.page-reexam-announcement .filter-tabs a:hover {
  color: #1269f3 !important;
  background: transparent !important;
}

.page-reexam-announcement .filter-tabs a.active::after {
  position: absolute !important;
  left: 13px !important;
  right: 13px !important;
  bottom: 0 !important;
  display: block !important;
  height: 3px !important;
  border-radius: 3px !important;
  content: "" !important;
  background: #1269f3 !important;
}

.page-reexam-announcement .category-summary {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #f3f8ff, #f6faff) !important;
}

.page-reexam-announcement .summary-stat,
.page-reexam-announcement .category-summary .summary-stat {
  display: grid !important;
  grid-template-columns: 28px auto 1fr !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 60px !important;
  padding: 10px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-reexam-announcement .summary-stat .icon-slot {
  grid-row: 1 / 3 !important;
  width: 22px !important;
  height: 22px !important;
}

.page-reexam-announcement .summary-stat span {
  color: #6b7280 !important;
  font-size: 12px !important;
}

.page-reexam-announcement .summary-stat strong {
  grid-column: 2 !important;
  margin: 3px 0 0 !important;
  color: #1269f3 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.page-reexam-announcement .summary-stat em {
  grid-column: 3 !important;
  color: #374151 !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.page-reexam-announcement .content-list {
  padding: 0 !important;
  background: #fff !important;
}

.page-reexam-announcement .content-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 18px !important;
  min-height: 74px !important;
  padding: 12px 20px 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.page-reexam-announcement .content-list li:nth-child(n + 11) {
  display: none !important;
}

.page-reexam-announcement .content-list a {
  display: flex !important;
  align-items: center !important;
  color: #151b26 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: normal !important;
}

.page-reexam-announcement .content-list p {
  margin: 7px 0 0 80px !important;
  color: #667085 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

.page-reexam-announcement .content-list time {
  justify-self: end !important;
  color: #6b7280 !important;
  font-size: 13px !important;
  background: transparent !important;
}

.page-reexam-announcement .content-list .list-label {
  margin-right: 18px !important;
  padding: 3px 9px !important;
  border-radius: 4px !important;
  color: #1269f3 !important;
  background: #eaf3ff !important;
  font-size: 12px !important;
}

.page-reexam-announcement .content-list .list-label-green {
  color: #13a378 !important;
  background: #e4f8f1 !important;
}

.page-reexam-announcement .side-tool-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.page-reexam-announcement .side-tool-grid a {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 52px auto !important;
  justify-items: center !important;
  gap: 8px !important;
  min-height: 82px !important;
  padding: 8px 4px !important;
  border: 0 !important;
  background: transparent !important;
}

.page-reexam-announcement .side-tool-grid a::before,
.page-reexam-announcement .side-tool-grid a::after {
  display: none !important;
  content: none !important;
}

.page-reexam-announcement .side-tool-grid .icon-slot {
  grid-row: 1 !important;
  width: 52px !important;
  height: 52px !important;
}

.page-reexam-announcement .side-tool-grid em {
  grid-row: 2 !important;
  color: #111827 !important;
  font-style: normal !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .page-reexam-announcement .inner-layout {
    grid-template-columns: 1fr !important;
  }

  .page-reexam-announcement .category-summary {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Article detail page recreation */
.page-article-detail {
  --container: 1320px;
  --detail-blue: #1269f3;
  background: #fff;
}

.page-article-detail .inner-header {
  background: #fff;
  box-shadow: 0 4px 18px rgba(15, 42, 76, .08);
}

.page-article-detail .inner-header .topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 34px;
  height: 66px;
}

.page-article-detail .brand-logo {
  width: 200px;
  height: auto;
}

.page-article-detail .nav-links {
  justify-content: space-between;
  gap: 0;
}

.page-article-detail .nav-links a {
  position: relative;
  color: #111827;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.page-article-detail .nav-links a.active {
  color: var(--detail-blue);
}

.page-article-detail .nav-links a.active::after {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -15px;
  height: 3px;
  border-radius: 3px;
  content: "";
  background: var(--detail-blue);
}

.page-article-detail .mini-program-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #dce7f5;
  border-radius: 20px;
  color: #1f2937;
  font-weight: 600;
  background: #fff;
}

.page-article-detail .mini-program-trigger .icon-slot {
  width: 18px;
  height: 18px;
}

.page-article-detail .inner-header .top-actions .login-main {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 19px;
  border-radius: 4px;
  font-weight: 600;
  background: linear-gradient(180deg, #1677ff, #0662df);
  box-shadow: 0 8px 18px rgba(18, 105, 243, .2);
}

.page-article-detail .inner-main {
  padding-top: 22px;
  padding-bottom: 46px;
}

.page-article-detail .breadcrumb {
  margin-bottom: 20px;
  color: #7b8493;
  font-size: 13px;
}

.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 830px) 376px;
  gap: 36px;
  align-items: start;
}

.article-detail-main {
  min-width: 0;
}

.article-detail-main h1 {
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.35;
}

.page-article-detail .article-meta {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 28px;
  margin-bottom: 22px;
  color: #64748b;
  font-size: 13px;
}

.page-article-detail .article-summary {
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 0;
  border-radius: 2px;
  color: #334155;
  background: #f4f7fb;
  font-size: 14px;
  line-height: 1.85;
}

.page-article-detail .article-summary strong {
  color: #111827;
}

.page-article-detail .article-body {
  color: #1f2937;
  font-size: 15px;
  line-height: 2.05;
}

.page-article-detail .article-body h2 {
  margin: 26px 0 10px;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.page-article-detail .article-body p {
  margin: 0 0 12px;
  text-indent: 2em;
}

.page-article-detail .article-body ol {
  margin: 0 0 12px 0;
  padding-left: 24px;
}

.page-article-detail .article-body li {
  margin: 2px 0;
}

.page-article-detail .article-table-wrap {
  margin: 12px 0 8px;
  overflow-x: auto;
}

.page-article-detail .article-table-wrap table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  color: #1f2937;
  font-size: 13px;
  text-align: center;
}

.page-article-detail .article-table-wrap th {
  padding: 8px 10px;
  border: 1px solid #cbd9ea;
  color: #0f172a;
  background: linear-gradient(180deg, #eaf3ff, #d9eaff);
}

.page-article-detail .article-table-wrap td {
  padding: 7px 10px;
  border: 1px solid #d8e1ec;
  background: #fff;
}

.page-article-detail .table-note {
  color: #64748b;
  font-size: 13px;
  text-indent: 0 !important;
}

.article-share-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 28px 0 20px;
}

.share-tools,
.collect-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-size: 13px;
}

.share-tools button {
  display: grid;
  width: 30px;
  height: 30px;
  border: 1px solid #d8e1ec;
  border-radius: 50%;
  color: #64748b;
  background: #f8fafc;
  place-items: center;
}

.share-tools .icon-slot,
.collect-link .icon-slot {
  width: 16px;
  height: 16px;
}

.related-reading {
  margin-top: 10px;
  padding: 18px;
  border: 1px solid #dfe7f2;
  border-radius: 3px;
}

.related-reading h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 18px;
}

.related-reading a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 8px 0;
  color: #1f2937;
  font-size: 14px;
}

.related-reading a::before {
  content: "›";
  margin-right: 8px;
  color: #64748b;
}

.related-reading a {
  grid-template-columns: auto 1fr auto;
}

.related-reading a span {
  color: #64748b;
}

.detail-sidebar {
  display: grid;
  gap: 20px;
}

.page-article-detail .side-card {
  margin: 0;
  padding: 18px;
  border: 1px solid #dfe7f2;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.side-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.side-card-head h3,
.page-article-detail .side-card > h3 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
}

.side-card-head a {
  color: var(--detail-blue);
  font-size: 12px;
  font-weight: 600;
}

.hot-news-card ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: hot-news;
}

.hot-news-card li {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 30px;
  counter-increment: hot-news;
}

.hot-news-card li::before {
  display: grid;
  width: 16px;
  height: 16px;
  border-radius: 2px;
  color: #fff;
  content: counter(hot-news);
  background: #1269f3;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  place-items: center;
}

.hot-news-card a {
  overflow: hidden;
  color: #1f2937;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hot-news-card time {
  color: #64748b;
  font-size: 12px;
}

.category-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 18px;
  column-gap: 12px;
}

.category-icon-grid a {
  display: grid;
  gap: 8px;
  justify-items: center;
  min-height: 58px;
  color: #111827;
  font-size: 12px;
}

.category-icon-grid .icon-slot {
  width: 28px;
  height: 28px;
  border: 0;
  color: #111827;
  background: transparent;
  box-shadow: none;
}

.category-icon-grid a.active {
  color: var(--detail-blue);
}

.category-icon-grid a.active .icon-slot {
  width: 42px;
  height: 42px;
  border-radius: 5px;
  color: var(--detail-blue);
  background: #eef6ff;
}

.page-article-detail .detail-quick-card .side-tool-grid {
  grid-template-columns: repeat(4, 1fr);
}

.page-article-detail .detail-quick-card .side-tool-grid a {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 52px auto;
  gap: 8px;
  justify-items: center;
  min-height: 76px;
  border: 0;
  color: #111827;
  background: transparent;
  font-size: 12px;
}

.page-article-detail .detail-quick-card .side-tool-grid a::before,
.page-article-detail .detail-quick-card .side-tool-grid a::after {
  display: none;
  content: none;
}

.page-article-detail .detail-quick-card .icon-slot {
  grid-row: 1;
  width: 52px;
  height: 52px;
  border: 0;
  color: var(--detail-blue);
  background: linear-gradient(180deg, #f1f7ff, #fff);
  box-shadow: 0 8px 20px rgba(18, 105, 243, .08);
}

.page-article-detail .detail-quick-card em {
  grid-row: 2;
  font-style: normal;
  white-space: nowrap;
}

.download-card > a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 8px 10px;
  align-items: start;
  padding: 8px 0;
  color: #1f2937;
}

.page-article-detail .download-card {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

.page-article-detail .download-card .side-card-head {
  display: flex !important;
  width: 100% !important;
}

.page-article-detail .download-card .side-card-head h3 {
  width: auto !important;
  white-space: nowrap !important;
}

.page-article-detail .download-card > a {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) 72px !important;
  gap: 4px 10px !important;
  align-items: center !important;
  padding: 8px 0 !important;
}

.page-article-detail .download-card > a > .icon-slot {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

.page-article-detail .download-card > a > strong {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.page-article-detail .download-card > a > em {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.page-article-detail .download-card > a > b {
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

.page-article-detail .detail-quick-card .side-tool-grid a {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 52px auto !important;
  align-items: center !important;
  justify-items: center !important;
}

.page-article-detail .detail-quick-card .side-tool-grid .icon-slot {
  grid-row: 1 !important;
  margin: 0 !important;
}

.page-article-detail .detail-quick-card .side-tool-grid em {
  grid-row: 2 !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.download-card .icon-slot {
  grid-row: 1 / 3;
  width: 18px;
  height: 18px;
  color: var(--detail-blue);
}

.download-card strong {
  overflow: hidden;
  font-size: 13px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.download-card em {
  grid-column: 2;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}

.download-card b {
  grid-row: 1 / 3;
  align-self: center;
  color: #64748b;
  font-size: 12px;
  font-weight: 400;
}

.detail-material-banner {
  position: relative;
  display: block;
  min-height: 188px;
  overflow: hidden;
  padding: 24px 20px;
  color: #0b4fc4;
  background: linear-gradient(100deg, rgba(222, 236, 255, .98), rgba(216, 233, 255, .7));
  border-radius: 3px;
}

.detail-material-banner::before {
  position: absolute;
  right: 32px;
  bottom: 24px;
  width: 112px;
  height: 82px;
  border-radius: 8px;
  content: "";
  background: linear-gradient(135deg, #6ba8ff, #2e73e8);
  box-shadow: 22px -14px 0 rgba(80, 145, 245, .36), -24px 12px 0 rgba(255, 255, 255, .65);
}

.detail-material-banner strong,
.detail-material-banner span,
.detail-material-banner em,
.detail-material-banner b {
  position: relative;
  z-index: 1;
  display: block;
}

.detail-material-banner strong {
  font-size: 26px;
  line-height: 1.2;
}

.detail-material-banner span {
  margin-top: 6px;
  font-size: 18px;
  font-weight: 700;
}

.detail-material-banner em {
  margin-top: 12px;
  color: #263a58;
  font-size: 13px;
  font-style: normal;
}

.detail-material-banner b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 22px;
  padding: 0 18px;
  border-radius: 16px;
  color: #fff;
  font-size: 13px;
  background: var(--detail-blue);
}

@media (max-width: 1100px) {
  .detail-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .page-article-detail .inner-header .topbar {
    grid-template-columns: 1fr;
    height: auto;
    gap: 14px;
    padding: 14px 0;
  }

  .page-article-detail .nav-links {
    overflow-x: auto;
  }

  .page-article-detail .article-meta {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .category-icon-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Generated detail pages shared polish */
.page-generated-article,
.page-info-detail {
  --container: 1320px;
  --detail-blue: #1269f3;
  background: #f6f9fc;
}

.page-generated-article .inner-header,
.page-info-detail .inner-header {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 18px rgba(15, 42, 76, .08);
}

.page-generated-article .inner-header .topbar,
.page-info-detail .inner-header .topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 34px;
  height: 66px;
}

.page-generated-article .brand-logo,
.page-info-detail .brand-logo {
  width: 200px;
  height: auto;
}

.page-generated-article .nav-links,
.page-info-detail .nav-links {
  justify-content: space-between;
  gap: 0;
  min-width: 0;
}

.page-generated-article .nav-links a,
.page-info-detail .nav-links a {
  position: relative;
  border: 0 !important;
  color: #111827 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.page-generated-article .nav-links a::before,
.page-info-detail .nav-links a::before {
  display: none !important;
  content: none !important;
}

.page-generated-article .nav-links a.active,
.page-info-detail .nav-links a.active {
  color: var(--detail-blue) !important;
}

.page-generated-article .nav-links a.active::after,
.page-info-detail .nav-links a.active::after {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -15px;
  height: 3px;
  border-radius: 3px;
  content: "";
  background: var(--detail-blue);
}

.page-generated-article .mini-program-trigger,
.page-info-detail .mini-program-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #dce7f5;
  border-radius: 20px;
  color: #1f2937;
  font-weight: 600;
  background: #fff;
}

.page-generated-article .mini-program-trigger .icon-slot,
.page-info-detail .mini-program-trigger .icon-slot {
  width: 18px;
  height: 18px;
}

.page-generated-article .inner-header .top-actions .login-main,
.page-info-detail .inner-header .top-actions .login-main {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 19px;
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  background: linear-gradient(180deg, #1677ff, #0662df);
  box-shadow: 0 8px 18px rgba(18, 105, 243, .2);
}

.page-generated-article .inner-main,
.page-info-detail .inner-main {
  padding-top: 22px;
  padding-bottom: 48px;
}

.page-generated-article .breadcrumb,
.page-info-detail .breadcrumb {
  margin-bottom: 20px;
  color: #7b8493;
  font-size: 13px;
}

.page-generated-article .inner-layout,
.page-info-detail .inner-layout {
  display: grid;
  grid-template-columns: minmax(0, 860px) 356px;
  gap: 32px;
  align-items: start;
}

.page-generated-article .inner-layout > article,
.page-info-detail .inner-layout > article {
  min-width: 0;
}

.page-generated-article .inner-card.article,
.page-info-detail .inner-card {
  min-width: 0;
  margin: 0;
  padding: 24px 28px;
  border: 1px solid #dfe7f2;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.page-generated-article .inner-card.article h1 {
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.35;
}

.page-generated-article .article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-bottom: 22px;
  color: #64748b;
  font-size: 13px;
}

.page-generated-article .article-summary {
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 0;
  border-radius: 3px;
  color: #334155;
  background: #f4f7fb;
  font-size: 14px;
  line-height: 1.85;
}

.page-generated-article .article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 24px;
}

.page-generated-article .article-actions a,
.page-generated-article .article-actions button,
.page-info-detail .inner-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid #d8e6f8;
  border-radius: 4px;
  color: var(--detail-blue);
  background: #f7fbff;
  font-size: 13px;
  font-weight: 600;
}

.page-generated-article .article-body {
  color: #1f2937;
  font-size: 15px;
  line-height: 2.05;
}

.page-generated-article .article-body p {
  margin: 0 0 12px;
  text-indent: 2em;
}

.page-generated-article .article-body img,
.page-generated-article .article-body video {
  max-width: 100%;
  height: auto;
}

.page-generated-article .article-table-wrap {
  max-width: 100%;
  margin: 14px 0;
  overflow-x: auto;
}

.page-generated-article .article-table-wrap table,
.page-generated-article .article-body table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  color: #1f2937;
  font-size: 13px;
  text-align: center;
}

.page-generated-article .article-table-wrap td,
.page-generated-article .article-table-wrap th,
.page-generated-article .article-body td,
.page-generated-article .article-body th {
  padding: 8px 10px;
  border: 1px solid #d8e1ec;
  background: #fff;
}

.page-generated-article .article-table-wrap tr:first-child td,
.page-generated-article .article-table-wrap th,
.page-generated-article .article-body th {
  color: #0f172a;
  font-weight: 700;
  background: linear-gradient(180deg, #eaf3ff, #d9eaff);
}

.page-generated-article .notice-box {
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid #d9e8fa;
  border-radius: 4px;
  color: #475569;
  background: #f7fbff;
}

.page-generated-article .notice-box h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 16px;
}

.page-generated-article .rich-sidebar,
.page-info-detail .rich-sidebar {
  display: grid;
  gap: 18px;
}

.page-generated-article .side-card,
.page-info-detail .side-card {
  margin: 0;
  padding: 18px;
  border: 1px solid #dfe7f2;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.page-generated-article .side-card h3,
.page-info-detail .side-card h3 {
  margin: 0 0 14px;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
}

.page-generated-article .article-toc a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 4px;
  color: #334155;
  font-weight: 600;
}

.page-generated-article .article-toc a:hover {
  color: var(--detail-blue);
  background: #f0f7ff;
}

.page-generated-article .side-tool-grid,
.page-info-detail .side-tool-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.page-generated-article .side-tool-grid a,
.page-info-detail .side-tool-grid a {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 44px auto;
  justify-items: center;
  gap: 8px;
  min-height: 70px;
  padding: 6px 2px;
  border: 0;
  color: #111827;
  background: transparent;
  font-size: 12px;
}

.page-generated-article .side-tool-grid a::before,
.page-generated-article .side-tool-grid a::after,
.page-info-detail .side-tool-grid a::before,
.page-info-detail .side-tool-grid a::after {
  display: none;
  content: none;
}

.page-generated-article .side-tool-grid .icon-slot,
.page-info-detail .side-tool-grid .icon-slot {
  width: 44px;
  height: 44px;
  border: 1px solid #d8e8fb;
  border-radius: 6px;
  color: var(--detail-blue);
  background: #f1f7ff;
}

.page-generated-article .side-tool-grid em,
.page-info-detail .side-tool-grid em {
  overflow: hidden;
  max-width: 100%;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-generated-article .side-links-dense a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid #edf2f7;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
}

.page-generated-article .side-links-dense a:last-child {
  border-bottom: 0;
}

.page-generated-article .side-links-dense a span {
  color: #64748b;
  font-size: 12px;
  white-space: nowrap;
}

.page-info-detail .detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-bottom: 22px;
  padding: 28px 30px;
  border: 1px solid #d9e8fb;
  border-radius: 4px;
  background:
    linear-gradient(100deg, rgba(239, 247, 255, .98), rgba(255, 255, 255, .88)),
    #fff;
}

.page-info-detail .detail-title h1 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 34px;
  line-height: 1.2;
}

.page-info-detail .detail-title p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
}

.page-info-detail .detail-stat {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 10px;
  min-width: 390px;
}

.page-info-detail .detail-stat span {
  display: grid;
  gap: 4px;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid #dbeafe;
  border-radius: 4px;
  color: #64748b;
  background: #fff;
  font-size: 12px;
}

.page-info-detail .detail-stat strong {
  overflow: hidden;
  color: var(--detail-blue);
  font-size: 20px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-info-detail .inner-layout > article {
  display: grid;
  gap: 18px;
}

.page-info-detail .inner-card-head {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f7;
}

.page-info-detail .inner-card-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
}

.page-info-detail .data-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-info-detail .data-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #e3edf8;
  border-radius: 4px;
  background: #f8fbff;
}

.page-info-detail .data-list span {
  color: #64748b;
}

.page-info-detail .data-list strong {
  color: #111827;
}

.page-info-detail .inner-card .side-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-info-detail .inner-card .side-links strong {
  flex-basis: 100%;
  color: #0f172a;
  font-size: 16px;
}

.page-info-detail .inner-card .side-links span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid #d8e6f8;
  border-radius: 4px;
  color: #1269f3;
  background: #f7fbff;
  font-size: 13px;
}

.page-info-detail .content-list {
  margin: 0;
}

.page-info-detail .content-list li {
  border: 0;
  background: transparent;
}

@media (max-width: 1100px) {
  .page-generated-article .inner-layout,
  .page-info-detail .inner-layout,
  .page-info-detail .detail-hero {
    grid-template-columns: 1fr;
  }

  .page-info-detail .detail-stat {
    min-width: 0;
  }
}

@media (max-width: 720px) {
  .page-generated-article .inner-header .topbar,
  .page-info-detail .inner-header .topbar {
    grid-template-columns: 1fr;
    height: auto;
    gap: 14px;
    padding: 14px 0;
    overflow: hidden;
  }

  .page-generated-article .nav-links,
  .page-info-detail .nav-links {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    transform: none !important;
  }

  .page-generated-article .inner-card.article,
  .page-info-detail .inner-card,
  .page-info-detail .detail-hero {
    padding: 20px;
  }

  .page-generated-article .inner-card.article h1,
  .page-info-detail .detail-title h1 {
    font-size: 26px;
  }

  .page-info-detail .detail-stat,
  .page-info-detail .data-list {
    grid-template-columns: 1fr;
  }

  .page-generated-article .side-links-dense a {
    grid-template-columns: 1fr;
  }

  .page-generated-article .side-links-dense a span {
    justify-self: start;
  }
}

/* School library page recreation */
.page-school-library {
  --container: 1464px;
  --school-blue: #1269f3;
  background: #fff;
}

.page-school-library .inner-header {
  background: #fff;
  box-shadow: 0 4px 18px rgba(15, 42, 76, .08);
}

.page-school-library .inner-header .topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 34px;
  height: 66px;
}

.page-school-library .brand-logo {
  width: 210px;
  height: auto;
}

.page-school-library .nav-links {
  justify-content: space-between;
  gap: 0;
}

.page-school-library .nav-links a {
  position: relative;
  color: #111827;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.page-school-library .nav-links a.active {
  border: 0 !important;
  color: var(--school-blue) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-school-library .nav-links a::before {
  display: none !important;
  content: none !important;
}

.page-school-library .nav-links a.active::after {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -15px;
  height: 3px;
  border-radius: 3px;
  content: "";
  background: var(--school-blue);
}

.page-school-library .mini-program-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #dce7f5;
  border-radius: 20px;
  color: #1f2937;
  font-weight: 600;
  background: #fff;
}

.page-school-library .mini-program-trigger .icon-slot {
  width: 18px;
  height: 18px;
}

.page-school-library .inner-header .top-actions .login-main {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 19px;
  border-radius: 4px;
  font-weight: 600;
  background: linear-gradient(180deg, #1677ff, #0662df);
  box-shadow: 0 8px 18px rgba(18, 105, 243, .2);
}

.page-school-library .inner-main {
  padding-top: 0;
}

.page-school-library .library-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 650px);
  align-items: center;
  gap: 60px;
  width: 100vw;
  min-height: 170px;
  margin-left: calc(50% - 50vw);
  margin-bottom: 24px;
  padding: 34px max(24px, calc((100vw - var(--container)) / 2));
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(226, 240, 255, .96), rgba(239, 247, 255, .72)),
    #eaf4ff;
}

.page-school-library .library-hero::before,
.page-school-library .library-hero::after {
  position: absolute;
  bottom: 0;
  content: "";
  pointer-events: none;
  opacity: .32;
}

.page-school-library .library-hero::before {
  left: 0;
  width: 220px;
  height: 126px;
  background:
    linear-gradient(#bfdcff, #bfdcff) 22px 34px / 34px 92px no-repeat,
    linear-gradient(#d8eaff, #d8eaff) 68px 52px / 42px 74px no-repeat,
    linear-gradient(#bcd7fb, #bcd7fb) 124px 18px / 58px 108px no-repeat;
}

.page-school-library .library-hero::after {
  right: 0;
  width: 360px;
  height: 170px;
  background:
    linear-gradient(#c9e0ff, #c9e0ff) 230px 0 / 74px 170px no-repeat,
    linear-gradient(#d8eaff, #d8eaff) 18px 112px / 330px 58px no-repeat;
  clip-path: polygon(0 68%, 28% 42%, 42% 55%, 62% 25%, 100% 58%, 100% 100%, 0 100%);
}

.page-school-library .library-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 38px;
  line-height: 1.2;
}

.page-school-library .library-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #475569;
  font-size: 16px;
}

.page-school-library .library-search {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 145px;
  height: 64px;
  border: 1px solid #d8e3f1;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(23, 80, 150, .08);
}

.page-school-library .library-search input {
  width: 100%;
  height: 100%;
  padding: 0 24px;
  border: 0;
  color: #111827;
  font-size: 15px;
  background: transparent;
}

.page-school-library .library-search button {
  border: 0;
  border-radius: 0 3px 3px 0;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  background: linear-gradient(180deg, #1d78ff, #065ee5);
}

.page-school-library .filter-panel {
  margin-bottom: 18px;
  padding: 0;
  border: 1px solid #dfe7f2;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.page-school-library .filter-row {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 0;
  min-height: 54px;
  padding: 0 28px;
  border-bottom: 1px solid #edf1f6;
  align-items: center;
}

.page-school-library .filter-row:last-child {
  border-bottom: 0;
}

.page-school-library .filter-row strong {
  color: #111827;
  font-size: 15px;
}

.page-school-library .filter-row div {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  overflow-x: auto;
}

.page-school-library .filter-row a {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 2px;
  color: #111827;
  font-size: 15px;
  line-height: 28px;
  background: transparent;
}

.page-school-library .filter-row a.active,
.page-school-library .filter-row a:hover {
  color: var(--school-blue);
  border-color: #76a8ff;
  background: #eef6ff;
}

.page-school-library .school-list-panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-school-library .school-list-panel .inner-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
}

.page-school-library .school-list-panel .inner-card-head h2 {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 500;
}

.page-school-library .school-list-panel .inner-card-head span {
  min-width: 122px;
  height: 34px;
  border: 1px solid #dfe7f2;
  border-radius: 3px;
  color: #111827;
  font-size: 14px;
  text-align: center;
  line-height: 32px;
  background: #fff;
}

.page-school-library .school-result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}

.page-school-library .result-item {
  position: relative;
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  column-gap: 34px;
  min-height: 150px;
  padding: 20px 12px 18px 26px;
  border: 1px solid #dfe7f2;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.page-school-library .school-result .result-item:nth-child(n + 7) {
  display: none;
}

.page-school-library .result-item::before {
  grid-row: 1 / 4;
  align-self: center;
  display: grid;
  width: 86px;
  height: 86px;
  border: 3px solid currentColor;
  border-radius: 50%;
  color: #7e2f9e;
  content: attr(data-school-mark);
  font-size: 34px;
  font-weight: 800;
  place-items: center;
  box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 10px currentColor;
}

.page-school-library .result-item:nth-child(2)::before,
.page-school-library .result-item:nth-child(6)::before {
  color: #c42020;
}

.page-school-library .result-item:nth-child(3)::before,
.page-school-library .result-item:nth-child(4)::before {
  color: #0e3a9c;
}

.page-school-library .result-item h3 {
  grid-column: 2;
  margin: 0 0 4px;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
}

.page-school-library .result-item p {
  grid-column: 2;
  margin: 0;
  color: #64748b;
  font-size: 14px;
}

.page-school-library .result-item p i {
  padding: 0 10px;
  color: #cbd5e1;
  font-style: normal;
}

.page-school-library .result-tags {
  grid-column: 2 / 4;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.page-school-library .result-tags .tag {
  padding: 2px 10px;
  border: 1px solid #bfe9df;
  border-radius: 3px;
  color: #078468;
  font-size: 12px;
  background: #f2fffc;
}

.page-school-library .result-tags .tag:nth-child(n + 4) {
  color: #1d4ed8;
  border-color: #d7e6ff;
  background: #f7fbff;
}

.page-school-library .result-tags .tag:nth-child(4) {
  color: #475569;
  border-color: #e2e8f0;
  background: #fff;
}

.page-school-library .result-meta {
  grid-column: 2 / 4;
  display: flex;
  gap: 44px;
  margin-top: 14px;
  color: #64748b;
  font-size: 14px;
}

.page-school-library .result-meta span:last-child {
  position: absolute;
  top: 20px;
  right: 12px;
  min-width: 94px;
  height: 38px;
  border: 1px solid #76a8ff;
  border-radius: 4px;
  color: var(--school-blue);
  font-weight: 600;
  text-align: center;
  line-height: 36px;
  background: #fff;
}

@media (max-width: 1100px) {
  .page-school-library .library-hero,
  .page-school-library .school-result {
    grid-template-columns: 1fr;
  }

  .page-school-library .library-search {
    max-width: 760px;
  }
}

@media (max-width: 720px) {
  .page-school-library .inner-header .topbar {
    grid-template-columns: 1fr;
    height: auto;
    gap: 14px;
    padding: 14px 0;
  }

  .page-school-library .nav-links {
    overflow-x: auto;
  }

  .page-school-library .library-hero {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .page-school-library .library-search {
    grid-template-columns: 1fr;
    height: auto;
  }

  .page-school-library .library-search input,
  .page-school-library .library-search button {
    height: 50px;
  }

  .page-school-library .filter-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 16px;
  }

  .page-school-library .result-item {
    grid-template-columns: 76px minmax(0, 1fr);
    column-gap: 16px;
    padding: 18px;
  }

  .page-school-library .result-item::before {
    width: 66px;
    height: 66px;
    font-size: 26px;
  }

  .page-school-library .result-meta {
    grid-column: 1 / -1;
    gap: 14px;
    flex-wrap: wrap;
  }
}

.page-school-library .brand-logo-dark {
  filter: invert(29%) sepia(93%) saturate(2098%) hue-rotate(207deg) brightness(92%) contrast(97%);
}

.page-school-library .inner-main {
  margin-top: 0;
  padding-top: 0 !important;
}

.page-school-library .library-hero {
  grid-template-rows: auto auto;
  column-gap: 60px;
  row-gap: 10px;
  min-height: 170px;
}

.page-school-library .library-hero h1,
.page-school-library .library-hero p {
  grid-column: 1;
}

.page-school-library .library-search {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  width: 100%;
}

.page-school-library .filter-row a::before,
.page-school-library .filter-row a::after {
  display: none !important;
  content: none !important;
}

.page-school-library .filter-row a.active,
.page-school-library .filter-row a:hover {
  border: 1px solid #76a8ff !important;
  border-radius: 2px !important;
  color: var(--school-blue) !important;
  background: #eef6ff !important;
}

.page-school-library .school-list-panel .inner-card-head span {
  flex: 0 0 auto;
}

.page-school-library .school-list-panel .inner-card-head {
  display: flex !important;
}

.page-school-library .school-list-panel .inner-card-head span {
  width: 122px !important;
}

@media (max-width: 1100px) {
  .page-school-library .library-hero h1,
  .page-school-library .library-hero p,
  .page-school-library .library-search {
    grid-column: 1;
  }

  .page-school-library .library-search {
    grid-row: auto;
  }
}

/* Final polish for the three recreated pages */
.page-reexam-announcement,
.page-article-detail,
.page-school-library {
  --refine-blue: #1269f3;
  --refine-text: #111827;
  --refine-muted: #64748b;
  --refine-line: #dfe7f2;
  background: #fff;
}

.page-reexam-announcement .brand-logo-dark,
.page-article-detail .brand-logo-dark,
.page-school-library .brand-logo-dark {
  filter: invert(29%) sepia(93%) saturate(2098%) hue-rotate(207deg) brightness(92%) contrast(97%) !important;
}

.page-reexam-announcement .inner-header,
.page-article-detail .inner-header,
.page-school-library .inner-header {
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(15, 42, 76, .08) !important;
}

.page-reexam-announcement .inner-header .topbar,
.page-article-detail .inner-header .topbar,
.page-school-library .inner-header .topbar {
  height: 66px !important;
}

.page-reexam-announcement .nav-links a,
.page-article-detail .nav-links a,
.page-school-library .nav-links a {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--refine-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-reexam-announcement .nav-links a::before,
.page-reexam-announcement .nav-links a::after,
.page-article-detail .nav-links a::before,
.page-article-detail .nav-links a::after,
.page-school-library .nav-links a::before,
.page-school-library .nav-links a::after {
  display: none !important;
  content: none !important;
}

.page-reexam-announcement .nav-links a.active,
.page-article-detail .nav-links a.active,
.page-school-library .nav-links a.active {
  color: var(--refine-blue) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.page-reexam-announcement .nav-links a.active::after,
.page-article-detail .nav-links a.active::after,
.page-school-library .nav-links a.active::after {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: -15px !important;
  display: block !important;
  height: 3px !important;
  border-radius: 3px !important;
  content: "" !important;
  background: var(--refine-blue) !important;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger {
  border: 1px solid #dce7f5 !important;
  border-radius: 20px !important;
  color: #1f2937 !important;
  background: #fff !important;
}

.page-reexam-announcement .inner-header .top-actions .login-main,
.page-article-detail .inner-header .top-actions .login-main,
.page-school-library .inner-header .top-actions .login-main {
  border-radius: 4px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #1677ff, #0662df) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .2) !important;
}

.page-reexam-announcement .breadcrumb,
.page-article-detail .breadcrumb {
  margin-top: 22px !important;
  margin-bottom: 20px !important;
  color: #7b8794 !important;
  font-size: 13px !important;
}

.page-reexam-announcement .inner-card {
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-reexam-announcement .filter-tabs {
  row-gap: 12px !important;
  column-gap: 24px !important;
}

.page-reexam-announcement .filter-tabs a {
  padding: 0 0 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--refine-text) !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.page-reexam-announcement .filter-tabs a.active {
  color: var(--refine-blue) !important;
}

.page-reexam-announcement .category-summary {
  border: 0 !important;
  background: linear-gradient(90deg, #f2f7ff, #eef5ff) !important;
}

.page-reexam-announcement .content-list {
  border-top: 0 !important;
}

.page-reexam-announcement .content-list li {
  transition: background .18s ease, transform .18s ease;
}

.page-reexam-announcement .content-list li:hover {
  background: #f8fbff;
}

.page-reexam-announcement .content-list a {
  line-height: 1.45 !important;
}

.page-reexam-announcement .content-list p {
  max-width: 820px;
}

.page-reexam-announcement .side-card {
  border: 1px solid var(--refine-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-reexam-announcement .side-card h3 {
  color: var(--refine-text) !important;
}

.page-reexam-announcement .side-links,
.page-reexam-announcement .side-links-dense,
.page-reexam-announcement .side-group {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-reexam-announcement .side-links a,
.page-reexam-announcement .side-group > a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 0 !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.page-reexam-announcement .side-links a::before,
.page-reexam-announcement .side-group > a::before {
  display: none !important;
  content: none !important;
}

.page-reexam-announcement .side-links a span {
  color: #7aa7ef !important;
  font-size: 13px !important;
}

.page-reexam-announcement .side-group {
  margin: 4px 0 !important;
}

.page-reexam-announcement .side-group > a.is-active {
  color: var(--refine-blue) !important;
  background: #eef6ff !important;
}

.page-reexam-announcement .side-group > a:not(.is-active) {
  padding-left: 28px !important;
  color: #475569 !important;
  font-weight: 500 !important;
}

.page-reexam-announcement .side-material-banner {
  border-radius: 4px !important;
}

.page-article-detail .article-detail-main {
  padding-top: 0 !important;
}

.page-article-detail .article-detail-main h1 {
  margin-bottom: 18px !important;
  letter-spacing: 0 !important;
}

.page-article-detail .article-meta {
  display: grid !important;
  grid-template-columns: 1fr 1fr auto !important;
  gap: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.page-article-detail .article-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #475569 !important;
  background: transparent !important;
}

.page-article-detail .article-summary {
  margin-top: 22px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: #f4f7fb !important;
}

.page-article-detail .article-body {
  color: #243142 !important;
}

.page-article-detail .article-body h2 {
  margin-top: 26px !important;
  color: var(--refine-text) !important;
}

.page-article-detail .article-body p,
.page-article-detail .article-body li {
  color: #334155 !important;
}

.page-article-detail .side-card {
  border: 1px solid var(--refine-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.page-article-detail .hot-news-card ol li::marker {
  color: transparent;
}

.page-article-detail .category-icon-grid a {
  border-radius: 4px !important;
}

.page-school-library .school-list-panel {
  border: 0 !important;
  background: transparent !important;
}

.page-school-library .school-result {
  padding-top: 8px !important;
}

.page-school-library .result-item {
  overflow: hidden !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.page-school-library .result-item:hover {
  border-color: #b8d2ff !important;
  box-shadow: 0 10px 24px rgba(19, 86, 179, .08) !important;
  transform: translateY(-1px);
}

.page-school-library .result-meta span:last-child {
  transition: color .18s ease, background .18s ease;
}

.page-school-library .result-item:hover .result-meta span:last-child {
  color: #fff !important;
  background: var(--refine-blue) !important;
}

@media (max-width: 900px) {
  .page-reexam-announcement .inner-header .topbar,
  .page-article-detail .inner-header .topbar,
  .page-school-library .inner-header .topbar {
    height: auto !important;
  }

  .page-article-detail .article-meta {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* Column list pages, shared polish for /columns/*.html */
.page-column-list {
  --column-blue: #1269f3;
  --column-text: #111827;
  --column-muted: #64748b;
  --column-line: #dfe7f2;
  background: #fff;
}

.page-column-list .brand-logo-dark {
  filter: invert(29%) sepia(93%) saturate(2098%) hue-rotate(207deg) brightness(92%) contrast(97%) !important;
}

.page-column-list .inner-header {
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(15, 42, 76, .08) !important;
}

.page-column-list .inner-header .topbar {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 22px !important;
  height: 66px !important;
}

.page-column-list .brand-logo {
  width: 204px !important;
  height: auto !important;
}

.page-column-list .nav-links {
  justify-content: space-between !important;
  gap: 0 !important;
}

.page-column-list .nav-links a {
  position: relative !important;
  min-height: 38px !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--column-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.page-column-list .nav-links a::before,
.page-column-list .nav-links a::after {
  display: none !important;
  content: none !important;
}

.page-column-list .nav-links a.active {
  color: var(--column-blue) !important;
  background: transparent !important;
}

.page-column-list .nav-links a.active::after {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: -15px !important;
  display: block !important;
  height: 3px !important;
  border-radius: 3px !important;
  content: "" !important;
  background: var(--column-blue) !important;
}

.page-column-list .mini-program-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 0 15px !important;
  border: 1px solid #dce7f5 !important;
  border-radius: 20px !important;
  color: #1f2937 !important;
  font-weight: 600 !important;
  background: #fff !important;
}

.page-column-list .inner-header .top-actions .login-main {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 19px !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-weight: 600 !important;
  background: linear-gradient(180deg, #1677ff, #0662df) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .2) !important;
}

.page-column-list .inner-main {
  padding-top: 22px !important;
}

.page-column-list .breadcrumb {
  margin-bottom: 20px !important;
  color: #7b8794 !important;
  font-size: 13px !important;
}

.page-column-list .inner-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 336px !important;
  gap: 28px !important;
  align-items: start !important;
}

.page-column-list .inner-card {
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-column-list .inner-card-head {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
}

.page-column-list .inner-card-head h1 {
  margin: 0 0 22px !important;
  color: var(--column-text) !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.page-column-list .inner-card-head h1::before,
.page-column-list .inner-card-head h1::after {
  display: none !important;
  content: none !important;
}

.page-column-list .filter-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 24px !important;
  margin-bottom: 20px !important;
  border: 0 !important;
}

.page-column-list .filter-tabs a {
  position: relative !important;
  height: 30px !important;
  padding: 0 0 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--column-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  background: transparent !important;
}

.page-column-list .filter-tabs a.active,
.page-column-list .filter-tabs a:hover {
  color: var(--column-blue) !important;
}

.page-column-list .filter-tabs a.active::after {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block !important;
  height: 3px !important;
  border-radius: 3px !important;
  content: "" !important;
  background: var(--column-blue) !important;
}

.page-column-list .category-summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #f2f7ff, #eef5ff) !important;
}

.page-column-list .summary-stat {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto auto 1fr !important;
  gap: 6px !important;
  align-items: center !important;
  min-height: 60px !important;
  padding: 10px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-column-list .summary-stat + .summary-stat {
  border-left: 1px solid rgba(223, 231, 242, .65) !important;
}

.page-column-list .summary-stat strong {
  grid-row: 2 !important;
  color: var(--column-blue) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.page-column-list .summary-stat span {
  grid-column: 1 / -1 !important;
  color: #7b8794 !important;
  font-size: 13px !important;
}

.page-column-list .summary-stat em {
  grid-row: 2 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-style: normal !important;
}

.page-column-list .summary-stat .icon-slot {
  grid-row: 1 / 3 !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 8px !important;
  color: var(--column-blue) !important;
}

.page-column-list .content-list {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  background: #fff !important;
}

.page-column-list .content-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 20px !important;
  min-height: 76px !important;
  padding: 18px 20px 16px 8px !important;
  border-bottom: 1px solid #e7edf5 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: background .18s ease !important;
}

.page-column-list .content-list li:nth-child(n + 11) {
  display: none !important;
}

.page-column-list .content-list li:hover {
  background: #f8fbff !important;
}

.page-column-list .content-list a {
  display: block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--column-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-column-list .content-list p {
  max-width: 850px !important;
  margin: 8px 0 0 !important;
  overflow: hidden !important;
  color: var(--column-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-column-list .content-list time {
  justify-self: end !important;
  color: #64748b !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

.page-column-list .content-list .list-label {
  display: inline-block !important;
  margin-right: 16px !important;
  padding: 3px 9px !important;
  border-radius: 3px !important;
  color: var(--column-blue) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  background: #eaf3ff !important;
}

.page-column-list .pager {
  margin-top: 20px !important;
}

.page-column-list .rich-sidebar {
  display: grid !important;
  gap: 18px !important;
}

.page-column-list .side-card {
  overflow: hidden !important;
  border: 1px solid var(--column-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-column-list .side-card h3 {
  margin: 0 !important;
  padding: 18px 20px !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: var(--column-text) !important;
  font-size: 20px !important;
}

.page-column-list .side-tool-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  padding: 18px 12px 20px !important;
}

.page-column-list .side-tool-grid a {
  display: grid !important;
  grid-template-rows: 46px auto !important;
  gap: 8px !important;
  justify-items: center !important;
  align-items: start !important;
  min-height: 72px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #111827 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  background: transparent !important;
  overflow: visible !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.page-column-list .side-tool-grid a::before,
.page-column-list .side-tool-grid a::after {
  display: none !important;
  content: none !important;
}

.page-column-list .side-tool-grid .icon-slot {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  width: 46px !important;
  height: 46px !important;
  padding: 10px !important;
  border-radius: 6px !important;
  color: #0789d8 !important;
  background: #eef6ff !important;
}

.page-column-list .side-tool-grid em {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: center !important;
  display: block !important;
  width: max-content !important;
  min-width: max-content !important;
  overflow: visible !important;
  color: #111827 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.page-column-list .side-links,
.page-column-list .side-links-dense {
  display: grid !important;
  gap: 0 !important;
  padding: 12px 14px 18px !important;
}

.page-column-list .side-links a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.page-column-list .side-links a::before {
  width: 4px !important;
  height: 4px !important;
  margin-right: 10px !important;
  border-radius: 50% !important;
  content: "" !important;
  background: #cbd5e1 !important;
}

.page-column-list .side-links a:has(+ a),
.page-column-list .side-links a:hover {
  text-decoration: none !important;
}

.page-column-list .side-links a span {
  min-width: 34px !important;
  height: 24px !important;
  border-radius: 12px !important;
  color: var(--column-blue) !important;
  font-size: 12px !important;
  line-height: 24px !important;
  text-align: center !important;
  background: #eef6ff !important;
}

.page-column-list .side-links a.is-active {
  color: var(--column-blue) !important;
  background: #eef6ff !important;
}

.page-column-list .side-links a.is-active::before {
  background: var(--column-blue) !important;
}

.page-column-list .side-links a[href$="kydt.html"]:has(span),
.page-column-list .side-links a[href$="kyfs.html"]:has(span),
.page-column-list .side-links a[href$="fsgg.html"]:has(span),
.page-column-list .side-links a[href$="fsmd.html"]:has(span) {
  border-bottom: 0 !important;
}

@media (max-width: 1100px) {
  .page-column-list .inner-layout {
    grid-template-columns: 1fr !important;
  }

  .page-column-list .category-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .page-column-list .inner-header .topbar {
    grid-template-columns: 1fr !important;
    height: auto !important;
    gap: 14px !important;
    padding: 14px 0 !important;
  }

  .page-column-list .nav-links {
    overflow-x: auto !important;
  }

  .page-column-list .category-summary {
    grid-template-columns: 1fr !important;
  }

  .page-column-list .content-list li {
    grid-template-columns: 1fr !important;
  }

  .page-column-list .content-list time {
    justify-self: start !important;
  }
}

/* UI/UX Pro Max late cascade overrides */
.page-reexam-announcement,
.page-article-detail,
.page-school-library,
.page-column-list,
.page-info-detail {
  --ui-page-bg: #f6f9fc;
  --ui-surface: #ffffff;
  --ui-border: #dbe6f3;
  --ui-border-soft: #edf2f7;
  --ui-text: #0f172a;
  --ui-text-2: #334155;
  --ui-muted: #64748b;
  --ui-primary: #1269f3;
  --ui-primary-soft: #eef6ff;
  --ui-radius: 8px;
  --ui-radius-sm: 4px;
  --ui-shadow-1: 0 1px 2px rgba(15, 23, 42, .04);
  --ui-shadow-2: 0 10px 28px rgba(15, 42, 76, .08);
  color: var(--ui-text) !important;
  background: var(--ui-page-bg) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.page-reexam-announcement a,
.page-article-detail a,
.page-school-library a,
.page-column-list a,
.page-info-detail a,
.page-reexam-announcement button,
.page-article-detail button,
.page-school-library button,
.page-column-list button,
.page-info-detail button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.page-reexam-announcement a:focus-visible,
.page-article-detail a:focus-visible,
.page-school-library a:focus-visible,
.page-column-list a:focus-visible,
.page-info-detail a:focus-visible,
.page-reexam-announcement button:focus-visible,
.page-article-detail button:focus-visible,
.page-school-library button:focus-visible,
.page-column-list button:focus-visible,
.page-info-detail button:focus-visible {
  outline: 3px solid rgba(18, 105, 243, .24) !important;
  outline-offset: 3px !important;
}

.page-reexam-announcement .inner-header,
.page-article-detail .inner-header,
.page-school-library .inner-header,
.page-column-list .inner-header,
.page-info-detail .inner-header {
  border-bottom: 1px solid rgba(219, 230, 243, .86) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02), 0 10px 24px rgba(15, 42, 76, .05) !important;
}

.page-reexam-announcement .inner-header .topbar,
.page-article-detail .inner-header .topbar,
.page-school-library .inner-header .topbar,
.page-column-list .inner-header .topbar,
.page-info-detail .inner-header .topbar {
  min-height: 68px !important;
}

.page-reexam-announcement .nav-links a,
.page-article-detail .nav-links a,
.page-school-library .nav-links a,
.page-column-list .nav-links a,
.page-info-detail .nav-links a {
  min-height: 44px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  line-height: 44px !important;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger,
.page-column-list .mini-program-trigger,
.page-info-detail .mini-program-trigger,
.page-reexam-announcement .login-main,
.page-article-detail .login-main,
.page-school-library .login-main,
.page-column-list .login-main,
.page-info-detail .login-main {
  min-height: 40px !important;
  touch-action: manipulation;
}

.page-reexam-announcement .inner-main,
.page-article-detail .inner-main,
.page-column-list .inner-main,
.page-info-detail .inner-main {
  padding-top: 24px !important;
  padding-bottom: 56px !important;
}

.page-reexam-announcement .breadcrumb,
.page-article-detail .breadcrumb,
.page-column-list .breadcrumb,
.page-info-detail .breadcrumb {
  margin-bottom: 14px !important;
  color: #6b7788 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.page-reexam-announcement .inner-layout,
.page-column-list .inner-layout,
.page-generated-article .inner-layout,
.page-info-detail .inner-layout,
.detail-layout {
  gap: 28px !important;
}

.page-reexam-announcement .inner-card,
.page-column-list .inner-card,
.page-generated-article .inner-card.article,
.page-info-detail .inner-card,
.page-reexam-announcement .side-card,
.page-column-list .side-card,
.page-generated-article .side-card,
.page-info-detail .side-card,
.page-article-detail .side-card {
  border-color: var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  background: var(--ui-surface) !important;
  box-shadow: var(--ui-shadow-1) !important;
}

.page-reexam-announcement .inner-card,
.page-column-list .inner-card,
.page-generated-article .inner-card.article,
.page-info-detail .inner-card {
  overflow: hidden !important;
}

.page-reexam-announcement .inner-card-head,
.page-column-list .inner-card-head {
  min-height: 96px !important;
  padding: 24px 28px 18px !important;
  border-bottom: 1px solid var(--ui-border-soft) !important;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.page-column-list .inner-card-head h1,
.page-reexam-announcement .inner-card-head h1 {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
}

.page-reexam-announcement .filter-tabs,
.page-column-list .filter-tabs {
  gap: 4px 18px !important;
  margin-top: 14px !important;
  line-height: 1.4 !important;
}

.page-reexam-announcement .filter-tabs a,
.page-column-list .filter-tabs a {
  min-height: 36px !important;
  padding: 7px 0 !important;
  color: #41516a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.page-reexam-announcement .filter-tabs a.active,
.page-column-list .filter-tabs a.active {
  color: var(--ui-primary) !important;
  font-weight: 700 !important;
}

.page-reexam-announcement .category-summary,
.page-column-list .category-summary {
  margin: 0 !important;
  padding: 20px 24px !important;
  border-bottom: 1px solid var(--ui-border-soft) !important;
  background: #f8fbff !important;
}

.page-reexam-announcement .summary-stat,
.page-column-list .summary-stat {
  min-height: 80px !important;
  padding: 16px 18px !important;
  border: 1px solid #dce9f8 !important;
  border-radius: var(--ui-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-reexam-announcement .summary-stat strong,
.page-column-list .summary-stat strong {
  font-size: 22px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.page-reexam-announcement .summary-stat span,
.page-column-list .summary-stat span,
.page-reexam-announcement .summary-stat em,
.page-column-list .summary-stat em {
  color: var(--ui-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.page-reexam-announcement .content-list,
.page-column-list .content-list {
  padding: 0 !important;
  background: #fff !important;
}

.page-reexam-announcement .content-list li,
.page-column-list .content-list li {
  min-height: 88px !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--ui-border-soft) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.page-reexam-announcement .content-list li:hover,
.page-column-list .content-list li:hover {
  background: #fbfdff !important;
}

.page-reexam-announcement .content-list a,
.page-column-list .content-list a {
  color: var(--ui-text) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.page-reexam-announcement .content-list a:hover,
.page-column-list .content-list a:hover {
  color: var(--ui-primary) !important;
}

.page-reexam-announcement .content-list p,
.page-column-list .content-list p {
  margin-top: 8px !important;
  color: var(--ui-muted) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.page-reexam-announcement .content-list time,
.page-column-list .content-list time {
  min-width: 74px !important;
  color: var(--ui-muted) !important;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.page-reexam-announcement .list-label,
.page-column-list .list-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin-right: 12px !important;
  padding: 0 8px !important;
  border-radius: var(--ui-radius-sm) !important;
  color: var(--ui-primary) !important;
  background: var(--ui-primary-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.page-reexam-announcement .pager,
.page-column-list .pager {
  margin: 0 !important;
  padding: 22px 24px 24px !important;
  border-top: 0 !important;
  background: #fff !important;
}

.page-reexam-announcement .pager a,
.page-column-list .pager a,
.page-reexam-announcement .pager button,
.page-column-list .pager button {
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 6px !important;
}

.page-reexam-announcement .rich-sidebar,
.page-column-list .rich-sidebar,
.page-generated-article .rich-sidebar,
.page-info-detail .rich-sidebar,
.detail-sidebar {
  gap: 18px !important;
}

.page-reexam-announcement .side-card,
.page-column-list .side-card,
.page-generated-article .side-card,
.page-info-detail .side-card,
.page-article-detail .side-card {
  padding: 18px !important;
}

.page-reexam-announcement .side-card h3,
.page-column-list .side-card h3,
.page-generated-article .side-card h3,
.page-info-detail .side-card h3,
.page-article-detail .side-card > h3,
.side-card-head h3 {
  font-size: 17px !important;
  line-height: 1.4 !important;
}

.page-reexam-announcement .side-tool-grid,
.page-column-list .side-tool-grid,
.page-generated-article .side-tool-grid,
.page-info-detail .side-tool-grid,
.page-article-detail .detail-quick-card .side-tool-grid {
  gap: 10px !important;
}

.page-reexam-announcement .side-tool-grid a,
.page-column-list .side-tool-grid a,
.page-generated-article .side-tool-grid a,
.page-info-detail .side-tool-grid a,
.page-article-detail .detail-quick-card .side-tool-grid a {
  min-height: 78px !important;
  border-radius: var(--ui-radius) !important;
}

.page-reexam-announcement .side-tool-grid a:hover,
.page-column-list .side-tool-grid a:hover,
.page-generated-article .side-tool-grid a:hover,
.page-info-detail .side-tool-grid a:hover,
.page-article-detail .detail-quick-card .side-tool-grid a:hover {
  background: #f7fbff !important;
}

.page-reexam-announcement .side-links a,
.page-column-list .side-links a,
.page-generated-article .side-links-dense a {
  min-height: 38px !important;
  color: var(--ui-text-2) !important;
  font-size: 13px !important;
}

.page-reexam-announcement .side-links a:hover,
.page-column-list .side-links a:hover,
.page-generated-article .side-links-dense a:hover {
  color: var(--ui-primary) !important;
  background: #f7fbff !important;
}

.article-detail-main,
.page-generated-article .inner-card.article {
  max-width: 860px !important;
}

.article-detail-main h1,
.page-generated-article .inner-card.article h1 {
  max-width: 820px !important;
  margin-bottom: 16px !important;
  font-size: 30px !important;
  line-height: 1.35 !important;
}

.page-article-detail .article-meta,
.page-generated-article .article-meta {
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--ui-border-soft) !important;
  color: var(--ui-muted) !important;
}

.page-article-detail .article-summary,
.page-generated-article .article-summary {
  border-left: 3px solid var(--ui-primary) !important;
  border-radius: var(--ui-radius-sm) !important;
  background: #f5f9ff !important;
}

.page-article-detail .article-body,
.page-generated-article .article-body {
  max-width: 780px !important;
  color: #1e293b !important;
  font-size: 16px !important;
  line-height: 1.92 !important;
}

.page-article-detail .article-body p,
.page-generated-article .article-body p {
  margin-bottom: 14px !important;
}

.page-article-detail .article-table-wrap,
.page-generated-article .article-table-wrap {
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  background: #fff !important;
}

.page-info-detail .detail-hero {
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow-1) !important;
}

.page-info-detail .detail-title h1 {
  font-size: 32px !important;
}

.page-info-detail .detail-stat {
  gap: 12px !important;
}

.page-info-detail .detail-stat span,
.page-info-detail .data-list li {
  border-radius: var(--ui-radius) !important;
}

.page-school-library .library-hero {
  min-height: 180px !important;
  margin-bottom: 28px !important;
}

.page-school-library .school-filters,
.page-school-library .school-card {
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow-1) !important;
}

.page-school-library .school-card:hover {
  border-color: #c7dcf5 !important;
  box-shadow: var(--ui-shadow-2) !important;
}

.page-school-library .school-card h2 {
  font-size: 22px !important;
}

.page-school-library .school-card .detail-link {
  min-height: 40px !important;
  border-radius: 6px !important;
}

@media (hover: hover) {
  .page-reexam-announcement .content-list li:hover,
  .page-column-list .content-list li:hover,
  .page-school-library .school-card:hover {
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-reexam-announcement *,
  .page-article-detail *,
  .page-school-library *,
  .page-column-list *,
  .page-info-detail * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 1100px) {
  .page-reexam-announcement .inner-layout,
  .page-column-list .inner-layout,
  .page-generated-article .inner-layout,
  .page-info-detail .inner-layout {
    grid-template-columns: 1fr !important;
  }

  .article-detail-main,
  .page-generated-article .inner-card.article,
  .page-article-detail .article-body,
  .page-generated-article .article-body {
    max-width: none !important;
  }
}

@media (max-width: 720px) {
  .page-reexam-announcement .inner-main,
  .page-article-detail .inner-main,
  .page-column-list .inner-main,
  .page-info-detail .inner-main {
    padding-top: 18px !important;
    padding-bottom: 36px !important;
  }

  .page-reexam-announcement .inner-card-head,
  .page-column-list .inner-card-head,
  .page-reexam-announcement .category-summary,
  .page-column-list .category-summary,
  .page-reexam-announcement .content-list li,
  .page-column-list .content-list li,
  .page-reexam-announcement .pager,
  .page-column-list .pager {
    padding-inline: 18px !important;
  }

  .page-reexam-announcement .category-summary,
  .page-column-list .category-summary {
    grid-template-columns: 1fr !important;
  }

  .page-reexam-announcement .content-list li,
  .page-column-list .content-list li {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding-block: 16px !important;
  }

  .page-reexam-announcement .content-list p,
  .page-column-list .content-list p {
    margin-left: 0 !important;
    white-space: normal !important;
  }

  .page-reexam-announcement .content-list time,
  .page-column-list .content-list time {
    min-width: 0 !important;
    text-align: left !important;
  }

  .page-column-list .inner-card-head h1,
  .page-reexam-announcement .inner-card-head h1,
  .article-detail-main h1,
  .page-generated-article .inner-card.article h1,
  .page-info-detail .detail-title h1 {
    font-size: 24px !important;
  }

  .page-article-detail .article-body,
  .page-generated-article .article-body {
    font-size: 16px !important;
    line-height: 1.82 !important;
  }

  .page-school-library .library-hero {
    min-height: 220px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .page-school-library .library-hero h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 720px) {
  .page-reexam-announcement .inner-header,
  .page-article-detail .inner-header,
  .page-school-library .inner-header,
  .page-column-list .inner-header,
  .page-info-detail .inner-header {
    overflow: hidden !important;
  }

  .page-reexam-announcement .inner-header .topbar,
  .page-article-detail .inner-header .topbar,
  .page-school-library .inner-header .topbar,
  .page-column-list .inner-header .topbar,
  .page-info-detail .inner-header .topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 12px !important;
    overflow: hidden !important;
  }

  .page-reexam-announcement .brand,
  .page-article-detail .brand,
  .page-school-library .brand,
  .page-column-list .brand,
  .page-info-detail .brand {
    max-width: 100% !important;
  }

  .page-reexam-announcement .brand-logo,
  .page-article-detail .brand-logo,
  .page-school-library .brand-logo,
  .page-column-list .brand-logo,
  .page-info-detail .brand-logo {
    width: 176px !important;
    max-width: 72vw !important;
    height: auto !important;
  }

  .page-reexam-announcement .nav-links,
  .page-article-detail .nav-links,
  .page-school-library .nav-links,
  .page-column-list .nav-links,
  .page-info-detail .nav-links {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
  }

  .page-reexam-announcement .nav-links a,
  .page-article-detail .nav-links a,
  .page-school-library .nav-links a,
  .page-column-list .nav-links a,
  .page-info-detail .nav-links a {
    flex: 0 0 auto !important;
  }

  .page-reexam-announcement .top-actions,
  .page-article-detail .top-actions,
  .page-school-library .top-actions,
  .page-column-list .top-actions,
  .page-info-detail .top-actions {
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  .page-reexam-announcement .mini-program-trigger,
  .page-article-detail .mini-program-trigger,
  .page-school-library .mini-program-trigger,
  .page-column-list .mini-program-trigger,
  .page-info-detail .mini-program-trigger,
  .page-reexam-announcement .login-main,
  .page-article-detail .login-main,
  .page-school-library .login-main,
  .page-column-list .login-main,
  .page-info-detail .login-main {
    min-height: 38px !important;
    padding-inline: 14px !important;
    font-size: 13px !important;
  }

  .page-reexam-announcement .nav-links a,
  .page-article-detail .nav-links a,
  .page-school-library .nav-links a,
  .page-column-list .nav-links a,
  .page-info-detail .nav-links a {
    min-height: 40px !important;
    padding-inline: 10px !important;
    font-size: 13px !important;
    line-height: 40px !important;
  }

  .page-column-list .content-list a,
  .page-reexam-announcement .content-list a {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .page-column-list .side-tool-grid,
  .page-reexam-announcement .side-tool-grid,
  .page-generated-article .side-tool-grid,
  .page-info-detail .side-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-column-list .side-tool-grid em,
  .page-reexam-announcement .side-tool-grid em,
  .page-generated-article .side-tool-grid em,
  .page-info-detail .side-tool-grid em {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Three core pages: final experience pass */
.page-reexam-announcement,
.page-article-detail,
.page-school-library {
  --tri-blue: #1269f3;
  --tri-blue-dark: #0757d4;
  --tri-blue-soft: #edf5ff;
  --tri-cyan-soft: #eefcff;
  --tri-green: #10a37f;
  --tri-ink: #0f172a;
  --tri-sub: #475569;
  --tri-muted: #6b7788;
  --tri-line: #dce7f5;
  --tri-soft-line: #edf2f7;
  --tri-bg: #f6f9fc;
  --tri-card: #ffffff;
  --tri-r: 8px;
  --tri-shadow: 0 10px 26px rgba(20, 63, 115, .07);
}

.page-reexam-announcement .icon-slot,
.page-article-detail .icon-slot,
.page-school-library .icon-slot {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  background-color: currentColor !important;
  background-image: none !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  box-shadow: none !important;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger {
  gap: 8px !important;
  border-color: #d7e4f5 !important;
  color: #1d4ed8 !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(15, 42, 76, .06) !important;
}

.page-reexam-announcement .mini-program-trigger .icon-slot,
.page-article-detail .mini-program-trigger .icon-slot,
.page-school-library .mini-program-trigger .icon-slot {
  width: 17px !important;
  height: 17px !important;
}

.page-reexam-announcement .login-main,
.page-article-detail .login-main,
.page-school-library .login-main {
  border-radius: 6px !important;
  box-shadow: 0 10px 20px rgba(18, 105, 243, .18) !important;
}

.page-reexam-announcement .inner-layout {
  grid-template-columns: minmax(0, 888px) 330px !important;
  gap: 28px !important;
}

.page-reexam-announcement .inner-card-head {
  display: block !important;
  min-height: 106px !important;
  padding: 26px 28px 18px !important;
}

.page-reexam-announcement .filter-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 22px !important;
}

.page-reexam-announcement .category-summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.page-reexam-announcement .summary-stat {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 6px 10px !important;
  min-height: 76px !important;
}

.page-reexam-announcement .summary-stat .icon-slot {
  grid-row: 1 / 3 !important;
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  padding: 8px !important;
  border: 1px solid #dce9ff !important;
  border-radius: 8px !important;
  color: var(--tri-blue) !important;
  background-color: var(--tri-blue) !important;
  background-origin: content-box !important;
  -webkit-mask-size: 18px 18px !important;
  mask-size: 18px 18px !important;
  box-sizing: border-box !important;
}

.page-reexam-announcement .summary-stat span {
  grid-column: 2 / 4 !important;
  color: var(--tri-muted) !important;
}

.page-reexam-announcement .summary-stat strong {
  grid-column: 2 !important;
  color: var(--tri-blue) !important;
  font-size: 21px !important;
}

.page-reexam-announcement .summary-stat em {
  grid-column: 3 !important;
  align-self: end !important;
}

.page-reexam-announcement .content-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 18px !important;
}

.page-reexam-announcement .content-list p {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
}

.page-reexam-announcement .side-card,
.page-article-detail .side-card {
  border-radius: 8px !important;
}

.page-reexam-announcement .side-tool-grid,
.page-article-detail .detail-quick-card .side-tool-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.page-reexam-announcement .side-tool-grid a,
.page-article-detail .detail-quick-card .side-tool-grid a {
  display: grid !important;
  grid-template-rows: 42px auto !important;
  justify-items: center !important;
  min-height: 74px !important;
  padding: 6px 2px !important;
  color: var(--tri-ink) !important;
}

.page-reexam-announcement .side-tool-grid .icon-slot,
.page-article-detail .detail-quick-card .side-tool-grid .icon-slot,
.page-article-detail .category-icon-grid .icon-slot {
  width: 40px !important;
  height: 40px !important;
  padding: 10px !important;
  border: 1px solid #d9e9ff !important;
  border-radius: 8px !important;
  color: var(--tri-blue) !important;
  background-color: var(--tri-blue) !important;
  background-origin: content-box !important;
  -webkit-mask-size: 20px 20px !important;
  mask-size: 20px 20px !important;
  box-sizing: border-box !important;
}

.page-reexam-announcement .side-tool-grid em,
.page-article-detail .detail-quick-card .side-tool-grid em {
  color: #152033 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.page-reexam-announcement .side-category-card .side-links a,
.page-reexam-announcement .side-category-card .side-group > a {
  border-radius: 6px !important;
}

.page-article-detail .detail-layout {
  grid-template-columns: minmax(0, 820px) 340px !important;
  gap: 30px !important;
}

.page-article-detail .article-detail-main {
  max-width: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.page-article-detail .article-detail-main h1 {
  max-width: 780px !important;
  color: var(--tri-ink) !important;
  font-size: 30px !important;
  line-height: 1.42 !important;
}

.page-article-detail .article-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 28px !important;
}

.page-article-detail .article-meta span {
  color: var(--tri-muted) !important;
  font-size: 13px !important;
}

.page-article-detail .article-summary {
  max-width: 780px !important;
  padding: 18px 20px !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

.page-article-detail .article-body {
  max-width: 780px !important;
  font-size: 15px !important;
  line-height: 1.96 !important;
}

.page-article-detail .article-body h2 {
  margin-top: 30px !important;
  margin-bottom: 10px !important;
  color: var(--tri-ink) !important;
  font-size: 18px !important;
}

.page-article-detail .share-tools button {
  width: 34px !important;
  height: 34px !important;
  border-color: #dce7f5 !important;
  color: #486581 !important;
  background: #fff !important;
}

.page-article-detail .share-tools button:hover,
.page-article-detail .collect-link:hover {
  color: var(--tri-blue) !important;
  border-color: #bfd9ff !important;
  background: #f5f9ff !important;
}

.page-article-detail .category-icon-grid {
  gap: 14px 10px !important;
}

.page-article-detail .category-icon-grid a {
  min-height: 68px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}

.page-article-detail .category-icon-grid a.active {
  background: #f1f7ff !important;
}

.page-school-library .library-hero {
  grid-template-columns: minmax(0, 1fr) 560px !important;
  min-height: 168px !important;
  border-bottom: 1px solid #d8e8fb !important;
  box-shadow: inset 0 -1px 0 rgba(18, 105, 243, .04) !important;
}

.page-school-library .library-hero h1 {
  font-size: 38px !important;
}

.page-school-library .library-search {
  height: 62px !important;
  border: 1px solid #d6e4f5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(30, 89, 160, .08) !important;
}

.page-school-library .library-search input {
  height: 100% !important;
  padding-inline: 22px !important;
}

.page-school-library .library-search button {
  height: 100% !important;
  border-radius: 0 5px 5px 0 !important;
}

.page-school-library .filter-panel {
  margin-bottom: 28px !important;
  border: 1px solid var(--tri-line) !important;
  border-radius: 8px !important;
}

.page-school-library .filter-row {
  min-height: 54px !important;
  padding: 0 26px !important;
}

.page-school-library .filter-row a {
  min-height: 32px !important;
  padding: 5px 9px !important;
  border-radius: 4px !important;
}

.page-school-library .school-list-panel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-school-library .school-list-panel .inner-card-head {
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.page-school-library .school-result {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 18px !important;
  padding: 0 !important;
}

.page-school-library .result-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto auto !important;
  min-height: 146px !important;
  padding: 24px 22px 18px !important;
  border: 1px solid var(--tri-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

.page-school-library .result-item::before {
  grid-row: 1 / 4 !important;
  align-self: center !important;
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  border-width: 4px !important;
  border-radius: 50% !important;
  font-size: 34px !important;
  line-height: 66px !important;
}

.page-school-library .result-item h3 {
  margin: 0 0 8px !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}

.page-school-library .result-item p {
  margin: 0 0 12px !important;
  color: var(--tri-muted) !important;
  font-size: 13px !important;
}

.page-school-library .result-tags {
  gap: 8px !important;
}

.page-school-library .result-tags .tag {
  min-height: 24px !important;
  padding: 2px 9px !important;
  border-color: #cfe3fb !important;
  border-radius: 4px !important;
  color: #0561d8 !important;
  background: #eef7ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.page-school-library .result-meta {
  grid-column: 2 / 4 !important;
  display: flex !important;
  gap: 20px !important;
  margin-top: 14px !important;
  color: var(--tri-muted) !important;
  font-size: 13px !important;
}

.page-school-library .result-meta span:last-child {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #a8ccff !important;
  border-radius: 5px !important;
  color: var(--tri-blue) !important;
  background: #fff !important;
  font-weight: 700 !important;
}

.page-school-library .result-item:hover {
  border-color: #bed8fb !important;
  box-shadow: 0 12px 28px rgba(22, 91, 170, .08) !important;
}

.page-school-library .school-result .result-item:nth-child(n + 7) {
  display: none !important;
}

@media (max-width: 1100px) {
  .page-reexam-announcement .inner-layout,
  .page-article-detail .detail-layout,
  .page-school-library .library-hero {
    grid-template-columns: 1fr !important;
  }

  .page-school-library .school-result {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .page-reexam-announcement .category-summary {
    grid-template-columns: 1fr !important;
  }

  .page-reexam-announcement .summary-stat {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
  }

  .page-reexam-announcement .side-tool-grid,
  .page-article-detail .detail-quick-card .side-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-article-detail .article-detail-main h1 {
    font-size: 24px !important;
    line-height: 1.42 !important;
  }

  .page-article-detail .article-body p {
    text-indent: 0 !important;
  }

  .page-article-detail .category-icon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .page-school-library .library-hero {
    min-height: 0 !important;
    padding-top: 26px !important;
  }

  .page-school-library .library-hero h1 {
    font-size: 30px !important;
  }

  .page-school-library .library-search {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }

  .page-school-library .library-search input,
  .page-school-library .library-search button {
    min-height: 48px !important;
    border-radius: 0 !important;
  }

  .page-school-library .filter-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-items: start !important;
    padding: 14px 18px !important;
  }

  .page-school-library .result-item {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  .page-school-library .result-item::before {
    width: 50px !important;
    height: 50px !important;
    border-width: 3px !important;
    font-size: 24px !important;
    line-height: 44px !important;
  }

  .page-school-library .result-item h3 {
    padding-right: 0 !important;
    font-size: 19px !important;
  }

  .page-school-library .result-tags,
  .page-school-library .result-meta {
    grid-column: 1 / 3 !important;
  }

  .page-school-library .result-meta {
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
  }

  .page-school-library .result-meta span:last-child {
    position: static !important;
    min-width: 0 !important;
  }
}

/* Home comparison pass: align core inner pages to the homepage chrome and rhythm. */
.page-reexam-announcement,
.page-article-detail,
.page-school-library {
  --home-align-blue: #1269f3;
  --home-align-ink: #1b2433;
  --home-align-muted: #66758a;
  --home-align-line: #e3edf7;
  --home-align-soft: #f6fbff;
}

.page-reexam-announcement .inner-header,
.page-article-detail .inner-header,
.page-school-library .inner-header {
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid #e9eef5 !important;
  box-shadow: 0 2px 12px rgba(17, 42, 80, .06) !important;
}

.page-reexam-announcement .inner-header .topbar,
.page-article-detail .inner-header .topbar,
.page-school-library .inner-header .topbar {
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 0 30px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-reexam-announcement .nav-links,
.page-article-detail .nav-links,
.page-school-library .nav-links {
  flex: 1 1 auto !important;
  gap: 30px !important;
  margin-left: 52px !important;
  color: var(--home-align-ink) !important;
}

.page-reexam-announcement .nav-links a,
.page-article-detail .nav-links a,
.page-school-library .nav-links a {
  min-height: 72px !important;
  padding: 0 !important;
  color: var(--home-align-ink) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 72px !important;
}

.page-reexam-announcement .nav-links a.active::after,
.page-article-detail .nav-links a.active::after,
.page-school-library .nav-links a.active::after {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: var(--home-align-blue) !important;
}

.page-reexam-announcement .top-actions,
.page-article-detail .top-actions,
.page-school-library .top-actions {
  gap: 14px !important;
  margin-left: 20px !important;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger,
.page-reexam-announcement .login-main,
.page-article-detail .login-main,
.page-school-library .login-main {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.page-reexam-announcement .mini-program-trigger,
.page-article-detail .mini-program-trigger,
.page-school-library .mini-program-trigger {
  padding: 0 14px !important;
  border-color: var(--home-align-line) !important;
  color: #1c2b40 !important;
}

.page-reexam-announcement .inner-header .top-actions .login-main,
.page-article-detail .inner-header .top-actions .login-main,
.page-school-library .inner-header .top-actions .login-main {
  padding-inline: 18px !important;
  background: var(--home-align-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.page-reexam-announcement .inner-main,
.page-article-detail .inner-main,
.page-school-library .inner-main {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: 1200px !important;
}

.page-reexam-announcement .breadcrumb,
.page-article-detail .breadcrumb {
  margin-top: 26px !important;
}

.page-reexam-announcement .content-card,
.page-reexam-announcement .side-card,
.page-article-detail .side-card,
.page-article-detail .related-read,
.page-school-library .filter-panel,
.page-school-library .result-item {
  border-color: var(--home-align-line) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.page-reexam-announcement .category-summary {
  background: linear-gradient(180deg, #f8fbff 0%, #f4f9ff 100%) !important;
}

.page-reexam-announcement .summary-stat,
.page-article-detail .article-summary {
  border-color: #dceaff !important;
  background: #fff !important;
}

.page-reexam-announcement .side-tool-grid .icon-slot,
.page-article-detail .detail-quick-card .side-tool-grid .icon-slot,
.page-article-detail .category-icon-grid .icon-slot {
  border-color: #d9e9ff !important;
  color: var(--home-align-blue) !important;
  background-color: var(--home-align-blue) !important;
}

.page-school-library .library-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 28px !important;
  padding: 34px max(24px, calc((100vw - 1200px) / 2)) !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(90deg, rgba(238, 247, 255, .98), rgba(245, 250, 255, .92)),
    url("./assets/brand/header-bg.png") center / cover no-repeat !important;
}

.page-school-library .library-hero h1 {
  color: #111827 !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.page-school-library .library-hero p {
  color: #536173 !important;
  font-size: 16px !important;
}

.page-school-library .library-search {
  align-self: center !important;
  height: 60px !important;
  box-shadow: 0 14px 30px rgba(30, 89, 160, .09) !important;
}

.page-school-library .filter-panel {
  overflow: hidden !important;
  background: #fff !important;
}

.page-school-library .filter-row strong {
  color: #243145 !important;
  font-weight: 700 !important;
}

.page-school-library .filter-row a.active {
  border-color: #a8ccff !important;
  color: var(--home-align-blue) !important;
  background: #eef6ff !important;
}

.page-school-library .school-list-panel .inner-card-head h2 {
  color: #5f6f85 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.page-school-library .school-list-panel .inner-card-head span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid var(--home-align-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
}

@media (max-width: 1180px) and (min-width: 721px) {
  .page-reexam-announcement .inner-header .topbar,
  .page-article-detail .inner-header .topbar,
  .page-school-library .inner-header .topbar {
    padding-inline: 24px !important;
  }

  .page-reexam-announcement .nav-links,
  .page-article-detail .nav-links,
  .page-school-library .nav-links {
    gap: 18px !important;
    margin-left: 30px !important;
  }

  .page-reexam-announcement .nav-links a,
  .page-article-detail .nav-links a,
  .page-school-library .nav-links a {
    font-size: 14px !important;
  }
}

@media (max-width: 720px) {
  .page-reexam-announcement .inner-header .topbar,
  .page-article-detail .inner-header .topbar,
  .page-school-library .inner-header .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    width: 100% !important;
    min-height: 116px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 16px 9px !important;
    gap: 0 10px !important;
  }

  .page-reexam-announcement .brand,
  .page-article-detail .brand,
  .page-school-library .brand {
    height: 38px !important;
  }

  .page-reexam-announcement .brand-logo,
  .page-article-detail .brand-logo,
  .page-school-library .brand-logo {
    width: 168px !important;
    height: auto !important;
  }

  .page-reexam-announcement .top-actions,
  .page-article-detail .top-actions,
  .page-school-library .top-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    margin-left: auto !important;
    height: 38px !important;
  }

  .page-reexam-announcement .mini-program-trigger,
  .page-article-detail .mini-program-trigger,
  .page-school-library .mini-program-trigger {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .page-reexam-announcement .mini-program-trigger span,
  .page-article-detail .mini-program-trigger span,
  .page-school-library .mini-program-trigger span {
    margin: 0 !important;
  }

  .page-reexam-announcement .login-main,
  .page-article-detail .login-main,
  .page-school-library .login-main {
    min-width: 86px !important;
    min-height: 38px !important;
    padding-inline: 11px !important;
    font-size: 13px !important;
  }

  .page-reexam-announcement .nav-links,
  .page-article-detail .nav-links,
  .page-school-library .nav-links {
    order: 3 !important;
    flex-basis: 100% !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
  }

  .page-reexam-announcement .nav-links a,
  .page-article-detail .nav-links a,
  .page-school-library .nav-links a {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    line-height: 38px !important;
    font-size: 14px !important;
  }

  .page-reexam-announcement .nav-links a.active,
  .page-article-detail .nav-links a.active,
  .page-school-library .nav-links a.active {
    background: #eef6ff !important;
  }

  .page-reexam-announcement .nav-links a.active::after,
  .page-article-detail .nav-links a.active::after,
  .page-school-library .nav-links a.active::after {
    display: none !important;
  }

  .page-reexam-announcement .inner-main,
  .page-article-detail .inner-main,
  .page-school-library .inner-main {
    width: calc(100vw - 24px) !important;
    padding-top: 18px !important;
  }

  .page-reexam-announcement .breadcrumb,
  .page-article-detail .breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }

  .page-school-library .library-hero {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 22px 16px 24px !important;
  }

  .page-school-library .library-hero h1 {
    font-size: 28px !important;
  }

  .page-school-library .library-hero p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .page-school-library .library-search {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    height: 48px !important;
    border-radius: 6px !important;
  }

  .page-school-library .library-search input {
    min-height: 46px !important;
    padding-inline: 14px !important;
  }

  .page-school-library .library-search button {
    min-height: 46px !important;
    border-radius: 0 5px 5px 0 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .page-school-library .filter-panel {
    margin-bottom: 18px !important;
  }

  .page-school-library .filter-row {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 50px !important;
    padding: 10px 12px !important;
  }

  .page-school-library .filter-row > div {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .page-school-library .filter-row > div::-webkit-scrollbar {
    display: none !important;
  }

  .page-school-library .filter-row a {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 4px 9px !important;
    white-space: nowrap !important;
  }

  .page-school-library .school-list-panel .inner-card-head {
    align-items: center !important;
    margin-bottom: 12px !important;
  }

  .page-school-library .school-result {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
  }

  .page-school-library .result-item {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}

/* Major library and downloads hub landing pages */
.page-major-library,
.page-downloads-hub {
  --landing-blue: #1269f3;
  --landing-blue-2: #0b63e5;
  --landing-ink: #111827;
  --landing-text: #243145;
  --landing-muted: #66758a;
  --landing-line: #e3edf7;
  --landing-soft: #f6fbff;
  color: var(--landing-text) !important;
  background: #f4f8fc !important;
}

.page-major-library a,
.page-downloads-hub a,
.page-major-library button,
.page-downloads-hub button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.page-major-library .inner-header,
.page-downloads-hub .inner-header {
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid #e9eef5 !important;
  box-shadow: 0 2px 12px rgba(17, 42, 80, .06) !important;
}

.page-major-library .inner-header .topbar,
.page-downloads-hub .inner-header .topbar {
  width: 100% !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 30px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-major-library .nav-links,
.page-downloads-hub .nav-links {
  flex: 1 1 auto !important;
  gap: 30px !important;
  margin-left: 52px !important;
  color: var(--landing-ink) !important;
}

.page-major-library .nav-links a,
.page-downloads-hub .nav-links a {
  position: relative !important;
  min-height: 72px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--landing-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 72px !important;
}

.page-major-library .nav-links a::before,
.page-downloads-hub .nav-links a::before {
  display: none !important;
}

.page-major-library .nav-links a.active,
.page-downloads-hub .nav-links a.active,
.page-major-library .nav-links a:hover,
.page-downloads-hub .nav-links a:hover {
  color: var(--landing-blue) !important;
}

.page-major-library .nav-links a.active::after,
.page-downloads-hub .nav-links a.active::after {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block !important;
  height: 3px !important;
  border-radius: 3px 3px 0 0 !important;
  content: "" !important;
  background: var(--landing-blue) !important;
}

.page-major-library .top-actions,
.page-downloads-hub .top-actions {
  gap: 14px !important;
  margin-left: 20px !important;
}

.page-major-library .mini-program-trigger,
.page-downloads-hub .mini-program-trigger,
.page-major-library .login-main,
.page-downloads-hub .login-main {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.page-major-library .mini-program-trigger,
.page-downloads-hub .mini-program-trigger {
  padding: 0 14px !important;
  border: 1px solid var(--landing-line) !important;
  color: #1c2b40 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-major-library .mini-program-trigger .icon-slot,
.page-downloads-hub .mini-program-trigger .icon-slot,
.page-downloads-hub .download-feature-card .icon-slot,
.page-downloads-hub .download-search .icon-slot,
.page-downloads-hub .download-card .icon-slot,
.page-major-library .major-table .icon-slot {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 6px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  vertical-align: -4px !important;
}

.page-major-library .inner-header .top-actions .login-main,
.page-downloads-hub .inner-header .top-actions .login-main {
  padding-inline: 18px !important;
  color: #fff !important;
  background: var(--landing-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.page-major-library .inner-main,
.page-downloads-hub .download-content {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: 1200px !important;
}

.page-major-library .major-main {
  padding-top: 0 !important;
  padding-bottom: 56px !important;
}

.major-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 560px !important;
  align-items: center !important;
  gap: 24px 48px !important;
  width: 100vw !important;
  min-height: 190px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 34px max(30px, calc((100vw - 1200px) / 2)) 28px !important;
  border-bottom: 1px solid #d8e8fb !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(90deg, rgba(238, 247, 255, .98), rgba(245, 250, 255, .9)),
    url("./assets/brand/header-bg.png") center / cover no-repeat !important;
}

.major-hero h1 {
  margin: 0 0 14px !important;
  color: var(--landing-ink) !important;
  font-size: 40px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

.major-hero p {
  margin: 0 !important;
  color: #536173 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.major-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 118px !important;
  height: 58px !important;
  overflow: hidden !important;
  border: 1px solid #d6e4f5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(30, 89, 160, .08) !important;
}

.major-search input {
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 22px !important;
  border: 0 !important;
  outline: 0 !important;
  color: var(--landing-text) !important;
  font-size: 15px !important;
  background: transparent !important;
}

.major-search button {
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #1677ff, #0662df) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.major-hero-tabs {
  grid-column: 2 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 28px !important;
  align-items: center !important;
}

.major-hero-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 5px !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.major-hero-tabs a.active {
  color: #fff !important;
  background: var(--landing-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.major-filter-panel {
  overflow: hidden !important;
  margin: 28px 0 30px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
}

.major-filter-row {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  min-height: 52px !important;
  align-items: center !important;
  padding: 0 20px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.major-filter-row:last-child {
  border-bottom: 0 !important;
}

.major-filter-row strong {
  color: #1f2937 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.major-filter-row > div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 25px !important;
  align-items: center !important;
}

.major-filter-row a,
.major-select-row button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 4px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  color: #263448 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.major-filter-row a.active {
  border-color: #9cc7ff !important;
  color: var(--landing-blue) !important;
  background: #eef6ff !important;
}

.major-select-row button {
  gap: 12px !important;
  cursor: pointer !important;
}

.major-list-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 14px !important;
}

.major-list-head p {
  margin: 0 !important;
  color: #68778f !important;
  font-size: 15px !important;
}

.major-list-head button {
  min-width: 104px !important;
  min-height: 36px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  color: #2d3748 !important;
  background: #fff !important;
}

.major-sort-menu {
  position: relative !important;
  z-index: 6 !important;
}

.major-sort-menu summary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-width: 150px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  color: #2d3748 !important;
  background: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  list-style: none !important;
}

.major-sort-menu summary::-webkit-details-marker {
  display: none !important;
}

.major-sort-menu[open] summary,
.major-sort-menu summary:hover {
  border-color: #9cc7ff !important;
  color: var(--landing-blue) !important;
  background: #eef6ff !important;
}

.major-sort-menu > div {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  width: 190px !important;
  padding: 8px !important;
  border: 1px solid #d9e5f2 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .14) !important;
}

.major-list-head .major-sort-menu button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 4px !important;
  color: #263448 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.major-list-head .major-sort-menu button.active,
.major-list-head .major-sort-menu button:hover {
  color: var(--landing-blue) !important;
  background: #f4f8ff !important;
}

.major-table-wrap {
  overflow: hidden !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
}

.major-table {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
}

.major-table th,
.major-table td {
  height: 40px !important;
  padding: 0 18px !important;
  border-right: 1px solid #e7eef7 !important;
  border-bottom: 1px solid #e7eef7 !important;
  color: #263448 !important;
  font-size: 14px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.major-table th {
  height: 44px !important;
  color: #111827 !important;
  background: #f4f8fd !important;
  font-weight: 700 !important;
}

.major-table th:first-child,
.major-table td:first-child {
  text-align: left !important;
}

.major-table td:first-child {
  color: #111827 !important;
  font-weight: 700 !important;
}

.major-table tr:last-child td {
  border-bottom: 0 !important;
}

.major-table th:last-child,
.major-table td:last-child {
  border-right: 0 !important;
}

.major-table .icon-slot {
  color: var(--landing-blue) !important;
}

.degree {
  display: inline-flex !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid #ccefe0 !important;
  border-radius: 4px !important;
  color: #00835f !important;
  background: #edf9f3 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.degree.professional {
  border-color: #bfd9ff !important;
  color: var(--landing-blue) !important;
  background: #eef6ff !important;
}

.major-table td a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 72px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #a8ccff !important;
  border-radius: 4px !important;
  color: var(--landing-blue) !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.pager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 28px 0 0 !important;
  color: #111827 !important;
}

.pager a,
.pager span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 4px !important;
  color: #111827 !important;
}

.pager a {
  border: 1px solid transparent !important;
  background: #fff !important;
}

.pager a.active {
  color: #fff !important;
  border-color: var(--landing-blue) !important;
  background: var(--landing-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.pager a.disabled {
  color: #b6c0cf !important;
  border-color: var(--landing-line) !important;
  pointer-events: none !important;
}

.pager label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: 18px !important;
  color: #4b5565 !important;
}

.pager input {
  width: 56px !important;
  height: 34px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  color: #111827 !important;
  text-align: center !important;
  background: #fff !important;
}

.downloads-main {
  min-height: 100vh !important;
}

.download-hero {
  min-height: 330px !important;
  background:
    linear-gradient(90deg, rgba(238, 247, 255, .98), rgba(246, 251, 255, .9)),
    url("./assets/brand/header-bg.png") center / cover no-repeat !important;
}

.download-hero-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) 340px 340px !important;
  align-items: center !important;
  gap: 38px !important;
  width: min(1200px, calc(100vw - 48px)) !important;
  min-height: 330px !important;
  margin: 0 auto !important;
}

.download-copy h1 {
  margin: 0 0 20px !important;
  color: var(--landing-ink) !important;
  font-size: 38px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.download-copy p {
  max-width: 520px !important;
  margin: 0 !important;
  color: #526273 !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
}

.download-hero-actions {
  display: flex !important;
  gap: 28px !important;
  margin-top: 30px !important;
}

.download-hero-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 118px !important;
  min-height: 42px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  color: var(--landing-blue) !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.download-hero-actions a.primary {
  color: #fff !important;
  border-color: var(--landing-blue) !important;
  background: var(--landing-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.download-illustration {
  position: relative !important;
  height: 250px !important;
  filter: drop-shadow(0 18px 22px rgba(70, 136, 220, .18)) !important;
}

.download-illustration span {
  position: absolute !important;
  display: block !important;
}

.ill-board {
  left: 44px !important;
  top: 20px !important;
  width: 100px !important;
  height: 150px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #eaf4ff, #ffffff) !important;
  box-shadow: inset 0 0 0 1px rgba(18, 105, 243, .12) !important;
  transform: rotate(-10deg) !important;
}

.ill-board::before {
  position: absolute !important;
  left: 28px !important;
  top: -16px !important;
  width: 46px !important;
  height: 30px !important;
  border-radius: 15px 15px 6px 6px !important;
  content: "" !important;
  background: #75aef7 !important;
}

.ill-board::after {
  position: absolute !important;
  left: 24px !important;
  top: 38px !important;
  width: 54px !important;
  height: 72px !important;
  content: "" !important;
  background:
    radial-gradient(circle at 10px 10px, #9ac4fb 0 4px, transparent 5px),
    linear-gradient(#b9d6fa, #b9d6fa) 24px 8px / 24px 4px no-repeat,
    linear-gradient(#b9d6fa, #b9d6fa) 16px 30px / 38px 4px no-repeat,
    linear-gradient(#b9d6fa, #b9d6fa) 16px 52px / 30px 4px no-repeat !important;
}

.ill-folder {
  left: 116px !important;
  top: 64px !important;
  width: 142px !important;
  height: 142px !important;
  border-radius: 16px 22px 22px 22px !important;
  background: linear-gradient(135deg, #72b2ff, #2f82ed) !important;
}

.ill-folder::before {
  position: absolute !important;
  left: 18px !important;
  top: -24px !important;
  width: 84px !important;
  height: 40px !important;
  border-radius: 14px 18px 0 0 !important;
  content: "" !important;
  background: #8ac2ff !important;
}

.ill-folder::after {
  position: absolute !important;
  left: 16px !important;
  top: 18px !important;
  width: 110px !important;
  height: 100px !important;
  border-radius: 18px !important;
  content: "" !important;
  background: rgba(255, 255, 255, .16) !important;
}

.ill-cloud {
  left: 158px !important;
  top: 104px !important;
  display: grid !important;
  place-items: center !important;
  width: 78px !important;
  height: 58px !important;
  border-radius: 28px !important;
  color: #3a8ff4 !important;
  background: #fff !important;
}

.ill-cloud.icon-slot {
  -webkit-mask: none !important;
  mask: none !important;
}

.ill-cloud::before {
  content: "" !important;
  width: 26px !important;
  height: 26px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
}

.ill-book {
  left: 128px !important;
  bottom: 26px !important;
  width: 96px !important;
  height: 15px !important;
  border-radius: 6px !important;
  background: #f8c667 !important;
  box-shadow: inset 0 -3px 0 rgba(182, 115, 23, .16) !important;
}

.ill-book.two {
  left: 136px !important;
  bottom: 10px !important;
  background: #ffc44d !important;
}

.download-feature-card {
  display: grid !important;
  gap: 0 !important;
  padding: 18px 22px !important;
  border: 1px solid #e6eef8 !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 14px 34px rgba(35, 88, 160, .06) !important;
}

.download-feature-card div {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 4px 14px !important;
  min-height: 62px !important;
  align-items: center !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #e9eef5 !important;
}

.download-feature-card div:last-child {
  border-bottom: 0 !important;
}

.download-feature-card .icon-slot {
  grid-row: 1 / 3 !important;
  position: relative !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 10px !important;
  border-radius: 6px !important;
  color: var(--landing-blue) !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 1px #d9e9ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.download-feature-card .icon-slot::before,
.page-downloads-hub .download-card > .download-card-icon.icon-slot::before {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 22px !important;
  height: 22px !important;
  content: "" !important;
  background-color: currentColor !important;
  transform: translate(-50%, -50%) !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
}

.download-feature-card strong {
  color: #1f2937 !important;
  font-size: 16px !important;
}

.download-feature-card p {
  margin: 0 !important;
  color: #66758a !important;
  font-size: 13px !important;
}

.page-downloads-hub .download-content {
  padding: 26px 0 56px !important;
}

.page-downloads-hub .download-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 20px !important;
  align-items: center !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-downloads-hub .download-filter {
  display: flex !important;
  gap: 26px !important;
}

.page-downloads-hub .download-filter button {
  min-width: 78px !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 4px !important;
  color: #111827 !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.page-downloads-hub .download-filter button.active {
  color: #fff !important;
  background: var(--landing-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.page-downloads-hub .download-search {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
}

.page-downloads-hub .download-search input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 38px 0 14px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 4px !important;
  color: var(--landing-text) !important;
  background: #fff !important;
  font-size: 13px !important;
}

.page-downloads-hub .download-search .icon-slot {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: -9px 0 0 !important;
  color: #5f6f85 !important;
}

.page-downloads-hub .download-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px 16px !important;
  margin: 0 !important;
}

.page-downloads-hub .download-card {
  display: grid !important;
  grid-template-columns: 76px repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(128px, auto) 38px !important;
  gap: 0 18px !important;
  min-height: 190px !important;
  padding: 18px !important;
  border: 1px solid var(--landing-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.page-downloads-hub .download-card > .download-card-icon.icon-slot {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  width: 68px !important;
  height: 68px !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 8px !important;
  color: var(--card-color, var(--landing-blue)) !important;
  background: var(--card-soft, #eef6ff) !important;
  box-shadow: inset 0 0 0 1px rgba(18, 105, 243, .05) !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.page-downloads-hub .download-card > .download-card-icon.icon-slot::before {
  width: 34px !important;
  height: 34px !important;
}

.download-card.tone-blue { --card-color: #1677ff; --card-soft: #eef6ff; }
.download-card.tone-green { --card-color: #20a765; --card-soft: #edf9f3; }
.download-card.tone-orange { --card-color: #e38a1f; --card-soft: #fff5e8; }
.download-card.tone-purple { --card-color: #7357d8; --card-soft: #f2efff; }
.download-card.tone-red { --card-color: #d84f5d; --card-soft: #fff0f2; }
.download-card.tone-cyan { --card-color: #18a6b7; --card-soft: #ecfbfd; }

.page-downloads-hub .download-card > div {
  grid-column: 2 / 5 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

.page-downloads-hub .download-card strong {
  display: -webkit-box !important;
  overflow: hidden !important;
  min-height: 48px !important;
  margin: 0 0 6px !important;
  color: #111827 !important;
  font-size: 18px !important;
  line-height: 1.34 !important;
  font-weight: 800 !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.page-downloads-hub .download-card p {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 0 0 8px !important;
  color: #637083 !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.page-downloads-hub .download-card em {
  display: inline-flex !important;
  min-height: 22px !important;
  align-items: center !important;
  margin: 0 4px 4px 0 !important;
  padding: 0 8px !important;
  border: 1px solid #dfe8f2 !important;
  border-radius: 4px !important;
  color: #66758a !important;
  background: #f4f7fa !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

.page-downloads-hub .download-card button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  border: 0 !important;
  color: #5c697a !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.page-downloads-hub .download-card button[data-download-resource] {
  grid-column: 1 !important;
  grid-row: 2 !important;
  color: var(--landing-blue) !important;
}

.page-downloads-hub .download-card button[data-save-resource] {
  grid-row: 2 !important;
}

.page-downloads-hub .download-card button:nth-of-type(2) {
  grid-column: 2 !important;
}

.page-downloads-hub .download-card button:nth-of-type(3) {
  grid-column: 3 !important;
}

.page-downloads-hub .download-card button .icon-slot {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}

.page-downloads-hub .download-card:hover,
.major-table tbody tr:hover {
  background: #fbfdff !important;
}

.page-downloads-hub .download-card:hover {
  border-color: #cfe0f2 !important;
  box-shadow: 0 10px 24px rgba(38, 72, 112, .07) !important;
}

@media (max-width: 1180px) and (min-width: 721px) {
  .page-major-library .inner-header .topbar,
  .page-downloads-hub .inner-header .topbar {
    padding-inline: 24px !important;
  }

  .page-major-library .nav-links,
  .page-downloads-hub .nav-links {
    gap: 18px !important;
    margin-left: 30px !important;
  }

  .major-hero,
  .download-hero-inner {
    grid-template-columns: 1fr !important;
  }

  .major-hero-tabs {
    grid-column: 1 !important;
    justify-content: flex-start !important;
  }

  .download-illustration {
    display: none !important;
  }

  .page-downloads-hub .download-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .page-major-library .inner-header .topbar,
  .page-downloads-hub .inner-header .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    width: 100% !important;
    min-height: 116px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 16px 9px !important;
    gap: 0 10px !important;
  }

  .page-major-library .brand,
  .page-downloads-hub .brand {
    height: 38px !important;
  }

  .page-major-library .brand-logo,
  .page-downloads-hub .brand-logo {
    width: 168px !important;
    height: auto !important;
  }

  .page-major-library .top-actions,
  .page-downloads-hub .top-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    height: 38px !important;
    margin-left: auto !important;
  }

  .page-major-library .mini-program-trigger,
  .page-downloads-hub .mini-program-trigger {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .page-major-library .mini-program-trigger .icon-slot,
  .page-downloads-hub .mini-program-trigger .icon-slot {
    margin: 0 !important;
  }

  .page-major-library .login-main,
  .page-downloads-hub .login-main {
    min-width: 86px !important;
    min-height: 38px !important;
    padding-inline: 11px !important;
    font-size: 13px !important;
  }

  .page-major-library .nav-links,
  .page-downloads-hub .nav-links {
    order: 3 !important;
    flex-basis: 100% !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
  }

  .page-major-library .nav-links a,
  .page-downloads-hub .nav-links a {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    line-height: 38px !important;
    font-size: 14px !important;
  }

  .page-major-library .nav-links a.active,
  .page-downloads-hub .nav-links a.active {
    background: #eef6ff !important;
  }

  .page-major-library .nav-links a.active::after,
  .page-downloads-hub .nav-links a.active::after {
    display: none !important;
  }

  .page-major-library .inner-main,
  .page-downloads-hub .download-content {
    width: calc(100vw - 24px) !important;
  }

  .major-hero {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    min-height: 0 !important;
    padding: 24px 16px !important;
  }

  .major-hero h1,
  .download-copy h1 {
    font-size: 30px !important;
  }

  .major-hero p,
  .download-copy p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .major-search {
    grid-template-columns: minmax(0, 1fr) 92px !important;
    height: 50px !important;
  }

  .major-search input {
    padding-inline: 14px !important;
    font-size: 14px !important;
  }

  .major-search button {
    font-size: 14px !important;
  }

  .major-hero-tabs {
    grid-column: 1 !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto !important;
  }

  .major-hero-tabs a {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .major-filter-panel {
    margin: 18px 0 22px !important;
  }

  .major-filter-row {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    min-height: 52px !important;
    padding: 10px 12px !important;
  }

  .major-filter-row > div {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .major-filter-row > div::-webkit-scrollbar {
    display: none !important;
  }

  .major-filter-row a,
  .major-select-row button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .major-list-head {
    align-items: center !important;
  }

  .major-table-wrap {
    overflow-x: auto !important;
  }

  .major-table {
    min-width: 820px !important;
  }

  .pager {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .pager label {
    width: 100% !important;
    justify-content: center !important;
    margin-left: 0 !important;
  }

  .download-hero {
    min-height: 0 !important;
  }

  .download-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: calc(100vw - 24px) !important;
    min-height: 0 !important;
    padding: 28px 0 22px !important;
  }

  .download-copy {
    padding: 0 4px !important;
  }

  .download-hero-actions {
    gap: 12px !important;
    margin-top: 22px !important;
  }

  .download-hero-actions a {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .download-illustration {
    display: none !important;
  }

  .download-feature-card {
    padding: 8px 16px !important;
  }

  .download-feature-card div {
    min-height: 56px !important;
  }

  .page-downloads-hub .download-content {
    padding-top: 22px !important;
  }

  .page-downloads-hub .download-toolbar {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .page-downloads-hub .download-filter {
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .page-downloads-hub .download-filter::-webkit-scrollbar {
    display: none !important;
  }

  .page-downloads-hub .download-filter button {
    flex: 0 0 auto !important;
    min-width: 70px !important;
  }

  .page-downloads-hub .download-grid {
    grid-template-columns: 1fr !important;
  }

  .page-downloads-hub .download-card {
    grid-template-columns: 60px repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(126px, auto) auto !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  .page-downloads-hub .download-card > .download-card-icon.icon-slot {
    width: 56px !important;
    height: 56px !important;
    padding: 15px !important;
  }

  .page-downloads-hub .download-card button {
    justify-content: flex-start !important;
    font-size: 13px !important;
  }
}

/* About us landing page */
.page-about-us {
  --about-blue: #1269f3;
  --about-ink: #111827;
  --about-text: #243145;
  --about-muted: #66758a;
  --about-line: #e3edf7;
  --about-soft: #f6fbff;
  color: var(--about-text) !important;
  background: #f7fafc !important;
}

.page-about-us a,
.page-about-us button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.page-about-us .inner-header {
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid #e9eef5 !important;
  box-shadow: 0 2px 12px rgba(17, 42, 80, .06) !important;
}

.page-about-us .inner-header .topbar {
  width: 100% !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 30px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-about-us .nav-links {
  flex: 1 1 auto !important;
  gap: 30px !important;
  margin-left: 52px !important;
  color: var(--about-ink) !important;
}

.page-about-us .nav-links a {
  position: relative !important;
  min-height: 72px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--about-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 72px !important;
}

.page-about-us .nav-links a:hover {
  color: var(--about-blue) !important;
}

.page-about-us .top-actions {
  gap: 14px !important;
  margin-left: 20px !important;
}

.page-about-us .mini-program-trigger,
.page-about-us .login-main {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.page-about-us .mini-program-trigger {
  padding: 0 14px !important;
  border: 1px solid var(--about-line) !important;
  color: #1c2b40 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-about-us .inner-header .top-actions .login-main {
  padding-inline: 18px !important;
  color: #fff !important;
  background: var(--about-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.page-about-us .icon-slot {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  background-color: currentColor !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  vertical-align: -5px !important;
}

.about-main {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: 1200px !important;
  padding: 24px 0 34px !important;
}

.page-about-us .breadcrumb {
  margin: 0 0 20px !important;
  color: #748095 !important;
  font-size: 13px !important;
}

.page-about-us .breadcrumb a {
  color: #5f77a0 !important;
}

.about-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 860px) 300px !important;
  gap: 28px !important;
  align-items: start !important;
}

.about-title {
  margin-bottom: 20px !important;
}

.about-title h1 {
  margin: 0 0 12px !important;
  color: var(--about-ink) !important;
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.about-title p {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.about-value-card,
.about-platform-card,
.about-detail-card,
.about-action-grid a,
.about-side-card,
.about-wide-card {
  border: 1px solid var(--about-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.about-value-card {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 24px 26px !important;
  margin-bottom: 16px !important;
}

.about-value-card div {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 4px 14px !important;
  align-items: center !important;
}

.about-value-card .icon-slot {
  grid-row: 1 / 3 !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  color: var(--about-blue) !important;
}

.about-value-card strong,
.about-platform-card h2,
.about-detail-item h2,
.about-wide-card h2,
.about-side-card h2 {
  color: var(--about-ink) !important;
  font-weight: 800 !important;
}

.about-value-card strong {
  font-size: 16px !important;
}

.about-value-card p {
  margin: 0 !important;
  color: #66758a !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.about-platform-card {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: center !important;
  min-height: 116px !important;
  padding: 22px 26px !important;
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.about-platform-card h2,
.about-detail-item h2 {
  margin: 0 0 8px !important;
  font-size: 18px !important;
}

.about-platform-card p,
.about-detail-item p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}

.about-school-illustration {
  position: relative !important;
  height: 92px !important;
}

.school-building {
  position: absolute !important;
  left: 34px !important;
  bottom: 8px !important;
  width: 102px !important;
  height: 68px !important;
  border-radius: 8px 8px 3px 3px !important;
  background:
    linear-gradient(#9bd3ff, #9bd3ff) 12px 18px / 12px 16px no-repeat,
    linear-gradient(#9bd3ff, #9bd3ff) 38px 18px / 12px 16px no-repeat,
    linear-gradient(#9bd3ff, #9bd3ff) 64px 18px / 12px 16px no-repeat,
    linear-gradient(#0f70df, #0f70df) 0 0 / 100% 12px no-repeat,
    #e6f5ff !important;
  box-shadow: inset 0 0 0 2px #88c9ff !important;
}

.school-building::before {
  position: absolute !important;
  left: 31px !important;
  top: -22px !important;
  width: 42px !important;
  height: 26px !important;
  clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
  content: "" !important;
  background: #1380ea !important;
}

.school-building::after {
  position: absolute !important;
  left: 42px !important;
  bottom: 0 !important;
  width: 18px !important;
  height: 28px !important;
  border-radius: 8px 8px 0 0 !important;
  content: "" !important;
  background: #5ab1f6 !important;
}

.school-tree {
  position: absolute !important;
  bottom: 7px !important;
  width: 20px !important;
  height: 44px !important;
  background: linear-gradient(#38b98d 0 70%, #8a6b42 70%) !important;
  clip-path: polygon(50% 0, 100% 62%, 64% 62%, 64% 100%, 36% 100%, 36% 62%, 0 62%) !important;
}

.school-tree.left { left: 8px !important; }
.school-tree.right { right: 14px !important; }

.about-detail-card {
  padding: 0 26px !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-top: 0 !important;
}

.about-detail-item {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 20px !important;
  padding: 22px 0 !important;
  border-top: 1px solid #edf2f7 !important;
}

.about-detail-item .icon-slot {
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  color: var(--about-blue) !important;
}

.about-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 20px !important;
}

.about-action-grid a {
  position: relative !important;
  min-height: 144px !important;
  overflow: hidden !important;
  padding: 20px !important;
  background: linear-gradient(135deg, #fff, #f2f8ff) !important;
}

.about-action-grid a::after {
  position: absolute !important;
  right: 18px !important;
  bottom: 12px !important;
  width: 76px !important;
  height: 54px !important;
  border-radius: 12px !important;
  content: "" !important;
  background: linear-gradient(135deg, rgba(18,105,243,.14), rgba(18,105,243,.04)) !important;
}

.about-action-grid strong {
  display: block !important;
  margin-bottom: 10px !important;
  color: var(--about-ink) !important;
  font-size: 17px !important;
}

.about-action-grid span {
  display: block !important;
  max-width: 210px !important;
  color: #66758a !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.about-action-grid b,
.about-contact-card > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  margin-top: 14px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--about-blue) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.about-sidebar {
  display: grid !important;
  gap: 16px !important;
}

.about-side-card {
  padding: 18px 14px !important;
}

.about-side-card h2 {
  margin: 0 0 14px !important;
  padding: 0 8px !important;
  font-size: 20px !important;
}

.about-service-nav {
  position: sticky !important;
  top: 86px !important;
}

.about-service-nav a {
  display: flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 4px !important;
  color: #111827 !important;
  font-weight: 700 !important;
}

.about-service-nav a.active {
  color: var(--about-blue) !important;
  background: #eef6ff !important;
}

.about-service-nav .icon-slot {
  color: currentColor !important;
}

.about-contact-card p {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  color: #5f6f85 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.about-contact-card p .icon-slot {
  width: 19px !important;
  height: 19px !important;
  margin: 2px 0 0 !important;
  color: var(--about-blue) !important;
}

.about-contact-card b {
  color: #334155 !important;
}

.about-contact-card em {
  color: #7b8794 !important;
  font-style: normal !important;
}

.about-contact-card > a {
  width: calc(100% - 16px) !important;
  margin: 16px 8px 0 !important;
  border: 1px solid #9cc7ff !important;
  border-radius: 4px !important;
  color: var(--about-blue) !important;
  background: #fff !important;
}

.about-wide-card {
  margin-top: 16px !important;
  padding: 20px 24px !important;
}

.about-contact-strip > div {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.about-wide-card h2 {
  margin: 0 0 16px !important;
  font-size: 18px !important;
}

.about-contact-strip article {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.about-contact-strip .icon-slot {
  grid-row: 1 / 3 !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 13px !important;
  border-radius: 6px !important;
  color: var(--about-blue) !important;
  background-color: var(--about-blue) !important;
  background-image: none !important;
  background-origin: content-box !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

.about-contact-strip article:nth-child(2) .icon-slot { color: #e68a1f !important; background-color: #e68a1f !important; box-shadow: inset 0 0 0 999px #fff5e8 !important; }
.about-contact-strip article:nth-child(3) .icon-slot { color: #20a765 !important; background-color: #20a765 !important; box-shadow: inset 0 0 0 999px #edf9f3 !important; }
.about-contact-strip article:nth-child(4) .icon-slot { color: #7357d8 !important; background-color: #7357d8 !important; box-shadow: inset 0 0 0 999px #f2efff !important; }

.about-contact-strip strong {
  color: var(--about-ink) !important;
  font-size: 15px !important;
}

.about-contact-strip p {
  margin: 0 !important;
  color: #66758a !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.about-help-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.about-help-grid h3 {
  margin: 0 0 10px !important;
  color: var(--about-blue) !important;
  font-size: 15px !important;
}

.about-help-grid a {
  display: block !important;
  margin-top: 8px !important;
  color: #5f6f85 !important;
  font-size: 13px !important;
}

.about-quick-band {
  border-top: 1px solid var(--about-line) !important;
  border-bottom: 1px solid var(--about-line) !important;
  background: #fff !important;
}

.about-quick-band .wrap {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  width: min(1200px, calc(100vw - 48px)) !important;
  min-height: 64px !important;
}

.about-quick-band strong {
  margin-right: 4px !important;
  color: var(--about-ink) !important;
  font-size: 18px !important;
}

.about-quick-band a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 0 14px !important;
  border: 1px solid var(--about-line) !important;
  border-radius: 999px !important;
  color: #334155 !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.about-quick-band .icon-slot {
  width: 16px !important;
  height: 16px !important;
  margin-right: 7px !important;
  color: var(--about-blue) !important;
}

.about-footer {
  background: #fff !important;
}

.about-footer-inner {
  display: grid !important;
  grid-template-columns: 280px repeat(3, 1fr) 210px !important;
  gap: 42px !important;
  width: min(1200px, calc(100vw - 48px)) !important;
  padding: 34px 0 26px !important;
}

.about-footer h3 {
  margin: 0 0 12px !important;
  color: var(--about-ink) !important;
  font-size: 14px !important;
}

.about-footer-brand p,
.about-footer a,
.about-qr-group p,
.about-copyright {
  color: #66758a !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

.about-footer-brand p {
  margin: 14px 0 0 !important;
}

.about-footer nav a {
  display: block !important;
  margin-top: 7px !important;
}

.about-qr-group > div {
  display: flex !important;
  gap: 18px !important;
}

.fake-qr {
  width: 72px !important;
  height: 72px !important;
  border: 6px solid #fff !important;
  background:
    linear-gradient(90deg, #111 50%, transparent 0) 0 0 / 12px 12px,
    linear-gradient(#111 50%, transparent 0) 0 0 / 12px 12px,
    #f8fafc !important;
  box-shadow: 0 0 0 1px #e4ebf3 !important;
}

.about-qr-group p {
  display: flex !important;
  gap: 36px !important;
  margin: 6px 0 0 !important;
}

.about-qr-group em {
  font-style: normal !important;
}

.about-copyright {
  margin: 0 !important;
  padding: 14px 24px 22px !important;
  border-top: 1px solid #edf2f7 !important;
  text-align: center !important;
}

@media (max-width: 1180px) and (min-width: 721px) {
  .page-about-us .inner-header .topbar {
    padding-inline: 24px !important;
  }

  .page-about-us .nav-links {
    gap: 18px !important;
    margin-left: 30px !important;
  }

  .about-layout {
    grid-template-columns: 1fr !important;
  }

  .about-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-service-nav {
    position: static !important;
  }

  .about-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .page-about-us .inner-header .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    width: 100% !important;
    min-height: 116px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 16px 9px !important;
    gap: 0 10px !important;
  }

  .page-about-us .brand {
    height: 38px !important;
  }

  .page-about-us .brand-logo {
    width: 168px !important;
    height: auto !important;
  }

  .page-about-us .top-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    height: 38px !important;
    margin-left: auto !important;
  }

  .page-about-us .mini-program-trigger {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .page-about-us .mini-program-trigger .icon-slot {
    margin: 0 !important;
  }

  .page-about-us .login-main {
    min-width: 86px !important;
    min-height: 38px !important;
    padding-inline: 11px !important;
    font-size: 13px !important;
  }

  .page-about-us .nav-links {
    order: 3 !important;
    flex-basis: 100% !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
  }

  .page-about-us .nav-links a {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    line-height: 38px !important;
    font-size: 14px !important;
  }

  .about-main {
    width: calc(100vw - 24px) !important;
    padding-top: 18px !important;
  }

  .about-layout,
  .about-sidebar,
  .about-platform-card,
  .about-action-grid,
  .about-contact-strip > div,
  .about-help-grid,
  .about-footer-inner {
    grid-template-columns: 1fr !important;
  }

  .about-title h1 {
    font-size: 28px !important;
  }

  .about-value-card {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px !important;
  }

  .about-platform-card,
  .about-detail-card {
    padding-inline: 20px !important;
  }

  .about-school-illustration {
    display: none !important;
  }

  .about-detail-item {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .about-sidebar {
    display: none !important;
  }

  .about-contact-strip article {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .about-quick-band .wrap {
    width: calc(100vw - 24px) !important;
    overflow-x: auto !important;
    gap: 10px !important;
  }

  .about-quick-band strong,
  .about-quick-band a {
    flex: 0 0 auto !important;
  }

  .about-footer-inner {
    width: calc(100vw - 24px) !important;
    gap: 24px !important;
  }
}

/* Member center dashboard landing */
.page-member-center {
  --member-blue: #1269f3;
  --member-green: #20b46b;
  --member-orange: #f3a21b;
  --member-red: #ff6170;
  --member-ink: #111827;
  --member-text: #273449;
  --member-muted: #69778c;
  --member-line: #e3edf7;
  --member-soft: #f6fbff;
  color: var(--member-text) !important;
  background: #f4f8fc !important;
}

.page-member-center a,
.page-member-center button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.page-member-center .inner-header {
  background: rgba(255, 255, 255, .98) !important;
  border-bottom: 1px solid #e9eef5 !important;
  box-shadow: 0 2px 12px rgba(17, 42, 80, .06) !important;
}

.page-member-center .inner-header .topbar {
  width: 100% !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 30px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-member-center .nav-links {
  flex: 1 1 auto !important;
  gap: 30px !important;
  margin-left: 52px !important;
  color: var(--member-ink) !important;
}

.page-member-center .nav-links a {
  position: relative !important;
  min-height: 72px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--member-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 72px !important;
}

.page-member-center .nav-links a:hover {
  color: var(--member-blue) !important;
}

.page-member-center .top-actions {
  gap: 14px !important;
  margin-left: 20px !important;
}

.page-member-center .mini-program-trigger,
.page-member-center .login-main {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.page-member-center .mini-program-trigger {
  padding: 0 14px !important;
  border: 1px solid var(--member-line) !important;
  color: #1c2b40 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.page-member-center .inner-header .top-actions .login-main {
  padding-inline: 18px !important;
  color: #fff !important;
  background: var(--member-blue) !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

.page-member-center .icon-slot {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  background-color: currentColor !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  vertical-align: -5px !important;
}

.member-page:not(.is-member-authenticated) .member-dashboard-preview,
.member-page:not(.is-member-authenticated) .member-tool-grid,
.page-member-center .member-dashboard-area,
.page-member-center .member-login-side,
.page-member-center .member-bottom-bar {
  display: block !important;
}

.member-center-main {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 22px !important;
  width: min(1380px, calc(100vw - 96px)) !important;
  max-width: 1380px !important;
  padding: 28px 0 !important;
}

.member-login-side {
  position: relative !important;
  min-height: 850px !important;
  overflow: hidden !important;
  border: 1px solid var(--member-line) !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, rgba(239, 247, 255, .88), rgba(255, 255, 255, .96)),
    url("./assets/brand/header-bg.png") center top / cover no-repeat !important;
}

.member-side-hero {
  position: relative !important;
  min-height: 250px !important;
  padding: 38px 26px 0 !important;
}

.member-side-hero h1 {
  margin: 0 0 14px !important;
  color: var(--member-ink) !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.member-side-hero p {
  margin: 0 !important;
  color: #526273 !important;
  font-size: 15px !important;
}

.member-lock-ill {
  position: absolute !important;
  right: 18px !important;
  top: 48px !important;
  width: 152px !important;
  height: 152px !important;
  opacity: .95 !important;
}

.member-lock-ill::before {
  position: absolute !important;
  inset: 20px 18px 0 !important;
  border-radius: 28px !important;
  content: "" !important;
  background: linear-gradient(135deg, #8bc2ff, #2878e8) !important;
  transform: rotate(-13deg) !important;
  box-shadow: 0 18px 36px rgba(30, 103, 202, .22) !important;
}

.member-lock-ill::after {
  position: absolute !important;
  left: 58px !important;
  top: 58px !important;
  width: 45px !important;
  height: 38px !important;
  border-radius: 8px !important;
  content: "" !important;
  background:
    linear-gradient(#2878e8, #2878e8) 50% 58% / 4px 14px no-repeat,
    radial-gradient(circle at 50% 42%, #2878e8 0 5px, transparent 6px),
    #fff !important;
}

.member-lock-ill span {
  position: absolute !important;
  left: 61px !important;
  top: 38px !important;
  width: 38px !important;
  height: 34px !important;
  border: 7px solid #fff !important;
  border-bottom: 0 !important;
  border-radius: 22px 22px 0 0 !important;
  z-index: 1 !important;
}

.member-login-card {
  position: relative !important;
  z-index: 1 !important;
  width: calc(100% - 48px) !important;
  margin: -66px auto 0 !important;
  padding: 34px 18px 30px !important;
  border: 1px solid var(--member-line) !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(42, 90, 150, .08) !important;
}

.member-login-card h2 {
  margin: 0 0 28px !important;
  color: var(--member-ink) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
}

.page-member-center .member-login-form {
  display: grid !important;
  gap: 14px !important;
}

.page-member-center .member-login-form > label:not(.member-check) {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  height: 44px !important;
  padding: 0 12px !important;
  border: 1px solid #d8e4f2 !important;
  border-radius: 4px !important;
  background: #fff !important;
}

.page-member-center .member-login-form label > .icon-slot {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  color: #7b8794 !important;
}

.page-member-center .member-login-form input {
  min-width: 0 !important;
  width: 100% !important;
  height: 42px !important;
  border: 0 !important;
  outline: 0 !important;
  color: #1f2937 !important;
  background: transparent !important;
  font-size: 14px !important;
}

.page-member-center .member-code-input {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px !important;
  align-items: center !important;
  gap: 8px !important;
}

.page-member-center .member-code-input button {
  height: 30px !important;
  border: 0 !important;
  border-left: 1px solid #e4ecf6 !important;
  color: var(--member-blue) !important;
  background: #f7fbff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.page-member-center .member-form-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 6px 0 !important;
  color: #526273 !important;
  font-size: 12px !important;
}

.page-member-center .member-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.page-member-center .member-check input {
  width: 14px !important;
  height: 14px !important;
}

.page-member-center .member-form-row a {
  color: var(--member-blue) !important;
}

.page-member-center .member-primary-action,
.member-match-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid var(--member-blue) !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #1677ff, #0662df) !important;
  box-shadow: 0 10px 22px rgba(18, 105, 243, .18) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.member-login-divider {
  position: relative !important;
  margin: 24px 0 !important;
  text-align: center !important;
}

.member-login-divider::before {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 50% !important;
  height: 1px !important;
  content: "" !important;
  background: #edf2f7 !important;
}

.member-login-divider span {
  position: relative !important;
  padding: 0 16px !important;
  color: #7b8794 !important;
  background: #fff !important;
  font-size: 13px !important;
}

.member-match-link {
  color: var(--member-blue) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.member-side-trust {
  position: absolute !important;
  left: 22px !important;
  right: 22px !important;
  bottom: 88px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  text-align: center !important;
}

.member-side-trust .icon-slot {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 auto 12px !important;
  color: #6f7d91 !important;
}

.member-side-trust strong {
  display: block !important;
  color: #273449 !important;
  font-size: 13px !important;
}

.member-side-trust p {
  margin: 4px 0 0 !important;
  color: #7b8794 !important;
  font-size: 12px !important;
}

.member-dashboard-area {
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--member-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.member-welcome-card {
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) minmax(320px, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.member-avatar-ui {
  display: grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #eaf4ff, #dcecff) !important;
}

.member-avatar-ui span {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 32%, #9cc7ff 0 8px, transparent 9px),
    radial-gradient(ellipse at 50% 92%, #9cc7ff 0 17px, transparent 18px) !important;
}

.member-welcome-card h2 {
  margin: 0 0 10px !important;
  color: var(--member-ink) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.member-welcome-card h2 em {
  display: inline-flex !important;
  min-height: 22px !important;
  margin-left: 10px !important;
  padding: 0 8px !important;
  align-items: center !important;
  border: 1px solid #e9a35e !important;
  border-radius: 3px !important;
  color: #b66a1d !important;
  background: #fff8ef !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.member-welcome-card p {
  margin: 0 !important;
  color: #69778c !important;
  font-size: 13px !important;
}

.member-welcome-card p i {
  display: inline-block !important;
  width: 1px !important;
  height: 12px !important;
  margin: 0 12px !important;
  background: #dbe5f0 !important;
  vertical-align: -2px !important;
}

.member-welcome-card p a {
  color: var(--member-blue) !important;
}

.member-complete-tip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: 4px !important;
  color: #45566f !important;
  background: #f1f6ff !important;
  font-size: 13px !important;
}

.member-complete-tip .icon-slot {
  color: #6f7d91 !important;
}

.member-complete-tip b {
  color: var(--member-blue) !important;
  font-weight: 700 !important;
}

.member-stat-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}

.member-stat-cards a,
.member-desk-card,
.member-info-card,
.member-bottom-bar {
  border: 1px solid var(--member-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.member-stat-cards a {
  position: relative !important;
  min-height: 118px !important;
  padding: 18px 20px !important;
  color: #536173 !important;
}

.member-stat-cards .icon-slot {
  position: absolute !important;
  right: 28px !important;
  top: 28px !important;
  width: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 13px !important;
  border-radius: 50% !important;
  color: #7bacff !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.member-stat-cards .icon-slot::before,
.member-desk-grid .icon-slot::before {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 24px !important;
  height: 24px !important;
  content: "" !important;
  background-color: currentColor !important;
  transform: translate(-50%, -50%) !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
}

.member-stat-cards a:nth-child(2) .icon-slot { color: var(--member-green) !important; background: #eaf9f1 !important; box-shadow: inset 0 0 0 999px #eaf9f1 !important; }
.member-stat-cards a:nth-child(3) .icon-slot { color: var(--member-orange) !important; background: #fff5e8 !important; box-shadow: inset 0 0 0 999px #fff5e8 !important; }

.member-stat-cards small {
  display: block !important;
  color: #536173 !important;
  font-size: 13px !important;
}

.member-stat-cards strong {
  display: inline-block !important;
  margin-top: 12px !important;
  color: var(--member-ink) !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

.member-stat-cards em {
  margin-left: 5px !important;
  color: #111827 !important;
  font-style: normal !important;
}

.member-stat-cards b {
  display: block !important;
  margin-top: 12px !important;
  color: #69778c !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.member-desk-card {
  padding: 18px !important;
  margin-bottom: 16px !important;
}

.member-desk-card h2,
.member-card-head h2 {
  margin: 0 !important;
  color: var(--member-ink) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.member-desk-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 16px !important;
}

.member-desk-grid a {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  min-height: 92px !important;
  gap: 4px 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border: 1px solid var(--member-line) !important;
  border-radius: 6px !important;
  color: #526273 !important;
  background: #fff !important;
}

.member-desk-grid .icon-slot {
  grid-row: 1 / 4 !important;
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 8px !important;
  color: var(--member-blue) !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.member-desk-grid .icon-slot::before {
  width: 21px !important;
  height: 21px !important;
}

.member-desk-grid a:nth-child(2) .icon-slot { color: var(--member-green) !important; background: #eaf9f1 !important; box-shadow: inset 0 0 0 999px #eaf9f1 !important; }
.member-desk-grid a:nth-child(3) .icon-slot { color: #f4bc16 !important; background: #fff8df !important; box-shadow: inset 0 0 0 999px #fff8df !important; }
.member-desk-grid a:nth-child(4) .icon-slot { color: var(--member-red) !important; background: #fff0f2 !important; box-shadow: inset 0 0 0 999px #fff0f2 !important; }

.member-desk-grid strong {
  color: #1f2937 !important;
  font-size: 15px !important;
}

.member-desk-grid p {
  margin: 0 !important;
  color: #69778c !important;
  font-size: 12px !important;
}

.member-desk-grid b {
  color: var(--member-blue) !important;
  font-size: 12px !important;
}

.member-info-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.member-info-card {
  min-height: 280px !important;
  padding: 16px !important;
}

.member-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

.member-card-head a,
.member-card-foot {
  color: var(--member-blue) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.member-info-card dl {
  margin: 0 !important;
}

.member-info-card dl div {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-height: 42px !important;
  align-items: center !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.member-info-card dt {
  color: #69778c !important;
  font-size: 13px !important;
}

.member-info-card dd {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 13px !important;
}

.member-file-list,
.member-star-list,
.member-alert-list {
  display: grid !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.member-file-list li,
.member-star-list li,
.member-alert-list li {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: start !important;
}

.member-file-list .icon-slot {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  color: var(--member-blue) !important;
}

.member-file-list strong,
.member-star-list strong,
.member-alert-list strong {
  overflow: hidden !important;
  color: #334155 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.member-file-list em,
.member-star-list em,
.member-alert-list em {
  grid-column: 2 !important;
  color: #8995a7 !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.member-file-list b {
  grid-column: 3 !important;
  grid-row: 2 !important;
  align-self: center !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  color: #69778c !important;
  background: #f2f5f9 !important;
  font-size: 11px !important;
}

.member-star-list span {
  color: #f4ae25 !important;
}

.member-alert-list span {
  width: 6px !important;
  height: 6px !important;
  margin-top: 7px !important;
  border-radius: 50% !important;
  background: #ff6170 !important;
}

.member-card-foot {
  display: block !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
  border-top: 1px solid #edf2f7 !important;
  text-align: center !important;
}

.member-bottom-bar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 60px !important;
  margin-top: 30px !important;
  padding: 0 22px !important;
  background: #f5f9ff !important;
}

.member-bottom-bar p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
}

.member-bottom-bar p .icon-slot {
  color: var(--member-blue) !important;
}

.member-bottom-bar p a {
  display: inline-flex !important;
  min-width: 64px !important;
  min-height: 28px !important;
  margin-left: 14px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: var(--member-blue) !important;
  font-weight: 700 !important;
}

.member-bottom-bar nav {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.member-bottom-bar nav a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 22px !important;
  border-left: 1px solid #dbe6f3 !important;
  color: #334155 !important;
  font-size: 13px !important;
}

.member-bottom-bar nav .icon-slot {
  width: 17px !important;
  height: 17px !important;
  color: var(--member-blue) !important;
}

@media (max-width: 1180px) and (min-width: 721px) {
  .page-member-center .inner-header .topbar {
    padding-inline: 24px !important;
  }

  .page-member-center .nav-links {
    gap: 18px !important;
    margin-left: 30px !important;
  }

  .member-center-main {
    grid-template-columns: 1fr !important;
    width: min(960px, calc(100vw - 48px)) !important;
  }

  .member-login-side {
    min-height: 640px !important;
  }

  .member-side-trust {
    position: static !important;
    margin: 32px 22px !important;
  }

  .member-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .page-member-center .inner-header .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    width: 100% !important;
    min-height: 116px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 7px 16px 9px !important;
    gap: 0 10px !important;
  }

  .page-member-center .brand {
    height: 38px !important;
  }

  .page-member-center .brand-logo {
    width: 168px !important;
    height: auto !important;
  }

  .page-member-center .top-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    height: 38px !important;
    margin-left: auto !important;
  }

  .page-member-center .mini-program-trigger {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .page-member-center .mini-program-trigger .icon-slot {
    margin: 0 !important;
  }

  .page-member-center .login-main {
    min-width: 86px !important;
    min-height: 38px !important;
    padding-inline: 11px !important;
    font-size: 13px !important;
  }

  .page-member-center .nav-links {
    order: 3 !important;
    flex-basis: 100% !important;
    gap: 8px !important;
    margin: 10px 0 0 !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
  }

  .page-member-center .nav-links a {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    line-height: 38px !important;
    font-size: 14px !important;
  }

  .member-center-main {
    grid-template-columns: 1fr !important;
    width: calc(100vw - 24px) !important;
    padding: 18px 0 !important;
  }

  .member-login-side {
    min-height: 680px !important;
  }

  .member-side-hero {
    min-height: 210px !important;
    padding: 28px 22px 0 !important;
  }

  .member-lock-ill {
    right: 0 !important;
    top: 48px !important;
    transform: scale(.82) !important;
  }

  .member-login-card {
    width: calc(100% - 28px) !important;
    margin-top: -44px !important;
  }

  .member-side-trust {
    position: static !important;
    margin: 28px 16px !important;
  }

  .member-dashboard-area {
    padding: 12px !important;
  }

  .member-welcome-card,
  .member-bottom-bar {
    grid-template-columns: 1fr !important;
  }

  .member-complete-tip {
    min-height: 48px !important;
  }

  .member-stat-cards,
  .member-desk-grid,
  .member-info-grid {
    grid-template-columns: 1fr !important;
  }

  .member-desk-grid {
    gap: 12px !important;
  }

  .member-info-card {
    min-height: 0 !important;
  }

  .member-bottom-bar {
    padding: 16px !important;
  }

  .member-bottom-bar nav {
    overflow-x: auto !important;
  }

  .member-bottom-bar nav a {
    flex: 0 0 auto !important;
  }
}

/* Global site footer */
.global-site-footer {
  --footer-blue: #0f6df5;
  --footer-line: #dce7f4;
  --footer-text: #1f2937;
  --footer-muted: #667085;
  width: 100%;
  margin-top: 0;
  border-top: 1px solid var(--footer-line);
  background: #fff;
  color: var(--footer-text);
}

.global-site-footer a {
  color: inherit;
  text-decoration: none;
}

.global-site-footer .icon-slot {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.global-site-footer .icon-slot::after {
  width: 100%;
  height: 100%;
}

.global-footer-promos,
.global-footer-linkband-inner,
.global-footer-bottom {
  width: min(1500px, calc(100vw - 88px));
  margin-inline: auto;
}

.global-footer-promos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding: 40px 0 46px;
}

.global-promo {
  position: relative;
  display: block;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid #cfe0f3;
  border-radius: 8px;
  background: #f4f9ff;
  box-shadow: 0 12px 28px rgba(38, 103, 180, .07);
}

.global-promo-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 68%;
  padding: 34px 0 0 32px;
}

.global-promo strong {
  color: #0b5ccf;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
}

.global-promo em {
  display: block;
  margin-top: 16px;
  color: #5e6b7c;
  font-size: 16px;
  line-height: 1.5;
  font-style: normal;
  white-space: nowrap;
}

.global-promo b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 38px;
  margin-top: 26px;
  padding: 0 22px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #0f78ff, #205ddf);
  font-size: 16px;
  font-weight: 700;
}

.global-promo img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 48%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.global-promo-course {
  background: linear-gradient(90deg, #f4f9ff 0%, #eef6ff 48%, #dcecff 100%);
}

.global-promo-community {
  border-color: #cde5ef;
  background: linear-gradient(90deg, #f3fbff 0%, #edf9ff 48%, #dff3fb 100%);
}

.global-promo-community strong {
  color: #0b6f86;
}

.global-promo-community b {
  background: linear-gradient(135deg, #0aa9ca, #0f6df5);
}

.global-promo-plan {
  background: linear-gradient(90deg, #f2f8ff 0%, #edf6ff 48%, #d9ebff 100%);
}

.global-footer-linkband {
  border-top: 1px solid var(--footer-line);
  border-bottom: 1px solid var(--footer-line);
}

.global-footer-linkband-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 34px;
  align-items: start;
  padding: 36px 0 38px;
}

.global-footer-columns {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 26px;
  padding: 0;
}

.global-footer-col h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #111827;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 800;
}

.global-footer-col h3 .icon-slot {
  width: 28px;
  height: 28px;
  color: var(--footer-blue);
  flex: 0 0 auto;
}

.global-footer-col div {
  display: grid;
  gap: 13px;
}

.global-footer-col a {
  display: block;
  color: #435064;
  font-size: 16px;
  line-height: 1.35;
  transition: color .18s ease, transform .18s ease;
}

.global-footer-col a:hover {
  color: var(--footer-blue);
  transform: translateX(2px);
}

.global-footer-service {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid #dbe8f6;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff, #fff);
  box-shadow: 0 12px 28px rgba(39, 101, 178, .06);
}

.global-footer-service section {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 52px;
  padding: 10px 0;
  border-top: 1px solid #e4edf8;
}

.global-footer-service section:first-child {
  border-top: 0;
  padding-top: 0;
}

.global-footer-service section > .icon-slot,
.global-footer-service section > div > .icon-slot {
  width: 28px;
  height: 28px;
  color: var(--footer-blue);
}

.global-footer-service strong {
  display: block;
  color: #172033;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
}

.global-footer-service em,
.global-footer-service p {
  display: block;
  margin: 4px 0 0;
  color: var(--footer-muted);
  font-size: 13px;
  line-height: 1.5;
  font-style: normal;
}

.global-footer-miniapp {
  grid-template-columns: minmax(0, 1fr) 82px !important;
  align-items: center !important;
}

.global-footer-miniapp > div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
}

.global-footer-miniapp > div .icon-slot {
  grid-row: 1 / 3;
}

.global-footer-miniapp img {
  width: 82px;
  height: 82px;
  border: 1px solid #dbe8f6;
  border-radius: 8px;
  background: #fff;
  object-fit: cover;
}

.global-footer-bottom {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr) 220px;
  gap: 28px;
  align-items: center;
  padding: 32px 0 26px;
}

.global-footer-brand {
  display: grid;
  grid-template-columns: 62px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 12px;
  width: max-content;
}

.global-footer-brand .icon-slot {
  grid-row: 1 / 3;
  width: 62px;
  height: 62px;
  color: #0f6df5;
}

.global-footer-brand strong {
  color: #0a61d7;
  font-size: 29px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

.global-footer-brand em {
  margin-top: 4px;
  color: #5c6b80;
  font-size: 13px;
  line-height: 1.2;
  font-style: normal;
  letter-spacing: 4px;
}

.global-footer-record {
  text-align: center;
}

.global-footer-record p {
  margin: 0 0 22px;
  color: #334155;
  font-size: 16px;
  line-height: 1.5;
}

.global-footer-record nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  margin-bottom: 16px;
}

.global-footer-record nav a {
  position: relative;
  padding: 0 18px;
  color: #425066;
  font-size: 15px;
  line-height: 1.3;
}

.global-footer-record nav a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 1px;
  height: 14px;
  background: #b9c4d2;
}

.global-footer-record small {
  display: block;
  color: #8893a5;
  font-size: 14px;
  line-height: 1.4;
}

.global-footer-social {
  justify-self: end;
}

.global-footer-social > span {
  display: block;
  margin-bottom: 14px;
  color: #334155;
  font-size: 16px;
  text-align: center;
}

.global-footer-social div {
  display: flex;
  gap: 12px;
}

.global-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid #cfdef1;
  border-radius: 50%;
  background: #f8fbff;
  color: var(--footer-blue);
  box-shadow: 0 6px 16px rgba(28, 112, 232, .08);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.global-footer-social a:hover {
  transform: translateY(-2px);
  border-color: #9fc4f7;
  background: #eef6ff;
}

.global-footer-social .icon-slot {
  width: 23px;
  height: 23px;
}

@media (max-width: 1180px) {
  .global-footer-promos,
  .global-footer-linkband-inner,
  .global-footer-bottom {
    width: min(1000px, calc(100vw - 48px));
  }

  .global-footer-promos {
    grid-template-columns: 1fr;
  }

  .global-promo {
    min-height: 170px;
  }

  .global-footer-linkband-inner {
    grid-template-columns: 1fr;
  }

  .global-footer-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .global-footer-bottom {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .global-footer-brand,
  .global-footer-social {
    justify-self: center;
  }
}

@media (max-width: 720px) {
  .global-footer-promos,
  .global-footer-linkband-inner,
  .global-footer-bottom {
    width: calc(100vw - 24px);
  }

  .global-footer-promos {
    gap: 14px;
    padding: 22px 0 26px;
  }

  .global-promo {
    min-height: 150px;
  }

  .global-promo-copy {
    max-width: 70%;
    padding: 24px 0 0 20px;
  }

  .global-promo strong {
    font-size: 26px;
  }

  .global-promo em {
    margin-top: 10px;
    font-size: 13px;
    white-space: normal;
  }

  .global-promo b {
    min-width: 96px;
    min-height: 34px;
    margin-top: 18px;
    font-size: 14px;
  }

  .global-promo img {
    width: 50%;
    opacity: .88;
  }

  .global-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 18px;
    padding: 0 4px;
  }

  .global-footer-linkband-inner {
    gap: 24px;
    padding: 28px 0;
  }

  .global-footer-col h3 {
    gap: 9px;
    margin-bottom: 15px;
    font-size: 17px;
  }

  .global-footer-col h3 .icon-slot {
    width: 23px;
    height: 23px;
  }

  .global-footer-col div {
    gap: 10px;
  }

  .global-footer-col a {
    font-size: 14px;
  }

  .global-footer-service {
    padding: 14px;
  }

  .global-footer-miniapp {
    grid-template-columns: minmax(0, 1fr) 72px !important;
  }

  .global-footer-miniapp img {
    width: 72px;
    height: 72px;
  }

  .global-footer-bottom {
    gap: 20px;
    padding: 25px 0 28px;
  }

  .global-footer-brand {
    grid-template-columns: 48px auto;
  }

  .global-footer-brand .icon-slot {
    width: 48px;
    height: 48px;
  }

  .global-footer-brand strong {
    font-size: 23px;
  }

  .global-footer-brand em {
    font-size: 11px;
    letter-spacing: 2px;
  }

  .global-footer-record p {
    margin-bottom: 14px;
    font-size: 14px;
  }

  .global-footer-record nav {
    gap: 10px 0;
  }

  .global-footer-record nav a {
    padding: 0 11px;
    font-size: 13px;
  }

  .global-footer-record small {
    font-size: 12px;
  }

  .global-footer-social div {
    gap: 9px;
  }

  .global-footer-social a {
    width: 40px;
    height: 40px;
  }
}

/* UI/UX audit refinements: stable touch targets and nested asset-safe controls */
.brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.nav-links a {
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.share-tools button,
.article-actions button,
.article-actions a {
  min-width: 44px !important;
  min-height: 44px !important;
}

.share-tools button {
  width: 44px !important;
  height: 44px !important;
}

.share-tools .icon-slot,
.collect-link .icon-slot {
  width: 18px !important;
  height: 18px !important;
}

.major-table td a {
  min-width: 86px !important;
  min-height: 36px !important;
  padding-inline: 14px !important;
}

.pager a,
.pager button,
.inner-card > .pager a,
.inner-card > .pager button {
  min-width: 44px !important;
  min-height: 44px !important;
}

.member-login-options label,
.member-login-options a,
.member-card-head a,
.member-bottom-bar a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}

.global-footer-social a {
  min-width: 44px;
  min-height: 44px;
}

@media (max-width: 720px) {
  .major-table td a {
    min-height: 44px !important;
  }

  .collect-link,
  .member-login-options label,
  .member-login-options a,
  .member-card-head a {
    min-height: 44px;
  }

  .global-footer-social a {
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 900px) and (min-width: 721px) {
  .inner-header .topbar,
  .topbar {
    flex-wrap: wrap;
    height: auto !important;
    min-height: 86px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .inner-header .nav-links,
  .nav-links {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 8px 0 0 !important;
    padding-bottom: 2px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 16px !important;
    overflow: visible;
  }

  .inner-header .nav-links a,
  .nav-links a {
    flex: 0 0 auto;
    min-height: 36px;
  }
}

/* Major detail page polish */
.page-major-detail .inner-main {
  width: min(1200px, calc(100vw - 48px));
  padding-top: 30px;
}

.page-major-detail .breadcrumb {
  margin-bottom: 18px;
  color: #64748b;
  font-size: 14px;
}

.page-major-detail .breadcrumb a {
  color: #0f6df5;
}

.page-major-detail .detail-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid #dbe8f8;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 109, 245, .08), rgba(255, 255, 255, .92) 42%),
    linear-gradient(90deg, #f8fbff, #fff);
  box-shadow: 0 18px 40px rgba(38, 103, 180, .08);
}

.page-major-detail .detail-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(15, 109, 245, .13), rgba(15, 109, 245, 0) 68%);
  pointer-events: none;
}

.page-major-detail .detail-title h1 {
  color: #0f172a;
  font-size: 34px;
  font-weight: 850;
}

.page-major-detail .detail-title p {
  color: #5f6f86;
  font-size: 15px;
  line-height: 1.7;
}

.page-major-detail .detail-stat {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(136px, 1fr));
  gap: 14px;
}

.page-major-detail .detail-stat span {
  min-width: 0;
  padding: 18px 16px;
  border: 1px solid #d9e8fb;
  border-radius: 8px;
  color: #64748b;
  background: rgba(255, 255, 255, .86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.page-major-detail .detail-stat strong {
  margin-bottom: 6px;
  color: #0f4fb8;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 850;
}

.page-major-detail .inner-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
}

.page-major-detail .inner-card,
.page-major-detail .side-card {
  border: 1px solid #dce8f5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 75, 145, .05);
}

.page-major-detail .inner-card {
  padding: 24px 26px;
}

.page-major-detail .inner-card + .inner-card {
  margin-top: 18px;
}

.page-major-detail .inner-card-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e8eef6;
}

.page-major-detail .inner-card-head h2 {
  margin: 0;
  color: #172033;
  font-size: 22px;
  font-weight: 800;
}

.page-major-detail .inner-card p,
.page-major-detail .content-list p {
  color: #536174;
  font-size: 15px;
  line-height: 1.8;
}

.page-major-detail .inner-card > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: 10px;
  padding: 0 18px;
  border: 1px solid #b7d5ff;
  border-radius: 4px;
  color: #0f6df5;
  background: #f7fbff;
  font-size: 14px;
  font-weight: 700;
}

.page-major-detail .content-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-major-detail .content-list li {
  padding: 16px;
  border: 1px solid #e2ebf6;
  border-radius: 6px;
  background: #f9fbfe;
}

.page-major-detail .content-list div {
  color: #1f2937;
  font-size: 16px;
  font-weight: 750;
}

.page-major-detail .rich-sidebar .side-card {
  padding: 22px;
}

.page-major-detail .rich-sidebar h3 {
  margin: 0 0 12px;
  color: #172033;
  font-size: 18px;
}

.page-major-detail .rich-sidebar .muted {
  margin: 0;
  color: #64748b;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .page-major-detail .inner-main {
    width: calc(100vw - 32px);
  }

  .page-major-detail .detail-hero {
    grid-template-columns: 1fr;
  }

  .page-major-detail .detail-stat {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-major-detail .inner-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .inner-header .topbar,
  .topbar {
    height: auto !important;
    min-height: 0 !important;
  }

  .inner-header .nav-links,
  .nav-links {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 6px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    overflow: visible !important;
  }

  .inner-header .nav-links a,
  .nav-links a {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
  }

  .page-major-detail .inner-main {
    width: calc(100vw - 24px);
    padding-top: 22px;
  }

  .page-major-detail .detail-hero {
    gap: 18px;
    padding: 22px 16px;
  }

  .page-major-detail .detail-title h1 {
    font-size: 28px;
  }

  .page-major-detail .detail-title p {
    font-size: 14px;
  }

  .page-major-detail .detail-stat {
    grid-template-columns: 1fr;
  }

  .page-major-detail .detail-stat span {
    padding: 15px 14px;
  }

  .page-major-detail .inner-card {
    padding: 20px 16px;
  }

  .page-major-detail .inner-card-head h2 {
    font-size: 20px;
  }

  .page-major-detail .inner-card > a {
    min-height: 44px;
  }

  .global-promo img {
    width: 48%;
    opacity: .38;
  }

  .global-promo-copy {
    max-width: 78%;
  }
}

/* Error pages */
.page-error {
  background: #f4f8fd;
}

.error-main {
  width: min(1200px, calc(100vw - 48px));
  padding: 42px 0 58px;
}

.error-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 42px;
  align-items: center;
  min-height: 420px;
  overflow: hidden;
  padding: 54px 58px;
  border: 1px solid #d8e7f7;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 109, 245, .1), rgba(255, 255, 255, .95) 42%),
    linear-gradient(90deg, #f8fbff, #fff);
  box-shadow: 0 22px 48px rgba(30, 92, 160, .08);
}

.error-hero::before {
  content: "";
  position: absolute;
  inset: auto -120px -180px auto;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(15, 109, 245, .16), rgba(15, 109, 245, 0) 66%);
  pointer-events: none;
}

.error-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid #cce0ff;
  border-radius: 999px;
  color: #0f63d8;
  background: #eef6ff;
  font-size: 13px;
  font-weight: 800;
}

.error-copy h1 {
  margin: 18px 0 14px;
  color: #0f172a;
  font-size: 42px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
}

.error-copy p {
  max-width: 620px;
  margin: 0;
  color: #536174;
  font-size: 17px;
  line-height: 1.8;
}

.error-search {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 118px;
  gap: 12px;
  align-items: center;
  max-width: 620px;
  min-height: 58px;
  margin-top: 28px;
  padding: 7px 7px 7px 18px;
  border: 1px solid #cfe0f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 75, 145, .06);
}

.error-search .icon-slot {
  width: 22px;
  height: 22px;
  color: #0f6df5;
}

.error-search input {
  min-width: 0;
  height: 44px;
  border: 0;
  outline: 0;
  color: #172033;
  background: transparent;
  font-size: 15px;
}

.error-search button,
.error-primary,
.error-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 4px;
  font-weight: 800;
  cursor: pointer;
}

.error-search button {
  border: 0;
  color: #fff;
  background: #0f6df5;
  font-size: 15px;
}

.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.error-actions a {
  min-width: 108px;
  padding: 0 18px;
  border: 1px solid #bdd7fb;
  color: #0f6df5;
  background: #fff;
  font-size: 15px;
}

.error-actions .error-primary {
  border-color: #0f6df5;
  color: #fff;
  background: #0f6df5;
  box-shadow: 0 10px 22px rgba(15, 109, 245, .2);
}

.error-status {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: 620px;
  margin-top: 28px;
  padding: 16px;
  border: 1px solid #d8e7f7;
  border-radius: 8px;
  background: #fff;
}

.error-status .icon-slot {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  color: #0f6df5;
  background: #eef6ff;
}

.error-status strong,
.error-status em {
  display: block;
}

.error-status strong {
  color: #172033;
  font-size: 16px;
}

.error-status em {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  font-style: normal;
  line-height: 1.6;
}

.error-visual {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 250px;
  place-items: center;
}

.error-visual strong {
  position: relative;
  z-index: 2;
  color: #0f5ed6;
  font-size: 112px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 16px 32px rgba(15, 109, 245, .13);
}

.error-visual span {
  position: absolute;
  width: 260px;
  height: 260px;
  border: 1px solid #cde0f7;
  border-radius: 40px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(235, 244, 255, .82)),
    repeating-linear-gradient(0deg, transparent 0 28px, rgba(15, 109, 245, .08) 28px 29px);
  box-shadow: 0 24px 60px rgba(20, 87, 160, .13);
  transform: rotate(-6deg);
}

.page-error-500 .error-visual strong {
  color: #0b72ad;
}

.page-error-500 .error-visual span {
  border-color: #d6e9f5;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(232, 248, 255, .86)),
    repeating-linear-gradient(90deg, transparent 0 30px, rgba(14, 165, 233, .08) 30px 31px);
}

.error-routes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.error-routes a {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 104px;
  padding: 18px;
  border: 1px solid #dbe8f6;
  border-radius: 8px;
  color: inherit;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 75, 145, .05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.error-routes a:hover {
  transform: translateY(-2px);
  border-color: #acd0ff;
  box-shadow: 0 16px 34px rgba(15, 75, 145, .08);
}

.error-routes .icon-slot {
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  color: #0f6df5;
  background: #eef6ff;
}

.error-routes strong {
  display: block;
  color: #172033;
  font-size: 17px;
  line-height: 1.25;
}

.error-routes em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  font-style: normal;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .error-main {
    width: calc(100vw - 32px);
  }

  .error-hero {
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    padding: 42px 34px;
  }

  .error-visual {
    min-height: 180px;
  }

  .error-routes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .error-main {
    width: calc(100vw - 24px);
    padding: 24px 0 34px;
  }

  .error-hero {
    padding: 28px 18px;
  }

  .error-copy h1 {
    font-size: 31px;
  }

  .error-copy p {
    font-size: 15px;
  }

  .error-search {
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 10px 12px;
  }

  .error-search button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .error-actions a {
    flex: 1 1 120px;
  }

  .error-visual {
    min-height: 138px;
  }

  .error-visual strong {
    font-size: 72px;
  }

  .error-visual span {
    width: 168px;
    height: 168px;
    border-radius: 28px;
  }

  .error-routes {
    grid-template-columns: 1fr;
  }
}

/* Unified secondary landing/service pages */
.landing-page {
  background: #f4f8fd;
}

.landing-page .landing-main {
  width: min(1200px, calc(100vw - 48px)) !important;
  padding: 30px 0 58px !important;
}

.landing-page .breadcrumb {
  margin: 0 0 18px !important;
  color: #64748b !important;
  font-size: 14px !important;
}

.landing-page .breadcrumb a {
  color: #0f6df5 !important;
}

.landing-page .landing-hero {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 34px !important;
  align-items: stretch !important;
  min-height: 340px !important;
  overflow: hidden !important;
  padding: 42px !important;
  border: 1px solid #d8e7f7 !important;
  border-radius: 8px !important;
  background:
    linear-gradient(135deg, rgba(15, 109, 245, .1), rgba(255, 255, 255, .96) 44%),
    linear-gradient(90deg, #f8fbff, #fff) !important;
  box-shadow: 0 18px 42px rgba(30, 92, 160, .08) !important;
}

.landing-page .landing-hero::before {
  content: "" !important;
  position: absolute !important;
  right: -110px !important;
  bottom: -160px !important;
  width: 360px !important;
  height: 360px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(15, 109, 245, .14), rgba(15, 109, 245, 0) 68%) !important;
  pointer-events: none !important;
}

.landing-page .landing-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 1px solid #cce0ff !important;
  border-radius: 999px !important;
  color: #0f63d8 !important;
  background: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.landing-page .landing-hero h1 {
  max-width: 760px !important;
  margin: 18px 0 14px !important;
  color: #0f172a !important;
  font-size: 38px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.landing-page .landing-hero p {
  max-width: 720px !important;
  margin: 0 !important;
  color: #536174 !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}

.landing-page .landing-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 26px !important;
}

.landing-page .landing-actions a,
.landing-page .landing-actions .member-primary-action,
.landing-page .landing-form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 118px !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 1px solid #bdd7fb !important;
  border-radius: 4px !important;
  color: #0f6df5 !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.landing-page .landing-actions .member-primary-action,
.landing-page .landing-form button {
  border-color: #0f6df5 !important;
  color: #fff !important;
  background: #0f6df5 !important;
  box-shadow: 0 10px 22px rgba(15, 109, 245, .2) !important;
}

.landing-page .landing-panel {
  position: relative !important;
  z-index: 1 !important;
  align-self: stretch !important;
  min-height: 0 !important;
  padding: 28px 28px 26px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
}

.landing-page .landing-panel-icon {
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  margin-bottom: 18px !important;
  border-radius: 8px !important;
  color: #0f6df5 !important;
  background: #eef6ff !important;
}

.landing-page .landing-panel strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: #172033 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

.landing-page .landing-panel ul {
  display: grid !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.landing-page .landing-panel li {
  position: relative !important;
  padding-left: 18px !important;
  color: #4d5d70 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.landing-page .landing-panel li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .72em !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #0f6df5 !important;
}

.landing-page .landing-form {
  display: grid !important;
  gap: 14px !important;
}

.landing-page .landing-form label {
  display: grid !important;
  gap: 8px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.landing-page .landing-form input {
  min-height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid #d5e3f2 !important;
  border-radius: 4px !important;
  color: #172033 !important;
  background: #fff !important;
  font-size: 14px !important;
}

.landing-page .landing-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 22px !important;
}

.landing-page .landing-grid a {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 5px 13px !important;
  align-items: center !important;
  min-height: 112px !important;
  padding: 18px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 8px !important;
  color: inherit !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15, 75, 145, .05) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.landing-page .landing-grid a:hover {
  transform: translateY(-2px) !important;
  border-color: #acd0ff !important;
  box-shadow: 0 16px 34px rgba(15, 75, 145, .08) !important;
}

.landing-page .landing-grid .icon-slot {
  grid-row: 1 / 3 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  color: #0f6df5 !important;
  background: #eef6ff !important;
}

.landing-page .landing-grid strong {
  color: #172033 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

.landing-page .landing-grid em {
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-style: normal !important;
}

.landing-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.landing-support div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 4px 13px;
  padding: 18px;
  border: 1px solid #dbe8f6;
  border-radius: 8px;
  background: #fff;
}

.landing-support .icon-slot {
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: #0f6df5;
  background: #eef6ff;
}

.landing-support strong {
  color: #172033;
  font-size: 16px;
  line-height: 1.35;
}

.landing-support p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .landing-page .landing-main {
    width: calc(100vw - 32px) !important;
  }

  .landing-page .landing-hero {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 36px 30px !important;
  }

  .landing-page .landing-grid,
  .landing-support {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .landing-page .landing-main {
    width: calc(100vw - 24px) !important;
    padding: 22px 0 34px !important;
  }

  .landing-page .landing-hero {
    padding: 26px 18px !important;
  }

  .landing-page .landing-hero h1 {
    font-size: 29px !important;
  }

  .landing-page .landing-hero p {
    font-size: 15px !important;
  }

  .landing-page .landing-actions a {
    flex: 1 1 130px !important;
  }

  .landing-page .landing-grid,
  .landing-support {
    grid-template-columns: 1fr !important;
  }

  .landing-page .landing-grid a,
  .landing-support div {
    min-height: 104px !important;
  }
}

/* Design debt cleanup: remove legacy purple/orange visual residue */
:root {
  --orange: #1269f3;
  --green: #1269f3;
}

.inner-header .nav-links a.active,
.inner-header .nav-links a:hover,
.nav-links a.active,
.nav-links a:hover,
.tabs .orange,
.tabs .active.orange,
a.active.orange {
  border-color: rgba(18, 105, 243, .24) !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
}

.quick-grid .qi.icon-slot,
.quick-grid > a:nth-child(n) .qi.icon-slot,
.quick-grid > button .qi.icon-slot,
.service-orange .icon-slot,
.service-green .icon-slot,
.service-purple .icon-slot,
.service-blue .icon-slot,
.tool-tile-icon,
.tool-tile-icon svg,
.tool-tile-icon path,
.category-nav-card .icon-slot,
.side-tool-grid .icon-slot,
.account-quick-grid .icon-slot,
.member-tool-grid .icon-slot,
.member-timeline .icon-slot,
.side-user-actions .icon-slot {
  border-color: #cfe0f3 !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
}

.quick-grid .qi.icon-slot::after,
.service-orange .icon-slot::after,
.service-green .icon-slot::after,
.service-purple .icon-slot::after,
.service-blue .icon-slot::after,
.tool-tile-icon::after,
.category-nav-card .icon-slot::after,
.side-tool-grid .icon-slot::after,
.account-quick-grid .icon-slot::after,
.member-tool-grid .icon-slot::after,
.member-timeline .icon-slot::after,
.side-user-actions .icon-slot::after {
  background: #1269f3 !important;
}

.service-orange::after,
.service-green::after,
.service-purple::after,
.service-blue::after {
  background: #1269f3 !important;
}

.download-card.tone-orange,
.download-card.tone-purple,
.download-card.tone-red,
.download-card.tone-green {
  border-color: #dbe8f6 !important;
  background: #fff !important;
}

.download-card.tone-orange .download-card-icon,
.download-card.tone-purple .download-card-icon,
.download-card.tone-red .download-card-icon,
.download-card.tone-green .download-card-icon,
.download-card-icon.icon-slot {
  border-color: #cfe0f3 !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
}

.download-card.tone-orange .download-card-icon::after,
.download-card.tone-purple .download-card-icon::after,
.download-card.tone-red .download-card-icon::after,
.download-card.tone-green .download-card-icon::after,
.download-card-icon.icon-slot::after {
  background: #1269f3 !important;
}

.member-star-list span,
.member-alert-list span,
.member-welcome-card em,
.member-login-message {
  border-color: #cfe0f3 !important;
  color: #1269f3 !important;
  background-color: #eef6ff !important;
}

.member-alert-list span {
  background: #1269f3 !important;
}

.global-site-footer .icon-slot,
.global-footer-social .icon-slot,
.global-footer-brand .icon-slot,
.landing-page .icon-slot,
.page-error .icon-slot {
  border-color: #cfe0f3 !important;
  color: #1269f3 !important;
}

.global-site-footer .icon-slot::after,
.global-footer-social .icon-slot::after,
.global-footer-brand .icon-slot::after,
.landing-page .icon-slot::after,
.page-error .icon-slot::after {
  background: #1269f3 !important;
}

.global-promo-community b {
  background: linear-gradient(135deg, #0f78ff, #205ddf) !important;
}

.global-promo-community strong {
  color: #0b5ccf !important;
}

.global-promo-community {
  border-color: #cfe0f3 !important;
  background: linear-gradient(90deg, #f4f9ff 0%, #eef6ff 48%, #dcecff 100%) !important;
}

.pager,
.inner-card > .pager {
  border-top-color: rgba(18, 105, 243, .08) !important;
}

/* Final pass: neutralize old multicolor accents across reused components */
:root {
  --purple: #1269f3;
  --member-orange: #1269f3;
  --member-red: #1269f3;
}

body .inner-header {
  border-bottom-color: #e4edf7 !important;
}

body .active.orange,
body .active.green,
body .tabs .orange,
body .tabs .green,
body .bottom-grid .active,
body .bottom-grid .active.orange,
body .bottom-grid .active.green {
  color: #1269f3 !important;
  border-color: #b8d6ff !important;
  background: #eef6ff !important;
}

body .icon-slot,
body .qi,
body .quick-grid .qi,
body .tool-tile-icon,
body .download-card-icon,
body .download-card > .download-card-icon,
body .category-nav-card .icon-slot,
body .side-tool-grid .icon-slot,
body .detail-quick-card .icon-slot,
body .account-quick-grid .icon-slot,
body .member-tool-grid .icon-slot,
body .member-timeline .icon-slot,
body .side-user-actions .icon-slot,
body .about-contact-strip .icon-slot,
body .member-stat-cards .icon-slot,
body .member-desk-grid .icon-slot {
  color: #1269f3 !important;
  border-color: #cfe0f3 !important;
}

body .quick-grid .qi,
body .tool-tile-icon,
body .download-card-icon,
body .download-card > .download-card-icon,
body .category-nav-card .icon-slot,
body .side-tool-grid .icon-slot,
body .detail-quick-card .icon-slot,
body .account-quick-grid .icon-slot,
body .member-tool-grid .icon-slot,
body .member-timeline .icon-slot,
body .side-user-actions .icon-slot,
body .about-contact-strip .icon-slot,
body .member-stat-cards .icon-slot,
body .member-desk-grid .icon-slot {
  background: #eef6ff !important;
  background-color: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body .icon-slot::before,
body .icon-slot::after,
body .qi::before,
body .qi::after,
body .tool-tile-icon::before,
body .tool-tile-icon::after,
body .download-card-icon::before,
body .download-card-icon::after {
  background-color: currentColor !important;
}

body .tool-tile-icon svg,
body .tool-tile-icon svg *,
body .download-card-icon svg,
body .download-card-icon svg *,
body .icon-slot svg,
body .icon-slot svg * {
  color: #1269f3 !important;
  stroke: #1269f3 !important;
}

body .download-card.tone-orange,
body .download-card.tone-purple,
body .download-card.tone-red,
body .download-card.tone-green,
body .download-card.tone-cyan,
body .download-card.tone-blue {
  --card-color: #1269f3 !important;
  --card-soft: #eef6ff !important;
  border-color: #dbe8f6 !important;
  background: #fff !important;
}

body .about-contact-strip article:nth-child(n) .icon-slot,
body .member-stat-cards a:nth-child(n) .icon-slot,
body .member-desk-grid a:nth-child(n) .icon-slot {
  color: #1269f3 !important;
  background: #eef6ff !important;
  background-color: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body .member-welcome-card h2 em,
body .member-login-message,
body .member-file-list b,
body .member-star-list span,
body .member-alert-list span {
  border-color: #cfe0f3 !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  background-color: #eef6ff !important;
}

body .member-alert-list span {
  width: 6px !important;
  height: 6px !important;
  color: #1269f3 !important;
  background: #1269f3 !important;
  background-color: #1269f3 !important;
}

body .hero-stat-cards div:nth-child(n) span,
body .hero-stat-cards div:nth-child(n) strong,
body .quick-grid a:nth-child(n) .qi,
body .quick-grid button:nth-child(n) .qi {
  color: #1269f3 !important;
}

body .global-promo-community,
body .global-promo:nth-child(n) {
  border-color: #cfe0f3 !important;
}

body .global-promo-community {
  background: linear-gradient(90deg, #f4f9ff 0%, #eef6ff 48%, #dcecff 100%) !important;
}

body .global-promo-community strong,
body .global-promo-community h2,
body .global-promo-community p {
  color: #0f376b !important;
}

body .global-promo-community b {
  background: linear-gradient(135deg, #1677ff, #075eea) !important;
}

/* Homepage high-specificity overrides for older nth-child accent rules */
body .site-hero .hero-stat-cards > div:nth-child(n) > span.icon-slot,
body .site-hero .hero-stat-cards > div:nth-child(n) > strong,
body .site-hero .quick-grid > a:nth-child(n) > .qi.icon-slot,
body .site-hero .quick-grid > button:nth-child(n) > .qi.icon-slot,
body .homepage-three-grid .school-mini-grid > a:nth-child(n) > .icon-slot {
  color: #1269f3 !important;
  border-color: #cfe0f3 !important;
  background: #eef6ff !important;
  background-color: #eef6ff !important;
}

body .site-hero .hero-stat-cards > div:nth-child(n) > span.icon-slot::before,
body .site-hero .hero-stat-cards > div:nth-child(n) > span.icon-slot::after,
body .site-hero .quick-grid > a:nth-child(n) > .qi.icon-slot::before,
body .site-hero .quick-grid > a:nth-child(n) > .qi.icon-slot::after,
body .site-hero .quick-grid > button:nth-child(n) > .qi.icon-slot::before,
body .site-hero .quick-grid > button:nth-child(n) > .qi.icon-slot::after,
body .homepage-three-grid .school-mini-grid > a:nth-child(n) > .icon-slot::before,
body .homepage-three-grid .school-mini-grid > a:nth-child(n) > .icon-slot::after {
  background-color: currentColor !important;
}

body .tool-tile-grid > a:nth-child(n) > .tool-tile-icon,
body .tool-tile-grid > a:nth-child(n) > .tool-tile-icon svg,
body .tool-tile-grid > a:nth-child(n) > .tool-tile-icon svg *,
body .tool-tile-grid > a:nth-child(n) > .tool-tile-icon path {
  color: #1269f3 !important;
  stroke: #1269f3 !important;
  border-color: #cfe0f3 !important;
  background-color: #eef6ff !important;
}

body input,
body textarea,
body select,
body .search-box,
body .search-box input,
body .hero-center input {
  border-color: #d9e6f6 !important;
}

/* Unified fixed header across home, list, detail, and landing pages */
:root {
  --global-header-height: 68px;
  --global-header-inner: min(1480px, calc(100vw - 60px));
}

html {
  scroll-padding-top: calc(var(--global-header-height) + 16px);
}

body {
  padding-top: var(--global-header-height) !important;
}

body .inner-header.global-header-shell,
body .site-hero.global-header-shell .global-header-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1200 !important;
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  border-bottom: 1px solid #e4edf7 !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 2px 14px rgba(17, 42, 80, .07) !important;
  backdrop-filter: saturate(160%) blur(12px) !important;
}

body .inner-header.global-header-shell .global-header-bar,
body .site-hero.global-header-shell .global-header-bar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  margin: 0 !important;
  padding: 0 calc((100% - var(--global-header-inner)) / 2) !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .global-header-bar .brand {
  flex: 0 0 auto !important;
  width: 207px !important;
  min-height: var(--global-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .global-header-bar .brand-logo {
  display: block !important;
  width: 207px !important;
  height: 30px !important;
  object-fit: contain !important;
}

body .global-header-bar .nav-links {
  order: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  margin: 0 24px !important;
  padding: 0 !important;
  gap: clamp(18px, 2vw, 34px) !important;
  overflow: visible !important;
  color: #111827 !important;
}

body .global-header-bar .nav-links a {
  position: relative !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: var(--global-header-height) !important;
  height: var(--global-header-height) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #111827 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .global-header-bar .nav-links a:hover,
body .global-header-bar .nav-links a.active {
  color: #1269f3 !important;
  background: transparent !important;
}

body .global-header-bar .nav-links a::before {
  display: none !important;
}

body .global-header-bar .nav-links a::after {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: none !important;
  height: 3px !important;
  border-radius: 3px 3px 0 0 !important;
  content: "" !important;
  background: #1269f3 !important;
}

body .global-header-bar .nav-links a.active::after {
  display: block !important;
}

body .global-header-bar .top-actions {
  order: 0 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  min-width: max-content !important;
  height: var(--global-header-height) !important;
  margin: 0 !important;
}

body .global-header-bar .mini-program-trigger,
body .global-header-bar .login-main {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .global-header-bar .mini-program-trigger {
  border: 1px solid #d9e6f6 !important;
  color: #1c2b40 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body .global-header-bar .mini-program-trigger::before {
  display: none !important;
}

body .global-header-bar .mini-program-trigger .icon-slot {
  width: 18px !important;
  height: 18px !important;
  margin: 0 6px 0 0 !important;
  color: #1269f3 !important;
  background-color: currentColor !important;
  box-shadow: none !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
}

body .global-header-bar .login-main {
  border: 1px solid #1269f3 !important;
  color: #fff !important;
  background: #1269f3 !important;
  box-shadow: 0 8px 18px rgba(18, 105, 243, .18) !important;
}

@media (max-width: 1180px) {
  :root {
    --global-header-height: 106px;
    --global-header-inner: calc(100vw - 40px);
  }

  body .inner-header.global-header-shell .global-header-bar,
  body .site-hero.global-header-shell .global-header-bar {
    flex-wrap: wrap !important;
    align-content: center !important;
    gap: 0 14px !important;
  }

  body .global-header-bar .brand {
    min-height: 54px !important;
  }

  body .global-header-bar .top-actions {
    height: 54px !important;
    margin-left: auto !important;
  }

  body .global-header-bar .nav-links {
    order: 3 !important;
    flex: 0 0 100% !important;
    justify-content: flex-start !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body .global-header-bar .nav-links::-webkit-scrollbar {
    display: none !important;
  }

  body .global-header-bar .nav-links a {
    height: 42px !important;
    min-height: 42px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 720px) {
  :root {
    --global-header-height: 110px;
    --global-header-inner: calc(100vw - 24px);
  }

  body .global-header-bar .brand {
    width: 174px !important;
  }

  body .global-header-bar .brand-logo {
    width: 174px !important;
    height: auto !important;
  }

  body .global-header-bar .top-actions {
    gap: 8px !important;
  }

  body .global-header-bar .mini-program-trigger,
  body .global-header-bar .login-main {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }

  body .global-header-bar .mini-program-trigger .icon-slot {
    width: 16px !important;
    height: 16px !important;
    margin-right: 4px !important;
  }

body .global-header-bar .nav-links {
    gap: 18px !important;
  }
}

/* Commercial member center */
.member-commercial-page {
  background:
    linear-gradient(180deg, #f5f9fe 0%, #ffffff 44%, #f6f9fc 100%) !important;
}

.member-commercial-main {
  width: min(1320px, calc(100vw - 72px)) !important;
  margin: 0 auto !important;
  padding: 34px 0 42px !important;
}

.member-auth-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(460px, 520px) !important;
  grid-template-areas:
    "hero login"
    "hero benefit" !important;
  gap: 20px !important;
  align-items: stretch !important;
  margin-bottom: 22px !important;
}

.member-auth-hero,
.member-login-card,
.member-benefit-card,
.member-workspace,
.member-profile-card,
.member-action-card,
.member-record-card,
.member-service-banner {
  border: 1px solid #dfeaf7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(21, 71, 130, .06) !important;
}

.member-auth-hero {
  grid-area: hero !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 520px !important;
  padding: 54px !important;
  background:
    radial-gradient(circle at 82% 24%, rgba(18, 105, 243, .16), transparent 30%),
    linear-gradient(135deg, rgba(18, 105, 243, .12), rgba(255, 255, 255, .95) 56%) !important;
}

.member-auth-hero::after {
  position: absolute !important;
  right: 58px !important;
  bottom: 50px !important;
  width: 172px !important;
  height: 172px !important;
  border-radius: 28px !important;
  content: "" !important;
  background:
    linear-gradient(#fff, #fff) 50% 58% / 34px 42px no-repeat,
    linear-gradient(135deg, #8bc2ff, #1269f3) !important;
  box-shadow: 0 22px 48px rgba(18, 105, 243, .20) !important;
  transform: rotate(-9deg) !important;
}

.member-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.member-auth-hero h1 {
  max-width: 640px !important;
  margin: 18px 0 14px !important;
  color: #101827 !important;
  font-size: 36px !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

.member-auth-hero p {
  max-width: 620px !important;
  margin: 0 !important;
  color: #526274 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.member-proof-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 34px !important;
}

.member-proof-row span {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 6px !important;
  color: #5e6d80 !important;
  background: rgba(255, 255, 255, .82) !important;
  font-size: 13px !important;
}

.member-proof-row strong {
  color: #1269f3 !important;
  font-size: 20px !important;
  font-weight: 850 !important;
}

.member-login-card {
  grid-area: login !important;
  padding: 32px !important;
}

.member-card-title h2,
.member-benefit-card h2,
.member-workspace-head h2 {
  margin: 0 !important;
  color: #101827 !important;
  font-weight: 850 !important;
}

.member-card-title h2 {
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.member-card-title p {
  margin: 8px 0 24px !important;
  color: #69778c !important;
  font-size: 15px !important;
}

.member-commercial-page .member-login-form {
  display: grid !important;
  gap: 16px !important;
}

.member-commercial-page .member-login-form .member-field {
  display: grid !important;
  gap: 8px !important;
}

.member-field-label {
  color: #253348 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.member-commercial-page .member-login-form .member-input-shell {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset !important;
}

.member-commercial-page .member-login-form .member-input-shell:focus-within {
  border-color: #8dbdff !important;
  box-shadow: 0 0 0 4px rgba(18, 105, 243, .10) !important;
}

.member-commercial-page .member-login-form .member-field em {
  color: #7b8794 !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}

.member-commercial-page .member-login-form input {
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  border: 0 !important;
  outline: 0 !important;
  color: #182233 !important;
  background: transparent !important;
  font-size: 15px !important;
}

.member-commercial-page .member-login-form .member-input-shell > .icon-slot {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  color: #1269f3 !important;
}

.member-commercial-page .member-code-input {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 112px !important;
  align-items: center !important;
  gap: 10px !important;
}

.member-commercial-page .member-code-input button {
  min-height: 38px !important;
  padding: 0 !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 6px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
}

.member-commercial-page .member-form-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: #5f6f84 !important;
  font-size: 13px !important;
  align-items: center !important;
}

.member-commercial-page .member-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  line-height: 1.4 !important;
}

.member-commercial-page .member-check input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  accent-color: #1269f3 !important;
}

.member-commercial-page .member-form-row a {
  color: #1269f3 !important;
}

.member-commercial-page .member-primary-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  border: 1px solid #1269f3 !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #1677ff, #075eea) !important;
  box-shadow: 0 10px 22px rgba(18, 105, 243, .18) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.member-login-message {
  min-height: 22px !important;
  margin: 0 !important;
  color: #526274 !important;
  font-size: 13px !important;
}

.member-login-message.is-success {
  color: #1269f3 !important;
}

.member-login-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.member-login-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 8px !important;
  color: #26364d !important;
  background: #f8fbff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.member-login-links .icon-slot {
  width: 16px !important;
  height: 16px !important;
  margin-right: 6px !important;
}

.member-legal {
  margin: 16px 0 0 !important;
  color: #8995a7 !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.member-login-trust {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 12px !important;
  border-radius: 8px !important;
  background: #f7fbff !important;
}

.member-login-trust span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: #526274 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.member-login-trust b {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #1269f3 !important;
  box-shadow: 0 0 0 4px rgba(18, 105, 243, .10) !important;
}

.member-benefit-card {
  grid-area: benefit !important;
  padding: 26px 32px !important;
}

.member-benefit-card h2 {
  font-size: 20px !important;
}

.member-benefit-card ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 18px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.member-benefit-card li {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px 12px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
}

.member-benefit-card li:last-child {
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.member-benefit-card .icon-slot {
  grid-row: 1 / 3 !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 10px !important;
  border-radius: 8px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.member-benefit-card strong {
  color: #1b2433 !important;
  font-size: 15px !important;
}

.member-benefit-card em {
  color: #69778c !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.5 !important;
}

.member-workspace {
  padding: 22px !important;
}

.member-page.is-member-authenticated .member-auth-panel {
  display: none !important;
}

.member-workspace-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.member-workspace-head h2 {
  margin-top: 10px !important;
  font-size: 24px !important;
}

.member-workspace-head p {
  margin: 8px 0 0 !important;
  color: #69778c !important;
  line-height: 1.65 !important;
}

.member-logout {
  min-width: 94px !important;
  min-height: 38px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 6px !important;
  color: #526274 !important;
  background: #fff !important;
  font-weight: 700 !important;
}

.member-workspace-layout {
  display: grid !important;
  grid-template-columns: 360px minmax(0, 1fr) !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

.member-profile-card,
.member-action-card,
.member-record-card {
  padding: 18px !important;
}

.member-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.member-card-head h2 {
  margin: 0 !important;
  color: #101827 !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

.member-card-head a,
.member-card-head button {
  color: #1269f3 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.member-profile-form {
  display: grid !important;
  gap: 12px !important;
}

.member-profile-form label {
  display: grid !important;
  gap: 7px !important;
}

.member-profile-form span {
  color: #69778c !important;
  font-size: 13px !important;
}

.member-profile-form input,
.member-profile-form select {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 11px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 6px !important;
  color: #182233 !important;
  background: #fff !important;
  font-size: 14px !important;
}

.member-profile-tips {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
  margin-top: 14px !important;
  padding: 12px !important;
  border-radius: 6px !important;
  color: #526274 !important;
  background: #f4f9ff !important;
}

.member-profile-tips .icon-slot {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
}

.member-profile-tips p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.member-commercial-page .member-stat-cards,
.member-commercial-page .member-desk-grid,
.member-record-grid {
  display: grid !important;
  gap: 14px !important;
}

.member-commercial-page .member-stat-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.member-commercial-page .member-stat-cards a {
  min-height: 116px !important;
  padding: 18px !important;
  border: 1px solid #dfeaf7 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.member-commercial-page .member-desk-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.member-commercial-page .member-desk-grid a {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 4px 12px !important;
  min-height: 112px !important;
  padding: 16px !important;
  border: 1px solid #dfeaf7 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.member-commercial-page .member-desk-grid .icon-slot {
  grid-row: 1 / 4 !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

.member-commercial-page .member-desk-grid strong {
  color: #1b2433 !important;
  font-size: 15px !important;
}

.member-commercial-page .member-desk-grid p {
  margin: 0 !important;
  color: #69778c !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.member-commercial-page .member-desk-grid b {
  color: #1269f3 !important;
  font-size: 13px !important;
}

.member-record-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 16px !important;
}

.member-record-list {
  display: grid !important;
  gap: 10px !important;
}

.member-record-item,
.member-empty {
  display: block !important;
  min-height: 54px !important;
  padding: 10px 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
}

.member-record-item strong {
  display: block !important;
  overflow: hidden !important;
  color: #26364d !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

.member-record-item span,
.member-empty {
  color: #7b8794 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

.member-service-banner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-top: 16px !important;
  padding: 18px 20px !important;
  background: linear-gradient(90deg, #f4f9ff, #fff) !important;
}

.member-service-banner div {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 4px 12px !important;
  align-items: center !important;
}

.member-service-banner .icon-slot {
  grid-row: 1 / 3 !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 11px !important;
  border-radius: 50% !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.member-service-banner strong {
  color: #172033 !important;
  font-size: 16px !important;
}

.member-service-banner p {
  margin: 0 !important;
  color: #69778c !important;
  font-size: 13px !important;
}

.member-service-banner a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 128px !important;
  min-height: 40px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #1269f3 !important;
  font-weight: 750 !important;
}

@media (max-width: 1180px) {
  .member-commercial-main {
    width: min(960px, calc(100vw - 48px)) !important;
  }

  .member-auth-panel {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
    grid-template-areas:
      "hero hero"
      "login benefit" !important;
  }

  .member-auth-hero {
    grid-column: 1 / -1 !important;
    min-height: 320px !important;
  }

  .member-workspace-layout,
  .member-record-grid {
    grid-template-columns: 1fr !important;
  }

  .member-commercial-page .member-desk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .member-commercial-main {
    width: calc(100vw - 24px) !important;
    padding-top: 20px !important;
  }

  .member-auth-panel,
  .member-commercial-page .member-stat-cards,
  .member-commercial-page .member-desk-grid {
    grid-template-columns: 1fr !important;
  }

  .member-auth-panel {
    grid-template-areas:
      "hero"
      "login"
      "benefit" !important;
  }

  .member-auth-hero,
  .member-login-card,
  .member-benefit-card,
  .member-workspace {
    padding: 18px !important;
  }

  .member-auth-hero {
    min-height: 0 !important;
  }

  .member-auth-hero::after {
    display: none !important;
  }

  .member-auth-hero h1 {
    font-size: 28px !important;
  }

  .member-login-links,
  .member-login-trust,
  .member-service-banner,
  .member-workspace-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .member-commercial-page .member-code-input {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  .member-commercial-page .member-code-input button {
    grid-column: 2 !important;
    width: 100% !important;
    margin-bottom: 12px !important;
  }

  .member-benefit-card ul {
    grid-template-columns: 1fr !important;
  }

  .member-service-banner a {
    width: 100% !important;
  }
}

/* Global typography system: one family, one scale, predictable hierarchy */
:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", Arial, sans-serif;
  --font-number: "DIN Alternate", "Roboto Mono", "SFMono-Regular", Consolas, var(--font-sans);
  --type-xs: 12px;
  --type-sm: 13px;
  --type-base: 14px;
  --type-md: 15px;
  --type-lg: 16px;
  --type-xl: 18px;
  --type-h3: 20px;
  --type-h2: 24px;
  --type-h1: 32px;
  --type-display: 36px;
  --leading-tight: 1.28;
  --leading-title: 1.36;
  --leading-body: 1.72;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-heavy: 800;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-sans) !important;
  font-size-adjust: none !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

body {
  color: #172033 !important;
  font-size: var(--type-base) !important;
  line-height: var(--leading-body) !important;
  letter-spacing: 0 !important;
}

body *,
body *::before,
body *::after {
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

body :is(p, li, dt, dd, td, th, label, input, select, textarea, button, a, span, em, small, time) {
  font-family: var(--font-sans) !important;
}

body :is(p, li, dd, td, textarea) {
  font-size: var(--type-base) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-regular) !important;
}

body :is(input, select, textarea, button) {
  font-size: var(--type-base) !important;
  line-height: 1.35 !important;
}

body :is(h1, h2, h3, h4, h5, h6, strong, b) {
  font-family: var(--font-sans) !important;
  color: #101827 !important;
  letter-spacing: 0 !important;
}

body :is(h1) {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body :is(h2) {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-heavy) !important;
}

body :is(h3) {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body :is(h4, h5, h6) {
  font-size: var(--type-lg) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body :is(strong, b) {
  font-weight: var(--weight-bold) !important;
}

body :is(small, time, figcaption, .muted, .breadcrumb, .article-meta) {
  font-size: var(--type-sm) !important;
  line-height: 1.6 !important;
}

body .global-header-bar .nav-links a,
body .global-header-bar .mini-program-trigger,
body .global-header-bar .login-main,
body .tabs a,
body .filter-tabs a,
body .pager a,
body .pager button,
body .side-links a,
body .side-tool-grid a,
body .quick-grid a,
body .quick-grid button,
body .member-desk-grid a,
body .landing-grid a {
  font-size: var(--type-base) !important;
  line-height: 1.35 !important;
  font-weight: var(--weight-semibold) !important;
}

body .site-hero .hero-center h1,
body .landing-hero h1,
body .download-hero h1,
body .library-hero h1,
body .member-auth-hero h1,
body .error-hero h1 {
  font-size: var(--type-display) !important;
  line-height: 1.18 !important;
  font-weight: var(--weight-heavy) !important;
}

body .page-column-list .inner-card-head h1,
body .page-article-detail article h1,
body .page-info-detail .detail-title h1,
body .page-school-library .library-hero h1,
body .page-major-library .library-hero h1,
body .page-about-us .about-main h1,
body .member-workspace-head h2 {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body .section-head h2,
body .inner-card-head h2,
body .side-card h3,
body .member-card-head h2,
body .member-benefit-card h2,
body .global-footer-col h3,
body .landing-panel strong,
body .download-card strong,
body .major-table th,
body .school-card h2,
body .content-list a {
  font-size: var(--type-lg) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body .content-list p,
body .article-body p,
body .detail-content p,
body .landing-hero p,
body .download-card p,
body .member-auth-hero p,
body .member-service-banner p,
body .global-footer-record p {
  font-size: var(--type-base) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-regular) !important;
}

body .hero-stat-cards strong,
body .summary-stat strong,
body .detail-stat strong,
body .member-stat-cards strong,
body .error-code,
body .global-promo strong {
  font-family: var(--font-number) !important;
  font-weight: var(--weight-heavy) !important;
  letter-spacing: 0 !important;
}

body .hero-stat-cards strong,
body .summary-stat strong,
body .member-stat-cards strong {
  font-size: var(--type-h2) !important;
  line-height: 1.1 !important;
}

body .detail-stat strong {
  font-size: var(--type-h3) !important;
  line-height: 1.2 !important;
}

body .list-label,
body .tag,
body .download-card em,
body .school-tags span,
body .member-kicker,
body .landing-kicker,
body .member-record-item span,
body .member-empty,
body .global-footer-record small {
  font-size: var(--type-xs) !important;
  line-height: 1.5 !important;
  font-weight: var(--weight-medium) !important;
}

@media (max-width: 720px) {
  :root {
    --type-base: 14px;
    --type-md: 15px;
    --type-lg: 16px;
    --type-xl: 18px;
    --type-h3: 19px;
    --type-h2: 22px;
    --type-h1: 28px;
    --type-display: 30px;
  }

  body :is(input, select, textarea) {
    font-size: 16px !important;
  }

body .global-header-bar .nav-links a {
    font-size: var(--type-sm) !important;
  }
}

/* Typography scale cleanup: remove historical odd sizes */
body .home-assistant h2,
body .assistant-card h2,
body .side-card h3,
body .rich-sidebar h3,
body .error-routes strong,
body .about-service-nav strong {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body .global-promo strong,
body .global-promo h2 {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body .global-footer-brand strong {
  font-size: 28px !important;
  line-height: 1.12 !important;
  font-weight: var(--weight-heavy) !important;
}

body .download-hero p,
body .library-hero p,
body .page-major-library .library-hero p,
body .page-school-library .library-hero p {
  font-size: var(--type-base) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-regular) !important;
}

body .page-article-detail article h1,
body .page-article-detail .article-main h1,
body .article-header h1,
body .article-content h1 {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body .download-recommend strong,
body .side-download-card strong,
body .error-route-card strong,
body .about-quick-card strong,
body .landing-support strong {
  font-size: var(--type-lg) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body .page-school-library .library-hero h1,
body .page-major-library .library-hero h1,
body .page-about-us .about-main h1,
body .page-about-us h1,
body .member-commercial-page .member-auth-hero h1,
body .member-commercial-page h1 {
  font-size: var(--type-display) !important;
  line-height: 1.18 !important;
  font-weight: var(--weight-heavy) !important;
}

body .page-major-library .library-search button,
body .page-school-library .library-search button,
body .library-search button {
  font-size: var(--type-lg) !important;
  line-height: 1.35 !important;
  font-weight: var(--weight-bold) !important;
}

/* Body-scoped page typography overrides for generated pages */
body.page-article-detail article h1,
body.page-article-detail .article-main h1,
body.page-article-detail .article-header h1,
body.page-article-detail .article-content h1 {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-school-library .library-hero h1,
body.page-major-library .library-hero h1,
body.page-about-us .about-main h1,
body.page-about-us h1 {
  font-size: var(--type-display) !important;
  line-height: 1.18 !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-column-list .side-card h3,
body.page-info-detail .side-card h3,
body.page-article-detail .side-card h3,
body.page-school-library .side-card h3,
body.page-major-library .side-card h3 {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body.page-article-detail .side-download-card strong,
body.page-article-detail .detail-download-card strong,
body.page-article-detail .resource-banner strong {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body .home-assistant-card h2,
body .home-assistant-panel h2,
body .home-assistant h2,
body .assistant-card h2 {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body.page-about-us .about-service-nav strong,
body.page-error .error-routes strong,
body.page-error .error-route-card strong {
  font-size: var(--type-lg) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body .global-footer-brand em {
  font-size: var(--type-xs) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

body .content-grid .home-side-head h2 {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body.page-article-detail .article-detail-main h1 {
  font-size: var(--type-h1) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-article-detail .detail-material-banner strong {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-major-library .major-hero h1,
body.page-school-library .school-hero h1,
body.page-school-library .school-library-hero h1,
body.landing-page .landing-hero h1 {
  font-size: var(--type-display) !important;
  line-height: 1.18 !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-major-library .major-search button,
body.page-school-library .school-search button,
body.landing-page .landing-grid strong {
  font-size: var(--type-lg) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

/* Final typography normalization for legacy generated widgets */
body .brand {
  font-size: var(--type-base) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body .brand img,
body .brand-logo {
  font-size: inherit !important;
  line-height: 1 !important;
}

body :is(.inner-stats, .list-stats, .column-stats, .stats-strip, .notice-stats, .info-stats) strong,
body.page-column-list .inner-stat strong,
body.page-column-list .stat-card strong,
body.page-column-list .stat-item strong,
body.page-column-list .meta-card strong {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-school-library .school-card h3,
body.page-school-library .school-list h3,
body.page-school-library .school-item h3 {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-member .login-card h2,
body.page-member .member-login-card h2,
body.page-member .member-login h2,
body .member-login-card h2 {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-bold) !important;
}

body .category-summary .summary-stat strong {
  font-size: var(--type-h2) !important;
  line-height: var(--leading-tight) !important;
  font-weight: var(--weight-heavy) !important;
}

body.page-school-library .school-result .result-item h3 {
  font-size: var(--type-h3) !important;
  line-height: var(--leading-title) !important;
  font-weight: var(--weight-heavy) !important;
}

/* Member subpages: complete account workflows */
.member-subpage {
  background: linear-gradient(180deg, #f5f9fe 0%, #ffffff 42%, #f6f9fc 100%) !important;
}

.member-sub-main {
  display: grid !important;
  grid-template-columns: 248px minmax(0, 1fr) !important;
  gap: 22px !important;
  width: min(1320px, calc(100vw - 72px)) !important;
  margin: 0 auto !important;
  padding: 30px 0 44px !important;
}

.member-sub-sidebar,
.member-sub-card,
.member-sub-hero,
.member-sub-metric {
  border: 1px solid #dfeaf7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(21, 71, 130, .06) !important;
}

.member-sub-sidebar {
  position: sticky !important;
  top: 92px !important;
  align-self: start !important;
  padding: 16px !important;
}

.member-sub-brand {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 2px 10px !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 10px !important;
  border-radius: 8px !important;
  color: #172033 !important;
  background: #f4f9ff !important;
  text-decoration: none !important;
}

.member-sub-brand .icon-slot {
  grid-row: 1 / 3 !important;
  width: 38px !important;
  height: 38px !important;
  color: #1269f3 !important;
}

.member-sub-brand strong {
  font-size: 16px !important;
  font-weight: 850 !important;
}

.member-sub-brand em {
  color: #69778c !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.member-sub-sidebar nav {
  display: grid !important;
  gap: 6px !important;
  margin-top: 14px !important;
}

.member-sub-sidebar nav a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 7px !important;
  color: #425066 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.member-sub-sidebar nav a.active,
.member-sub-sidebar nav a:hover {
  color: #1269f3 !important;
  background: #eef6ff !important;
}

.member-sub-sidebar nav .icon-slot {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
}

.member-sub-logout {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin-top: 14px !important;
  padding: 0 12px !important;
  border: 1px solid #ffd8d8 !important;
  border-radius: 7px !important;
  color: #c43535 !important;
  background: #fff7f7 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.member-sub-logout .icon-slot {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
}

.member-sub-logout:hover {
  border-color: #ffb8b8 !important;
  background: #fff0f0 !important;
}

.member-sub-logout:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

.member-sub-content {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}

.member-sub-hero {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  min-height: 176px !important;
  padding: 28px 30px !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(18, 105, 243, .14), transparent 30%),
    linear-gradient(135deg, rgba(18, 105, 243, .10), rgba(255, 255, 255, .96) 58%) !important;
}

.member-sub-hero h1 {
  margin: 14px 0 10px !important;
  color: #101827 !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

.member-sub-hero p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #526274 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.member-sub-primary,
.member-sub-card-head button,
.member-sub-card-head a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border: 1px solid #1269f3 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #1269f3 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.member-sub-card-head a {
  color: #1269f3 !important;
  background: #eef6ff !important;
}

.member-sub-card {
  padding: 20px !important;
}

.member-sub-card h2,
.member-sub-card-head h2 {
  margin: 0 !important;
  color: #101827 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.member-sub-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

.member-sub-grid {
  display: grid !important;
  gap: 18px !important;
}

.member-sub-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.member-sub-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.member-sub-metric {
  min-height: 108px !important;
  padding: 22px !important;
}

.member-sub-metric strong {
  display: block !important;
  color: #1269f3 !important;
  font-family: var(--font-number) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

.member-sub-metric span {
  display: block !important;
  margin-top: 10px !important;
  color: #526274 !important;
  font-size: 14px !important;
}

.member-form-panel,
.member-compact-form {
  display: grid !important;
  gap: 0 !important;
}

.member-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.member-compact-form {
  gap: 12px !important;
}

.member-form-grid label,
.member-compact-form label {
  display: grid !important;
  gap: 7px !important;
}

.member-form-grid label span,
.member-compact-form label span {
  color: #69778c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.member-form-grid input,
.member-form-grid select,
.member-compact-form input,
.member-compact-form select {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 6px !important;
  color: #182233 !important;
  background: #fff !important;
  font-size: 14px !important;
}

.member-form-grid input:disabled {
  color: #7b8794 !important;
  background: #f4f7fb !important;
}

.member-profile-summary {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
}

.member-profile-summary div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
}

.member-profile-summary dt {
  color: #69778c !important;
  font-size: 13px !important;
}

.member-profile-summary dd {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-align: right !important;
}

.member-check-list {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.member-check-list li {
  position: relative !important;
  padding-left: 22px !important;
  color: #526274 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.member-check-list li::before {
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #1269f3 !important;
  content: "" !important;
}

.member-progress {
  display: grid !important;
  place-items: center !important;
  position: relative !important;
  flex: 0 0 128px !important;
  width: 128px !important;
  height: 128px !important;
  border-radius: 50% !important;
  background: conic-gradient(#1269f3 var(--profile-progress, 0%), #e5eef8 0) !important;
}

.member-progress::before {
  position: absolute !important;
  inset: 12px !important;
  border-radius: 50% !important;
  background: #fff !important;
  content: "" !important;
}

.member-progress strong,
.member-progress span {
  position: relative !important;
  z-index: 1 !important;
}

.member-progress strong {
  color: #1269f3 !important;
  font-family: var(--font-number) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

.member-progress span {
  margin-top: 5px !important;
  color: #69778c !important;
  font-size: 12px !important;
}

.member-table {
  display: grid !important;
  gap: 10px !important;
}

.member-table-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 150px 72px !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 12px 14px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 7px !important;
  background: #f8fbff !important;
}

.member-table-row a {
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.member-table-row strong {
  display: block !important;
  overflow: hidden !important;
  color: #172033 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.member-table-row span,
.member-table-row em {
  display: block !important;
  overflow: hidden !important;
  color: #69778c !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.member-table-row button {
  min-height: 34px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 6px !important;
  color: #526274 !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.member-sub-empty {
  min-height: 118px !important;
  display: grid !important;
  place-items: center !important;
  padding: 22px !important;
  border: 1px dashed #cddbeb !important;
  border-radius: 8px !important;
  color: #69778c !important;
  background: #f8fbff !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.member-quick-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.member-quick-row a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  border: 1px solid #d9e6f6 !important;
  border-radius: 6px !important;
  color: #1269f3 !important;
  background: #f8fbff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.member-setting-switches {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.member-setting-switches label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
  color: #26364d !important;
  font-size: 14px !important;
}

.member-sub-copy {
  margin: 16px 0 0 !important;
  color: #526274 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

@media (max-width: 1180px) {
  .member-sub-main {
    grid-template-columns: 1fr !important;
    width: min(960px, calc(100vw - 48px)) !important;
  }

  .member-sub-sidebar {
    position: static !important;
  }

  .member-sub-sidebar nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .member-sub-main {
    width: calc(100vw - 24px) !important;
    padding-top: 20px !important;
  }

  .member-sub-sidebar,
  .member-sub-card,
  .member-sub-hero {
    padding: 16px !important;
  }

  .member-sub-sidebar nav,
  .member-sub-grid.two,
  .member-sub-grid.three,
  .member-form-grid,
  .member-quick-row {
    grid-template-columns: 1fr !important;
  }

  .member-sub-hero {
    display: grid !important;
    min-height: 0 !important;
  }

  .member-sub-hero h1 {
    font-size: 28px !important;
  }

  .member-sub-primary {
    width: 100% !important;
  }

  .member-progress {
    width: 108px !important;
    height: 108px !important;
  }

  .member-table-row {
    grid-template-columns: 1fr !important;
  }

  .member-table-row button {
    min-height: 44px !important;
  }
}

.member-auth-gate {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, #eef6ff, #fff) !important;
  box-shadow: 0 10px 26px rgba(18, 105, 243, .08) !important;
}

.member-auth-gate div {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 3px 12px !important;
  align-items: center !important;
}

.member-auth-gate .icon-slot {
  grid-row: 1 / 3 !important;
  width: 36px !important;
  height: 36px !important;
  color: #1269f3 !important;
}

.member-auth-gate strong {
  color: #172033 !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

.member-auth-gate p {
  margin: 0 !important;
  color: #526274 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.member-auth-gate a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #1269f3 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.member-sub-locked .member-form-panel,
.member-sub-locked .member-compact-form,
.member-sub-locked [data-member-table] {
  opacity: .72 !important;
}

.member-danger-zone {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border-color: #d6e4f5 !important;
  background: linear-gradient(90deg, #f8fbff, #fff) !important;
}

.member-danger-zone h2 {
  margin: 0 !important;
}

.member-danger-zone p {
  margin: 8px 0 0 !important;
  color: #526274 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.member-danger-zone button {
  min-height: 40px !important;
  padding: 0 16px !important;
  border: 1px solid #b7cff0 !important;
  border-radius: 6px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .member-auth-gate,
  .member-danger-zone {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .member-auth-gate a,
  .member-danger-zone button {
    width: 100% !important;
  }
}

/* Whole-site UI audit refinements */
body .about-contact-strip article:nth-child(2) .icon-slot {
  color: #1269f3 !important;
  background-color: #1269f3 !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body .about-contact-strip article:nth-child(3) .icon-slot {
  color: #0c8fd8 !important;
  background-color: #0c8fd8 !important;
  box-shadow: inset 0 0 0 999px #eef8ff !important;
}

body .about-contact-strip article:nth-child(4) .icon-slot {
  color: #1f7ae8 !important;
  background-color: #1f7ae8 !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body .breadcrumb a,
body .global-footer-col a,
body .global-footer-bottom a,
body .about-footer a,
body .about-help-grid a {
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
}

body .global-footer-col a,
body .about-footer nav a,
body .about-help-grid a {
  width: fit-content !important;
}

body .global-header-bar .nav-links a {
  min-width: 34px !important;
}

@media (max-width: 720px) {
  body .global-header-bar {
    min-height: 112px !important;
    height: auto !important;
    align-content: flex-start !important;
    row-gap: 8px !important;
    overflow: visible !important;
  }

  body .global-header-bar .brand-logo {
    width: 160px !important;
  }

  body .global-header-bar .nav-links {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body .global-header-bar .nav-links a {
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 2px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  body .global-header-bar .nav-links a:nth-child(n + 6) {
    display: none !important;
  }

  body .breadcrumb {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 8px !important;
  }

  body .breadcrumb a {
    min-height: 34px !important;
  }

  body .about-quick-band .wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100vw - 24px) !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
    overflow: visible !important;
  }

  body .about-quick-band strong {
    grid-column: 1 / -1 !important;
    min-height: 28px !important;
  }

  body .about-quick-band a {
    justify-content: center !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 10px !important;
  }

  body .global-footer-col a,
  body .global-footer-bottom a,
  body .about-footer a,
  body .about-help-grid a {
    min-height: 34px !important;
  }

  body .section-head {
    align-items: flex-start !important;
    gap: 12px !important;
  }

  body .section-head .tabs,
  body .tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body .section-head .tabs a,
  body .tabs a {
    min-height: 34px !important;
    padding: 0 10px !important;
  }

  body.page-school-library .filter-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.page-school-library .filter-row > div,
  body.page-school-library .filter-row div {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.page-school-library .filter-row a {
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    text-align: center !important;
  }

  body.page-major-library .major-hero-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.page-major-library .major-hero-tabs a {
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 8px !important;
  }

  body.page-major-library .major-filter-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  body.page-major-library .major-filter-row > div,
  body.page-major-library .major-select-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.page-major-library .major-filter-row a,
  body.page-major-library .major-select-row button {
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.page-major-library .major-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.page-major-library .major-table,
  body.page-major-library .major-table tbody,
  body.page-major-library .major-table tr,
  body.page-major-library .major-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-major-library .major-table thead {
    display: none !important;
  }

  body.page-major-library .major-table tr {
    margin-bottom: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--landing-line) !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(31, 74, 122, .05) !important;
  }

  body.page-major-library .major-table td {
    display: grid !important;
    grid-template-columns: 94px minmax(0, 1fr) !important;
    align-items: center !important;
    height: auto !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    border-right: 0 !important;
    text-align: left !important;
  }

  body.page-major-library .major-table td::before {
    color: #6b7890 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  body.page-major-library .major-table td:nth-child(1)::before { content: "专业名称"; }
  body.page-major-library .major-table td:nth-child(2)::before { content: "专业代码"; }
  body.page-major-library .major-table td:nth-child(3)::before { content: "学位类型"; }
  body.page-major-library .major-table td:nth-child(4)::before { content: "所属门类"; }
  body.page-major-library .major-table td:nth-child(5)::before { content: "开设院校"; }
  body.page-major-library .major-table td:nth-child(6)::before { content: "操作"; }

  body.page-major-library .major-table td a {
    width: 100% !important;
    min-height: 38px !important;
  }
}

@media (max-width: 980px) {
  body .main > .content-grid .section-head,
  body .section-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body .main > .content-grid .section-head .tabs,
  body .section-head .tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body .main > .content-grid .section-head .tabs a,
  body .section-head .tabs a {
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0 8px !important;
    text-align: center !important;
  }
}

@media (max-width: 420px) {
  body .main > .content-grid .section-head .tabs,
  body .section-head .tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  body .global-header-bar {
    padding-inline: 12px !important;
  }

  body .global-header-bar .brand-logo {
    width: 148px !important;
  }

  body .global-header-bar .top-actions {
    gap: 6px !important;
  }

  body .global-header-bar .login-main {
    min-width: auto !important;
    padding-inline: 10px !important;
    font-size: 12px !important;
  }

  body .global-header-bar .mini-program-trigger {
    min-width: 36px !important;
    width: 36px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  body .global-header-bar .mini-program-trigger .icon-slot {
    margin: 0 !important;
  }
}

/* Column sidebar quick entry polish */
body.page-column-list .side-tool-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 16px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, #f8fbff 0%, #fff 46%),
    #fff !important;
  box-shadow: 0 10px 24px rgba(33, 72, 118, .06) !important;
}

body.page-column-list .side-tool-card::before {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  content: "" !important;
  background: linear-gradient(90deg, #1269f3, #37a2ff) !important;
}

body.page-column-list .side-tool-card h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #edf3fb !important;
  color: #111827 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

body.page-column-list .side-tool-card h3::before {
  display: none !important;
  content: none !important;
}

body.page-column-list .side-tool-card h3::after {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid #cfe0f7 !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  content: "常用工具" !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

body.page-column-list .side-tool-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 !important;
}

body.page-column-list .side-tool-grid a,
body.page-column-list .side-tool-grid a:nth-child(n) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 8px !important;
  min-height: 94px !important;
  padding: 13px 8px 12px !important;
  border: 1px solid #dce9f8 !important;
  border-radius: 6px !important;
  color: #253348 !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(35, 76, 126, .045) !important;
  text-align: center !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
}

body.page-column-list .side-tool-grid a::before,
body.page-column-list .side-tool-grid a::after {
  display: none !important;
  content: none !important;
}

body.page-column-list .side-tool-grid .icon-slot,
body.page-column-list .side-tool-grid a:nth-child(n) .icon-slot {
  display: inline-block !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 1px solid #cfe3ff !important;
  border-radius: 10px !important;
  color: #1269f3 !important;
  background-color: #1269f3 !important;
  background-origin: content-box !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body.page-column-list .side-tool-grid .icon-slot::before {
  display: none !important;
  content: none !important;
}

body.page-column-list .side-tool-grid .icon-slot::after {
  width: 100% !important;
  height: 100% !important;
}

body.page-column-list .side-tool-grid em {
  color: inherit !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

@media (hover: hover) and (pointer: fine) {
  body.page-column-list .side-tool-grid a:hover {
    border-color: #9fc9ff !important;
    color: #1269f3 !important;
    background: #f7fbff !important;
    box-shadow: 0 12px 24px rgba(18, 105, 243, .10) !important;
    transform: translateY(-2px) !important;
  }

  body.page-column-list .side-tool-grid a:hover .icon-slot {
    color: #fff !important;
    background-color: #1269f3 !important;
    box-shadow: inset 0 0 0 999px #1269f3 !important;
  }
}

@media (max-width: 1100px) {
  body.page-column-list .side-tool-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.page-column-list .side-tool-card {
    padding: 14px !important;
  }

  body.page-column-list .side-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.page-column-list .side-tool-grid a {
    min-height: 88px !important;
  }
}

/* Unified top brand logo color */
body .inner-header .brand-logo,
body .inner-header .brand-logo-dark,
body .site-hero .brand-logo,
body .site-hero .brand-logo-dark,
body .global-header-bar .brand-logo,
body .global-header-bar .brand-logo-dark {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

body .inner-header .brand,
body .site-hero .brand,
body .global-header-bar .brand {
  color: inherit !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Home exam tool: remove the old warm accent from the school matching tile. */
body .exam-tool-panel .tool-tile-grid > a[href="./schools.html"] > .tool-tile-icon {
  color: #1269f3 !important;
  border-color: #cfe0f3 !important;
  background: linear-gradient(180deg, #f7fbff 0%, #edf6ff 100%) !important;
  background-color: #eef6ff !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .72),
    0 8px 18px rgba(18, 105, 243, .08) !important;
}

body .exam-tool-panel .tool-tile-grid > a[href="./schools.html"] > .tool-tile-icon svg,
body .exam-tool-panel .tool-tile-grid > a[href="./schools.html"] > .tool-tile-icon svg * {
  color: #1269f3 !important;
  stroke: #1269f3 !important;
}

@media (hover: hover) and (pointer: fine) {
  body .exam-tool-panel .tool-tile-grid > a[href="./schools.html"]:hover > .tool-tile-icon {
    border-color: #9fc9ff !important;
    background: linear-gradient(180deg, #eef6ff 0%, #e5f1ff 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, .78),
      0 12px 24px rgba(18, 105, 243, .13) !important;
  }
}

/* Member login final layout override: remove legacy compact card styles. */
body.member-commercial-page.page-member-center .member-auth-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(460px, 520px) !important;
  grid-template-areas:
    "hero login"
    ". benefit" !important;
  gap: 20px !important;
  align-items: stretch !important;
}

body.member-commercial-page.page-member-center.is-member-authenticated .member-auth-panel {
  display: none !important;
}

body.member-commercial-page.page-member-center .member-auth-hero {
  grid-area: hero !important;
  min-height: 520px !important;
}

body.member-commercial-page.page-member-center .member-login-message {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.member-commercial-page.page-member-center .member-login-message:empty {
  display: none !important;
}

body.member-commercial-page.page-member-center .member-login-card {
  position: static !important;
  z-index: auto !important;
  grid-area: login !important;
  align-self: start !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px !important;
  border: 1px solid #dfeaf7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(21, 71, 130, .06) !important;
}

body.member-commercial-page.page-member-center .member-benefit-card {
  grid-area: benefit !important;
  width: auto !important;
  margin: 0 !important;
}

body.member-commercial-page.page-member-center .member-login-card h2 {
  margin: 0 !important;
  color: #101827 !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

body.member-commercial-page.page-member-center .member-login-form > label.member-field,
body.member-commercial-page.page-member-center .member-login-form > label.member-field:not(.member-check) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 8px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.member-commercial-page.page-member-center .member-field-label {
  display: block !important;
  color: #253348 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body.member-commercial-page.page-member-center .member-login-form .member-input-shell,
body.member-commercial-page.page-member-center .member-login-form .member-code-input {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 52px !important;
  height: auto !important;
  padding: 0 14px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.member-commercial-page.page-member-center .member-login-form .member-code-input {
  grid-template-columns: 24px minmax(0, 1fr) 112px !important;
  gap: 10px !important;
}

body.member-commercial-page.page-member-center .member-login-form label > .icon-slot,
body.member-commercial-page.page-member-center .member-login-form .member-input-shell > .icon-slot {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  color: #1269f3 !important;
}

body.member-commercial-page.page-member-center .member-login-form input {
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  border: 0 !important;
  outline: 0 !important;
  color: #182233 !important;
  background: transparent !important;
  font-size: 15px !important;
}

body.member-commercial-page.page-member-center .member-code-input button {
  width: 100% !important;
  min-height: 38px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 6px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

body.member-commercial-page.page-member-center .member-login-form .member-field em {
  display: block !important;
  color: #7b8794 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-style: normal !important;
}

body.member-commercial-page.page-member-center .member-check input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
}

@media (max-width: 1180px) {
  body.member-commercial-page.page-member-center .member-auth-panel {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
    grid-template-areas:
      "hero hero"
      "login benefit" !important;
  }

  body.member-commercial-page.page-member-center .member-auth-hero {
    min-height: 320px !important;
  }
}

@media (max-width: 720px) {
  body.member-commercial-page.page-member-center .member-auth-panel {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "hero"
      "login"
      "benefit" !important;
  }

  body.member-commercial-page.page-member-center .member-login-card {
    padding: 22px !important;
  }

  body.member-commercial-page.page-member-center .member-login-form .member-code-input {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  body.member-commercial-page.page-member-center .member-code-input button {
    grid-column: 2 !important;
    margin-bottom: 12px !important;
  }
}

/* Article detail right rail repair */
body.page-generated-article .inner-layout {
  grid-template-columns: minmax(0, 1fr) 320px !important;
  align-items: start !important;
  gap: 28px !important;
}

body.page-generated-article .rich-sidebar {
  position: sticky !important;
  top: 92px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  align-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.page-generated-article .rich-sidebar .side-card {
  overflow: hidden !important;
  padding: 18px !important;
  border: 1px solid #dce8f6 !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(20, 63, 115, .055) !important;
}

body.page-generated-article .rich-sidebar .side-card h3 {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #edf3fb !important;
  color: #101828 !important;
  font-size: 18px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
}

body.page-generated-article .article-toc a {
  justify-content: flex-start !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border-left: 2px solid transparent !important;
  border-radius: 0 4px 4px 0 !important;
  color: #344054 !important;
  font-size: 14px !important;
}

body.page-generated-article .article-toc a:hover {
  border-left-color: #1269f3 !important;
  color: #1269f3 !important;
  background: #f5f9ff !important;
  transform: none !important;
}

body.page-generated-article .side-tool-card h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.page-generated-article .side-tool-card h3::after {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 0 8px !important;
  border: 1px solid #cfe0f7 !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  content: "常用工具" !important;
  font-size: 12px !important;
  line-height: 20px !important;
  font-weight: 700 !important;
}

body.page-generated-article .side-tool-card .side-tool-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 !important;
}

body.page-generated-article .side-tool-card .side-tool-grid a {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 38px auto !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 12px 8px !important;
  border: 1px solid #dce9f8 !important;
  border-radius: 6px !important;
  color: #253348 !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.page-generated-article .side-tool-card .side-tool-grid a::before,
body.page-generated-article .side-tool-card .side-tool-grid a::after {
  display: none !important;
  content: none !important;
}

body.page-generated-article .side-tool-card .side-tool-grid .icon-slot {
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 1px solid #cfe3ff !important;
  border-radius: 9px !important;
  color: #1269f3 !important;
  background-color: #eef6ff !important;
  box-shadow: inset 0 0 0 999px #eef6ff !important;
}

body.page-generated-article .side-tool-card .side-tool-grid em {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #253348 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.page-generated-article .side-tool-card .side-tool-grid a:hover {
  border-color: #bdd9ff !important;
  color: #1269f3 !important;
  background: #f4f9ff !important;
  transform: translateY(-1px) !important;
}

body.page-generated-article .side-links.side-links-dense {
  display: grid !important;
  gap: 6px !important;
  padding: 0 !important;
  background: transparent !important;
}

body.page-generated-article .side-links.side-links-dense a {
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) !important;
  gap: 0 10px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #26364d !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

body.page-generated-article .side-links.side-links-dense a::before {
  display: block !important;
  width: 5px !important;
  height: 5px !important;
  margin-top: 8px !important;
  border-radius: 999px !important;
  background: #b8c7d9 !important;
  content: "" !important;
}

body.page-generated-article .side-links.side-links-dense a span {
  grid-column: 2 !important;
  justify-self: start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-top: 5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #667085 !important;
  background: transparent !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  text-align: left !important;
  white-space: normal !important;
}

body.page-generated-article .side-links.side-links-dense a:hover {
  color: #1269f3 !important;
  background: #f5f9ff !important;
  transform: none !important;
}

body.page-generated-article .side-links.side-links-dense a:hover::before {
  background: #1269f3 !important;
}

@media (min-width: 980px) and (max-width: 1100px) {
  body.page-generated-article .inner-layout {
    grid-template-columns: minmax(0, 1fr) 288px !important;
    gap: 22px !important;
  }
}

@media (max-width: 979px) {
  body.page-generated-article .inner-layout {
    grid-template-columns: 1fr !important;
  }

  body.page-generated-article .rich-sidebar {
    position: static !important;
  }
}

@media (max-width: 720px) {
  body.page-generated-article .rich-sidebar .side-card {
    padding: 16px !important;
  }

  body.page-generated-article .side-tool-card .side-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Brand rename: keep the longer site logo stable in every shared header/footer. */
body .brand-logo,
body .brand-logo-dark,
body .footer-brand .brand-logo,
body .inner-header .brand-logo,
body .inner-header .brand-logo-dark,
body .site-hero .brand-logo,
body .site-hero .brand-logo-dark,
body .global-header-bar .brand-logo,
body .global-header-bar .brand-logo-dark {
  width: 226px !important;
  max-width: none !important;
  height: 32px !important;
  object-fit: contain !important;
}

body .brand,
body .inner-header .brand,
body .site-hero .brand,
body .global-header-bar .brand,
body .footer-brand {
  width: 226px !important;
  max-width: none !important;
  flex-basis: 226px !important;
}

@media (max-width: 720px) {
  body .brand-logo,
  body .brand-logo-dark,
  body .footer-brand .brand-logo,
  body .inner-header .brand-logo,
  body .inner-header .brand-logo-dark,
body .site-hero .brand-logo,
body .site-hero .brand-logo-dark,
body .global-header-bar .brand-logo,
body .global-header-bar .brand-logo-dark {
    width: 178px !important;
    max-width: 52vw !important;
    height: auto !important;
  }

  body .brand,
body .inner-header .brand,
body .site-hero .brand,
body .global-header-bar .brand,
body .footer-brand {
    width: 178px !important;
    flex-basis: 178px !important;
  }
}

@media (max-width: 420px) {
  body .brand-logo,
  body .brand-logo-dark,
  body .footer-brand .brand-logo,
  body .inner-header .brand-logo,
  body .inner-header .brand-logo-dark,
body .site-hero .brand-logo,
body .site-hero .brand-logo-dark,
body .global-header-bar .brand-logo,
body .global-header-bar .brand-logo-dark {
    width: 164px !important;
    max-width: 52vw !important;
  }

  body .brand,
body .inner-header .brand,
body .site-hero .brand,
body .global-header-bar .brand,
body .footer-brand {
    width: 164px !important;
    flex-basis: 164px !important;
  }
}

/* Mini-program modal: reserve a clear close target away from the title text. */
body .mini-program-panel {
  width: min(360px, calc(100vw - 32px)) !important;
  padding: 26px 24px 24px !important;
}

body .mini-program-panel h2 {
  min-height: 30px !important;
  margin: 0 52px 16px !important;
  color: #111827 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body .mini-program-close {
  top: 8px !important;
  right: 8px !important;
  z-index: 3 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

body .mini-program-close::before {
  position: absolute;
  inset: 8px;
  z-index: -1;
  border-radius: 999px;
  background: #f1f5f9;
  content: "";
  transition: background-color 0.2s ease;
}

body .mini-program-close:hover::before,
body .mini-program-close:focus-visible::before {
  background: #e2e8f0;
}

body .mini-program-close:focus-visible {
  outline: 2px solid #2563eb !important;
  outline-offset: 2px !important;
}

@media (max-width: 420px) {
  body .mini-program-panel {
    padding: 24px 18px 22px !important;
  }

  body .mini-program-panel h2 {
    margin-right: 48px !important;
    margin-left: 48px !important;
    font-size: 18px !important;
  }
}

/* Member points: commercial wallet, recharge and paid-download states. */
body .member-commercial-page .member-stat-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .member-stat-cards a:nth-child(n) .icon-slot {
  color: #1269f3 !important;
  background: #eaf3ff !important;
  box-shadow: inset 0 0 0 999px #eaf3ff !important;
}

body .member-stat-cards a:nth-child(2) .icon-slot {
  color: #0f9f6e !important;
  background: #eaf9f1 !important;
  box-shadow: inset 0 0 0 999px #eaf9f1 !important;
}

body .member-recharge-card {
  border-color: #cfe2ff !important;
  background:
    linear-gradient(135deg, rgba(239, 247, 255, .94), rgba(255, 255, 255, .98)) !important;
}

body .member-recharge-card .member-sub-card-head span {
  color: #5c6c80 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body .member-recharge-form {
  display: grid !important;
  grid-template-columns: minmax(180px, 240px) minmax(260px, 1fr) auto !important;
  gap: 14px !important;
  align-items: end !important;
  margin-top: 18px !important;
}

body .member-recharge-form label {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #26364d !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body .member-recharge-form input[type="number"] {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #cfe2ff !important;
  border-radius: 6px !important;
  color: #111827 !important;
  background: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  outline: none !important;
}

body .member-pay-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body .member-pay-options label {
  display: flex !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #253348 !important;
  cursor: pointer !important;
}

body .member-pay-options input {
  width: 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  accent-color: #1269f3 !important;
}

body .member-recharge-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #1269f3 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 24px rgba(18, 105, 243, .18) !important;
}

body .member-recharge-form button[type="submit"]:disabled,
body [data-download-resource]:disabled {
  cursor: wait !important;
  opacity: .72 !important;
}

body .member-recharge-result {
  display: grid !important;
  gap: 8px !important;
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: #526274 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body .member-recharge-result strong {
  color: #10233f !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

body .member-recharge-result p {
  margin: 0 !important;
}

body .member-recharge-result code {
  display: block !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
  overflow-wrap: anywhere !important;
  border-radius: 6px !important;
  background: #f2f7ff !important;
  color: #1269f3 !important;
  font-family: var(--font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-weight: 750 !important;
}

body .member-table-row a span {
  overflow-wrap: anywhere !important;
}

body .download-resource-meta {
  display: block !important;
  width: fit-content !important;
  margin-top: 10px !important;
  padding: 4px 8px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 6px !important;
  color: #526274 !important;
  background: #f7fbff !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}

body .article-paid-attachments {
  display: grid !important;
  gap: 12px !important;
  margin: 28px 0 !important;
  padding: 18px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
}

body .article-paid-attachments h2 {
  margin: 0 !important;
  color: #10233f !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

body .article-paid-attachments-note {
  margin: 0 !important;
  color: #617086 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body .article-attachment-list {
  display: grid !important;
  gap: 10px !important;
}

body .article-attachment-list > p {
  margin: 0 !important;
  color: #617086 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body .article-attachment-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid #dbe8f6 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body .article-attachment-item strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #10233f !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

body .article-attachment-item p {
  display: -webkit-box !important;
  margin: 0 0 7px !important;
  overflow: hidden !important;
  color: #526274 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body .article-attachment-item span {
  display: block !important;
  color: #1269f3 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body .article-attachment-item button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 72px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: #1269f3 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

body .article-attachment-item button .icon-slot {
  width: 16px !important;
  height: 16px !important;
}

body .download-flow-notice {
  position: fixed !important;
  right: 28px !important;
  bottom: 28px !important;
  z-index: 1200 !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 12px 14px !important;
  width: min(420px, calc(100vw - 32px)) !important;
  padding: 18px 18px 16px !important;
  border: 1px solid #cfe0f5 !important;
  border-left: 4px solid #1269f3 !important;
  border-radius: 8px !important;
  color: #223047 !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 48px rgba(31, 54, 86, .18) !important;
  backdrop-filter: blur(10px) !important;
}

body .download-flow-notice.is-success {
  border-left-color: #16a163 !important;
}

body .download-flow-notice.is-warning {
  border-left-color: #d97706 !important;
}

body .download-flow-notice.is-error {
  border-left-color: #dc2626 !important;
}

body .download-flow-notice strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #10233f !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

body .download-flow-notice p {
  margin: 0 !important;
  color: #526274 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body .download-flow-notice a {
  align-self: end !important;
  min-width: 92px !important;
  padding: 9px 14px !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: #1269f3 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-align: center !important;
}

body .download-flow-close,
body .download-confirm-close {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #6b7a90 !important;
  background: transparent !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

body .download-confirm-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1300 !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  background: rgba(15, 23, 42, .38) !important;
}

body .download-confirm-card {
  position: relative !important;
  width: min(460px, 100%) !important;
  padding: 30px !important;
  border: 1px solid #d8e5f5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(15, 35, 56, .26) !important;
}

body .download-confirm-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 14px !important;
  border-radius: 10px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
}

body .download-confirm-card h2 {
  margin: 0 0 10px !important;
  color: #10233f !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

body .download-confirm-card p {
  margin: 0 0 18px !important;
  color: #526274 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body .download-confirm-card p strong {
  color: #1269f3 !important;
  font-weight: 900 !important;
}

body .download-confirm-card dl {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 22px !important;
}

body .download-confirm-card dl div {
  padding: 12px !important;
  border: 1px solid #e2ecf8 !important;
  border-radius: 8px !important;
  background: #f7fbff !important;
}

body .download-confirm-card dt {
  margin-bottom: 6px !important;
  color: #6b7a90 !important;
  font-size: 12px !important;
}

body .download-confirm-card dd {
  margin: 0 !important;
  color: #10233f !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

body .download-confirm-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

body .download-confirm-actions button {
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid #d6e4f4 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #26364d !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

body .download-confirm-actions [data-download-confirm-action] {
  border-color: #1269f3 !important;
  color: #fff !important;
  background: #1269f3 !important;
}

@media (max-width: 1100px) {
  body .member-commercial-page .member-stat-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .member-recharge-form {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body .member-commercial-page .member-stat-cards,
  body .member-pay-options {
    grid-template-columns: 1fr !important;
  }

  body .article-attachment-item {
    grid-template-columns: 1fr !important;
  }

  body .article-attachment-item button {
    width: 100% !important;
  }
}

/* Header mini-program trigger: use a clearer QR-style icon and center it with text. */
body .global-header-bar .mini-program-trigger,
body .inner-header .top-actions .mini-program-trigger,
body .site-hero .top-actions .mini-program-trigger {
  gap: 7px !important;
}

body .global-header-bar .mini-program-trigger .icon-slot,
body .inner-header .top-actions .mini-program-trigger .icon-slot,
body .site-hero .top-actions .mini-program-trigger .icon-slot {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  color: #0b5ed7 !important;
  background-color: currentColor !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  -webkit-mask: var(--icon-url) center / 20px 20px no-repeat !important;
  mask: var(--icon-url) center / 20px 20px no-repeat !important;
}

body .global-header-bar .mini-program-trigger:hover .icon-slot,
body .inner-header .top-actions .mini-program-trigger:hover .icon-slot,
body .site-hero .top-actions .mini-program-trigger:hover .icon-slot {
  color: #0b5ed7 !important;
}

body .global-header-bar .mini-program-trigger .icon-slot[data-icon="mini-program"],
body .inner-header .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"],
body .site-hero .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"] {
  position: relative !important;
  flex-basis: 22px !important;
  width: 22px !important;
  height: 22px !important;
  overflow: hidden !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: #07c160 !important;
  box-shadow: inset 0 0 0 1px rgba(5, 153, 75, .18) !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body .global-header-bar .mini-program-trigger .icon-slot[data-icon="mini-program"]::before,
body .inner-header .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"]::before,
body .site-hero .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"]::before {
  position: absolute !important;
  left: 4px !important;
  top: 5px !important;
  width: 11px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 38% 42%, #07c160 1px, transparent 1.4px),
    radial-gradient(circle at 66% 42%, #07c160 1px, transparent 1.4px),
    #fff !important;
  content: "" !important;
}

body .global-header-bar .mini-program-trigger .icon-slot[data-icon="mini-program"]::after,
body .inner-header .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"]::after,
body .site-hero .top-actions .mini-program-trigger .icon-slot[data-icon="mini-program"]::after {
  position: absolute !important;
  right: 4px !important;
  bottom: 5px !important;
  width: 9px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 42% 44%, #07c160 .9px, transparent 1.3px),
    radial-gradient(circle at 68% 44%, #07c160 .9px, transparent 1.3px),
    #fff !important;
  content: "" !important;
}

@media (max-width: 720px) {
  body .global-header-bar .mini-program-trigger,
  body .inner-header .top-actions .mini-program-trigger,
  body .site-hero .top-actions .mini-program-trigger {
    gap: 0 !important;
  }

  body .global-header-bar .mini-program-trigger .icon-slot,
  body .inner-header .top-actions .mini-program-trigger .icon-slot,
  body .site-hero .top-actions .mini-program-trigger .icon-slot {
    flex-basis: 22px !important;
    width: 22px !important;
    height: 22px !important;
    -webkit-mask-size: 20px 20px !important;
    mask-size: 20px 20px !important;
  }
}

/* Homepage information tabs: keep title, labels, and active underline on one optical row. */
body .main > .content-grid > div > .block > .home-tab-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  min-height: 52px !important;
  margin-bottom: 0 !important;
}

body .main > .content-grid > div > .block > .home-tab-head h2 {
  display: flex !important;
  align-items: center !important;
  height: 52px !important;
  margin: 0 !important;
  color: #172033 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body .main > .content-grid > div > .block > .home-tab-head h2::after {
  display: none !important;
  content: none !important;
}

body .main > .content-grid > div > .block > .home-tab-head .tabs {
  align-self: stretch !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 4px !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  color: #172033 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  scrollbar-width: none !important;
}

body .main > .content-grid > div > .block > .home-tab-head .tabs::-webkit-scrollbar {
  display: none !important;
}

body .main > .content-grid > div > .block > .home-tab-head .tabs a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 64px !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  background: transparent !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body .main > .content-grid > div > .block > .home-tab-head .tabs a:hover,
body .main > .content-grid > div > .block > .home-tab-head .tabs .active,
body .main > .content-grid > div > .block > .home-tab-head .tabs .green,
body .main > .content-grid > div > .block > .home-tab-head .tabs .orange {
  color: #1269f3 !important;
  border-color: transparent !important;
  background: transparent !important;
}

body .main > .content-grid > div > .block > .home-tab-head .tabs .active::after {
  position: absolute !important;
  right: 6px !important;
  bottom: 0 !important;
  left: 6px !important;
  display: block !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  content: "" !important;
}

@media (max-width: 860px) {
  body .main > .content-grid > div > .block > .home-tab-head {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    min-height: auto !important;
  }

  body .main > .content-grid > div > .block > .home-tab-head h2 {
    height: 28px !important;
  }

  body .main > .content-grid > div > .block > .home-tab-head .tabs,
  body .main > .content-grid > div > .block > .home-tab-head .tabs a {
    min-height: 44px !important;
    height: 44px !important;
  }
}

/* Homepage member assistant: turn the sidebar entry into a cohesive workbench card. */
body .content-grid .home-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

body .content-grid .home-side-head {
  min-height: 50px !important;
  padding: 0 4px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body .content-grid .home-side-head h2 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #172033 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body .content-grid .home-side-head h2::before {
  width: 6px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: #1269f3 !important;
  content: "" !important;
}

body .content-grid .home-side-head h2::after {
  display: none !important;
  content: none !important;
}

body .content-grid .home-side-head > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 999px !important;
  color: #172033 !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body .content-grid .home-side-head > a:hover {
  color: #1269f3 !important;
  border-color: rgba(18, 105, 243, .24) !important;
  background: #f5f9ff !important;
}

body .content-grid .home-login-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 16px !important;
  overflow: hidden !important;
  padding: 20px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 8px !important;
  background:
    linear-gradient(135deg, rgba(18, 105, 243, .08), rgba(20, 184, 216, .06) 46%, rgba(255, 255, 255, 0) 78%),
    #fff !important;
  box-shadow: 0 14px 34px rgba(15, 74, 128, .08) !important;
}

body .content-grid .home-login-card::before {
  position: absolute !important;
  right: -36px !important;
  top: -44px !important;
  width: 118px !important;
  height: 118px !important;
  border-radius: 999px !important;
  background: rgba(18, 105, 243, .08) !important;
  content: "" !important;
}

body .content-grid .home-login-card::after {
  position: absolute !important;
  right: 24px !important;
  bottom: 58px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(20, 184, 216, .10) !important;
  content: "" !important;
}

body .content-grid .home-login-top {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
}

body .content-grid .home-login-visual {
  display: grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  border: 1px solid rgba(18, 105, 243, .18) !important;
  border-radius: 16px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .62) !important;
}

body .content-grid .home-login-visual.icon-slot {
  background-color: #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body .content-grid .home-login-visual.icon-slot::before {
  width: 28px !important;
  height: 28px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  content: "" !important;
}

body .content-grid .home-login-copy {
  min-width: 0 !important;
}

body .content-grid .home-login-copy strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #172033 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body .content-grid .home-login-copy span {
  display: block !important;
  color: #526070 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body .content-grid .home-login-card .member-primary-action {
  position: relative !important;
  z-index: 1 !important;
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  justify-self: stretch !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: #1269f3 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(18, 105, 243, .20) !important;
}

body .content-grid .home-login-card .member-primary-action .icon-slot {
  width: 17px !important;
  height: 17px !important;
  color: currentColor !important;
}

body .content-grid .home-login-card .member-primary-action:hover {
  color: #fff !important;
  background: #0b5ed7 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 26px rgba(18, 105, 243, .26) !important;
}

body .content-grid .home-login-actions {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e6eef8 !important;
}

body .content-grid .home-login-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: #344054 !important;
  background: rgba(255, 255, 255, .72) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body .content-grid .home-login-actions a:hover {
  color: #1269f3 !important;
  border-color: rgba(18, 105, 243, .18) !important;
  background: #f5f9ff !important;
}

body .content-grid .home-login-actions .icon-slot {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  border: 1px solid rgba(18, 105, 243, .14) !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  -webkit-mask: none !important;
  mask: none !important;
}

body .content-grid .home-login-actions .icon-slot::before {
  width: 18px !important;
  height: 18px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--icon-url) center / contain no-repeat !important;
  mask: var(--icon-url) center / contain no-repeat !important;
  content: "" !important;
}

/* Advertising page right panel: align each cooperation item to a stable icon/text grid. */
body.page-advertising .landing-panel {
  display: grid !important;
  align-content: start !important;
  gap: 16px !important;
}

body.page-advertising .landing-panel strong {
  margin-bottom: 2px !important;
}

body.page-advertising .landing-panel ul {
  display: grid !important;
  gap: 10px !important;
}

body.page-advertising .landing-panel li {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #e2ebf6 !important;
  border-radius: 8px !important;
  color: #344054 !important;
  background: #f8fbff !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

body.page-advertising .landing-panel li::before {
  position: static !important;
  display: block !important;
  align-self: center !important;
  justify-self: start !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #1269f3 !important;
  box-shadow: 0 0 0 4px rgba(18, 105, 243, .12) !important;
  content: "" !important;
}

/* Final lock for mini-program entry: prevent legacy purple theme rules from leaking in. */
html body .top-actions .mini-program-trigger,
html body .global-header-bar .mini-program-trigger,
html body .inner-header .top-actions .mini-program-trigger,
html body .site-hero .top-actions .mini-program-trigger,
html body.page-reexam-announcement .mini-program-trigger,
html body.page-article-detail .mini-program-trigger,
html body.page-school-library .mini-program-trigger,
html body.page-column-list .mini-program-trigger,
html body.page-info-detail .mini-program-trigger,
html body.page-major-library .mini-program-trigger,
html body.page-downloads-hub .mini-program-trigger,
html body.page-about-us .mini-program-trigger,
html body.page-member-center .mini-program-trigger {
  border: 1px solid #d9e6f6 !important;
  color: #1c2b40 !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .top-actions .mini-program-trigger:hover,
html body .top-actions .mini-program-trigger:focus-visible,
html body .global-header-bar .mini-program-trigger:hover,
html body .global-header-bar .mini-program-trigger:focus-visible,
html body .inner-header .top-actions .mini-program-trigger:hover,
html body .inner-header .top-actions .mini-program-trigger:focus-visible,
html body .site-hero .top-actions .mini-program-trigger:hover,
html body .site-hero .top-actions .mini-program-trigger:focus-visible,
html body.page-reexam-announcement .mini-program-trigger:hover,
html body.page-article-detail .mini-program-trigger:hover,
html body.page-school-library .mini-program-trigger:hover,
html body.page-column-list .mini-program-trigger:hover,
html body.page-info-detail .mini-program-trigger:hover,
html body.page-major-library .mini-program-trigger:hover,
html body.page-downloads-hub .mini-program-trigger:hover,
html body.page-about-us .mini-program-trigger:hover,
html body.page-member-center .mini-program-trigger:hover {
  border-color: #bcd4f2 !important;
  color: #0b5ed7 !important;
  background: #f7fbff !important;
  background-image: none !important;
  box-shadow: 0 6px 14px rgba(18, 105, 243, .08) !important;
}

html body .top-actions .mini-program-trigger::before,
html body .global-header-bar .mini-program-trigger::before,
html body .inner-header .top-actions .mini-program-trigger::before,
html body .site-hero .top-actions .mini-program-trigger::before {
  display: none !important;
  content: none !important;
}

/* Homepage/footer banner cleanup: keep one restrained promo row instead of stacked banners. */
body .global-footer-promos {
  width: min(1200px, calc(100vw - 64px)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  padding: 24px 0 28px !important;
}

body .global-promo {
  min-height: 132px !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 20px rgba(38, 103, 180, .055) !important;
}

body .global-promo-copy {
  max-width: 72% !important;
  padding: 22px 0 0 22px !important;
}

body .global-promo strong {
  font-size: 22px !important;
  line-height: 1.18 !important;
}

body .global-promo em {
  max-width: 210px !important;
  margin-top: 8px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}

body .global-promo b {
  min-width: 88px !important;
  min-height: 30px !important;
  margin-top: 12px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
}

body .global-promo img {
  width: 42% !important;
  opacity: .86 !important;
}

@media (max-width: 900px) {
  body .global-footer-promos {
    grid-template-columns: 1fr !important;
    width: min(640px, calc(100vw - 32px)) !important;
  }

  body .global-promo {
    min-height: 118px !important;
  }
}

/* Refined homepage footer promos: service cards, not large ad banners. */
body .global-site-footer .global-footer-promos {
  gap: 14px !important;
  padding: 22px 0 26px !important;
}

body .global-site-footer .global-promo {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 144px !important;
  padding: 18px 20px !important;
  border-color: #dbe7f5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%) !important;
  box-shadow: 0 8px 22px rgba(15, 74, 128, .06) !important;
}

body .global-site-footer .global-promo::before {
  position: absolute !important;
  top: 16px !important;
  bottom: 16px !important;
  left: 0 !important;
  width: 3px !important;
  border-radius: 0 999px 999px 0 !important;
  background: #1269f3 !important;
  content: "" !important;
}

body .global-site-footer .global-promo-copy {
  display: grid !important;
  grid-column: 1 !important;
  gap: 6px !important;
  max-width: none !important;
  padding: 0 !important;
}

body .global-site-footer .global-promo-copy::before {
  display: inline-flex !important;
  width: max-content !important;
  min-height: 22px !important;
  align-items: center !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  content: "服务入口" !important;
}

body .global-site-footer .global-promo-course .global-promo-copy::before {
  content: "资料下载" !important;
}

body .global-site-footer .global-promo-community .global-promo-copy::before {
  color: #087f8f !important;
  background: #eafcff !important;
  content: "学习交流" !important;
}

body .global-site-footer .global-promo-plan .global-promo-copy::before {
  color: #0b5ed7 !important;
  background: #eef4ff !important;
  content: "择校工具" !important;
}

body .global-site-footer .global-promo strong {
  color: #172033 !important;
  font-size: 19px !important;
  line-height: 1.22 !important;
  font-weight: 850 !important;
  white-space: normal !important;
}

body .global-site-footer .global-promo em {
  max-width: 210px !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: #5b6675 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .global-site-footer .global-promo b {
  justify-self: start !important;
  min-width: 70px !important;
  min-height: 26px !important;
  margin: 2px 0 0 !important;
  padding: 0 12px !important;
  border: 1px solid #cfe0f6 !important;
  border-radius: 6px !important;
  color: #1269f3 !important;
  background: #f8fbff !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

body .global-site-footer .global-promo img {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  grid-column: 2 !important;
  justify-self: end !important;
  width: 112px !important;
  height: 91px !important;
  border: 0 !important;
  border-radius: 8px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
}

body .global-site-footer .global-promo-community::before {
  background: #0aa9ca !important;
}

body .global-site-footer .global-promo-plan::before {
  background: #2f7cf6 !important;
}

body .global-site-footer .global-promo:hover {
  border-color: #bfd7f5 !important;
  box-shadow: 0 10px 24px rgba(15, 74, 128, .075) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  body .global-site-footer .global-promo {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    min-height: 132px !important;
    padding: 16px !important;
  }

  body .global-site-footer .global-promo img {
    width: 96px !important;
    height: 78px !important;
  }
}

/* Fine-tune footer promo dimensions: reduce outer gutters and make artwork fill the card better. */
body .global-site-footer .global-footer-promos {
  width: min(1260px, calc(100vw - 32px)) !important;
  gap: 12px !important;
}

body .global-site-footer .global-promo {
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 12px !important;
  min-height: 150px !important;
  padding: 18px 16px 18px 20px !important;
}

body .global-site-footer .global-promo-copy {
  width: 100% !important;
}

body .global-site-footer .global-promo em {
  max-width: 100% !important;
}

body .global-site-footer .global-promo img {
  width: 132px !important;
  height: 108px !important;
}

@media (max-width: 900px) {
  body .global-site-footer .global-footer-promos {
    width: min(680px, calc(100vw - 24px)) !important;
  }

  body .global-site-footer .global-promo {
    grid-template-columns: minmax(0, 1fr) 108px !important;
    min-height: 138px !important;
  }

  body .global-site-footer .global-promo img {
    width: 108px !important;
    height: 88px !important;
  }
}

/* 900x260 regenerated footer banners: display the assets as true banners. */
body .global-site-footer .global-footer-promos {
  width: min(1260px, calc(100vw - 32px)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 22px 0 26px !important;
}

body .global-site-footer .global-promo,
body .global-site-footer .global-promo:nth-child(n) {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 900 / 260 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid #d8e6f5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 74, 128, .06) !important;
}

body .global-site-footer .global-promo::before,
body .global-site-footer .global-promo::after {
  display: none !important;
  content: none !important;
}

body .global-site-footer .global-promo img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  opacity: 1 !important;
}

body .global-site-footer .global-promo:hover {
  border-color: #bcd4f2 !important;
  box-shadow: 0 12px 26px rgba(15, 74, 128, .09) !important;
  transform: translateY(-1px) !important;
}

/* Homepage sidebar plan banner: use the regenerated 680x250 asset without cropping. */
body .home-side .home-ad-card.banner-image {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 1px solid #d7e7f8 !important;
  border-radius: 8px !important;
  background: #f5faff !important;
  box-shadow: 0 10px 24px rgba(15, 74, 128, .06) !important;
}

body .home-side .home-ad-card.banner-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 680 / 250 !important;
  object-fit: contain !important;
  border-radius: inherit !important;
}

/* Homepage "more" links: reduce the oversized footer whitespace in content cards. */
@media (min-width: 1024px) {
  body .main .news-card.two-col,
  body .main .news-card.file-card.two-col {
    padding-bottom: 14px !important;
    row-gap: 8px !important;
  }

  body .main .news-card.two-col > .more,
  body .main .news-card.file-card.two-col > .more {
    min-width: auto !important;
    min-height: 24px !important;
    margin-top: 0 !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #1269f3 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px !important;
  }

  body .main .news-card.two-col > .more:hover,
  body .main .news-card.file-card.two-col > .more:hover {
    color: #0b5ed7 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

/* Homepage service strip spacing before footer banners. */
body .main > .home-service-strip {
  margin-bottom: 32px !important;
}

@media (max-width: 900px) {
  body .global-site-footer .global-footer-promos {
    grid-template-columns: 1fr !important;
    width: min(900px, calc(100vw - 24px)) !important;
  }

  body .main > .home-service-strip {
    margin-bottom: 24px !important;
  }
}

/* Global header nav active state: prevent column-page nav styles from leaking downward. */
html body .inner-header.global-header-shell {
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  overflow: hidden !important;
}

html body .inner-header.global-header-shell .global-header-bar {
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  overflow: hidden !important;
}

html body .global-header-bar .nav-links {
  align-self: stretch !important;
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body .global-header-bar .nav-links a,
html body.page-column-list .global-header-bar .nav-links a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  height: var(--global-header-height) !important;
  min-height: var(--global-header-height) !important;
  max-height: var(--global-header-height) !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #111827 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
  transform: none !important;
}

html body .global-header-bar .nav-links a:hover,
html body .global-header-bar .nav-links a.active,
html body.page-column-list .global-header-bar .nav-links a:hover,
html body.page-column-list .global-header-bar .nav-links a.active {
  color: #1269f3 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .global-header-bar .nav-links a::before,
html body.page-column-list .global-header-bar .nav-links a::before {
  display: none !important;
  content: none !important;
}

html body .global-header-bar .nav-links a::after,
html body.page-column-list .global-header-bar .nav-links a::after {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  display: none !important;
  width: 32px !important;
  height: 3px !important;
  border-radius: 999px 999px 0 0 !important;
  background: #1269f3 !important;
  content: "" !important;
  transform: translateX(-50%) !important;
}

html body .global-header-bar .nav-links a.active::after,
html body.page-column-list .global-header-bar .nav-links a.active::after {
  display: block !important;
}

/* Column sidebar quick entries: render the four tabs as one continuous grid. */
html body.page-column-list .side-tool-card .side-tool-grid {
  overflow: hidden !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid #d8e6f6 !important;
  border-radius: 6px !important;
  background: #fff !important;
}

html body.page-column-list .side-tool-card .side-tool-grid a,
html body.page-column-list .side-tool-card .side-tool-grid a:nth-child(n) {
  min-height: 96px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.page-column-list .side-tool-card .side-tool-grid a:nth-child(odd) {
  border-right: 1px solid #e1ebf7 !important;
}

html body.page-column-list .side-tool-card .side-tool-grid a:nth-child(-n + 2) {
  border-bottom: 1px solid #e1ebf7 !important;
}

html body.page-column-list .side-tool-card .side-tool-grid a:hover {
  position: relative !important;
  z-index: 1 !important;
  background: #f7fbff !important;
  box-shadow: inset 0 0 0 1px #9fc9ff !important;
  transform: none !important;
}

/* School detail page polish */
html body.page-school-detail {
  background: #f3f8fd !important;
}

html body.page-school-detail .inner-main {
  max-width: 1200px !important;
  padding-top: 26px !important;
}

html body.page-school-detail .breadcrumb {
  margin-bottom: 18px !important;
  color: #6b7a90 !important;
  font-size: 13px !important;
}

html body.page-school-detail .detail-hero {
  position: relative !important;
  overflow: hidden !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, auto) !important;
  min-height: 150px !important;
  margin-bottom: 24px !important;
  padding: 30px 32px !important;
  border: 1px solid #d6e6f7 !important;
  border-radius: 8px !important;
  background:
    linear-gradient(115deg, rgba(235, 247, 255, .95) 0%, rgba(255, 255, 255, .96) 56%, rgba(245, 251, 255, .95) 100%),
    #fff !important;
  box-shadow: 0 12px 28px rgba(30, 73, 120, .06) !important;
}

html body.page-school-detail .detail-hero::before {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  content: "" !important;
  background: linear-gradient(180deg, #1269f3, #1aa3ff) !important;
}

html body.page-school-detail .detail-title h1 {
  margin: 0 0 14px !important;
  color: #0f172a !important;
  font-size: 34px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}

html body.page-school-detail .detail-title p {
  margin: 0 !important;
  color: #526174 !important;
  font-size: 15px !important;
}

html body.page-school-detail .detail-stat {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.page-school-detail .detail-stat span {
  display: grid !important;
  align-content: center !important;
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 12px 16px !important;
  border: 1px solid #d8e7f6 !important;
  border-radius: 8px !important;
  color: #5f6f84 !important;
  background: rgba(255, 255, 255, .84) !important;
  box-shadow: 0 8px 18px rgba(32, 75, 124, .045) !important;
  text-align: center !important;
}

html body.page-school-detail .detail-stat strong {
  margin-bottom: 6px !important;
  color: #0f172a !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
}

html body.page-school-detail .inner-layout {
  grid-template-columns: minmax(0, 1fr) 344px !important;
  gap: 28px !important;
}

html body.page-school-detail .inner-card,
html body.page-school-detail .side-card {
  border: 1px solid #d9e6f4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(31, 73, 118, .045) !important;
}

html body.page-school-detail article {
  display: grid !important;
  gap: 18px !important;
}

html body.page-school-detail article .inner-card {
  padding: 24px 28px !important;
}

html body.page-school-detail .inner-card-head {
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #edf3fa !important;
}

html body.page-school-detail .inner-card-head h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

html body.page-school-detail .data-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.page-school-detail .data-list li {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 0 14px !important;
  border: 1px solid #e1ebf6 !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
}

html body.page-school-detail .data-list span {
  color: #66758a !important;
  font-size: 14px !important;
}

html body.page-school-detail .data-list strong {
  overflow: hidden !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.page-school-detail .side-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body.page-school-detail .side-links strong {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid #d8e8f7 !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  background: linear-gradient(180deg, #f4fbff, #eaf6ff) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

html body.page-school-detail .side-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 10px !important;
  border: 1px solid #dce9f7 !important;
  border-radius: 6px !important;
  color: #24344d !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

html body.page-school-detail .side-links a .icon-slot {
  width: 16px !important;
  height: 16px !important;
  color: #1269f3 !important;
}

html body.page-school-detail .side-links a:hover {
  border-color: #b8d6f7 !important;
  color: #1269f3 !important;
  background: #f3f9ff !important;
  transform: none !important;
}

html body.page-school-detail .content-list {
  display: grid !important;
  gap: 0 !important;
}

html body.page-school-detail .content-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 18px !important;
  align-items: start !important;
  min-height: 92px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #edf3fa !important;
}

html body.page-school-detail .content-list li:last-child {
  border-bottom: 0 !important;
}

html body.page-school-detail .content-list a {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #172033 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}

html body.page-school-detail .content-list a:hover {
  color: #1269f3 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body.page-school-detail .content-list p {
  display: -webkit-box !important;
  margin: 8px 0 0 !important;
  overflow: hidden !important;
  color: #65748a !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

html body.page-school-detail .content-list time {
  justify-self: end !important;
  color: #64748b !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

html body.page-school-detail .rich-sidebar {
  gap: 16px !important;
}

html body.page-school-detail .side-card {
  padding: 18px !important;
}

html body.page-school-detail .side-card h3 {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #edf3fa !important;
  color: #111827 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

html body.page-school-detail .side-card .muted {
  margin: 0 0 14px !important;
  color: #65748a !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

html body.page-school-detail .school-detail-side-meta,
html body.page-school-detail .school-detail-side-stats ul {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.page-school-detail .school-detail-side-meta li {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid #f0f4f9 !important;
}

html body.page-school-detail .school-detail-side-meta li:last-child {
  border-bottom: 0 !important;
}

html body.page-school-detail .school-detail-side-meta span,
html body.page-school-detail .school-detail-side-stats span {
  color: #66758a !important;
  font-size: 13px !important;
}

html body.page-school-detail .school-detail-side-meta strong {
  min-width: 0 !important;
  color: #172033 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 750 !important;
  text-align: right !important;
}

html body.page-school-detail .school-detail-action-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body.page-school-detail .school-detail-action-grid a {
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  min-height: 92px !important;
  padding: 12px 8px !important;
  border: 1px solid #dce9f7 !important;
  border-radius: 6px !important;
  color: #253348 !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  text-align: center !important;
}

html body.page-school-detail .school-detail-action-grid .icon-slot {
  width: 32px !important;
  height: 32px !important;
  margin-bottom: 8px !important;
  padding: 7px !important;
  border: 1px solid #cfe3ff !important;
  border-radius: 8px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
}

html body.page-school-detail .school-detail-action-grid strong {
  color: #172033 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

html body.page-school-detail .school-detail-action-grid em {
  margin-top: 4px !important;
  overflow: hidden !important;
  max-width: 100% !important;
  color: #7a8799 !important;
  font-size: 12px !important;
  font-style: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.page-school-detail .school-detail-action-grid a:hover {
  border-color: #b8d6f7 !important;
  background: #f4f9ff !important;
  transform: none !important;
}

html body.page-school-detail .school-detail-side-stats li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #e1ebf6 !important;
  border-radius: 6px !important;
  background: #f8fbff !important;
}

html body.page-school-detail .school-detail-side-stats strong {
  color: #1269f3 !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

@media (max-width: 1100px) {
  html body.page-school-detail .detail-hero,
  html body.page-school-detail .inner-layout {
    grid-template-columns: 1fr !important;
  }

  html body.page-school-detail .detail-stat {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  html body.page-school-detail .detail-hero {
    padding: 24px 22px !important;
  }

  html body.page-school-detail .detail-title h1 {
    font-size: 28px !important;
  }

  html body.page-school-detail .detail-stat,
  html body.page-school-detail .data-list,
  html body.page-school-detail .side-links {
    grid-template-columns: 1fr !important;
  }

  html body.page-school-detail .content-list li {
    grid-template-columns: 1fr !important;
  }

  html body.page-school-detail .content-list time {
    justify-self: start !important;
  }
}

/* Landing side panels: align bullet, label, and value columns across pages. */
html body.landing-page .landing-panel ul {
  display: grid !important;
  gap: 10px !important;
}

html body.landing-page .landing-panel li,
html body.page-advertising .landing-panel li {
  display: grid !important;
  grid-template-columns: 8px minmax(72px, auto) minmax(0, 1fr) !important;
  column-gap: 10px !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #e2ebf6 !important;
  border-radius: 8px !important;
  color: #344054 !important;
  background: #f8fbff !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

html body.landing-page .landing-panel li::before,
html body.page-advertising .landing-panel li::before {
  position: static !important;
  display: block !important;
  align-self: center !important;
  justify-self: center !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #1269f3 !important;
  box-shadow: none !important;
  content: "" !important;
}

html body.landing-page .landing-panel-label {
  grid-column: 2 !important;
  color: #536274 !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

html body.landing-page .landing-panel-value {
  grid-column: 3 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #3f4f63 !important;
  font-weight: 650 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body.landing-page .landing-panel li > .landing-panel-value:first-child {
  grid-column: 2 / -1 !important;
}

@media (max-width: 640px) {
  html body.landing-page .landing-panel li,
  html body.page-advertising .landing-panel li {
    grid-template-columns: 8px minmax(0, 1fr) !important;
    min-height: 46px !important;
  }

  html body.landing-page .landing-panel-label,
  html body.landing-page .landing-panel-value {
    grid-column: 2 !important;
  }

  html body.landing-page .landing-panel-value {
    white-space: normal !important;
  }
}

/* Member center: repair login page layout after removing alert widgets. */
html body.member-commercial-page.page-member-center .member-auth-panel {
  grid-template-columns: minmax(0, 1.15fr) minmax(430px, 520px) !important;
  grid-template-areas:
    "hero login"
    "benefit benefit" !important;
  align-items: start !important;
  gap: 20px !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero,
html body.member-commercial-page.page-member-center .member-login-card {
  min-height: 620px !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero {
  padding: 48px 54px !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero::after {
  right: 54px !important;
  bottom: 46px !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 26px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card {
  grid-area: benefit !important;
  padding: 22px 26px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card ul {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card li {
  min-height: 86px !important;
}

html body.member-commercial-page.page-member-center .member-desk-grid {
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr)) !important;
}

html body.member-commercial-page.page-member-center .member-record-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Downloads hub: make query-filtered cards hide correctly and keep card internals stable. */
html body.page-downloads-hub .download-card[hidden] {
  display: none !important;
}

html body.page-downloads-hub .download-grid {
  align-items: stretch !important;
}

html body.page-downloads-hub .download-result-summary {
  display: flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin: -4px 0 14px !important;
  padding: 0 12px !important;
  border: 1px solid #dce9f7 !important;
  border-radius: 6px !important;
  color: #506176 !important;
  background: #f8fbff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

html body.page-downloads-hub .download-result-summary[hidden] {
  display: none !important;
}

html body.page-downloads-hub .download-card {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-rows: minmax(118px, 1fr) auto !important;
  gap: 14px 16px !important;
  min-height: 206px !important;
}

html body.page-downloads-hub .download-card > .download-card-icon.icon-slot {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body.page-downloads-hub .download-card > div {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body.page-downloads-hub .download-card button {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}

html body.page-downloads-hub .download-card button[data-download-resource] {
  grid-column: 1 / 2 !important;
  grid-row: 2 !important;
}

html body.page-downloads-hub .download-card button[data-save-resource] {
  grid-column: 2 / 3 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  min-width: 88px !important;
}

html body.page-downloads-hub .download-card button:nth-of-type(n) {
  grid-row: 2 !important;
}

/* Downloads hub: refine filtered/resource card layout so metadata and actions do not collide. */
html body.page-downloads-hub .download-card {
  grid-template-columns: 72px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 14px 16px !important;
  min-height: 0 !important;
  padding: 18px !important;
}

html body.page-downloads-hub .download-card > .download-card-icon.icon-slot {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

html body.page-downloads-hub .download-card > div {
  grid-column: 2 / 4 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 0 6px !important;
}

html body.page-downloads-hub .download-card strong,
html body.page-downloads-hub .download-card p {
  flex: 0 0 100% !important;
}

html body.page-downloads-hub .download-card p {
  margin-bottom: 10px !important;
}

html body.page-downloads-hub .download-card em,
html body.page-downloads-hub .download-card .download-resource-meta {
  flex: 0 0 auto !important;
  margin: 0 0 6px !important;
}

html body.page-downloads-hub .download-card .download-resource-meta {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  width: auto !important;
  max-width: 100% !important;
}

html body.page-downloads-hub .download-card button {
  grid-row: 2 !important;
  min-height: 40px !important;
  border: 1px solid #dbe7f5 !important;
  background: #fff !important;
  font-weight: 800 !important;
}

html body.page-downloads-hub .download-card button[data-download-resource] {
  grid-column: 2 !important;
  justify-self: start !important;
  min-width: 138px !important;
  color: #1269f3 !important;
  border-color: rgba(18, 105, 243, .22) !important;
  background: #eef6ff !important;
}

html body.page-downloads-hub .download-card button[data-save-resource] {
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 86px !important;
  color: #344054 !important;
}

html body.page-downloads-hub .download-card button .icon-slot {
  width: 18px !important;
  height: 18px !important;
}

html body.page-downloads-hub .download-empty {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 180px !important;
  border: 1px dashed #cfe0f3 !important;
  border-radius: 8px !important;
  color: #65748a !important;
  background: #f8fbff !important;
}

html body.page-downloads-hub .download-pager[hidden] {
  display: none !important;
}

html body.member-commercial-page .member-agreement-check {
  align-items: flex-start !important;
  padding: 10px 12px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 8px !important;
  color: #526274 !important;
  background: #f8fbff !important;
  font-size: 13px !important;
}

html body.member-commercial-page .member-agreement-check span {
  display: block !important;
  min-width: 0 !important;
}

html body.member-commercial-page .member-agreement-check a {
  color: #1269f3 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html body.member-commercial-page .member-agreement-check a:hover {
  text-decoration: underline !important;
}

html body.legal-page {
  background: #f3f8ff !important;
}

html body.legal-page .legal-main {
  padding: 32px 0 72px !important;
}

html body.legal-page .legal-document {
  max-width: 980px !important;
  margin: 18px auto 0 !important;
  padding: 42px 50px 48px !important;
  border: 1px solid #d8e6f8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(20, 74, 132, .08) !important;
}

html body.legal-page .legal-hero {
  padding-bottom: 24px !important;
  border-bottom: 1px solid #e6eef8 !important;
}

html body.legal-page .legal-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 1px solid #cfe0f3 !important;
  border-radius: 999px !important;
  color: #1269f3 !important;
  background: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html body.legal-page .legal-hero h1 {
  margin: 18px 0 12px !important;
  color: #111827 !important;
  font-size: 36px !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}

html body.legal-page .legal-hero p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #526274 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}

html body.legal-page .legal-hero em {
  display: block !important;
  margin-top: 14px !important;
  color: #8a99aa !important;
  font-size: 13px !important;
  font-style: normal !important;
}

html body.legal-page .legal-document section {
  padding-top: 26px !important;
}

html body.legal-page .legal-document h2 {
  margin: 0 0 12px !important;
  color: #142033 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

html body.legal-page .legal-document p {
  margin: 0 0 12px !important;
  color: #526274 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

html body.legal-page .legal-document p:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 1180px) {
  html body.member-commercial-page.page-member-center .member-auth-panel {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "hero"
      "login"
      "benefit" !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero,
  html body.member-commercial-page.page-member-center .member-login-card {
    min-height: 0 !important;
  }

  html body.member-commercial-page.page-member-center .member-benefit-card ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  html body.member-commercial-page.page-member-center .member-auth-hero {
    padding: 30px 24px !important;
  }

  html body.member-commercial-page.page-member-center .member-benefit-card ul,
  html body.member-commercial-page.page-member-center .member-record-grid {
    grid-template-columns: 1fr !important;
  }

  html body.legal-page .legal-main {
    padding: 24px 0 52px !important;
  }

  html body.legal-page .legal-document {
    padding: 30px 22px 34px !important;
  }

}

/* Member center: page-level UI polish for the login and account workspace. */
html body.member-commercial-page.page-member-center {
  background:
    linear-gradient(180deg, #f4f8fd 0%, #ffffff 48%, #f6f9fc 100%) !important;
}

html body.member-commercial-page.page-member-center .member-commercial-main {
  width: min(1180px, calc(100vw - 64px)) !important;
  padding: 30px 0 56px !important;
}

html body.member-commercial-page.page-member-center .member-auth-panel {
  grid-template-columns: minmax(0, 1fr) 500px !important;
  grid-template-areas:
    "hero login"
    "benefit benefit" !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 0 !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero,
html body.member-commercial-page.page-member-center .member-login-card,
html body.member-commercial-page.page-member-center .member-benefit-card,
html body.member-commercial-page.page-member-center .member-workspace,
html body.member-commercial-page.page-member-center .member-profile-card,
html body.member-commercial-page.page-member-center .member-action-card,
html body.member-commercial-page.page-member-center .member-record-card,
html body.member-commercial-page.page-member-center .member-service-banner {
  border-color: #d9e6f5 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 32px rgba(20, 66, 120, .055) !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero,
html body.member-commercial-page.page-member-center .member-login-card {
  min-height: 0 !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero {
  min-height: 548px !important;
  padding: 42px 46px !important;
  background:
    linear-gradient(135deg, rgba(18, 105, 243, .11) 0%, rgba(255, 255, 255, .98) 62%),
    #fff !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero::after {
  right: 42px !important;
  bottom: 36px !important;
  width: 232px !important;
  height: 154px !important;
  border: 1px solid rgba(159, 201, 255, .7) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(90deg, rgba(18, 105, 243, .16) 0 28%, transparent 28% 100%) 28px 34px / 150px 12px no-repeat,
    linear-gradient(90deg, rgba(18, 105, 243, .10) 0 54%, transparent 54% 100%) 28px 62px / 172px 10px no-repeat,
    linear-gradient(90deg, rgba(18, 105, 243, .10) 0 42%, transparent 42% 100%) 28px 88px / 172px 10px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(238, 246, 255, .9)) !important;
  box-shadow: 0 18px 42px rgba(18, 105, 243, .14) !important;
  transform: rotate(-2deg) !important;
}

html body.member-commercial-page.page-member-center .member-kicker {
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero h1 {
  max-width: 540px !important;
  margin: 20px 0 14px !important;
  font-size: 34px !important;
  line-height: 1.22 !important;
}

html body.member-commercial-page.page-member-center .member-auth-hero p {
  max-width: 560px !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}

html body.member-commercial-page.page-member-center .member-proof-row {
  gap: 10px !important;
  margin-top: 30px !important;
}

html body.member-commercial-page.page-member-center .member-proof-row span {
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .88) !important;
}

html body.member-commercial-page.page-member-center .member-login-card {
  padding: 24px 30px !important;
}

html body.member-commercial-page.page-member-center .member-card-title h2,
html body.member-commercial-page.page-member-center .member-login-card h2 {
  font-size: 23px !important;
  line-height: 1.28 !important;
}

html body.member-commercial-page.page-member-center .member-card-title p {
  margin: 6px 0 14px !important;
  font-size: 14px !important;
}

html body.member-commercial-page.page-member-center .member-commercial-page .member-login-form,
html body.member-commercial-page.page-member-center .member-login-form {
  gap: 10px !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-field {
  gap: 6px !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-input-shell,
html body.member-commercial-page.page-member-center .member-login-form .member-code-input {
  min-height: 48px !important;
  border-radius: 8px !important;
}

html body.member-commercial-page.page-member-center .member-login-form input {
  height: 46px !important;
  font-size: 14px !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-field em {
  display: none !important;
}

html body.member-commercial-page.page-member-center .member-form-row {
  min-height: 28px !important;
}

html body.member-commercial-page.page-member-center .member-agreement-check {
  min-height: 40px !important;
  padding: 9px 11px !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
}

html body.member-commercial-page.page-member-center .member-primary-action {
  min-height: 48px !important;
  border-radius: 8px !important;
}

html body.member-commercial-page.page-member-center .member-login-links {
  gap: 10px !important;
  margin-top: 10px !important;
}

html body.member-commercial-page.page-member-center .member-login-links a {
  min-height: 34px !important;
  border-radius: 7px !important;
  background: #fff !important;
}

html body.member-commercial-page.page-member-center .member-login-trust {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  margin-top: 10px !important;
  padding: 0 !important;
  background: transparent !important;
}

html body.member-commercial-page.page-member-center .member-login-trust span {
  font-size: 12px !important;
}

html body.member-commercial-page.page-member-center .member-legal {
  display: none !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card {
  padding: 20px 24px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card h2 {
  font-size: 18px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card ul {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

html body.member-commercial-page.page-member-center .member-benefit-card li {
  min-height: 92px !important;
  padding: 12px !important;
  border-radius: 8px !important;
}

html body.member-commercial-page.page-member-center .member-workspace {
  padding: 22px !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.member-commercial-page.page-member-center .member-desk-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.member-commercial-page.page-member-center .member-record-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.member-commercial-page.page-member-center .member-profile-card,
html body.member-commercial-page.page-member-center .member-action-card,
html body.member-commercial-page.page-member-center .member-record-card {
  border-radius: 10px !important;
}

@media (max-width: 1180px) {
  html body.member-commercial-page.page-member-center .member-commercial-main {
    width: min(960px, calc(100vw - 48px)) !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-panel {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "hero"
      "login"
      "benefit" !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero {
    min-height: 0 !important;
    padding-bottom: 136px !important;
  }

  html body.member-commercial-page.page-member-center .member-login-card {
    max-width: 560px !important;
    width: 100% !important;
    justify-self: center !important;
  }

  html body.member-commercial-page.page-member-center .member-benefit-card ul,
  html body.member-commercial-page.page-member-center .member-stat-cards,
  html body.member-commercial-page.page-member-center .member-desk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  html body.member-commercial-page.page-member-center .member-commercial-main {
    width: calc(100vw - 28px) !important;
    padding: 18px 0 42px !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-panel {
    gap: 14px !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero,
  html body.member-commercial-page.page-member-center .member-login-card,
  html body.member-commercial-page.page-member-center .member-benefit-card,
  html body.member-commercial-page.page-member-center .member-workspace {
    padding: 20px !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero {
    padding-bottom: 20px !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero::after {
    display: none !important;
  }

  html body.member-commercial-page.page-member-center .member-auth-hero h1 {
    font-size: 28px !important;
  }

  html body.member-commercial-page.page-member-center .member-code-input {
    grid-template-columns: 24px minmax(0, 1fr) !important;
  }

  html body.member-commercial-page.page-member-center .member-code-input button {
    grid-column: 1 / -1 !important;
    min-height: 42px !important;
    margin: 0 !important;
  }

  html body.member-commercial-page.page-member-center .member-form-row,
  html body.member-commercial-page.page-member-center .member-login-links,
  html body.member-commercial-page.page-member-center .member-login-trust,
  html body.member-commercial-page.page-member-center .member-benefit-card ul,
  html body.member-commercial-page.page-member-center .member-stat-cards,
  html body.member-commercial-page.page-member-center .member-desk-grid,
  html body.member-commercial-page.page-member-center .member-record-grid {
    grid-template-columns: 1fr !important;
  }

  html body.member-commercial-page.page-member-center .member-form-row {
    display: grid !important;
  }

  html body.member-commercial-page.page-member-center .member-benefit-card li {
    min-height: 0 !important;
  }

  html body.legal-page .legal-hero h1 {
    font-size: 30px !important;
  }
}

/* Homepage hero search tabs: keep the four segments flush without blue gaps. */
@media (min-width: 1024px) {
  html body .site-hero .search-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: min(860px, calc(100vw - 104px)) !important;
    max-width: 860px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 8px 8px 0 0 !important;
    overflow: hidden !important;
    background: rgba(7, 86, 184, .28) !important;
  }

  html body .site-hero .search-tabs button {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none !important;
  }

  html body .site-hero .search-tabs button:last-child {
    border-right: 0 !important;
  }

html body .site-hero .search-tabs button.active,
  html body .site-hero .search-tabs button:hover {
    color: #1269f3 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
}

/* Member center: stabilize the reduced dashboard after removing unused modules. */
html body.member-commercial-page.page-member-center .member-workspace:not([hidden]) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin: 0 0 44px !important;
  padding: 24px !important;
  border: 1px solid #d8e7f8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(15, 44, 84, .07) !important;
}

html body.member-commercial-page.page-member-center .member-workspace-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 0 !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #edf3fb !important;
}

html body.member-commercial-page.page-member-center .member-workspace-head h2 {
  margin: 8px 0 0 !important;
  color: #111827 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
}

html body.member-commercial-page.page-member-center .member-workspace-head p {
  max-width: 720px !important;
  margin: 8px 0 0 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards a {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon label unit"
    "icon value unit"
    "icon link link" !important;
  gap: 3px 12px !important;
  align-items: center !important;
  min-height: 112px !important;
  padding: 18px !important;
  overflow: hidden !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards .icon-slot {
  grid-area: icon !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards small {
  grid-area: label !important;
  color: #637189 !important;
  font-size: 13px !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards strong {
  grid-area: value !important;
  min-width: 0 !important;
  color: #122033 !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards em {
  grid-area: unit !important;
  align-self: center !important;
  color: #7b8794 !important;
  font-size: 13px !important;
  font-style: normal !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards b {
  grid-area: link !important;
  margin-top: 6px !important;
  color: #1269f3 !important;
  font-size: 13px !important;
}

html body.member-commercial-page.page-member-center .member-workspace-layout {
  display: grid !important;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-profile-card,
html body.member-commercial-page.page-member-center .member-action-card,
html body.member-commercial-page.page-member-center .member-record-card {
  min-width: 0 !important;
  padding: 20px !important;
}

html body.member-commercial-page.page-member-center .member-profile-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 16px !important;
  align-items: stretch !important;
}

html body.member-commercial-page.page-member-center .member-profile-card .member-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}

html body.member-commercial-page.page-member-center .member-profile-card .member-card-head h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

html body.member-commercial-page.page-member-center .member-profile-card .member-card-head a {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #1269f3 !important;
  background: transparent !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

html body.member-commercial-page.page-member-center .member-profile-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-profile-form label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #526274 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  writing-mode: horizontal-tb !important;
}

html body.member-commercial-page.page-member-center .member-profile-form input,
html body.member-commercial-page.page-member-center .member-profile-form select {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #d9e6f5 !important;
  border-radius: 7px !important;
  color: #10233f !important;
  background: #fff !important;
  font-size: 14px !important;
  line-height: 42px !important;
  font-weight: 650 !important;
}

html body.member-commercial-page.page-member-center .member-profile-tips {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 8px !important;
  background: #f5f9ff !important;
}

html body.member-commercial-page.page-member-center .member-profile-tips .icon-slot {
  width: 38px !important;
  height: 38px !important;
  color: #1269f3 !important;
  background: #eaf3ff !important;
}

html body.member-commercial-page.page-member-center .member-profile-tips p {
  margin: 0 !important;
  color: #5a6a7f !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

html body.member-commercial-page.page-member-center .member-action-card {
  display: grid !important;
  align-content: start !important;
  gap: 16px !important;
}

html body.member-commercial-page.page-member-center .member-desk-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.member-commercial-page.page-member-center .member-desk-grid a {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  min-height: 136px !important;
  align-content: start !important;
  padding: 18px !important;
}

html body.member-commercial-page.page-member-center .member-desk-grid .icon-slot {
  width: 46px !important;
  height: 46px !important;
}

html body.member-commercial-page.page-member-center .member-record-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-service-banner {
  margin: 0 !important;
}

@media (max-width: 1180px) {
  html body.member-commercial-page.page-member-center .member-workspace-layout {
    grid-template-columns: 1fr !important;
  }

  html body.member-commercial-page.page-member-center .member-desk-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body.member-commercial-page.page-member-center .member-workspace:not([hidden]) {
    padding: 18px !important;
  }

  html body.member-commercial-page.page-member-center .member-workspace-head {
    grid-template-columns: 1fr !important;
  }

  html body.member-commercial-page.page-member-center .member-stat-cards,
  html body.member-commercial-page.page-member-center .member-desk-grid,
  html body.member-commercial-page.page-member-center .member-record-grid {
    grid-template-columns: 1fr !important;
  }

  html body.member-commercial-page.page-member-center .member-service-banner {
    display: grid !important;
  }
}

/* Downloads hub: professional resource cards with clearer hierarchy and anchored actions. */
html body.page-downloads-hub .download-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

html body.page-downloads-hub .download-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  grid-template-rows: minmax(132px, 1fr) auto !important;
  gap: 14px 14px !important;
  min-height: 236px !important;
  padding: 18px 18px 16px !important;
  overflow: hidden !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 10px 28px rgba(15, 44, 84, .045) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

html body.page-downloads-hub .download-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 3px !important;
  background: var(--card-color, #1269f3) !important;
  opacity: .85 !important;
}

html body.page-downloads-hub .download-card:hover {
  height: auto !important;
  border-color: rgba(18, 105, 243, .34) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(15, 44, 84, .09) !important;
  transform: translateY(-2px) !important;
}

html body.page-downloads-hub .download-card > .download-card-icon.icon-slot {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 11px !important;
  border: 1px solid rgba(18, 105, 243, .16) !important;
  border-radius: 8px !important;
  color: var(--card-color, #1269f3) !important;
  background: #f4f8ff !important;
  box-shadow: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}

html body.page-downloads-hub .download-card > .download-card-icon.icon-slot::before {
  width: 22px !important;
  height: 22px !important;
}

html body.page-downloads-hub .download-card > div {
  grid-column: 2 / 4 !important;
  grid-row: 1 !important;
  display: flex !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 0 6px !important;
}

html body.page-downloads-hub .download-card strong {
  flex: 0 0 100% !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  color: #111827 !important;
  font-size: 17px !important;
  line-height: 1.42 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  -webkit-line-clamp: 2 !important;
}

html body.page-downloads-hub .download-card p {
  flex: 0 0 100% !important;
  min-height: 46px !important;
  margin: 0 0 12px !important;
  color: #56657a !important;
  font-size: 13px !important;
  line-height: 1.68 !important;
  -webkit-line-clamp: 2 !important;
}

html body.page-downloads-hub .download-card em,
html body.page-downloads-hub .download-card .download-resource-meta {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  min-height: 24px !important;
  margin: 0 0 6px !important;
  padding: 0 8px !important;
  border: 1px solid #dce8f6 !important;
  border-radius: 5px !important;
  color: #4f6076 !important;
  background: #f6f9fd !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

html body.page-downloads-hub .download-card .download-resource-meta {
  color: #3f536d !important;
  background: #f1f6fd !important;
}

html body.page-downloads-hub .download-card button {
  grid-row: 2 !important;
  min-height: 42px !important;
  margin-top: 2px !important;
  padding: 0 14px !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

html body.page-downloads-hub .download-card button[data-download-resource] {
  grid-column: 1 / 3 !important;
  justify-self: stretch !important;
  color: #fff !important;
  border-color: #1269f3 !important;
  background: #1269f3 !important;
  box-shadow: 0 10px 20px rgba(18, 105, 243, .16) !important;
}

html body.page-downloads-hub .download-card button[data-save-resource] {
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 86px !important;
  color: #26364d !important;
  border-color: #d6e4f4 !important;
  background: #fff !important;
}

html body.page-downloads-hub .download-card button:hover {
  transform: translateY(-1px) !important;
}

html body.page-downloads-hub .download-card button[data-download-resource]:hover {
  background: #0b5ed7 !important;
  border-color: #0b5ed7 !important;
}

html body.page-downloads-hub .download-card button[data-save-resource]:hover {
  color: #1269f3 !important;
  border-color: rgba(18, 105, 243, .34) !important;
  background: #f7fbff !important;
}

html body.page-downloads-hub .download-card button .icon-slot {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

@media (max-width: 1180px) {
  html body.page-downloads-hub .download-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  html body.page-downloads-hub .download-grid {
    grid-template-columns: 1fr !important;
  }

  html body.page-downloads-hub .download-card {
    min-height: 0 !important;
  }
}

/* Member login: keep the agreement as a quiet consent row, not a faux input card. */
html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check {
  display: inline-grid !important;
  grid-template-columns: 16px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #526274 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 2px 0 0 !important;
  border-radius: 4px !important;
  accent-color: #1269f3 !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check span {
  display: block !important;
  min-width: 0 !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check a {
  color: #1269f3 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check a:hover,
html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check a:focus-visible {
  text-decoration: underline !important;
}

html body.member-commercial-page.page-member-center .member-login-form .member-primary-action {
  margin-top: 4px !important;
}

/* Homepage: keep floating hero stats inside the viewport on medium desktop widths. */
@media (min-width: 981px) and (max-width: 1480px) {
  html body .site-hero .hero-stat-cards {
    right: 16px !important;
  }
}

/* QA pass 2026-06-01: contain mid-width filters and tighten mobile form ergonomics. */
@media (max-width: 720px) {
  html body .inner-header .topbar,
  html body .site-hero .topbar {
    padding-top: max(10px, env(safe-area-inset-top)) !important;
  }

  html body .site-hero .search-box {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 92px !important;
    align-items: stretch !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: 56px !important;
    min-height: 56px !important;
    margin-inline: auto !important;
    padding: 4px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
  }

  html body .site-hero .search-box input,
  html body .site-hero .search-box button {
    width: auto !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
  }

  html body .site-hero .search-box input {
    min-width: 0 !important;
    padding: 0 12px 0 14px !important;
    font-size: 15px !important;
    line-height: 48px !important;
  }

  html body .site-hero .search-box button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body.member-commercial-page.page-member-center .member-form-row {
    align-items: center !important;
    gap: 12px !important;
  }

  html body.member-commercial-page.page-member-center .member-login-form .member-check {
    min-height: 44px !important;
    align-items: center !important;
  }

  html body.member-commercial-page.page-member-center .member-login-form .member-check input {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: #1269f3 !important;
  }

  html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 44px !important;
    align-items: center !important;
  }

  html body.member-commercial-page.page-member-center .member-login-form .member-agreement-check input {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
  }
}

@media (min-width: 721px) and (max-width: 1180px) {
  html body.page-major-library .major-filter-row {
    min-height: 0 !important;
    align-items: flex-start !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  html body.page-major-library .major-filter-row > div {
    flex-wrap: wrap !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 720px) {
  html body .site-hero .search-box {
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }

  html body .site-hero .search-box button {
    width: 58px !important;
    min-width: 0 !important;
    max-width: 58px !important;
    gap: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  html body .site-hero .search-box button::after {
    content: "" !important;
    display: none !important;
  }

  html body .site-hero .search-box button .icon-slot,
  html body .site-hero .search-box button span {
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
  }
}

/* Member center: prevent legacy absolute icon rules from breaking stat cards. */
html body.member-commercial-page.page-member-center .member-stat-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin: 0 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards a {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto auto !important;
  grid-template-areas:
    "icon label label"
    "icon value unit"
    "icon link link" !important;
  gap: 4px 16px !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 18px 20px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards .icon-slot {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  top: auto !important;
  grid-area: icon !important;
  justify-self: start !important;
  align-self: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  transform: none !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards small {
  grid-area: label !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards strong {
  grid-area: value !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards em {
  grid-area: unit !important;
  justify-self: end !important;
  align-self: end !important;
  margin: 0 !important;
  padding-bottom: 2px !important;
  line-height: 1 !important;
}

html body.member-commercial-page.page-member-center .member-stat-cards b {
  grid-area: link !important;
  min-width: 0 !important;
  margin: 4px 0 0 !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  html body.member-commercial-page.page-member-center .member-stat-cards {
    grid-template-columns: 1fr !important;
  }

  html body.member-commercial-page.page-member-center .member-stat-cards a {
    min-height: 104px !important;
    padding: 16px !important;
  }
}

/* Downloads hub: keep action buttons from being squeezed in narrow card columns. */
html body.page-downloads-hub .download-card .download-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body.page-downloads-hub .download-card .member-primary-action,
html body.page-downloads-hub .download-card button[data-download-resource] {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 124px !important;
  width: auto !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
}

html body.page-downloads-hub .download-card .collect-link,
html body.page-downloads-hub .download-card button[data-save-resource] {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 64px !important;
  width: auto !important;
  padding: 0 10px !important;
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  html body.page-downloads-hub .download-card .download-card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: stretch !important;
  }

  html body.page-downloads-hub .download-card .member-primary-action,
  html body.page-downloads-hub .download-card button[data-download-resource],
  html body.page-downloads-hub .download-card .collect-link,
  html body.page-downloads-hub .download-card button[data-save-resource] {
    width: 100% !important;
  }
}
