

:root {
  --gzd-font-serif: "Noto Serif SC", "Source Han Serif SC", "STKaiti", "KaiTi", "Songti SC", serif;
  --gzd-font-sans: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Segoe UI", sans-serif;

  
  --gzd-fs-xs: 0.75rem;      
  --gzd-fs-sm: 0.8125rem;    
  --gzd-fs-base: 0.9375rem;  
  --gzd-fs-md: 1rem;         
  --gzd-fs-lg: 1.0625rem;    
  --gzd-fs-xl: 1.125rem;     
  --gzd-fs-2xl: 1.25rem;     
  --gzd-fs-3xl: 1.5rem;      
  --gzd-fs-display: 1.75rem; 

  --gzd-lh-tight: 1.35;
  --gzd-lh-body: 1.6;
  --gzd-lh-loose: 1.75;

  --gzd-serif: var(--gzd-font-serif);
  --gzd-sans: var(--gzd-font-sans);
}

html,
body {
  font-family: var(--gzd-font-sans);
  font-size: 100%;
  line-height: var(--gzd-lh-body);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}


html.gzd-login-html body {
  font-family: var(--gzd-font-serif);
}

html.gzd-login-html .login-form,
html.gzd-login-html .login-card,
html.gzd-login-html input,
html.gzd-login-html button,
html.gzd-login-html .skip-link,
html.gzd-login-html .portal-dev-ip,
html.gzd-login-html .login-feedback {
  font-family: var(--gzd-font-sans) !important;
}

html.gzd-login-html .brand-slogan,
html.gzd-login-html .slogan-text,
html.gzd-login-html .form-title,
html.gzd-login-html #login-heading {
  font-family: var(--gzd-font-serif) !important;
}


html.gzd-portal-home-page body,
html.gzd-portal-search-page body,
html.gzd-advice-html body,
html.gzd-help-html body,
html.gzd-video-html body,
html.gzd-about-html body {
  font-family: var(--gzd-font-sans) !important;
  font-size: var(--gzd-fs-base) !important;
  color: var(--gzd-ink-body, #4A3C2E);
}


html.gzd-portal-home-page .brand-slogan,
html.gzd-portal-home-page .slogan-text,
html.gzd-portal-home-page .resources-shell__title,
html.gzd-portal-home-page .search-card__title,
html.gzd-portal-home-page .kb-dock__title,
html.gzd-portal-search-page .search-card__title,
html.gzd-portal-search-page .results-archive__title,
html.gzd-portal-search-page .search-sidebar__band-title,
html.gzd-portal-search-page .cluster-nav__title,
html.gzd-portal-search-page .kb-dock__title,
html.gzd-advice-html .gzd-advice-page-title__text,
html.gzd-advice-html .gzd-advice-card-title,
html.gzd-help-html .gzd-help-page-title__text,
html.gzd-help-html .gzd-help-card h1,
html.gzd-help-html .gzd-help-card h2,
html.gzd-video-html .gzd-video-page-title__text,
html.gzd-video-html .gzd-video-card-title,
html.gzd-about-html .gzd-about-page-title__text {
  font-family: var(--gzd-font-serif) !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}


html.gzd-portal-home-page button,
html.gzd-portal-home-page input,
html.gzd-portal-home-page select,
html.gzd-portal-home-page textarea,
html.gzd-portal-home-page .search-tab,
html.gzd-portal-home-page .search-btn,
html.gzd-portal-home-page .footer-links a,
html.gzd-portal-home-page .qr-toggle,
html.gzd-portal-search-page button,
html.gzd-portal-search-page input,
html.gzd-portal-search-page select,
html.gzd-portal-search-page .search-tab,
html.gzd-portal-search-page .search-btn,
html.gzd-portal-search-page .pagination-btn,
html.gzd-portal-search-page .jump-btn,
html.gzd-portal-search-page .gzd-about-back,
html.gzd-portal-search-page .search-mode-toggle,
html.gzd-advice-html input,
html.gzd-advice-html textarea,
html.gzd-advice-html button,
html.gzd-help-html a,
html.gzd-video-html a {
  font-family: var(--gzd-font-sans) !important;
}


html.gzd-portal-home-page .slogan-text {
  font-size: clamp(var(--gzd-fs-md), 2.2vw, var(--gzd-fs-xl)) !important;
}

html.gzd-portal-home-page .search-tab {
  font-size: var(--gzd-fs-md) !important;
  font-weight: 600 !important;
}

html.gzd-portal-home-page .search-input,
html.gzd-portal-home-page #lksw {
  font-size: var(--gzd-fs-md) !important;
}

html.gzd-portal-home-page .search-btn {
  font-size: var(--gzd-fs-md) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
}

html.gzd-portal-home-page .resources-shell__title {
  font-size: var(--gzd-fs-xl) !important;
}

html.gzd-portal-home-page .resource-name {
  font-size: var(--gzd-fs-sm) !important;
  font-weight: 600 !important;
  font-family: var(--gzd-font-sans) !important;
  letter-spacing: 0.04em !important;
}

html.gzd-portal-home-page .kb-dock__title {
  font-size: var(--gzd-fs-lg) !important;
}

html.gzd-portal-home-page .kb-dock__link,
html.gzd-portal-home-page .kb-dock__label {
  font-size: var(--gzd-fs-sm) !important;
  font-family: var(--gzd-font-sans) !important;
}

html.gzd-portal-home-page .portal-account,
html.gzd-portal-home-page .portal-dev-ip,
html.gzd-portal-home-page .ip-display {
  font-size: var(--gzd-fs-sm) !important;
  font-family: var(--gzd-font-sans) !important;
}

html.gzd-portal-home-page .footer-links a,
html.gzd-portal-home-page .qr-toggle-text {
  font-size: var(--gzd-fs-sm) !important;
}

html.gzd-portal-home-page .footer-info,
html.gzd-portal-home-page .footer-bottom {
  font-size: var(--gzd-fs-xs) !important;
  font-family: var(--gzd-font-sans) !important;
  letter-spacing: 0.02em !important;
}


html.gzd-portal-search-page .search-sidebar__band-title,
html.gzd-portal-search-page .search-card__title {
  font-size: var(--gzd-fs-lg) !important;
}

html.gzd-portal-search-page .search-tab {
  font-size: var(--gzd-fs-sm) !important;
  font-weight: 600 !important;
}

html.gzd-portal-search-page .search-input,
html.gzd-portal-search-page .search-btn {
  font-size: var(--gzd-fs-md) !important;
}

html.gzd-portal-search-page .results-archive__title {
  font-size: var(--gzd-fs-xl) !important;
}

html.gzd-portal-search-page .results-archive__subtitle {
  font-size: var(--gzd-fs-sm) !important;
  font-family: var(--gzd-font-sans) !important;
  color: var(--gzd-ink-muted, #7A6A56) !important;
}

html.gzd-portal-search-page .results-table-header th {
  font-family: var(--gzd-font-sans) !important;
  font-size: var(--gzd-fs-sm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

html.gzd-portal-search-page .results-table td {
  font-family: var(--gzd-font-sans) !important;
  font-size: var(--gzd-fs-base) !important;
}

html.gzd-portal-search-page .results-table td.col-title a {
  font-size: var(--gzd-fs-lg) !important;
  font-weight: 600 !important;
  font-family: var(--gzd-font-sans) !important;
  letter-spacing: 0.02em !important;
}

html.gzd-portal-search-page .database-badge,
html.gzd-portal-search-page .source-badge,
html.gzd-portal-search-page .meta-text,
html.gzd-portal-search-page .meta-empty {
  font-family: var(--gzd-font-sans) !important;
  font-size: var(--gzd-fs-sm) !important;
}

html.gzd-portal-search-page .pagination-info {
  font-size: var(--gzd-fs-sm) !important;
}

html.gzd-portal-search-page .pagination-btn {
  font-size: var(--gzd-fs-sm) !important;
}


html.gzd-advice-html .gzd-advice-page-title__text,
html.gzd-help-html .gzd-help-page-title__text,
html.gzd-video-html .gzd-video-page-title__text,
html.gzd-about-html .gzd-about-page-title__text {
  font-size: var(--gzd-fs-2xl) !important;
}

html.gzd-advice-html .gzd-advice-card-title,
html.gzd-video-html .gzd-video-card-title,
html.gzd-help-html .gzd-help-card h1 {
  font-size: var(--gzd-fs-xl) !important;
}

html.gzd-advice-html .gzd-advice-label,
html.gzd-advice-html .gzd-advice-input,
html.gzd-advice-html .gzd-advice-textarea {
  font-size: var(--gzd-fs-md) !important;
}

html.gzd-help-html .gzd-help-card,
html.gzd-advice-html .gzd-advice-card-intro,
html.gzd-video-html .gzd-video-card-intro {
  font-size: var(--gzd-fs-base) !important;
  line-height: var(--gzd-lh-body) !important;
}


html.gzd-portal-elder-page body {
  font-family: var(--gzd-font-sans) !important;
}

html.gzd-portal-elder-page .search-tab,
html.gzd-portal-elder-page .search-input,
html.gzd-portal-elder-page .search-btn {
  font-size: max(1.125rem, 18px) !important;
  font-family: var(--gzd-font-sans) !important;
}

html.gzd-portal-elder-page .results-table td.col-title a,
html.gzd-portal-elder-page .resource-name {
  font-size: max(1.2rem, 19px) !important;
}


html.gzd-portal-search-page:not(.gzd-portal-elder-page) .results-archive .results-table td,
html.gzd-portal-search-page:not(.gzd-portal-elder-page) .results-archive .results-table-header th,
html.gzd-portal-search-page:not(.gzd-portal-elder-page) .database-badge,
html.gzd-portal-search-page:not(.gzd-portal-elder-page) .pagination-btn,
html.gzd-portal-search-page:not(.gzd-portal-elder-page) .cluster-nav-item {
  font-family: var(--gzd-font-sans) !important;
}
