/* Legal pages: one calm reading column. Text here can be selected and copied, unlike the rest of the site. */
.legal { width: min(100%, 46rem); margin-inline: auto; user-select: text; -webkit-user-select: text; }
.legal-head { display: grid; gap: var(--s-2); margin-bottom: var(--s-5); }
.legal-head h1 { margin: 0; font-size: clamp(2rem, 5vw, 3rem); }
.legal-meta { margin: 0; color: var(--muted); font-size: 0.875rem; }
.legal .legal-toc { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: 0 0 var(--s-6); padding: 0; list-style: none; }
.legal-toc a { display: inline-block; padding: 0.2rem 0.8rem; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted); font-size: 0.8125rem; transition: color var(--dur-fast), border-color var(--dur-fast); }
.legal-toc a:hover { color: var(--white); border-color: var(--white); }
.legal section { margin-bottom: var(--s-6); scroll-margin-top: var(--s-6); }
.legal h2 { margin: 0 0 var(--s-3); font-size: 1.25rem; }
.legal h3 { margin: var(--s-4) 0 var(--s-2); font-size: 1rem; }
.legal p, .legal li { color: var(--white-2); line-height: 1.7; }
.legal p { margin: 0 0 var(--s-3); }
.legal ul, .legal ol { margin: 0 0 var(--s-3); padding-left: var(--s-5); }
.legal li { margin-bottom: var(--s-1); }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal a:hover { color: var(--white); }
.legal strong { color: var(--white); }
.legal-table { width: 100%; margin: 0 0 var(--s-3); border-collapse: collapse; font-size: 0.9375rem; }
.legal-table th, .legal-table td { padding: var(--s-2) var(--s-3); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { color: var(--muted); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.legal-table td { color: var(--white-2); }
.legal-note { margin: 0 0 var(--s-3); padding: var(--s-3) var(--s-4); border: 1px solid var(--line-strong); border-radius: var(--r-md); color: var(--white-2); }
.legal-notice { margin: 0 0 var(--s-3); padding: var(--s-3) var(--s-4); border: 1px dashed var(--white-2); border-radius: var(--r-md); color: var(--white); font-size: 0.9375rem; }
.legal-todo { padding: 0 0.35rem; border: 1px dashed var(--white); border-radius: 6px; background: none; color: var(--white); }
.legal-others { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-6); padding-top: var(--s-4); border-top: 1px solid var(--line); }
