.legal { max-width: 780px; margin: 0 auto; padding: 32px 20px 60px; line-height: 1.6; }
.legal h1 { font-size: 28px; margin: 0 0 6px; }
.legal h2 { font-size: 19px; margin: 32px 0 8px; }
.legal h3 { font-size: 16px; margin: 20px 0 6px; }
.legal p, .legal li { font-size: 15px; }
.legal ul, .legal ol { padding-left: 22px; }
.legal table { width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px; }
.legal th, .legal td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; white-space: normal; }
.legal .meta { color: var(--muted); font-size: 14px; }
.legal .todo { background: #fff4c2; color: #6b4e00; padding: 0 4px; border-radius: 4px; }
.legal .box-note { background: var(--panel); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 10px; padding: 12px 14px; margin: 16px 0; }
.legal-nav { display: flex; gap: 14px; flex-wrap: wrap; font-size: 14px; margin-bottom: 24px; }
.legal-nav a, .legal a { color: var(--accent-text); }
.legal-foot { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; font-size: 13px; padding: 16px; }
.legal-foot a { color: var(--muted); }
@media print {
  .legal-nav, .no-print { display: none; }
  .legal .todo { background: none; }
  body { background: #fff; color: #000; }
}
