.prose h3{font-size:1.1rem;margin:1.4em 0 .3em}
.prose .src{font-size:.92rem}
.prose table,.pgx table.cmp{width:100%;border-collapse:collapse;margin:16px 0;background:var(--sf)}
.prose th,.prose td,.pgx table.cmp th,.pgx table.cmp td{border:1px solid var(--ln);padding:8px 10px;text-align:left}
.prose a:not(.btn),.pgx a:not(.btn):not(.post){color:var(--ac)}
nav a.on{border-bottom:2px solid var(--tr)}
.toc{background:var(--sf);border:1px solid var(--ln);padding:12px 20px;margin:20px 0}.toc b{display:block;margin-bottom:4px}.toc ol{margin:.3em 0 .2em;padding-left:1.2em}
.rel{margin-top:2em;padding-top:1em;border-top:1px solid var(--ln)}
.rel ul{padding-left:1.2em}
.fgrid{display:grid;gap:14px;max-width:760px}.fgrid label{display:block}.fgrid input,.fgrid select,.fgrid textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--ln);background:var(--sf);color:var(--fg);border-radius:4px}
.fgrid .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.fgrid .row2{grid-template-columns:1fr}}
.fmsg{margin:.6em 0}.fmsg.err{color:#b3261e}.fmsg.ok{color:#17692f}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fgrid button{cursor:pointer;font:inherit;background:var(--ac);color:var(--on);border:0;padding:12px 18px;border-radius:4px}
.parts{columns:3 220px;column-gap:24px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono','Courier New',monospace;font-size:.85rem;line-height:1.9}
.parts a,.parts span{display:block;break-inside:avoid}
