@font-face { font-family: "Meihua Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("./fonts/meihua-serif-v1.woff2") format("woff2"); }
@font-face { font-family: "Meihua Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("./fonts/meihua-sans-v1.woff2") format("woff2"); }
@font-face { font-family: "Meihua Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("./fonts/meihua-sans-medium-v1.woff2") format("woff2"); }
@font-face { font-family: "Meihua Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("./fonts/meihua-mono-v1.woff2") format("woff2"); }
:root {
  color-scheme: light;
  --font-serif: "Meihua Serif", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  --font-sans: "Meihua Sans", "Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-mono: "Meihua Mono", "Meihua Sans", "SFMono-Regular", Consolas, monospace;
  --serif: var(--font-serif);
  --type-caption: 10px;
  --type-small: var(--type-caption);
  --type-ui: var(--type-body);
  --type-body: 16px;
  --type-title: 20px;
  --type-section: 20px;
  --type-number: 32px;
  --type-page: 40px;
  --type-display: 48px;
  --line-caption: 1.5;
  --line-ui: 1.5;
  --line-body: 1.75;
  --line-title: 1.4;
  --weight-regular: 400;
  --weight-medium: 500;
  --ink: #191919;
  --text: #454545;
  --muted: #767676;
  --paper: #fafafa;
  --surface: #f0f0f0;
  --line: #dedede;
  --line-soft: #eaeaea;
  --red: #b92a28;
  --poster-paper: #fbfbfb;
  --poster-dark: #171717;
  --poster-dark-ink: #f5f5f5;
  --poster-dark-muted: #a9a9a9;
  --poster-dark-line: #454545;
  --poster-dark-red: #ef6662;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --shell-width: 1120px;
  --page-gutter: 48px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --page-inset: max(var(--page-gutter), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --page-space: 48px;
  --control-height: 48px;
  --control-gap: 8px;
  --control-padding: 24px;
  --action-min-width: 136px;
  --primary-hit-inset: 4px;
  --action-underline-offset: 4px;
  --field-height: 56px;
  --icon-size: 16px;
  --focus-ring: 2px solid var(--red);
}
@media (max-width: 1000px) {
  :root { --page-gutter: 32px; }
}
@media (max-width: 700px) {
  :root { --page-gutter: 24px; --page-space: 32px; --control-padding: 16px; --action-min-width: 120px; }
}
@media (max-width: 360px) {
  :root { --page-gutter: 20px; }
}
