/* The Terms of Service and the Privacy Policy (terms.html, privacy.html, en/...): long text to be read.
   Written by tools/make_legal_pages.py; colours, type and spacing are theme.css's tokens only. */
.terms-page { background: var(--color-bg); padding-block: var(--space-12) var(--space-16); }
.terms-document > * { max-width: 54rem; }
.terms-document { font-size: var(--text-action); line-height: 1.9; overflow-wrap: anywhere; }
.terms-document h1 { margin: 0 0 var(--space-3); font-size: var(--text-title); }
.terms-document h2 { margin: var(--space-12) 0 var(--space-3); padding-top: var(--space-5); border-top: var(--line) solid var(--surface-highlight); font-size: var(--text-item); scroll-margin-top: var(--space-6); }
.terms-document h3 { margin: var(--space-8) 0 var(--space-2); font-size: var(--text-action); color: var(--color-accent-soft); }
.terms-document p, .terms-document ol, .terms-document ul { margin: 0 0 var(--space-4); }
.terms-document ol, .terms-document ul { padding-left: var(--space-6); }
.terms-document li { margin-bottom: var(--space-2); }
.terms-document strong { font-weight: 700; }
.terms-document a { color: var(--color-accent-soft); }
.terms-document code { font: inherit; padding-inline: var(--space-1); border-radius: var(--radius-chip); background: var(--ghost-bg); }
.terms-meta { margin: 0 0 var(--space-6); font-size: var(--text-body); color: var(--color-dim); }
.terms-draft { margin: 0 0 var(--space-6); padding: var(--space-3) var(--space-4); border: var(--line) solid var(--ghost-border); border-radius: var(--radius-button); background: var(--ghost-bg); font-weight: 700; }
.terms-document blockquote { margin: 0 0 var(--space-6); padding: var(--space-3) var(--space-4); border-left: var(--focus-line) solid var(--surface-border); background: var(--surface-deep); border-radius: var(--radius-chip); font-size: var(--text-body); color: var(--color-dim); }
.terms-document blockquote p:last-child { margin-bottom: 0; }
.terms-table { margin: 0 0 var(--space-6); overflow-x: auto; border: var(--line) solid var(--surface-border); border-radius: var(--radius-button); }
.terms-table table { width: 100%; min-width: 36rem; border-collapse: collapse; font-size: var(--text-body); line-height: 1.7; }
.terms-table th, .terms-table td { overflow-wrap: break-word; padding: var(--space-3) var(--space-4); text-align: left; vertical-align: top; border-bottom: var(--line) solid var(--surface-highlight); }
.terms-table th { background: var(--surface-deep); font-weight: 700; white-space: nowrap; }
.terms-table tbody tr:last-child td { border-bottom: 0; }
.header .nav [aria-current] { color: var(--color-accent-soft); }
