*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--mp-bg); color: var(--mp-text); font-size: 16px; -webkit-text-size-adjust: 100%; }
body { min-height: 100dvh; margin: 0; background: var(--mp-bg); color: var(--mp-text); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.58; text-rendering: optimizeLegibility; }
body.mp-no-scroll { overflow: hidden; }
button, input, select, textarea { min-height: 44px; font: inherit; }
button, [role="button"], a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
img, svg { display: block; max-width: 100%; }
a { color: var(--mp-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--mp-text-strong); line-height: 1.3; }
table { width: 100%; border-collapse: collapse; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--mp-primary) 45%, transparent); outline-offset: 2px; }
.mp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.mp-skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; padding: 10px 14px; border-radius: var(--mp-radius-sm); background: var(--mp-primary); color: var(--mp-on-primary); transform: translateY(-160%); }
.mp-skip-link:focus { transform: translateY(0); }
.mp-number { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
