@font-face{font-family:Figtree;src:url(/fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-display:swap}
:root{--fg:#16181d;--muted:#5a616d;--line:#dfe3e8;--acc:#0B6FDB;--focus:#0C8CE9}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 Figtree,system-ui,sans-serif;color:var(--fg);background:#ECEEF1 radial-gradient(#cfd4dc 1px,transparent 1.2px) 0 0/18px 18px}
a{color:var(--acc)}a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
.top{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;padding:20px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;font-weight:700;font-size:18px}
.top nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;font-size:15px}.top nav a{color:var(--fg);text-decoration:none}.top nav a[aria-current]{font-weight:700}
.cta{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;background:var(--acc);color:#fff!important;font-weight:600}
article{max-width:760px;margin:12px auto 48px;padding:36px 40px;background:#fff;border-radius:20px;box-shadow:0 0 0 1px rgba(16,24,40,.06),0 12px 28px -8px rgba(16,24,40,.12)}
h1{font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:-.02em;margin:0 0 14px}h2{font-size:21px;margin:30px 0 6px}
.intro{color:var(--muted);font-size:19px;margin:0 0 8px}code{font-family:"JetBrains Mono",monospace;font-size:.9em}
dl dt{font-weight:700;margin-top:22px}dl dd{margin:4px 0 0}
.table{overflow-x:auto;margin:22px 0}table{border-collapse:collapse;width:100%;font-size:15px;min-width:620px}
th,td{text-align:left;vertical-align:top;padding:10px;border-top:1px solid var(--line)}thead th{border-top:0;font-size:14px;color:var(--muted)}
tbody th{font-weight:600}td:nth-child(2){background:#f3f7fd}
.end{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
footer{max-width:960px;margin:0 auto;padding:0 20px 40px;color:var(--muted);font-size:14px}
@media (max-width:600px){article{padding:24px 20px;border-radius:16px;margin:4px 10px 32px}body{font-size:16px}}