:root { --bg:#0d1117; --panel:#161b22; --border:#30363d; --text:#e6edf3; --dim:#8b949e;
        --pos:#3fb950; --neg:#f85149; --accent:#58a6ff; --warn:#d29922; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text);
       font:16px/1.65 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.wrap { max-width:760px; margin:0 auto; padding:28px 20px 60px; }
.site { border-bottom:1px solid var(--border); }
.site-in { max-width:1180px; margin:0 auto; padding:11px 20px; display:flex;
           align-items:baseline; gap:22px; flex-wrap:wrap; }
.brand { font-weight:700; font-size:17px; color:var(--text); text-decoration:none; }
.links { display:flex; gap:18px; font-size:14px; }
.links a { color:var(--accent); text-decoration:none; }
.links a[aria-current="page"] { color:var(--text); font-weight:600; }
h1 { font-size:28px; line-height:1.25; margin:0 0 8px; }
h2 { font-size:20px; margin:34px 0 10px; }
h3 { font-size:16.5px; margin:26px 0 8px; }
.byline { color:var(--dim); font-size:13.5px; margin:0 0 24px; }
p { margin:0 0 14px; }
a { color:var(--accent); }
table { border-collapse:collapse; width:100%; font-size:14.5px; margin:14px 0 18px; }
th, td { padding:7px 10px; text-align:right; border-bottom:1px solid var(--border); white-space:nowrap; }
th { color:var(--dim); font-weight:600; }
td:first-child, th:first-child { text-align:left; font-weight:600; }
.pos { color:var(--pos); } .neg { color:var(--neg); }
.note { background:var(--panel); border:1px solid var(--border); border-radius:8px;
        padding:12px 16px; font-size:14px; color:var(--dim); margin:18px 0; }
.kbox { background:var(--panel); border-left:3px solid var(--accent); border-radius:0 8px 8px 0;
        padding:12px 16px; margin:18px 0; }
code { background:var(--panel); border:1px solid var(--border); border-radius:4px;
       padding:1px 6px; font-size:14px; }
footer { color:var(--dim); font-size:12.5px; margin-top:34px; border-top:1px solid var(--border);
         padding-top:14px; }
ul, ol { margin:0 0 14px; padding-left:22px; }
li { margin-bottom:6px; }
.cards a.card { display:block; background:var(--panel); border:1px solid var(--border);
        border-radius:8px; padding:16px 18px; margin:0 0 14px; text-decoration:none; color:var(--text); }
.cards a.card:hover { border-color:var(--accent); }
.cards .t { font-weight:600; font-size:17px; margin-bottom:4px; }
.cards .d { color:var(--dim); font-size:14px; }
/* mobile: wide tables scroll inside their own box, not the whole page */
@media (max-width:760px){
  .wrap table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}
