/* Tencent-inspired type hierarchy: regular destinations share the body scale;
   section headings and long-form reading have distinct roles. No page zoom. */
:root {
  --font-family: "PingFang SC", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --font-small: .9375rem;
  --font-body: 1rem;
  --font-link: 1rem;
  --font-lead: 1.125rem;
  --font-reading: 1.125rem;
  --font-section: 1.375rem;
  --font-title: 1.375rem;
  --font-page: 1.625rem;
  --weight-regular: 400;
  --weight-heading: 600;
  --line-ui: 1.5;
  --line-body: 1.625;
  --line-reading: 1.666667;
  --color-bg: #f5f7fa;
  --color-surface: #ffffff;
  --color-soft: #f0f3f8;
  --color-text: #1f2b3d;
  --color-secondary: #43536b;
  --color-muted: #607087;
  --color-border: #dce3ec;
  --color-accent: #285bc4;
  --accent-light: var(--color-soft);
  --link: var(--readable-accent-light, #285bc4);
  --accent-fill: var(--readable-accent-fill, #285bc4);
  --on-accent: #ffffff;
  --success-text: #18704d;
  --success-bg: #eaf5ef;
  --warning-text: #8a5a0a;
  --warning-bg: #fff5df;
  --danger-text: #b3323e;
  --danger-bg: #fceef0;
  --text-secondary: var(--color-secondary);
  --text-muted: var(--color-muted);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --color-bg: #151c2b;
  --color-surface: #1c2536;
  --color-soft: #202d43;
  --color-text: #e8edf5;
  --color-secondary: #c0ccdd;
  --color-muted: #9baac0;
  --color-border: #3a4a62;
  --color-accent: #94b9ff;
  --link: var(--readable-accent-dark, #94b9ff);
  --success-text: #83d6af;
  --success-bg: #203d32;
  --warning-text: #e8be76;
  --warning-bg: #3d3421;
  --danger-text: #ff9da6;
  --danger-bg: #442b34;
}
html { font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: var(--font-family); font-size: var(--font-body); font-weight: var(--weight-regular); line-height: var(--line-body); letter-spacing: normal; }
:where(h1, h2, h3, h4, h5, h6, strong, b) { font-weight: var(--weight-heading); }
small { font-size: var(--font-small); }
button, input, textarea, select { font-family: inherit; }
input::placeholder, textarea::placeholder { color: var(--color-muted); opacity: 1; }
:where(p, li, dd) { line-break: strict; }
:where(button, a, input, select, textarea, summary):focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
