@import url('/fonts/noto-sans-sc/font.css');

@font-face {
  font-family: 'Graphik';
  src: url('/fonts/graphik/Graphik-Regular.otf') format('opentype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Graphik';
  src: url('/fonts/graphik/Graphik-Medium.otf') format('opentype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Graphik';
  src: url('/fonts/graphik/Graphik-Semibold.otf') format('opentype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

/* Self-hosted Noto Sans SC, SIL OFL. Keep Chinese UI consistent across devices. */
html:root, body {
  font-family: 'Graphik', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body { line-height: 1.6; font-weight: 400; }
body :is(button, input, select, textarea) { font-family: inherit; }
body :is(h1, h2, h3) { font-weight: 600; letter-spacing: -.015em; }
body :is(strong, b) { font-weight: 600; }
body :is(.btn, .text-btn, .status-tabs button, .detail-tabs button) { font-size: 13px; font-weight: 500; }
body :is(.page-heading p, .section-title p, .subtle, .modal-body p, .notice, .field) { font-size: 13px; line-height: 1.8; }
body :is(.field input, .field textarea, .field select, .search input, .filterbar > select) { font-size: 14px; }
body table { font-size: 13px; line-height: 1.65; }
body th { font-size: 12px; font-weight: 500; }
body td strong { font-size: 13px; font-weight: 500; }
body :is(td small, .history small, .email-preview small, .inline-note) { font-size: 11px; }
body :is(.badge, .match-seal) { font-size: 11px; font-weight: 500; }
body :is(.num, .amount, .metric strong, .detail-total strong) { font-variant-numeric: lining-nums tabular-nums; }
body .sidebar nav button.active { font-weight: 600; }
body .brand { font-weight: 600; letter-spacing: .015em; }
@media (max-width: 620px) {
  body :is(.field input, .field textarea, .field select, .search input) { font-size: 16px; }
}
