/* 微笑管家 · 样式层（Token 值来源 docs/design-tokens.css，逐条一致；此处仅裁剪注释以适配 4Mbps 体积预算） */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-display);
  color: var(--fg);
  letter-spacing: var(--tracking-title);
  line-height: var(--leading-tight);
  font-weight: var(--fw-announce);
}
h1 { font-size: var(--text-4xl); letter-spacing: var(--tracking-display); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
p { margin: 0 0 var(--space-4); }
a { color: var(--info); text-decoration: none; }
a:hover { text-decoration: underline; }
.tabular { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.legal-doc {
  max-width: var(--container-narrow);
  margin: 0 auto;
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--fg);
}
.legal-doc h1 { font-size: var(--text-3xl); margin-bottom: var(--space-4); }
.legal-doc h2 { font-size: var(--text-xl); margin: var(--space-8) 0 var(--space-3); }
.legal-doc h3 { font-size: var(--text-lg); margin: var(--space-6) 0 var(--space-2); }
.legal-doc p, .legal-doc li { line-height: var(--leading-relaxed); }
.legal-doc ol, .legal-doc ul { padding-left: var(--space-6); margin: 0 0 var(--space-4); }
.legal-doc li { margin-bottom: var(--space-2); }
.legal-doc .legal-meta {
  color: var(--meta);
  font-size: var(--text-sm);
  border-bottom: 1px solid var(--border);
  padding-bottom: var(--space-4);
  margin-bottom: var(--space-6);
}
@media print {
  :root { --bg: #fff; --surface: #fff; }
  body { background: #fff; color: #000; font-size: 12pt; }
  .no-print { display: none !important; }
  .legal-doc { max-width: none; }
  .legal-doc h1 { font-size: 18pt; }
  .legal-doc h2 { font-size: 14pt; page-break-after: avoid; }
  .legal-doc p, .legal-doc li { font-size: 11pt; orphans: 3; widows: 3; }
  a { color: #000; text-decoration: underline; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #000; }
  footer { border-top: 1px solid #000; padding-top: 8pt; }
}
