:root{--paper:#f4f7f4;--white:#fff;--ink:#14231c;--muted:#526159;--green:#28734f;--soft:#e4f0e8;--rule:#d8e0da;--mono:"SFMono-Regular",Consolas,monospace;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:var(--green);text-underline-offset:.18em}a:hover{color:#174d34}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:1rem;top:1rem;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:5}.top{height:68px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:rgba(244,247,244,.94)}.brand{color:var(--ink);font:700 1.18rem var(--serif);text-decoration:none}.top nav{display:flex;gap:1.4rem;font-size:.9rem}.layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:240px minmax(0,720px) 1fr;gap:clamp(2rem,5vw,5rem);padding:3.5rem clamp(1rem,4vw,4rem) 5rem}.side{position:sticky;top:2rem;align-self:start}.eyebrow{font:700 .7rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.side ul{list-style:none;padding:1rem 0;margin:0;border-top:1px solid var(--rule)}.side li{margin:.35rem 0}.side a{display:block;padding:.32rem .55rem;color:var(--muted);text-decoration:none;border-left:2px solid transparent}.side a[aria-current=page]{color:var(--ink);border-color:var(--green);background:var(--soft)}main{min-width:0}h1,h2,h3{font-family:var(--serif);line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4.3rem);letter-spacing:-.04em;margin:0 0 1.5rem}h2{font-size:1.75rem;margin:3.2rem 0 .8rem;padding-top:.5rem}h3{font-size:1.25rem;margin:2rem 0 .5rem}main>p:first-of-type{font-size:1.2rem;color:var(--muted);line-height:1.65}p,li{max-width:68ch}ul,ol{padding-left:1.25rem}li+li{margin-top:.35rem}code{font-family:var(--mono);font-size:.9em;background:var(--soft);padding:.12em .32em;border-radius:3px;overflow-wrap:anywhere}pre{background:var(--ink);color:#eaf4ed;border-radius:6px;padding:1.1rem 1.25rem;overflow:auto}pre code{background:none;padding:0;color:inherit}.rail{position:sticky;top:2rem;align-self:start;border-left:1px solid var(--rule);padding-left:1.2rem;color:var(--muted);font-size:.78rem}.rail span{display:block;font-family:var(--mono);padding:.25rem 0}.rail span:nth-child(4){color:var(--green);font-weight:700}.source{margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.85rem;color:var(--muted)}footer{border-top:1px solid var(--rule);padding:2rem clamp(1rem,4vw,4rem);font-size:.82rem;color:var(--muted)}@media(max-width:900px){.layout{grid-template-columns:190px minmax(0,1fr)}.rail{display:none}}@media(max-width:680px){.top nav a:not(:first-child){display:none}.layout{display:block;padding-top:2rem}.side{position:static;margin-bottom:2.5rem}.side ul{display:flex;gap:.35rem;overflow:auto;padding:.7rem 0}.side li{flex:0 0 auto;margin:0}.side a{border:1px solid var(--rule);border-radius:999px;padding:.3rem .7rem}.side a[aria-current=page]{border-color:var(--green)}h1{font-size:2.5rem}}


.brand{font:700 1rem/1.65 var(--sans);letter-spacing:-.02em}.brand span{color:var(--green)}
@media(max-width:680px){body{overflow-x:hidden}.layout,.side,main{max-width:100%}.side,main{overflow:hidden}.side ul{width:100%}h1{font-size:2.15rem}}
