:root { color-scheme:light; --bg:#f8fafc; --surface:#fff; --ink:#0f172a; --muted:#52627a; --line:#dce5f2; --blue:#2563eb; --soft:#eff5ff; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; font:16px/1.75 system-ui,-apple-system,'Segoe UI',sans-serif; background:var(--bg); color:var(--ink); }
a { color:var(--blue); text-underline-offset:4px; }
a:focus-visible { outline:3px solid var(--blue); outline-offset:5px; border-radius:3px; }
.legal-shell { max-width:880px; margin:auto; padding:0 28px; }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px 0; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-size:23px; font-weight:800; letter-spacing:-1px; }
.brand span { display:block; font-size:12px; color:var(--muted); font-weight:500; letter-spacing:0; }
.updated { font-size:12px; color:var(--muted); text-align:right; }
.intro { padding:52px 0 22px; }
.eyebrow { font-size:11px; letter-spacing:2px; font-weight:750; color:var(--blue); }
h1 { margin:12px 0; font-size:clamp(35px,7vw,52px); line-height:1.1; letter-spacing:-2px; }
.intro > p:last-child { color:var(--muted); font-size:17px; max-width:660px; }
h2 { font-size:22px; line-height:1.4; letter-spacing:-.5px; margin:0 0 16px; }
.summary { padding:24px 28px; background:var(--soft); border:1px solid var(--line); border-radius:18px; }
.summary h2 { font-size:17px; margin-bottom:10px; }
.summary ul { padding-left:20px; margin:0; }
.contents { display:flex; flex-wrap:wrap; gap:8px 20px; padding:24px 0; font-size:13px; border-bottom:1px solid var(--line); }
section { padding:32px 0; border-bottom:1px solid var(--line); }
section p { margin:0 0 16px; }
section p:last-child { margin-bottom:0; }
dt { font-weight:700; margin:22px 0 5px; }
dd { margin:0; color:var(--muted); }
dl { margin:0; }
section li { padding-left:4px; margin-bottom:12px; }
section ul, section ol { padding-left:24px; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; padding:28px 0 40px; font-size:12px; color:var(--muted); }
.skip-link { position:absolute; left:20px; top:-100px; background:var(--surface); padding:10px; }
.skip-link:focus { top:10px; }
@media(max-width:520px) { .legal-shell { padding:0 22px; } .intro { padding-top:36px; } .summary { padding:20px; } section { padding:26px 0; } }
@media(prefers-color-scheme:dark) { :root { color-scheme:dark; --bg:#0b1220; --surface:#121b2e; --ink:#e8eef8; --muted:#a3b0c6; --line:#29364b; --blue:#79b6ff; --soft:#14253d; } }
@media print { body { background:#fff; color:#000; font-size:11pt; } .legal-shell { max-width:none; padding:0; } header,.intro,section { padding:12px 0; } .contents,.skip-link,footer { display:none; } a { color:inherit; } h2 { break-after:avoid; } }
