:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, sans-serif;
  line-height: 1.6;
  background: Canvas;
  color: CanvasText;
}
.legal-wrap { max-width: 760px; margin: 0 auto; padding: 32px 20px 80px; }
.legal-wrap a { color: inherit; }
.legal-back {
  display: inline-block; margin-bottom: 24px; font-size: 0.9rem;
  opacity: 0.75; text-decoration: none;
}
.legal-back:hover { opacity: 1; }
h1 { font-size: 1.7rem; margin: 0 0 4px; }
h2 { font-size: 1.15rem; margin: 32px 0 8px; }
h3 { font-size: 1rem; margin: 20px 0 4px; }
.legal-updated { font-size: 0.85rem; opacity: 0.6; margin: 0 0 24px; }
dl { margin: 0; }
dt { font-weight: 600; margin-top: 12px; }
dd { margin: 0 0 4px; }
table { border-collapse: collapse; width: 100%; margin: 12px 0; font-size: 0.92rem; }
th, td { border: 1px solid rgba(128,128,128,0.35); padding: 6px 10px; text-align: left; vertical-align: top; }
.legal-note { font-size: 0.85rem; opacity: 0.7; border-left: 3px solid rgba(128,128,128,0.4); padding-left: 12px; }
.todo { background: rgba(255, 200, 0, 0.18); padding: 1px 4px; border-radius: 3px; }
footer.legal-nav { margin-top: 48px; padding-top: 16px; border-top: 1px solid rgba(128,128,128,0.3); font-size: 0.9rem; display: flex; gap: 16px; flex-wrap: wrap; }
