:root{--bg:#f4f4f4;--ink:#000;--muted:#8a8a8a;--card:#fff;--dark:#1c1c1c;--line:rgba(0,0,0,.1)}
@media (prefers-color-scheme:dark){:root{--bg:#161616;--ink:#f2f2f2;--muted:#9a9a9a;--card:#202020;--dark:#f2f2f2;--line:rgba(255,255,255,.14)}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 'Platypi',Georgia,serif;font-weight:300}
a{color:inherit;text-underline-offset:3px}a:hover{opacity:.7}
.wrap{max-width:760px;margin:0 auto;padding:28px 22px 80px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0 28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:22px;font-weight:400;letter-spacing:-.4px}
.brand svg{width:30px;height:30px;fill:var(--ink)}
nav.links{font:13px 'IBM Plex Mono',ui-monospace,monospace;display:flex;gap:18px}
nav.links a{text-decoration:none;color:var(--muted)}nav.links a.on,nav.links a:hover{color:var(--ink)}
h1{font-size:44px;line-height:1.12;letter-spacing:-1.4px;font-weight:300;margin:.3em 0 .25em}
h2{font-size:26px;letter-spacing:-.6px;font-weight:400;margin:2em 0 .4em}
h3{font-size:19px;font-weight:400;margin:1.4em 0 .2em}
p,li{margin:.6em 0}ul{padding-left:1.2em}
.mono,.meta{font:13px/1.5 'IBM Plex Mono',ui-monospace,monospace;color:var(--muted)}
.lang{font:13px 'IBM Plex Mono',ui-monospace,monospace;margin:0 0 26px;display:flex;gap:14px}
.lang a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.card{background:var(--card);border-radius:16px;padding:22px 24px;margin:18px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:22px 0}
.grid .card{margin:0}.grid h3{margin-top:0}
.hero{text-align:center;padding:36px 0 14px}.hero svg{width:64px;height:64px;fill:var(--ink)}
.hero p.lead{font-size:20px;color:var(--ink);max-width:560px;margin:0 auto}
hr{border:0;border-top:1px solid var(--line);margin:56px 0 8px}
footer{margin-top:60px;padding-top:22px;border-top:1px solid var(--line)}
footer .mono a{margin-right:16px}
table{width:100%;border-collapse:collapse;font-size:15px;margin:14px 0}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font:12px 'IBM Plex Mono',ui-monospace,monospace;color:var(--muted);font-weight:400}
@media (max-width:560px){h1{font-size:34px}th:nth-child(3),td:nth-child(3){display:none}}
