body { min-height: 100vh; display: flex; flex-direction: column; }
.site-footer { margin-top: auto; }
.legal { width: 100%; max-width: 800px; margin: 0 auto; padding: 24px 16px 48px; line-height: 1.6; }
.legal h1 { color: var(--color-accent); }
.legal h2 { margin-top: 2rem; font-size: 1.2rem; color: var(--color-accent); }
.legal a { color: var(--color-accent); }
.legal table { border-collapse: collapse; width: 100%; background: var(--color-day-bg); }
.legal th, .legal td { border: 1px solid var(--color-border); padding: 6px 10px; text-align: left; vertical-align: top; font-size: .92rem; }
.legal th { background: var(--color-accent); color: #fff; }
.legal .todo { background: #fff3cd; padding: 0 4px; border-radius: 3px; }
.legal .updated { opacity: .7; font-size: .9rem; }
