/* Shared UI typography; use native platform rasterization, not forced thin smoothing. */
:root {
  --font-ui: -apple-system, "SF Pro Text", "SF Pro Display", BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;
  font-family: var(--font-ui);
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
body { font-family: var(--font-ui); font-size: 15px; line-height: 1.55; font-weight: 400; }
body :is(button, input, textarea, select, h1, h2, h3, h4, p, a, label, small, span, th, td, dt, dd) { font-family: var(--font-ui); }
body :is(p, td, label, input, textarea, select) { font-size: 14px; line-height: 1.55; }
body :is(button, .btn, .nav-link, .m-tab) { font-size: 14px; line-height: 1.45; font-weight: 600; }
body :is(small, .muted, .hint, .summary-note, .account-email, .account-facts, .account-kicker, .account-actions small) { font-size: 13px; line-height: 1.5; }
body.app-console .console-page-heading h1 { font-size: 24px; line-height: 1.3; font-weight: 650; }
body .surface-title { font-size: 20px; line-height: 1.35; font-weight: 650; }
body .nav-count, body .nav-index { font-size: 13px; font-weight: 500; }
body .brand-manifest { gap: 16px; min-height: 0; }
body .brand-manifest-foot { font-family: var(--font-ui); font-size: 13px; line-height: 1.5; font-weight: 600; }
body .account-actions a, body .account-actions button { flex-wrap: wrap; row-gap: 4px; }
body .console-masthead .market-card-weather-note { max-width: 100px; }
body :is(pre, code, kbd, samp), body :is(pre, code, kbd, samp) * { font-family: "SFMono-Regular", Consolas, monospace; }
@media (max-width: 640px) {
  body :is(input, textarea, select) { font-size: 16px; }
  body.app-console .console-page-heading h1 { font-size: 22px; }
}
