:root {
  color-scheme: light;
  font-family: Inter, "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  background: #f4f7f5;
  color: #16231f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; background: #f4f7f5; }
a { color: #1f6751; text-underline-offset: 3px; }
.legal-shell {
  width: min(780px, calc(100% - 32px));
  margin: 0 auto;
  padding: 40px 0 64px;
}
.legal-nav { margin-bottom: 24px; font-size: 14px; }
.legal-header { padding-bottom: 22px; border-bottom: 1px solid #d6dfdb; }
.legal-header h1 { margin: 0 0 10px; font-size: 34px; line-height: 1.25; letter-spacing: 0; }
.legal-meta { margin: 0; color: #66756f; font-size: 13px; line-height: 1.6; }
.legal-summary {
  margin: 22px 0 30px;
  padding: 14px 16px;
  border-left: 3px solid #276955;
  background: #ffffff;
  color: #354b43;
  line-height: 1.75;
}
.legal-content { min-width: 0; }
.legal-content section { padding: 4px 0 18px; }
.legal-content h2 { margin: 22px 0 10px; font-size: 20px; line-height: 1.4; letter-spacing: 0; }
.legal-content p,
.legal-content li { color: #35453f; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-content p { margin: 8px 0; }
.legal-content ul { margin: 8px 0; padding-left: 22px; }
.legal-content strong { color: #172a23; }
.legal-contact { padding-top: 22px; border-top: 1px solid #d6dfdb; }

@media (max-width: 560px) {
  .legal-shell { width: min(100% - 24px, 780px); padding: 24px 0 44px; }
  .legal-header h1 { font-size: 28px; }
  .legal-summary { padding: 12px; }
  .legal-content h2 { font-size: 18px; }
  .legal-content p,
  .legal-content li { font-size: 14px; }
}

@media print {
  :root, body { background: #ffffff; }
  .legal-shell { width: 100%; padding: 0; }
  .legal-nav { display: none; }
  .legal-summary { border: 1px solid #cccccc; }
  a { color: inherit; text-decoration: none; }
}
