/* Shared type scale for public pages, user workspace and administration.
   CSS pixels follow browser/OS scaling; never force zoom or shrink the page. */
:root {
  --font-ui: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-code: Consolas, "SFMono-Regular", Menlo, monospace;
  --type-caption: 12px;
  --type-control: 13px;
  --type-body: 14px;
  --type-section: 16px;
  --type-dialog: 18px;
  --type-title: 22px;
  --type-value: 24px;
}
body, body.uc, body.adm {
  font-family: var(--font-ui);
  font-size: var(--type-body);
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: normal;
}
button, input, select, textarea { font-family: var(--font-ui) !important; }
body h1, body h2, body h3, body h4 { font-family: var(--font-ui); font-weight: 600; letter-spacing: normal; }
body h1, body .uc-phead h1, body .page-head h1, body .wb-title, body .kb-title {
  font-size: var(--type-title) !important; line-height: 1.4; font-weight: 600;
}
body h2 { font-size: var(--type-dialog); line-height: 1.5; }
body h3, body h4 { font-size: var(--type-section); line-height: 1.5; }
body .uc-card-hd h2, body .uc-card-hd h3, body .card h2, body .v6-card h3,
body .st-hd h2 { font-size: var(--type-section) !important; font-weight: 600; line-height: 1.5; }
body .uc-phead p, body .uc-phead .sub, body .page-head .sub, body .card-sub,
body .kb-sub, body .uc-chan .meta, body .uc-note, body .v6-notice {
  font-size: var(--type-control); line-height: 1.75;
}
body .uc-hint, body .field .hint, body .sr-caption, body .uc-sm, body .uc-sub,
body .uc-kpi .d, body .uc-side-foot, body .kb-meta, body .uc-empty .es,
body .pc-sub, body .pc-note, body .tp-foot { font-size: var(--type-caption) !important; line-height: 1.7; }
body small { font-size: var(--type-caption); }
body .uc-brand .tx > span, body .adm-brand .tx > span, body .uc-who span,
body .adm-who span, body .uc-kicker, body .v6-kicker, body .uc-plan small,
body .uc-plan .rib, body .uc-pk .tagline, body .uc-tl .it .tt,
body .adm-foot, body .adm-subkpi .k, body .adm-subkpi .d, body .st-metric span,
body [style*="font-size:10"], body [style*="font-size: 10"],
body [style*="font-size:11"], body [style*="font-size: 11"] {
  font-size: var(--type-caption) !important; line-height: 1.6;
}
/* Native controls and custom buttons use the same readable type. */
body .btn, body .btn.sm, body .v6-btn, body .uc-btn, body .uc-btn.sm,
body .uc-navi, body .uc-chip, body .uc-tabs a, body .sr-channel-tab,
body .adm-navi, body .theme-option { font-size: var(--type-control) !important; font-weight: 500; line-height: 1.5; }
body .uc-btn, body .btn, body .v6-btn { min-height: 34px; box-sizing: border-box; padding: 7px 12px; }
body .uc-btn.sm, body .btn.sm { min-height: 32px; padding: 6px 11px; }
body .uc-field label, body .field label, body label { font-size: var(--type-control) !important; line-height: 1.6; font-weight: 500; }
body .uc-input, body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body select, body textarea { font-size: var(--type-body) !important; line-height: 1.5; }
body .uc-tag, body .pill, body .chip, body .kb-cat { font-size: var(--type-caption) !important; line-height: 1.5; font-weight: 500; }
body .uc-kpi .k, body .sr-metric, body .uc-kv dt { font-size: var(--type-control); line-height: 1.6; }
body .uc-kpi .v, body .sr-metric strong, body .uc-ring .rt .big {
  font-family: var(--font-ui); font-size: var(--type-value) !important; font-weight: 600;
  line-height: 1.35; letter-spacing: normal; font-variant-numeric: tabular-nums;
}
/* Dense trading data stays legible without oversized rows. */
body table, body table.tbl, body .uc-tbl, body .sr-table { font-size: var(--type-control); line-height: 1.6; }
body table th, body .uc-tbl th, body .sr-table th, body .tbl th {
  font-size: var(--type-control) !important; line-height: 1.5; font-weight: 500; letter-spacing: normal;
}
body table td, body .uc-tbl td, body .sr-table td, body .tbl td {
  font-size: var(--type-control) !important; line-height: 1.6; font-variant-numeric: tabular-nums;
}
body .uc-tbl th, body .uc-tbl td, body .sr-table th, body .sr-table td { padding: 10px 12px; }
body .uc-mono, body.uc .uc-mono, body .mono, body .is-mono, body table .num {
  font-family: var(--font-ui); font-variant-numeric: tabular-nums; letter-spacing: normal;
}
body pre, body code, body .v6-code, body .v6-token {
  font-family: var(--font-code) !important; font-size: var(--type-control); line-height: 1.7;
}
body pre code { font-size: inherit; }
body .kb-body, body .kb-body p, body .kb-body li { font-size: 15px; line-height: 1.85; }
body .kb-body h2 { font-size: 20px !important; line-height: 1.5; }
body .kb-body h3 { font-size: 17px !important; line-height: 1.5; }
body .kb-body { max-width: 78ch; }
body .hero h1 { font-size: clamp(26px, 2.5vw, 34px) !important; line-height: 1.35; }
body .hero .lead { font-size: 15px; line-height: 1.8; }
body .section-title h2 { font-size: var(--type-title); }
body .mf-dialog h2, body .order-confirm h2, body .v6-dialog-head h3,
body .push-config-dialog h2, body .cs-modal-card h2 { font-size: var(--type-dialog) !important; line-height: 1.5; }
body .mf-dialog, body .order-confirm, body .push-config-dialog { font-size: var(--type-body); }
body .mf-dialog .mf-fields .uc-field { margin: 0; }
body .mf-dialog .mf-fields { gap: 12px 14px; }
body .mf-dialog { padding: 20px; }
body .cs-dock-tx b { font-size: var(--type-caption); }
@media (min-width: 901px) and (max-width: 1600px) {
  body.uc .uc-shell { grid-template-columns: 208px minmax(0, 1fr); }
  body.uc .uc-main, body.adm .adm-main { padding: 22px 24px 32px; }
  body.uc .uc-topbar { padding-left: 24px; padding-right: 24px; gap: 10px; }
  body.uc .uc-card-hd { padding: 14px 18px; }
  body.uc .uc-card-bd { padding: 16px 18px; }
  body.uc .uc-card-bd.is-tight { padding: 8px 10px; }
  body .sr-grid { gap: 12px; margin: 16px 0; }
  body .sr-metric { padding: 16px; }
}
@media (max-width: 900px) {
  body .uc-phead h1, body .page-head h1 { font-size: 21px !important; }
  body .uc-kpi .v, body .sr-metric strong { font-size: 22px !important; }
}
@media (max-width: 600px) {
  body .uc-main, body.adm .adm-main { padding: 18px 14px 28px; }
  body .uc-phead { gap: 12px; }
  body .sr-channel-toolbar { gap: 10px; }
  body .sr-channel-toolbar > button { font-size: 12px !important; padding: 6px 9px; }
}
