:root{--fg:#1d1d1f;--muted:#5a5a60;--bg:#fff;--alt:#f5f5f7;--line:#d9d9de;--link:#0b57d0;--warn:#fff6e0}
@media (prefers-color-scheme:dark){:root{--fg:#ececf0;--muted:#a3a3ab;--bg:#121214;--alt:#1c1c1f;--line:#34343a;--link:#8ab4ff;--warn:#2b2414}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--link)}
header,main,footer{max-width:900px;margin:0 auto;padding:0 20px}
header{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
header .brand{font-weight:700;font-size:20px;text-decoration:none;color:var(--fg);margin-right:auto}
header nav a{margin-left:16px;text-decoration:none}
h1{font-size:34px;line-height:1.2;margin:36px 0 12px}
h2{font-size:24px;margin:40px 0 10px}
h3{font-size:19px;margin:24px 0 6px}
.lead{font-size:19px;color:var(--muted)}
.hero{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:start}
.hero img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
@media (max-width:720px){.hero{grid-template-columns:1fr}.hero img{max-width:300px}}
.note{background:var(--warn);border:1px solid var(--line);border-radius:8px;padding:10px 14px}
.cta a{display:inline-block;margin:6px 10px 6px 0;padding:8px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:var(--alt)}
pre{background:var(--alt);border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto;font-size:14px;line-height:1.5}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.45}
th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
thead th{background:var(--alt)}
tbody th{background:var(--alt);white-space:nowrap}
sup a{text-decoration:none}
small,.muted{color:var(--muted)}
ol.sources{font-size:14px;word-break:break-word}
footer{margin-top:56px;padding-top:18px;padding-bottom:36px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
