/* Adobe Source Han Serif, Simplified Chinese variable font, bundled locally. */
@font-face {
  font-family: "Source Han Serif CN";
  src: url("fonts/SourceHanSerifCN-VF.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
:root { --font-ui: "Source Han Serif CN", "Source Han Serif SC", "思源宋体", "Noto Serif SC", "Songti SC", SimSun, serif; }
html, body { font-family: var(--font-ui); font-weight: 400; font-synthesis: none; }
body *, body *::before, body *::after { font-family: var(--font-ui) !important; font-synthesis: none; }
button, input, select, textarea, code, pre, p, td { font-weight: 400; }
.button, .text-button, .nav-link, .nav-link.active, .auth-submit, th,
.form-field, .auth-field, .register-role, .appearance-option b, .test-account-option b { font-weight: 500; }
h2, h3, h4, b, strong, .panel-title, .modal-header h2, .entry-card-heading h2,
.brand, .breadcrumb b, .workspace>div, .region-column h4 { font-weight: 600; }
h1, .welcome-content h1, .page-heading h1, .auth-story h1 { font-weight: 700; }
.stat-value, .large-number, .role-overview-item>b, .live-clock b { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }
.stat-value small, .large-number small, .brand small, .workspace small, .stat-foot,
.panel-subtitle, .eyebrow, .welcome-eyebrow, .entry-card-label, .scenario-status,
.profile-card dt, .profile-card dd, .map-caption, .map-layer-box, .airspace-strip,
.test-account-option small, footer { font-weight: 400; }
.stat-value small { display: inline-block; white-space: nowrap; margin-left: 4px; font-size: 11px; }
.form-field input, .form-field select, .auth-field input, .auth-field select { font-weight: 400; }
.hour-chart b, .hour-chart small, time, [data-scenario-clock], .id-cell, code { font-variant-numeric: tabular-nums lining-nums; }
.sidebar>.brand { margin-inline: 4px; padding: 0; justify-content: flex-start; gap: 8px; }
.sidebar .brand-symbol { width: 44px; height: 44px; }
.sidebar .brand-copy { height: 44px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; flex-shrink: 0; }
.sidebar .brand-cn,.sidebar .brand-en { display: block; width: max-content; white-space: nowrap; line-height: 1; letter-spacing: 0; font-kerning: none; margin: 0; }
.sidebar .brand-cn { font-size: 28px; }
@media(max-width:980px) {
 .sidebar>.brand { margin-inline: 0; justify-content: center; }
 .sidebar .brand-symbol { width: 36px; height: 36px; }
 .sidebar .brand-copy { display: none; }
}
