.prose{counter-reset:part;color:var(--text);font-size:16.5px;line-height:1.85}.prose>*+*{margin-top:1.1em}.prose p{margin:0}.prose>p+p{margin-top:.9em}.prose h2,.prose h3,.prose h4{color:var(--strong);scroll-margin-top:calc(var(--header-h) + 24px);position:relative}.prose h2{counter-increment:part;counter-reset:sec;border-top:1px solid var(--line);font:700 30px/1.25 var(--sans);letter-spacing:-.03em;margin:3.6em 0 0;padding-top:1.6em}.prose h2:before{content:"PART " counter(part, decimal-leading-zero);color:var(--brand-2);font:500 11px/1 var(--mono);letter-spacing:.22em;margin-bottom:10px;display:block}.prose h3{counter-increment:sec;counter-reset:sub;font:600 21px/1.4 var(--sans);letter-spacing:-.015em;margin:2.4em 0 0}.prose h3:before{content:counter(part) "." counter(sec);color:var(--brand-ink);font:500 .72em/1 var(--mono);vertical-align:.12em;margin-right:12px}.prose h4{counter-increment:sub;font:600 16.5px/1.5 var(--sans);margin:1.8em 0 0}.prose h4:before{content:counter(part) "." counter(sec) "." counter(sub);color:var(--muted);font:500 .8em/1 var(--mono);margin-right:10px}.prose .anchor{color:var(--faint);font:500 .7em/1 var(--mono);opacity:0;transition:opacity .2s var(--ease), color .2s var(--ease);margin-left:10px;text-decoration:none}.prose :is(h2,h3,h4):hover .anchor,.prose .anchor:focus-visible{opacity:1}.prose .anchor:hover{color:var(--brand-2);text-decoration:none}@media (hover:none){.prose .anchor{opacity:.6}}.prose :is(ul,ol):not(:where(.not-prose *)){padding-left:1.3em}.prose li:not(:where(.not-prose *))+li{margin-top:.3em}.prose li:not(:where(.not-prose *))::marker{color:var(--brand)}.prose a:not(:where(.not-prose *)){color:var(--brand-2);text-underline-offset:3px;text-decoration:underline #5eead459}.prose a:not(:where(.not-prose *)):hover{text-decoration-color:currentColor}.prose :not(pre)>code:not(:where(.not-prose *)){color:var(--brand-2);font:500 .88em var(--mono);word-break:break-word;background:#00b8b81a;border-radius:6px;padding:.12em .4em}.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}.prose blockquote{border-left:2px solid var(--brand);color:var(--muted);margin-left:0;padding:2px 0 2px 18px}.prose .table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow-x:auto}.prose table:not(:where(.not-prose *)){border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.65}.prose :is(th,td):not(:where(.not-prose *)){text-align:left;vertical-align:top;padding:10px 16px}.prose th:not(:where(.not-prose *)){color:var(--muted);font:500 12px/1.4 var(--mono);letter-spacing:.06em;background:rgba(var(--ink-rgb), .03);border-bottom:1px solid var(--line)}.prose tr+tr td:not(:where(.not-prose *)){border-top:1px solid var(--line)}.prose td:not(:where(.not-prose *)):first-child{white-space:nowrap}.prose tbody tr:not(:where(.not-prose *)){transition:background .18s var(--ease)}.prose tbody tr:not(:where(.not-prose *)):hover{background:#00b8b80a}.prose .expressive-code{margin-top:1.2em}@media (width<=640px){.prose{font-size:16px}.prose h2{font-size:25px}.prose h3{font-size:19px}.prose td:not(:where(.not-prose *)):first-child{white-space:normal}}.toc[data-astro-cid-7k3pnqyz]{top:calc(var(--header-h) + 32px);max-height:calc(100vh - var(--header-h) - 64px);scrollbar-width:thin;margin-top:56px;padding:4px 6px 4px 0;position:sticky;overflow-y:auto}.title[data-astro-cid-7k3pnqyz]{color:var(--faint);font:500 11px/1 var(--mono);letter-spacing:.18em;margin-bottom:12px}ol[data-astro-cid-7k3pnqyz]{margin:0;padding:0;list-style:none}.l1[data-astro-cid-7k3pnqyz]>li[data-astro-cid-7k3pnqyz]+li[data-astro-cid-7k3pnqyz]{margin-top:4px}a[data-astro-cid-7k3pnqyz]{color:var(--muted);transition:color .18s var(--ease), background .18s var(--ease);border-radius:8px;padding:5px 10px;font-size:13.5px;line-height:1.5;display:block}a[data-astro-cid-7k3pnqyz]:hover{color:var(--strong);background:rgba(var(--ink-rgb), .04);text-decoration:none}.l1[data-astro-cid-7k3pnqyz]>li[data-astro-cid-7k3pnqyz]>a[data-astro-cid-7k3pnqyz]{color:var(--text);font-weight:600}.n[data-astro-cid-7k3pnqyz]{color:var(--brand-ink);font:500 11px/1 var(--mono);margin-right:8px}.l2[data-astro-cid-7k3pnqyz]{border-left:1px solid var(--line);margin:2px 0 6px 14px;padding-left:8px;display:none}.l2[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]{font-size:13px}li[data-astro-cid-7k3pnqyz].open>.l2[data-astro-cid-7k3pnqyz]{animation:drop .3s var(--ease);display:block}@keyframes drop{0%{opacity:0;transform:translateY(-4px)}}a[data-astro-cid-7k3pnqyz].on{color:var(--brand-2);background:linear-gradient(90deg,#00b8b824,#0000)}.l1[data-astro-cid-7k3pnqyz]>li[data-astro-cid-7k3pnqyz]>a[data-astro-cid-7k3pnqyz].on{color:var(--brand-2)}.fab[data-astro-cid-7k3pnqyz],.sheet[data-astro-cid-7k3pnqyz]{display:none}@media (width<=1080px){.toc[data-astro-cid-7k3pnqyz]{display:none}.fab[data-astro-cid-7k3pnqyz]{z-index:25;border:1px solid var(--line-hi);background:var(--solid);height:42px;color:var(--strong);font:500 13px/1 var(--mono);cursor:var(--cursor-pointer);border-radius:999px;padding:0 18px;display:block;position:fixed;bottom:24px;right:16px;box-shadow:0 12px 32px -14px #0009}.fab[data-astro-cid-7k3pnqyz]:hover{border-color:var(--brand)}.sheet[data-astro-cid-7k3pnqyz][open]{border:1px solid var(--line-hi);background:var(--solid);width:min(560px,100vw);max-width:100vw;max-height:78vh;color:var(--text);animation:up .35s var(--ease);border-bottom:0;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0 12px 24px;display:block;overflow-y:auto}.sheet[data-astro-cid-7k3pnqyz]::backdrop{background:#03040a8c}.sheet-head[data-astro-cid-7k3pnqyz]{background:var(--solid);color:var(--strong);font:600 14px/1 var(--sans);justify-content:space-between;align-items:center;padding:16px 6px 10px;display:flex;position:sticky;top:0}.close[data-astro-cid-7k3pnqyz]{border:1px solid var(--line-hi);width:32px;height:32px;color:var(--strong);cursor:var(--cursor-pointer);background:0 0;border-radius:999px;font-size:18px}.sheet[data-astro-cid-7k3pnqyz] .l2[data-astro-cid-7k3pnqyz]{display:block}}@keyframes up{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){li[data-astro-cid-7k3pnqyz].open>.l2[data-astro-cid-7k3pnqyz],.sheet[data-astro-cid-7k3pnqyz][open]{animation:none}}.progress[data-astro-cid-n67f4zmd]{z-index:40;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.progress[data-astro-cid-n67f4zmd] span[data-astro-cid-n67f4zmd]{background:linear-gradient(90deg, var(--brand), var(--brand-2));height:100%;box-shadow:0 0 10px var(--brand);transform-origin:0;transform:scaleX(var(--p,0));display:block}@supports (animation-timeline:scroll()){.progress[data-astro-cid-n67f4zmd] span[data-astro-cid-n67f4zmd]{animation:linear both grow scroll(root)}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.layout[data-astro-cid-n67f4zmd]{grid-template-columns:250px minmax(0,760px);justify-content:center;gap:56px;max-width:1240px;margin:0 auto;padding:0 24px;display:grid}.side[data-astro-cid-n67f4zmd]{position:relative}article[data-astro-cid-n67f4zmd]{min-width:0;padding-top:56px}.head[data-astro-cid-n67f4zmd]{border-bottom:1px solid var(--line);padding-bottom:28px}.back[data-astro-cid-n67f4zmd]{color:var(--muted);font:500 13px/1 var(--mono)}.back[data-astro-cid-n67f4zmd]:hover{color:var(--brand-2);text-decoration:none}.tags[data-astro-cid-n67f4zmd]{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}h1[data-astro-cid-n67f4zmd]{color:var(--strong);font:700 clamp(32px, 5vw, 46px) / 1.12 var(--sans);letter-spacing:-.035em;margin:14px 0 0}.lede[data-astro-cid-n67f4zmd]{color:var(--muted);margin:16px 0 0;font-size:17px}.meta[data-astro-cid-n67f4zmd]{color:var(--muted);font:400 12px/1.6 var(--mono);flex-wrap:wrap;gap:6px 18px;margin-top:18px;display:flex}.to-top[data-astro-cid-n67f4zmd]{z-index:20;border:1px solid var(--line-hi);background:var(--solid);width:42px;height:42px;color:var(--strong);font:500 16px/1 var(--mono);cursor:var(--cursor-pointer);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s linear .3s, border-color .2s var(--ease);border-radius:999px;position:fixed;bottom:24px;right:24px;transform:translateY(12px)}.to-top[data-astro-cid-n67f4zmd].on{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.to-top[data-astro-cid-n67f4zmd]:hover{border-color:var(--brand)}@media (width<=1080px){.layout[data-astro-cid-n67f4zmd]{grid-template-columns:minmax(0,760px)}.side[data-astro-cid-n67f4zmd]{position:static}.to-top[data-astro-cid-n67f4zmd]{bottom:76px;right:16px}}@media (width<=640px){.layout[data-astro-cid-n67f4zmd]{padding:0 16px}article[data-astro-cid-n67f4zmd]{padding-top:32px}}
