body.doc{overflow:auto;height:auto;min-height:100%}
.doc main{max-width:860px;margin:0 auto;padding:22px 16px 60px}
.doc pre.banner{font-size:clamp(6px,1.7vw,14px);color:var(--fg);overflow:hidden}
.doc h1{font-size:20px;letter-spacing:.1em;margin:18px 0 6px}
.doc h2{font-size:16px;color:var(--hi);border-bottom:1px solid var(--faint);padding-bottom:4px;margin:28px 0 10px}
.doc p,.doc li{color:var(--dim);max-width:72ch}
.doc b,.doc strong{color:var(--fg)}
.doc code{color:var(--hi)}
.doc pre.code{white-space:pre-wrap;word-break:break-word;background:var(--panel);border:1px solid var(--faint);padding:10px;font-size:13px;color:var(--say)}
.doc nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0}
.doc .card{border:1px solid var(--faint);padding:10px 12px;margin:8px 0;background:var(--panel)}
.doc .card h3{margin:0 0 4px;font-size:15px;color:var(--fg)}
.doc .small{font-size:13px;color:var(--dim)}
.doc .stat{color:var(--hi)}
.doc textarea{width:100%;min-height:220px;padding:8px;font-size:13px}
.doc .ok{color:var(--fg)}.doc .bad{color:var(--warn)}
.doc .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.doc details summary{cursor:pointer;color:var(--fg)}
.doc .row{flex-wrap:wrap}
@media (max-width:760px){.doc main{padding:14px 10px 40px}}
.doc p.rating{border:1px solid #c33;color:#f3d6d6;background:rgba(160,20,20,.18);padding:8px 10px;max-width:none}.doc p.rating b{color:#ff8a8a}
