
:root{--ink:#1a2330;--muted:#5b6b7f;--accent:#2a5db0;--line:#e3e8f0;--bg:#fff}
*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:var(--ink);
font:17px/1.7 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:48rem;margin:0 auto;padding:1.5rem 1.2rem 4rem}
.site{font-size:.85rem;color:var(--muted);margin:0 0 1.2rem}.site a{color:var(--accent);text-decoration:none}
article{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:2rem 2.1rem}
h1{font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.22;margin:0 0 .5rem}
h2{font-size:1.12rem;margin:1.7rem 0 .55rem;font-weight:650}
.idmeta{font-size:.93rem;color:var(--muted);margin:0 0 .2rem;display:flex;flex-wrap:wrap;gap:.2rem 1.1rem}
.idmeta .k{color:var(--muted);font-weight:600;margin-right:.3rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}
.syn{color:var(--muted);font-size:.9rem;margin:.1rem 0 1rem}
section{margin:0}p{margin:0 0 .8rem}
dl.kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}
dl.kv dt{color:var(--muted);font-size:.86rem;padding-top:.05rem}dl.kv dd{margin:0}
ul.plain,ul.golist,ul.lit,ul.chips{list-style:none;padding:0;margin:.2rem 0 0}
ul.plain li,ul.golist li,ul.lit li{margin:.12rem 0}
ul.twocol{columns:2;column-gap:2rem}@media(max-width:34rem){ul.twocol{columns:1}}
ul.chips{display:flex;flex-wrap:wrap;gap:.4rem}ul.chips li{margin:0}
ul.chips a{border:1px solid var(--line);border-radius:7px;padding:.12rem .5rem;display:inline-block}
.dim{color:var(--muted);font-size:.85rem;font-weight:400}
.foot{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.9rem;color:var(--muted)}
/* cross-references: invisible until hover (see the page, discover links on hover) */
a.xref{color:inherit;text-decoration:none;cursor:pointer;border-bottom:1px solid transparent;
transition:border-color .12s ease,color .12s ease}
a.xref:hover{border-bottom:1px dotted currentColor;color:var(--accent)}

/* diagramkit theme — neighborhood graph */

figure.dgm{margin:1.3rem auto 1.5rem;text-align:center}
figure.dgm svg{width:100%;max-width:34rem;height:auto;border:1px solid #e3e8f0;border-radius:12px;
background:#fcfdff;padding:.5rem;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
figure.dgm figcaption{font-size:.85rem;color:#5b6b7f;line-height:1.5;max-width:32rem;margin:.55rem auto 0}
.dnode{fill:#fff;stroke:#c7d4e8;stroke-width:1.5}
.dion{fill:#eaf1fb;stroke:#2a5db0;stroke-width:1.6}
.dmem{fill:#f0ead8;stroke:#d9cda6;stroke-width:1}
.dedge{stroke:#8fa6c8;stroke-width:1.6;fill:none}
.dcoord{stroke:#b9c6dd;stroke-width:1.4;stroke-dasharray:3 2;fill:none}
.dproton{stroke:#2a5db0;stroke-width:1.5;fill:none}
.dah{fill:#8fa6c8}
.dpt-closed{fill:#2a5db0;stroke:none}
.dpt-open{fill:#fff;stroke:#2a5db0;stroke-width:1.6}
svg.dgm-native{display:block}
.dstate-a{fill:#fdeaea;stroke:#c0392b;stroke-width:2}
.dstate-b{fill:#eaf1fd;stroke:#2a5db0;stroke-width:2}
.dstate-c{fill:#e9f6ee;stroke:#2e8b57;stroke-width:2}
.dstate-muted{fill:#f2f4f7;stroke:#c2cad6;stroke-width:1.5}
text.dtitle{font-size:13px;font-weight:650;fill:#1a2330}
text.dsub{font-size:14px;font-weight:600;fill:#1a2330}
text.dionl{font-size:11px;font-weight:700;fill:#2a5db0}
text.dres{font-size:11px;font-weight:600;fill:#5b6b7f}
text.dsmall{font-size:10.5px;fill:#5b6b7f}
text.dlbl{font-size:12px;fill:#1a2330}
