.prose{max-width:70ch;padding:clamp(28px,5vw,64px) 0}
.prose h2{margin-top:2em;font-size:1.6rem}
.prose h3{margin-top:1.6em}
.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:600}
.prose td:first-child{font-weight:600;white-space:nowrap}
.prose kbd,.nf kbd{font:inherit;font-weight:500;background:color-mix(in srgb,var(--ink) 8%,transparent);padding:1px 6px;border-radius:4px}
.prose .toc{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px}
.prose .toc a{text-decoration:none;border:1px solid var(--line);padding:6px 12px;border-radius:999px;color:var(--ink);font-size:.95rem}
.prose .toc a:hover{border-color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose .updated{color:var(--muted);font-size:.95rem}
.note{border-left:3px solid var(--ochre);padding:10px 16px;background:color-mix(in srgb,var(--ochre) 9%,transparent);border-radius:0 6px 6px 0;margin:1.2em 0}
.tbl-wrap{overflow-x:auto}
.prose.wide{max-width:min(100%,980px)}
.prose.wide>p,.prose.wide>ul,.prose.wide>h2{max-width:70ch}
.prose table.data{table-layout:fixed}
.prose table.data td:first-child{white-space:normal;word-break:break-word}
.prose table.data th,.prose table.data td{overflow-wrap:anywhere}
/* column widths as classes: the strict CSP ignores style="" */
.prose col.w20{width:20%}
.prose col.w30{width:30%}
.prose col.w32{width:32%}
.prose col.w40{width:40%}
.prose col.w48{width:48%}

/* 404 */
.nf{padding:clamp(48px,10vw,120px) 0;max-width:60ch}
.nf .code{font-family:var(--display);font-size:clamp(5rem,16vw,12rem);line-height:.9;font-weight:400;color:var(--line-strong);letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.nf .actions{margin-top:20px}
