:root {
  --legal-bg: #fafbf7;
  --legal-surface: #ffffff;
  --legal-text: #1d2320;
  --legal-muted: #5c655f;
  --legal-border: #e2e5dc;
  --legal-accent: #9a5410;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --legal-bg: #0f1311;
    --legal-surface: #161b18;
    --legal-text: #eef1ec;
    --legal-muted: #a3aca5;
    --legal-border: #2a312d;
    --legal-accent: #f4a742;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--legal-bg);
  color: var(--legal-text);
  font: 16px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

a { color: var(--legal-accent); }

.legal-header, .legal-page, .legal-footer {
  max-width: 44rem;
  margin: 0 auto;
  padding: 0 16px;
}

.legal-header { padding-top: 24px; }
.legal-brand img { display: block; height: 40px; width: auto; }

h1 { font-size: 2rem; line-height: 1.2; margin: 32px 0 4px; }
.legal-meta { color: var(--legal-muted); margin: 0 0 24px; }

.legal-toc {
  background: var(--legal-surface);
  border: 1px solid var(--legal-border);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 32px;
}
.legal-toc-title { font-weight: 600; margin: 0 0 8px; }
.legal-toc ol { margin: 0; padding-left: 20px; }

.legal-body h2 { font-size: 1.3rem; margin: 40px 0 8px; scroll-margin-top: 16px; }
.legal-body table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 0.95rem; }
.legal-body th, .legal-body td { text-align: left; padding: 8px; border-bottom: 1px solid var(--legal-border); vertical-align: top; }
.legal-body { overflow-wrap: anywhere; }

.legal-footer {
  border-top: 1px solid var(--legal-border);
  margin-top: 48px;
  padding-top: 16px;
  padding-bottom: 48px;
  color: var(--legal-muted);
  font-size: 0.9rem;
}
