/* Long-form legal pages. Colours come from the shared theme tokens in theme.css (light and night). */
.legal-body{min-height:100vh;display:flex;flex-direction:column}
.legal-draft{padding:10px 20px;background:#fbf3e2;border-bottom:1px solid #e0c48a;color:#6d4c10;font-size:13px;line-height:1.5}.legal-draft strong{font-weight:800}
[data-theme=dark] .legal-draft{background:#3a3020;border-color:#6b5a33;color:#f1dcae}
.legal-top{display:flex;align-items:center;gap:18px;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.legal-top .brand{font-size:24px;font-weight:700;color:var(--text);white-space:nowrap}.legal-top .brand span{color:var(--accent)}
.legal-top .back{margin-left:auto;color:var(--accent);font-weight:700;white-space:nowrap}
.legal-nav{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 24px;background:var(--surface-2,var(--surface));border-bottom:1px solid var(--line);font-size:12px}
.legal-nav a{color:var(--muted);font-weight:700}.legal-nav a[aria-current=page]{color:var(--accent)}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,820px);gap:40px;justify-content:center;padding:32px 24px 60px;flex:1}
.legal-toc{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto;font-size:12px;line-height:1.5;padding-right:6px}
.legal-toc h2{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.legal-toc a{color:var(--text)}.legal-toc a:hover{color:var(--accent)}
.legal-doc{color:var(--text);font-size:15px;line-height:1.7;font-weight:400}
.legal-doc>header{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.legal-doc .eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800}
.legal-doc h1{margin:0 0 10px;font-size:32px;line-height:1.2}.legal-meta{margin:0;color:var(--muted);font-size:13px}
.legal-doc h2{margin:38px 0 12px;font-size:21px;line-height:1.3;scroll-margin-top:16px}.legal-doc h3{margin:24px 0 8px;font-size:16px;scroll-margin-top:16px}
.legal-doc p,.legal-doc li{margin:0 0 12px}.legal-doc ol,.legal-doc ul{padding-left:24px;margin:0 0 14px}
.legal-doc table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:13px;display:block;overflow-x:auto}
.legal-doc th,.legal-doc td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.legal-doc th{background:var(--surface-2,var(--surface))}
.legal-doc code,.legal-doc pre{font-family:Consolas,Menlo,monospace;font-size:13px}.legal-doc pre{padding:12px 14px;background:var(--surface-2,var(--surface));border:1px solid var(--line);overflow-x:auto;line-height:1.5}
.legal-doc .callout{padding:12px 16px;border-left:3px solid var(--accent);background:var(--surface-2,var(--surface));margin:0 0 16px}
.legal-doc a{color:var(--accent);text-decoration:underline}
mark.ph{background:#fff1b8;color:#5a4300;padding:0 3px;border-radius:2px;font-weight:700}[data-theme=dark] mark.ph{background:#5a4a12;color:#fff1c4}
mark.todo{display:block;background:#fde7e4;color:#7a2a20;padding:8px 12px;border-left:3px solid #c0533f;margin:0 0 14px;font-size:13px}[data-theme=dark] mark.todo{background:#4a2420;color:#ffd9d2}
.legal-foot{padding:18px 24px;border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:8px 18px}
@media(max-width:900px){.legal-layout{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 16px 40px}.legal-toc{position:static;max-height:none;border:1px solid var(--line);padding:12px;background:var(--surface)}.legal-doc h1{font-size:26px}.legal-top,.legal-nav,.legal-foot{padding-inline:16px}}
@media print{.legal-draft,.legal-top .back,.legal-nav,.legal-toc,.legal-foot{display:none}.legal-layout{display:block;padding:0}.legal-doc{font-size:11pt;color:#000}mark.ph{background:none;color:#000}}
.legal-doc :not(pre)>code{overflow-wrap:anywhere;word-break:break-all}
