:root{--paper:#f5f3eb;--ink:#202720;--muted:#61695e;--line:#d7dbce;--green:#214c39;--lime:#d7e99c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:4px}a:hover{color:#477343}a:focus-visible,summary:focus-visible{outline:3px solid #718f38;outline-offset:5px}.wrap{max-width:1192px;padding:0 40px;margin:auto}header{border-bottom:1px solid var(--line)}.header{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-weight:750;font-size:18px;line-height:1.4}.mark{position:relative;display:grid;place-content:center;width:51px;height:51px;background:var(--green);color:var(--paper);font:700 18px ui-monospace,monospace;border-radius:3px}.mark span{position:absolute;font-size:13px;right:4px;top:1px;color:var(--lime)}.brand-sub{display:block;font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted);margin-top:4px}.header nav{display:flex;gap:28px;align-items:center;font-size:14px}.header nav a{color:var(--muted);text-decoration:none}.header nav a[aria-current]{color:var(--green);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}.header nav .repo{border-left:1px solid var(--line);padding-left:26px}.eyebrow{display:flex;justify-content:space-between;color:var(--green);font:11px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.4px;margin-top:45px}.eyebrow span{color:var(--muted)}.hero{max-width:960px;padding:30px 0 29px}h1{font-size:clamp(38px,4.8vw,65px);line-height:1.12;letter-spacing:-2.8px;font-weight:650;margin:0 0 25px}.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-2.4px;color:var(--green)}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:740px;margin:0}.disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;color:var(--muted);max-width:100%}.layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:64px;padding:43px 0 76px}.toc{align-self:start;position:sticky;top:30px}.toc-label{font:10px ui-monospace,monospace;letter-spacing:1.6px;margin-bottom:18px;color:var(--muted)}.toc nav{display:flex;flex-direction:column;gap:12px}.toc nav a{font-size:13px;line-height:1.6;text-decoration:none;color:var(--muted)}.toc nav a:hover{color:var(--green)}.toc-bottom{margin-top:30px;border-top:1px solid var(--line);padding-top:23px;font-family:Georgia,serif;font-style:italic;color:#708066;font-size:16px}article{min-width:0}section{margin-bottom:46px}h2{font-size:29px;line-height:1.25;letter-spacing:-.7px;margin:0 0 18px;font-weight:600}h3{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:20px 0 10px;font-weight:650}p{margin:0 0 17px}ul,ol{padding-left:24px}li{padding-left:5px;margin:0 0 12px}code{font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}p code,li code{background:#e9ecdf;padding:2px 5px;border-radius:3px}pre{padding:20px 22px;background:#202d25;color:#ebf0dc;border-left:3px solid #a2bc64;border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere;margin:19px 0 24px;line-height:1.7}.note{padding:19px 22px;background:#e9eedb;border-left:3px solid #91a765;font-size:14px;line-height:1.75;margin:23px 0}.actions{display:flex;gap:25px;align-items:center;margin:0 0 45px}.button{display:inline-flex;justify-content:space-between;gap:25px;padding:12px 20px;border-radius:3px;background:var(--green);color:white;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#355e43;color:white}.text-link{font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}.card{display:block;padding:21px 18px;border:1px solid var(--line);text-decoration:none;background:#faf9f2;color:var(--ink)}.card:hover{border-color:var(--green);color:var(--ink)}.card-number{font:9px ui-monospace,monospace;letter-spacing:1px;color:var(--muted)}.card h3{font-size:18px}.card p{font-size:13px;line-height:1.7;color:var(--muted)}.card>span:last-child{font-size:12px;color:var(--green)}.rows{margin:0}.rows>div{display:grid;grid-template-columns:160px 1fr;padding:17px 0;border-bottom:1px solid var(--line);gap:15px}.rows dt{font-weight:650;font-size:15px}.rows dd{margin:0;color:var(--muted);font-size:14px}.rows dd a{display:block;font-size:12px}.table-wrap{overflow:auto;margin:23px 0;border:1px solid var(--line)}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th,td{padding:14px 17px;vertical-align:top;overflow-wrap:anywhere}thead{background:#e8ecdf;font-size:11px;text-transform:uppercase;letter-spacing:.6px}tbody th{font-weight:600;width:32%}tr+tr{border-top:1px solid var(--line)}td{color:var(--muted)}.example{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.tag{font:10px/1.7 ui-monospace,monospace;letter-spacing:1px;color:var(--green)}.example h3{font-size:24px;margin-top:8px}.example a{font-size:13px}.step{position:relative;border-top:1px solid var(--line);padding:25px 0 0 47px;margin-bottom:30px}.step-number{position:absolute;left:0;top:29px;font:14px ui-monospace,monospace;color:#8b9b74}.step h3{margin-top:0;font-size:23px}.checkpoint{font-size:13px;color:var(--muted);border-left:2px solid #a9b88e;padding-left:15px}details{border-top:1px solid var(--line);padding:18px 0}details:last-of-type{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;line-height:1.6;padding-right:12px}details p{font-size:14px;color:var(--muted);margin:13px 0 0}.next{display:flex;justify-content:space-between;margin-top:30px;font-size:13px}footer{background:#e9ecdf;border-top:1px solid var(--line)}.footer{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding-top:33px;padding-bottom:35px;color:var(--muted);font-size:11px}.footer-brand{font-size:15px;font-weight:650;text-decoration:none}.footer p{margin:9px 0 0}.skip{position:absolute;top:-70px;left:15px;z-index:10;background:var(--green);color:white;padding:10px}.skip:focus{top:10px}@media(max-width:900px){.wrap{padding:0 25px}.layout{gap:30px;grid-template-columns:170px minmax(0,1fr)}.header nav{gap:18px}.cards{grid-template-columns:1fr}.card p{margin-bottom:10px}.eyebrow{font-size:9px}h1{letter-spacing:-1.5px}.serif{letter-spacing:-1.5px}}@media(max-width:650px){.wrap{padding:0 20px}.header{padding-top:20px;padding-bottom:18px;align-items:flex-start;flex-direction:column;gap:20px}.brand{font-size:16px}.header nav{width:100%;gap:22px;font-size:13px;flex-wrap:wrap}.header nav .repo{margin-left:auto;padding-left:15px}.eyebrow{margin-top:28px;flex-direction:column;gap:8px}.hero{padding-top:24px}.lead{font-size:17px}h1{font-size:39px}.disclosure{font-size:11px}.layout{display:block;padding-top:25px}.toc{position:static;margin-bottom:35px;padding-bottom:22px;border-bottom:1px solid var(--line)}.toc nav{flex-direction:row;flex-wrap:wrap;gap:10px 19px}.toc-bottom{display:none}.toc-label{margin-bottom:12px}h2{font-size:26px}.rows>div{grid-template-columns:1fr;gap:5px}.actions{flex-direction:column;align-items:flex-start;gap:17px}.footer{display:block}.footer>div+div{margin-top:23px}th,td{padding:12px}.step{padding-left:35px}.next{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
