:root{--ink:#141414;--paper:#f2f2e8;--paper-2:#eaeadf;--accent:#069d82;--accent-deep:#067a66;--deep:#0a1c30;--navy:#073763;--muted:#3a3a30;--muted-2:#5a5a4e;--line:1.5px solid var(--ink);--hair:1px solid rgba(20,20,20,.14);--sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'JetBrains Mono','SF Mono',ui-monospace,monospace}
@font-face{font-family:'Inter';font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format('woff2')}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent-deep);text-underline-offset:3px}a:hover{color:var(--navy)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:50}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--paper);border-bottom:var(--line)}
.brand{font:700 22px/1 var(--sans);letter-spacing:-.025em;color:var(--navy);text-decoration:none}.brand span{color:var(--accent)}
.doc-title{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-left:var(--line);padding-left:20px}
.search{position:relative;flex:1;max-width:420px}.search input{width:100%;height:36px;padding:0 12px;border:var(--line);background:#fff;font:400 14px var(--sans);color:var(--ink);border-radius:0}
.search input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#results{position:absolute;top:40px;left:0;right:0;margin:0;padding:0;list-style:none;background:#fff;border:var(--line);max-height:60vh;overflow:auto}
#results a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);border-bottom:var(--hair)}#results a:hover,#results a:focus{background:var(--paper-2)}
#results small{display:block;color:var(--muted-2);font-size:12px}
.top-links{margin-left:auto;display:flex;gap:18px}.top-links a{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none}.top-links a:hover{color:var(--accent-deep)}
.layout{display:grid;grid-template-columns:260px minmax(0,1fr) 200px;gap:40px;max-width:1360px;margin:0 auto;padding:28px 24px 64px}
.side{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 92px);overflow:auto;font-size:14px}
.grp{margin-bottom:22px}.grp-h{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.side ul{list-style:none;margin:0;padding:0}.side a{display:block;padding:5px 10px;margin-left:-10px;color:var(--ink);text-decoration:none;border-left:3px solid transparent}
.side a:hover{background:var(--paper-2)}.side a[aria-current=page]{border-left-color:var(--accent);background:var(--paper-2);font-weight:600}
.tag{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--muted-2);padding:1px 4px;margin-left:4px;color:var(--muted-2)}
main{min-width:0;max-width:760px}.crumbs{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin-bottom:18px}.crumbs i{font-style:normal;opacity:.5}.crumbs a{color:var(--muted-2)}
.internal-banner{background:var(--deep);color:#cdd6de;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;margin-bottom:18px}
article h1{font:700 38px/1.1 var(--sans);letter-spacing:-.025em;margin:0 0 12px}
.lede{font-size:19px;color:var(--muted);margin:0 0 28px}
article h2{font:700 26px/1.2 var(--sans);letter-spacing:-.015em;margin:44px 0 12px;padding-top:10px;border-top:var(--hair)}
article h3{font:600 19px/1.3 var(--sans);margin:30px 0 8px}
article p,article li{color:var(--muted)}article li{margin:4px 0}article strong{color:var(--ink)}
.anchor{margin-left:-1.1em;padding-right:.4em;color:var(--muted-2);text-decoration:none;opacity:0;font-weight:400}h2:hover .anchor,h3:hover .anchor,.anchor:focus{opacity:1}
code{font:500 .88em var(--mono);background:var(--paper-2);padding:1px 5px}
pre.code{background:var(--deep);color:#e6edf4;padding:16px 18px;overflow:auto;font:400 13px/1.6 var(--mono);margin:18px 0;border-left:4px solid var(--accent)}pre.code code{background:none;padding:0;color:inherit;font-weight:400}
table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14.5px}th,td{border:var(--hair);padding:9px 12px;text-align:left;vertical-align:top}th{background:var(--paper-2);font:600 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}
img{max-width:100%;height:auto;border:var(--line);background:#fff;margin:14px 0}
.callout{border-left:4px solid var(--accent);background:var(--paper-2);padding:12px 16px;margin:20px 0}.callout.warning{border-color:#b45309}.callout p{margin:4px 0 0;color:var(--ink)}
blockquote{border-left:4px solid var(--muted-2);margin:18px 0;padding:2px 16px}
.video{position:relative;aspect-ratio:16/9;margin:20px 0;border:var(--line);background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}.pn{display:block;border:var(--line);padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600}.pn small{display:block;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin-bottom:4px}.pn.next{text-align:right}.pn:hover{background:var(--paper-2)}
.edit{margin-top:24px;font-size:13px}
.toc{position:sticky;top:76px;align-self:start;font-size:13px}.toc a{display:block;padding:4px 0;color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent-deep)}
.foot{border-top:var(--line);padding:22px 24px;font:500 12px var(--mono);color:var(--muted-2);text-align:center}
@media (max-width:1100px){.layout{grid-template-columns:230px minmax(0,1fr)}.toc{display:none}}
@media (max-width:760px){.top{flex-wrap:wrap}.top-links{display:none}.search{max-width:none;order:3;flex-basis:100%}.layout{grid-template-columns:1fr;padding-top:16px}.side{position:static;max-height:none;border-bottom:var(--hair);padding-bottom:12px}article h1{font-size:30px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
