:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #111; line-height: 1.75; }
a { color: #222; text-decoration: underline; text-underline-offset: .16em; overflow-wrap: anywhere; }
a:focus-visible { outline: 2px solid #111; outline-offset: 3px; }

.legal-document { width: min(720px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 40px; }
h1 { font-size: 32px; line-height: 1.3; margin: 0 0 12px; font-weight: 650; }
.legal-content { font-size: 16px; }
.legal-content p, .legal-content li { color: #333; overflow-wrap: anywhere; }
.legal-content p { margin: 0 0 16px; }
.legal-content h2 { font-size: 20px; line-height: 1.45; margin: 28px 0 12px; padding-top: 24px; border-top: 1px solid #ddd; font-weight: 600; }
.legal-content h3 { font-size: 17px; line-height: 1.5; margin: 22px 0 8px; font-weight: 600; }
.legal-content ul { padding-left: 1.4em; margin: 0 0 18px; }
.legal-content li { margin-bottom: 9px; }
.legal-content strong { color: #111; font-weight: 600; }
.legal-content pre { overflow-x: auto; padding: 16px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; line-height: 1.6; }
.legal-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.legal-filing { margin: 40px 0 0; padding-top: 18px; border-top: 1px solid #ddd; text-align: center; font-size: 13px; }
.legal-filing a { color: #777; text-decoration: none; }
.pending { border-bottom: 1px dashed #777; }

.policy-table { margin: 18px 0 24px; overflow-x: auto; }
.policy-table table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.policy-table th, .policy-table td { padding: 11px 9px; text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; overflow-wrap: anywhere; }
.policy-table th { font-weight: 600; }
.policy-table th:first-child { width: 21%; }
.policy-table th:nth-child(2) { width: 49%; }

@media (max-width: 600px) {
  .legal-document { padding-top: 20px; }
  h1 { font-size: 29px; }
  .legal-content h2 { font-size: 19px; }
  .policy-table { overflow: visible; }
  .policy-table table, .policy-table tbody, .policy-table tr, .policy-table td { display: block; width: 100%; }
  .policy-table thead { display: none; }
  .policy-table tr { border-top: 1px solid #ddd; padding: 10px 0; }
  .policy-table td { border: 0; padding: 4px 0; }
  .policy-table td:first-child { font-weight: 600; }
  .policy-table td:not(:first-child)::before { content: attr(data-label); display: block; font-size: 12px; color: #666; }
}

@media print { .legal-document { width: 100%; padding: 0; } }
