.legal-document {
  background:#fff;
  color:#222;
  color-scheme:light;
  font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  scroll-behavior:auto;
  scroll-padding-top:24px
}
.legal-page { margin:0; font-size:16px; line-height:1.8 }
.legal-page * { box-sizing:border-box }
.legal-page a { color:#333; text-decoration:underline; text-underline-offset:3px }
.legal-page a:hover { color:#000 }
.legal-page :focus-visible { outline:2px solid #555; outline-offset:4px }
.legal-main { max-width:800px; margin:auto; padding:40px 20px 48px; overflow-wrap:anywhere }
.legal-main h1 { font-size:28px; font-weight:600; line-height:1.4; text-align:center; margin:0 0 16px }
.legal-meta { color:#666; font-size:14px; text-align:center; margin:0 0 32px }
.legal-meta span { display:inline-block; margin-inline:8px }
.legal-summary { margin-block:24px }
.legal-main section { margin-block:28px; scroll-margin-top:24px }
.legal-main h2 { font-size:19px; line-height:1.6; margin:0 0 12px }
.legal-main h3 { font-size:16px; line-height:1.6; margin:20px 0 8px }
.legal-main p { margin:12px 0 }
.legal-main ul,.legal-main ol { padding-left:24px }
.legal-main li { margin-block:8px }
.legal-card { margin-block:24px }
.legal-card dl { margin:0 }
.legal-card dt { font-weight:600; margin-top:12px }
.legal-card dd { margin:4px 0 0 }
.legal-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:20px 0; font-size:14px; line-height:1.7 }
.legal-table caption { text-align:left; font-weight:600; margin-bottom:8px }
.legal-table th,.legal-table td { border:1px solid #ddd; padding:10px 12px; text-align:left; vertical-align:top; overflow-wrap:anywhere }
.legal-table thead th { background:#f7f7f7; font-weight:600 }
.legal-table th:first-child { width:38% }
.legal-table tbody th { font-weight:400 }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 20px; font-size:14px; color:var(--muted) }
.footer-legal a { display:inline-flex; align-items:center; min-height:44px }
@media(max-width:600px) {
  .legal-main { padding-block:28px 36px }
  .legal-main h1 { font-size:25px }
  .legal-table th,.legal-table td { padding:8px }
  .footer-legal { width:100%; justify-content:flex-start }
}
@media print {
  .legal-main { max-width:none; padding:0; font-size:11pt }
  .legal-main h2,.legal-main h3 { break-after:avoid }
  .legal-table tr { break-inside:avoid }
  .legal-table thead { display:table-header-group }
}
