:root { --ink:#1c2025; --soft:#5b6470; --line:#d9dde2; --bg:#f7f8f9; --card:#ffffff;
        --ok:#0a6e46; --okbg:#e2f3ea; --opt:#6b7280; --optbg:#eef0f2; --accent:#0a6e46; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
       font:16px/1.55 system-ui, sans-serif; }
header { display:flex; align-items:baseline; gap:.8rem; padding:1rem 1.5rem;
         border-bottom:2px solid var(--ink); background:var(--card); }
.brand { font-weight:700; font-size:1.15rem; color:var(--ink); text-decoration:none;
         font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
.brand::before { content:"> "; color:var(--accent); }
.tagline { color:var(--soft); font-size:.9rem; }
main { max-width:60rem; margin:0 auto; padding:1.5rem; }
h1 { font-size:1.5rem; margin:.5rem 0; }
h2 { font-size:1.05rem; margin-top:2rem; }
.desc { color:var(--soft); max-width:46rem; }
table { width:100%; border-collapse:collapse; background:var(--card);
        border:1px solid var(--line); font-size:.92rem; }
th { text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em;
     color:var(--soft); padding:.5rem .75rem; border-bottom:1px solid var(--line); }
td { padding:.5rem .75rem; border-bottom:1px solid var(--line); vertical-align:top; }
tr:last-child td { border-bottom:none; }
.host { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; white-space:nowrap; }
.port { font-family:ui-monospace, monospace; font-size:.8rem; background:var(--optbg);
        padding:.05rem .35rem; border-radius:3px; }
.tag  { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em;
        padding:.1rem .4rem; border-radius:3px; }
.tag.req { color:var(--ok); background:var(--okbg); }
.tag.opt { color:var(--opt); background:var(--optbg); }
pre { background:var(--card); border:1px solid var(--line); padding:.9rem 1rem;
      overflow-x:auto; font-size:.85rem; }
.notes { white-space:pre-line; background:var(--card); border-left:3px solid var(--accent);
         padding:.75rem 1rem; max-width:46rem; }
.meta { color:var(--soft); font-size:.85rem; }
footer { color:var(--soft); font-size:.82rem; text-align:center; padding:2rem 1rem; }
a { color:var(--accent); }
@media (max-width:600px){ .host{white-space:normal; word-break:break-all;} main{padding:1rem;} }
