:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0e1b2b;--ink-2:#33465c;--ink-3:#5a6c82;--paper:#f7f3ea;--paper-2:#ece6d8;--sky:#efe6d3;--sky-2:#f4eee0;--line:#0e1b2b1a;--glass:#ffffffb3;--glass-edge:#ffffffe6;--glass-shadow:0 22px 54px -30px #34221280, 0 3px 10px -4px #3422121f;--blue:#1f5fd6;--working:#8ea2d8;--needs:#dc8c66;--done:#a6bc8c;--font-sans:"Instrument Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--r-s:6px;--r-m:10px;--r-l:14px;--stick:28px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);scroll-padding-top:var(--stick)}@media (prefers-reduced-motion:no-preference){html:not([data-still]){scroll-behavior:smooth}}body{min-height:100vh;font-family:var(--font-sans);color:var(--ink);background:linear-gradient(180deg, var(--sky) 0, var(--sky-2) 300px, var(--paper) 640px) no-repeat, var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}h1,h2,h3,p,ol,ul,figure{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--ink);color:#fff}:root{--ring:var(--ink)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.code{--ring:#fff}main:focus{outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:60;background:var(--ink);color:#fff;font:600 14px/1 var(--font-sans);transition:transform .25s var(--ease);border-radius:999px;padding:11px 18px;position:fixed;top:12px;left:12px;transform:translateY(-170%)}.skip-link:focus-visible{outline-offset:-4px;outline:2px solid #fff;transform:none}.top,.foot{justify-content:space-between;align-items:center;gap:20px;max-width:1136px;margin:0 auto;display:flex}.top{padding:20px 28px 0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:600;display:inline-flex}.brand img{border-radius:7px;box-shadow:0 8px 16px -8px #0824548c,0 0 0 1px #0e1b2b14}.top nav{color:var(--ink-2);align-items:center;gap:22px;font-size:15px;display:flex}.top nav a:not(.cta):hover{color:var(--ink)}.cta{background:var(--ink);color:#fff;min-height:40px;transition:transform .2s var(--ease), box-shadow .2s var(--ease);border-radius:999px;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.cta:hover{transform:translateY(-1px);box-shadow:0 14px 24px -14px #0e1b2bb3}.hero{max-width:1136px;margin:0 auto;padding:64px 28px 0}.eyebrow{font:600 13px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:9px;display:inline-flex}.eyebrow:before{content:"";background:var(--working);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #8ea2d847}h1{letter-spacing:-.045em;text-wrap:balance;margin-top:18px;font-size:clamp(46px,8vw,92px);font-weight:600;line-height:.96}h1 em{font-family:var(--font-serif);letter-spacing:-.03em;font-style:italic;font-weight:400}.lead{max-width:34ch;color:var(--ink-2);text-wrap:pretty;margin-top:22px;font-size:clamp(19px,2.2vw,23px);line-height:1.45}.needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.os-note{font-size:var(--fs-text);color:var(--ink-2);text-wrap:pretty;margin-top:22px;line-height:1.5}.os-note a{color:var(--ink);text-underline-offset:3px;transition:text-decoration-color var(--t-quick) var(--ease);-webkit-text-decoration:underline #0e1b2b4d;text-decoration:underline #0e1b2b4d}.os-note a:hover{text-decoration-color:currentColor}.done .os-note{margin-top:18px}.need{border-radius:var(--r-l);background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(14px)saturate(1.3);padding:24px 26px 26px 76px;position:relative}.need p{color:var(--ink-2);text-wrap:pretty;font-size:16px;line-height:1.6}.need strong{color:var(--ink);font-weight:600}.need i{background:#44c98733;border-radius:50%;width:36px;height:36px;position:absolute;top:24px;left:24px}.need i:before{content:"";border:3px solid #17744a;border-width:0 3px 3px 0;border-radius:1px;width:8px;height:15px;position:absolute;top:8px;left:13px;transform:rotate(40deg)}.need[data-kind=not] i{background:#ff9f2e3d}.need[data-kind=not] i:before{background:#9a5200;border:0;border-radius:2px;width:4px;height:11px;top:14px;left:16px;transform:none}.need[data-kind=not] i:after{content:"";background:#9a5200;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:16px}.band{max-width:1136px;margin:40px auto 0;padding:0 28px}.band img{aspect-ratio:2240/661;object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:28px;width:100%;height:auto;box-shadow:0 34px 60px -38px #08245499,0 0 0 1px #ffffff80}.wrap{grid-template-columns:232px minmax(0,1fr);gap:72px;max-width:1136px;margin:0 auto;padding:72px 28px 112px;display:grid}.toc{top:var(--stick);align-self:start;position:sticky}.toc p{font:600 12px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:0 10px 10px}.toc ol{gap:2px;padding:0;list-style:none;display:grid}.toc a{border-radius:var(--r-m);color:var(--ink-3);transition:background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);align-items:center;gap:11px;padding:8px 10px;font-size:14.5px;line-height:1.3;display:flex}.toc a:hover{color:var(--ink);background:#0e1b2b0d}.toc a[aria-current]{color:var(--ink);box-shadow:0 8px 20px -14px #34221273, 0 0 0 1px var(--line);background:#fff;font-weight:600}.n{width:22px;height:22px;font:600 12px/1 var(--font-mono);color:var(--ink-2);transition:background-color .2s var(--ease), color .2s var(--ease);background:#0e1b2b12;border-radius:7px;flex:none;place-items:center;display:inline-grid}.n-none:before{content:"";opacity:.55;background:currentColor;border-radius:50%;width:6px;height:6px}.toc a[aria-current] .n{background:var(--ink);color:#fff}.doc{min-width:0;max-width:700px}.sec{scroll-margin-top:var(--stick)}.sec+.sec{border-top:1px solid var(--line);margin-top:64px;padding-top:60px}.sec>:first-child+*{margin-top:22px}.sec h2{letter-spacing:-.032em;text-wrap:balance;align-items:center;gap:16px;font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.08;display:flex}.sec h2 .n{background:var(--ink);color:#fff;border-radius:13px;width:42px;height:42px;font-size:17px}.anchor{border-radius:var(--r-s);font:500 18px/1 var(--font-mono);color:var(--ink-3);opacity:0;transition:opacity .2s var(--ease), background-color .2s var(--ease);margin-left:auto;padding:4px 8px}.sec h2:hover .anchor,.anchor:focus-visible{opacity:1}.anchor:hover{color:var(--ink);background:#0e1b2b0f}h3{letter-spacing:-.02em;margin-top:44px;font-size:23px;font-weight:600;line-height:1.2}.doc p,.doc li{color:var(--ink-2);text-wrap:pretty}.doc p{margin-top:18px}.doc strong{color:var(--ink);font-weight:600}.doc a:not(.anchor){color:var(--ink);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease), color .2s var(--ease);-webkit-text-decoration:underline #0e1b2b4d;text-decoration:underline #0e1b2b4d}.doc a:not(.anchor):hover{color:var(--blue);text-decoration-color:currentColor}.doc code{border-radius:var(--r-s);font:500 .86em/1 var(--font-mono);color:var(--ink);overflow-wrap:anywhere;background:#0e1b2b11;padding:.14em .36em}.ph{color:#8a4b00;border-bottom:1px dashed}.doc ul{gap:12px;margin-top:18px;padding:0;list-style:none;display:grid}.doc ul li{padding-left:24px;position:relative}.doc ul li:before{content:"";background:var(--working);opacity:.8;border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:4px}.steps{counter-reset:step;gap:12px;margin-top:20px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-radius:var(--r-l);background:var(--glass);box-shadow:0 0 0 1px var(--line);padding:18px 22px 18px 70px;position:relative}.steps li:before{content:counter(step);background:var(--ink);color:#fff;width:32px;height:32px;font:600 14px/1 var(--font-mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:17px;left:20px}.doc .statement{border-left:3px solid var(--done);letter-spacing:-.016em;color:var(--ink);text-wrap:balance;margin-top:26px;padding:4px 0 4px 20px;font-size:clamp(20px,2.5vw,25px);font-weight:500;line-height:1.36}.asks{gap:14px;margin-top:20px;padding:0;list-style:none;display:grid}.ask{border-radius:var(--r-l);background:var(--glass);box-shadow:0 0 0 1px var(--line);grid-template-columns:36px minmax(0,1fr);gap:20px;padding:24px 26px 26px 22px;display:grid}.ask-n{background:var(--ink);color:#fff;width:36px;height:36px;font:600 15px/1 var(--font-mono);border-radius:50%;place-items:center;display:grid}.ask-body{min-width:0}.doc .ask-body>:first-child{margin-top:0}.code{border-radius:var(--r-l);background:var(--ink);color:#e8eef6;margin-top:20px;padding:36px 18px 16px;position:relative;box-shadow:0 24px 44px -30px #082454bf}.code-label{font:600 11px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:#e8eef680;position:absolute;top:12px;left:18px}.code pre{border-radius:var(--r-s);font:400 14px/1.65 var(--font-mono);scrollbar-width:thin;margin:0;overflow-x:auto}.doc .code code{color:inherit;font:inherit;overflow-wrap:normal;background:0 0;padding:0}.code pre:focus-visible{outline-offset:6px}.code .ph{color:#ffc978}.copy{color:#fff;min-height:28px;font:600 12.5px/1 var(--font-sans);cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease);background:#ffffff1f;border:0;border-radius:999px;padding:0 12px;position:absolute;top:8px;right:10px}.copy:hover{background:#fff3}.copy[data-state=done]{background:var(--done);color:#05301a}.copy[data-state=failed]{background:var(--needs);color:#2b1600}html:not(.js) .copy{display:none}.tbl{border-radius:var(--r-l);background:var(--glass);box-shadow:0 0 0 1px var(--line);margin-top:22px;overflow:hidden}.tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.55}.tbl th,.tbl td{text-align:left;vertical-align:top;color:var(--ink-2);padding:15px 18px}.tbl thead th{font:600 12px/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:#0e1b2b0b}.tbl tbody tr+tr>*{border-top:1px solid var(--line)}.tbl tbody th{width:24%;color:var(--ink);font-weight:600}.more{margin-top:12px}.more>summary{min-height:34px;font:600 14px/1 var(--font-sans);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s var(--ease);background:#0e1b2b0f;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 16px;list-style:none;display:inline-flex}.more>summary::-webkit-details-marker{display:none}.more>summary:hover{background:#0e1b2b1c}.more>summary:after{content:"";width:7px;height:7px;transition:transform .25s var(--ease), margin .25s var(--ease);border-bottom:2px solid;border-right:2px solid;margin-top:-3px;transform:rotate(45deg)}.more[open]>summary:after{margin-top:3px;transform:rotate(225deg)}.more>summary .t-less,.more[open]>summary .t-more{display:none}.more[open]>summary .t-less{display:inline}.more>:not(summary){border-left:2px solid #0e1b2b1f;margin-left:2px;padding-left:18px}.doc .more>p:first-of-type{margin-top:16px}.doc li>.more>p{margin-top:14px}.done{width:min(1080px,100% - 56px);box-shadow:var(--glass-shadow), 0 0 0 1px #ffffffb3 inset;text-align:center;background:linear-gradient(#efe4cf 0,#f6efe2 100%);border-radius:28px;justify-items:center;margin:0 auto 96px;padding:56px 24px 60px;display:grid}.done img{border-radius:16px;box-shadow:0 18px 34px -18px #0824548c,0 0 0 1px #0e1b2b14}.done h2{letter-spacing:-.04em;margin-top:24px;font-size:clamp(34px,5vw,56px);font-weight:600;line-height:1}.done h2 em{font-family:var(--font-serif);letter-spacing:-.025em;font-style:italic;font-weight:400}.done .cta{min-height:52px;margin-top:28px;padding:0 30px;font-size:17px}.foot{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;padding:36px 28px 56px;font-size:14.5px}.foot nav{gap:22px;display:flex}.foot a:not(.brand):hover{color:var(--ink)}@media (max-width:940px){:root{--stick:84px}.wrap{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.toc{z-index:5;-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);box-shadow:0 1px 0 var(--line);background:#f7f3eae6;margin:0 -28px;padding:12px 28px;top:0}.toc p{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toc ol{scrollbar-width:none;gap:6px;margin:0 -28px;padding:2px 28px;display:flex;overflow-x:auto}.toc ol::-webkit-scrollbar{display:none}.toc a{white-space:nowrap;background:#0e1b2b0b;flex:none;min-height:40px;padding:0 14px 0 10px}.doc{padding-top:56px}}@media (max-width:720px){.top,.hero,.band,.wrap,.foot{padding-left:20px;padding-right:20px}.toc{margin:0 -20px;padding:10px 20px}.toc ol{margin:0 -20px;padding:2px 20px}.hero{padding-top:44px}.needs{grid-template-columns:minmax(0,1fr)}.top nav a:not(.cta){display:none}.band img{aspect-ratio:auto;object-position:56% 70%;border-radius:20px;height:170px}.sec+.sec{margin-top:48px;padding-top:44px}.sec h2{gap:12px}.sec h2 .n{border-radius:11px;width:36px;height:36px;font-size:15px}.anchor{display:none}.need{padding:70px 22px 22px}.need i{top:22px;left:22px}.ask{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px 20px 22px}.done{width:calc(100% - 40px);margin-bottom:64px;padding:44px 20px 48px}.steps li{padding:16px 18px 16px 62px}.steps li:before{left:16px}.tbl thead{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.tbl table,.tbl tbody,.tbl tr,.tbl th,.tbl td{width:auto;display:block}.tbl tbody tr{padding:16px 18px 18px}.tbl tbody tr+tr{border-top:1px solid var(--line)}.tbl tbody tr+tr>*{border-top:0}.tbl th,.tbl td{padding:0}.tbl tbody th{width:auto;font-size:16px}.tbl td{margin-top:10px}.tbl td:before{content:attr(data-label);font:600 11.5px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;display:block}}@media (prefers-reduced-motion:reduce){.skip-link,.cta,.toc a,.n,.more>summary,.more>summary:after,.copy,.anchor{transition:none}}html[data-still] .skip-link,html[data-still] .cta,html[data-still] .toc a,html[data-still] .n,html[data-still] .more>summary,html[data-still] .more>summary:after,html[data-still] .copy,html[data-still] .anchor{transition:none}@media print{body{background:#fff;font-size:12pt}.top,.band,.toc,.copy,.anchor,.skip-link,.more>summary{display:none}.wrap{padding:24px 0;display:block}.more>:not(summary){border-left:0;padding-left:0}.code{color:#000;box-shadow:none;background:#f1f1f1}}.steps li.walk{grid-template-columns:minmax(0,1fr) minmax(0,270px);align-items:start;gap:14px 24px;display:grid}.walk-text,.walk-pic{min-width:0}.walk-svg{border:1px solid var(--line);border-radius:var(--r-m);background:var(--sky-2);width:100%;height:auto;display:block}@media (max-width:640px){.steps li.walk{grid-template-columns:minmax(0,1fr)}.walk-pic{max-width:340px}}
