:root { color-scheme: light; --paper:#faf9f6; --ink:#252a28; --muted:#68716b; --line:#dedfd6; --link:#285b49; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.75 Georgia,"Times New Roman",serif; }
a { color:var(--link); text-underline-offset:3px; text-decoration-thickness:1px; overflow-wrap:anywhere; }
a:hover { color:#102f23; }
a:focus-visible,summary:focus-visible { outline:2px solid var(--link); outline-offset:5px; }
header,main,footer { width:min(860px,calc(100% - 48px)); margin:auto; }
header { padding-top:38px; font-family:system-ui,sans-serif; }
.masthead { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:26px; }
.brand { color:var(--ink); text-decoration:none; font-size:16px; font-weight:650; letter-spacing:-.2px; }
.brand span { display:block; color:var(--muted); font-size:12px; font-weight:400; letter-spacing:.8px; text-transform:uppercase; margin-top:2px; }
.source { font-size:13px; white-space:nowrap; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:7px 23px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:13px 0; font-size:13px; }
nav a { color:var(--muted); text-decoration:none; }
nav a[aria-current] { color:var(--ink); font-weight:650; }
main { padding:54px 0 70px; min-height:65vh; }
h1,h2,h3,h4,h5,h6 { font-family:system-ui,sans-serif; line-height:1.23; font-weight:600; letter-spacing:-.025em; overflow-wrap:anywhere; }
h1 { font-size:clamp(32px,5vw,46px); margin:0 0 30px; }
h2 { font-size:27px; margin:48px 0 20px; }
h3 { font-size:21px; margin:32px 0 16px; }
p { margin:0 0 24px; }
ul,ol { padding-left:26px; margin:18px 0 27px; }
li { margin:8px 0; }
li>p { margin:8px 0; }
blockquote { margin:28px 0; padding:2px 0 2px 23px; border-left:3px solid var(--line); color:#535e55; }
blockquote p:last-child { margin-bottom:0; }
code { font: .82em/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; background:#efefe9; padding:2px 5px; border-radius:3px; overflow-wrap:anywhere; }
pre { padding:20px; background:#efefe9; border:1px solid #e4e5db; border-radius:5px; overflow:auto; line-height:1.55; }
pre code { padding:0; background:none; font-size:13px; overflow-wrap:normal; }
table { display:block; width:100%; overflow-x:auto; border-collapse:collapse; font:14px/1.6 system-ui,sans-serif; margin:26px 0; }
th,td { border-bottom:1px solid var(--line); padding:12px 14px; text-align:left; min-width:110px; vertical-align:top; }
th { background:#efefe9; }
img { max-width:100%; height:auto; }
hr { border:0; border-top:1px solid var(--line); margin:38px 0; }
.document-path { color:var(--muted); font:12px/1.6 ui-monospace,monospace; margin-bottom:23px; overflow-wrap:anywhere; }
.contents { font:14px/1.8 system-ui,sans-serif; background:#f0f1ea; padding:15px 20px; border-radius:4px; margin-bottom:28px; }
summary { cursor:pointer; }
.contents ul { margin:12px 0 0; }
.document-list { list-style:none; padding:0; margin:0 0 35px; }
.document-list li { padding:15px 0; margin:0; border-bottom:1px solid var(--line); }
.document-list a { display:block; font:16px/1.5 system-ui,sans-serif; text-decoration:none; }
.document-list a:hover { text-decoration:underline; }
.document-list span { display:block; font:11px/1.6 ui-monospace,monospace; color:var(--muted); margin-top:5px; overflow-wrap:anywhere; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding:23px 0 35px; font:12px/1.6 system-ui,sans-serif; color:var(--muted); }
.skip { position:absolute; left:20px; top:-100px; background:var(--paper); padding:10px; }
.skip:focus { top:5px; }
@media(max-width:560px) { body { font-size:17px; } header,main,footer { width:calc(100% - 36px); } header { padding-top:22px; } nav { gap:8px 17px; font-size:12px; } main { padding-top:35px; } h2 { font-size:24px; } pre { padding:14px; } }
@media print { header,footer,.contents { display:none; } body { background:white; color:black; font-size:11pt; } main { width:100%; padding:0; } pre,table { overflow:visible; white-space:pre-wrap; } a { color:inherit; } }
