:root{color-scheme:light;--paper:#f4f0e5;--paper-raised:#fcfaf4;--ink:#1f2430;--ink-soft:#4a5162;--ink-faint:#5d6373;--rule:#d6cfbf;--rule-strong:#aea593;--dot:#1f24302b;--accent:#2d4bb8;--accent-wash:#2d4bb812;--accent-line:#2d4bb857;--tape:#2d4bb833;--p1:#f3e27c;--p2:#bfe2c4;--p3:#f4c3cf;--p4:#f6cfa2;--red-pen:#b3372f;--red-pen-wash:#b3372f12;--sticky:#f6e9a6;--code-bg:#fcfaf4;--syn-key:#2d4bb8;--syn-str:#2e6b3e;--syn-num:#8c4a12;--syn-fn:#6a3a99;--syn-punc:#5d6373;--font-display:var(--font-bricolage), "Segoe UI", system-ui, sans-serif;--font-body:var(--font-hanken), "Segoe UI", system-ui, sans-serif;--font-hand:var(--font-kalam), "Segoe Print", "Bradley Hand", cursive;--font-mono:var(--font-jetbrains), ui-monospace, "Cascadia Mono", Consolas, monospace;--text-xs:.875rem;--text-sm:1rem;--text-md:1.0625rem;--text-base:clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--text-lg:clamp(1.25rem, 1.18rem + .35vw, 1.4375rem);--text-xl:clamp(1.4375rem, 1.3rem + .6vw, 1.75rem);--text-2xl:clamp(1.75rem, 1.5rem + 1.2vw, 2.375rem);--text-3xl:clamp(2.25rem, 1.75rem + 2.4vw, 3.5rem);--hand-sm:1.125rem;--hand-md:1.3125rem;--leading-body:1.65;--leading-tight:1.1;--measure:68ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--grid:24px;--wrap:64rem;--margin-w:12.5rem;--gap:3rem;--gutter:clamp(1rem, 4vw, 2rem);--header-h:4.25rem;--radius:4px;--radius-hand:6px 4px 7px 3px;--shadow:0 1px 0 #1f24300f, 0 12px 24px -14px #1f243073;--dur-fast:.16s;--dur-draw:.9s;--ease:cubic-bezier(.3, .7, .2, 1)}html.dark{color-scheme:dark;--paper:#1b1e25;--paper-raised:#242832;--ink:#e9e5da;--ink-soft:#b0b4bf;--ink-faint:#979ca8;--rule:#3a3f4b;--rule-strong:#5a6070;--dot:#e9e5da1a;--accent:#9db1ff;--accent-wash:#9db1ff14;--accent-line:#9db1ff4d;--tape:#9db1ff33;--p1:#5a5020;--p2:#24463a;--p3:#553041;--p4:#5a3d22;--red-pen:#ff9b8f;--red-pen-wash:#ff9b8f14;--sticky:#453f24;--code-bg:#15181e;--syn-key:#9db1ff;--syn-str:#9ed3a5;--syn-num:#e9b27a;--syn-fn:#d2b0f2;--syn-punc:#979ca8;--shadow:0 1px 0 #0000004d, 0 14px 28px -14px #000000bf}.prose .heading-anchor{color:var(--accent);font-family:var(--font-body);letter-spacing:0;opacity:0;transition:opacity var(--dur-fast) var(--ease);margin-left:.3em;padding-inline:.1em;font-weight:500;font-stretch:100%;text-decoration:none}.prose .heading-anchor:before{content:"#";font-size:var(--text-md)}.prose h2:hover>.heading-anchor,.prose h3:hover>.heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover{text-underline-offset:.2em;text-decoration:underline 1px}@media (hover:none){.prose .heading-anchor{opacity:.45}}@media (hover:hover) and (width>=56.25rem){.prose h2,.prose h3{position:relative}.prose .heading-anchor{font-size:inherit;line-height:inherit;margin-left:0;padding-inline:.15rem;position:absolute;top:0;right:calc(100% + .3rem)}.prose .heading-anchor:focus-visible{outline-offset:0}}.prose .code-block__header{align-items:flex-end;gap:var(--space-3);min-width:0;display:flex}.prose .code-block__tab{z-index:1;min-width:0;max-width:100%;padding:.3rem var(--space-3) .25rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;background:var(--code-bg);border:1px solid var(--rule-strong);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;margin-bottom:-1px;line-height:1.4;position:relative;overflow:hidden}.prose .code-block__tab[data-kind=title]{color:var(--ink-soft)}.prose .code-block--header pre[data-language]:before{content:none}.prose .code-block--header>pre{border-top-left-radius:0;margin-top:0}.prose .code-block__header .copy-button{margin-left:auto;margin-bottom:var(--space-1);min-height:2rem;color:var(--ink-faint);opacity:1;background:0 0;border-color:#0000;flex:none;position:static}.prose .code-block__header .copy-button:hover,.prose .code-block__header .copy-button:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--paper-raised)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.vt-title{view-transition-name:var(--vt-name,none)}.vt-header{view-transition-name:site-header}::view-transition-old(root),::view-transition-new(root){animation-duration:calc(var(--dur-fast) * 1.5);animation-timing-function:var(--ease)}::view-transition-group(*){animation-duration:calc(var(--dur-fast) * 2);animation-timing-function:var(--ease)}::view-transition-group(site-header){z-index:2;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.reading-progress{display:none}@supports (animation-timeline:scroll()){@media screen and (prefers-reduced-motion:no-preference){.reading-progress{z-index:40;top:var(--header-h);bottom:0;left:max(2px, calc(var(--gutter) / 2 - 1px));background:var(--accent);pointer-events:none;transform-origin:top;width:2px;animation-name:reading-progress-draw;animation-duration:auto;border-radius:1px;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);display:block;position:fixed;transform:scaleY(0)}@media (width>=56.25rem){.reading-progress{left:calc(max(0px, 50% - (var(--wrap) + 2 * var(--gutter)) / 2) + var(--gutter) + var(--margin-w) + var(--gap) / 2 - 1px)}}}}@keyframes reading-progress-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:no-preference){.hl:after{content:"";z-index:-1;background:color-mix(in srgb, var(--tint,var(--p1)) 88%, var(--ink));transform-origin:0;transition:transform var(--dur-fast) var(--ease);pointer-events:none;border-radius:.3em .12em .35em .15em/.5em .3em .55em;position:absolute;inset:.2em -.05em .02em;transform:rotate(-1.2deg)skew(-10deg)scaleX(0)}a:hover .hl:after,a:focus-visible .hl:after{transform:rotate(-1.2deg)skew(-10deg)scaleX(1)}.press-row,.press-card,.press-row .stamp,.press-card .stamp,.press-link .stamp{transition:transform var(--dur-fast) var(--ease)}.press-link>a{transition:color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.press-row:active,.press-link>a:active{transform:translateY(1px)}.press-card:active{transform:scale(.98)}.press-row:active .stamp,.press-card:active .stamp,.press-link:active .stamp{transform:scale(.96)}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-4))}body{background-color:var(--paper);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.4px);background-size:var(--grid) var(--grid);background-position:calc(var(--grid) / 2) calc(var(--grid) / 2);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}body>main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;font-stretch:92%;line-height:var(--leading-tight);letter-spacing:-.012em;color:var(--ink);text-wrap:balance}h1{font-size:var(--text-3xl);letter-spacing:-.025em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);line-height:1.25}h4{font-size:var(--text-lg);line-height:1.3}p{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--p1);color:var(--ink)}code,kbd,pre,samp{font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{color:var(--ink);max-width:var(--measure)}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--accent);font-weight:inherit;text-decoration:underline 1px;text-decoration-color:var(--accent-line);text-underline-offset:.2em;transition:text-decoration-color var(--dur-fast) var(--ease)}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);font-weight:700}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0;padding-inline-start:1.3rem;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0;padding-inline-start:1.3rem;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--ink-faint);font-weight:600}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--accent)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);margin-top:0;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border:0;border-top:1px dashed var(--rule-strong);margin-top:3em;margin-bottom:3em;margin-block:2.4em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:var(--ink-soft);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:none;border-left:3px double var(--accent-line);padding-inline-start:1em;padding-left:var(--space-5);margin-top:1.6em;margin-bottom:1.6em;font-style:normal}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:var(--text-3xl);line-height:var(--leading-tight);margin-top:2em;margin-bottom:-.2em}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:var(--text-2xl);line-height:var(--leading-tight);margin-top:2em;margin-bottom:-.2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:var(--text-xl);margin-top:1.8em;margin-bottom:-.3em;line-height:1.25}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.3;font-size:var(--text-lg);margin-top:1.6em;margin-bottom:-.4em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){border:1px solid var(--rule);border-radius:var(--radius);margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:0;margin-bottom:0;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:max-content;font-size:var(--text-sm);border-collapse:collapse;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);scrollbar-width:thin;max-width:100%;margin-top:2em;margin-bottom:2em;line-height:1.5;display:block;overflow-x:auto}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:left;padding:var(--space-3) var(--space-4);vertical-align:top;border-bottom:1px solid var(--rule)}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-faint);font-size:var(--text-xs);margin-top:var(--space-2);text-wrap:pretty;line-height:1.5}.prose{--tw-prose-body:var(--ink);--tw-prose-headings:var(--ink);--tw-prose-lead:var(--ink-soft);--tw-prose-links:var(--accent);--tw-prose-bold:var(--ink);--tw-prose-counters:var(--ink-faint);--tw-prose-bullets:var(--accent);--tw-prose-hr:var(--rule);--tw-prose-quotes:var(--ink-soft);--tw-prose-quote-borders:var(--accent-line);--tw-prose-captions:var(--ink-faint);--tw-prose-kbd:var(--ink);--tw-prose-kbd-shadows:31 36 48;--tw-prose-code:var(--ink);--tw-prose-pre-code:var(--ink);--tw-prose-pre-bg:transparent;--tw-prose-th-borders:var(--rule-strong);--tw-prose-td-borders:var(--rule);--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:var(--text-base);line-height:var(--leading-body)}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0;padding-inline-start:0}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;margin-block:1.8em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(.prose>*+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.15em}.prose :where(h1,h2,h3,h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);font-family:var(--font-display);letter-spacing:-.012em;text-wrap:balance;scroll-margin-top:calc(var(--header-h) + var(--space-4));font-weight:700;font-stretch:92%}.prose :where(em):not(:where([class~=not-prose],[class~=not-prose] *)){font-style:italic}.prose :where(a:hover):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-color:var(--accent);text-decoration-thickness:2px}.prose :where(li+li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(li>ul,li>ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.55em}.prose :where(:not(pre)>code):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper-raised);color:var(--ink);word-break:break-word;font-size:.88em;font-weight:inherit;padding:.1em .35em}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);border-bottom:1.5px solid var(--rule-strong);white-space:nowrap;font-weight:700}.prose :where(tbody tr:last-child td):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom:0}.prose :where(.footnotes):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:var(--space-5);border-top:1px dashed var(--rule-strong);font-size:var(--text-sm);color:var(--ink-soft);margin-top:3em}.prose :where(.footnotes h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;margin:0 0 var(--space-3);padding:0;font-weight:700}.prose :where(.footnotes ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(sup a):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:.15em;font-size:.75em;font-weight:700;text-decoration:none}.skip-link{left:var(--gutter);z-index:60;padding:var(--space-3) var(--space-4);background:var(--ink);color:var(--paper);border-radius:var(--radius);font-weight:600;text-decoration:none;position:absolute;top:-5rem}.skip-link:focus{top:var(--space-3)}.wrap,.nb-page{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.nb-margin{align-items:baseline;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-1);color:var(--accent);flex-wrap:wrap;display:flex}.nb-margin .nb-note{font-size:var(--hand-sm)}.nb-margin .nb-arrow{display:none}@media (width>=56.25rem){.nb-page{background-image:linear-gradient(var(--accent-line), var(--accent-line)), linear-gradient(var(--accent-line), var(--accent-line));background-repeat:no-repeat;background-size:1px 100%;background-position:calc(var(--gutter) + var(--margin-w) + var(--gap) / 2 - 3px) 0, calc(var(--gutter) + var(--margin-w) + var(--gap) / 2 + 2px) 0}.nb-row{grid-template-columns:var(--margin-w) minmax(0, 1fr);column-gap:var(--gap);display:grid}.nb-margin{align-items:flex-end;gap:var(--space-1);text-align:right;flex-flow:column;grid-column:1;margin-bottom:0}.nb-margin .nb-note{font-size:var(--hand-md)}.nb-margin .nb-arrow{display:block}.nb-text{grid-column:2}}.nb-label{color:var(--ink-faint);font-size:var(--text-xs);margin:0;font-weight:600;line-height:1.4}.hand{font-family:var(--font-hand);color:var(--accent);font-weight:400;line-height:1.2}.nb-note{font-family:var(--font-hand);font-size:var(--hand-md);color:var(--accent);margin:0;line-height:1.2;transform:rotate(-2deg)}.pen-stroke{color:var(--accent);overflow:visible}.pen-stroke path,.pen-stroke circle,.pen-stroke ellipse{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.nb-arrow{flex:none;width:72px;height:44px}.pen-underline{display:inline-block;position:relative}.pen-underline>svg{pointer-events:none;width:calc(100% + 8px);max-width:none;height:.6em;position:absolute;bottom:-.55em;left:-2px}.pen-underline path{stroke-width:2.6px;stroke-dasharray:1;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.pen-underline path{animation:pen-draw var(--dur-draw) var(--ease) .3s both}}@keyframes pen-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.pen-circle{white-space:nowrap;padding-inline:.15em;display:inline-block;position:relative}.pen-circle>svg{pointer-events:none;width:calc(100% + .7em);max-width:none;height:calc(100% + .6em);position:absolute;top:-.3em;left:-.35em}.stamp{border:1.5px solid var(--ink);border-radius:var(--radius-hand);color:var(--ink);font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;padding:.05rem .45rem;font-weight:700;line-height:1.5;display:inline-block}.stamp--deep{background:var(--ink);color:var(--paper)}.hl{z-index:0;color:var(--ink);padding-inline:.35rem;position:relative}.hl:before{content:"";z-index:-1;background:var(--tint,var(--p1));border-radius:.3em .12em .35em .15em/.5em .3em .55em;position:absolute;inset:.2em -.05em .02em;transform:rotate(-1.2deg)skew(-10deg)}.hl[data-pillar=p1],.hl[data-category=ai]{--tint:var(--p1)}.hl[data-pillar=p2],.hl[data-category=business-central],.hl[data-category=full-stack]{--tint:var(--p2)}.hl[data-pillar=p3],.hl[data-category=developer-tools]{--tint:var(--p3)}.hl[data-pillar=p4],.hl[data-category=build-and-ship],.hl[data-category=cloud]{--tint:var(--p4)}.tape{position:relative}.tape:before,.tape-strip{content:"";z-index:1;background:var(--tape);pointer-events:none;width:60px;height:22px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(4deg)}.polaroid{background:var(--paper-raised);box-shadow:var(--shadow);margin:0;padding:6px 6px 16px;position:relative;transform:rotate(-3deg)}.polaroid img{aspect-ratio:1;object-fit:cover;object-position:50% 13%;width:100%}.paper-stack{background:var(--paper-raised);border:1px solid var(--rule-strong);box-shadow:5px 5px 0 -1px var(--paper-raised), 5px 5px 0 0 var(--rule-strong), 10px 10px 0 -1px var(--paper-raised), 10px 10px 0 0 var(--rule-strong);border-radius:2px;margin:0 10px 10px 0;position:relative}.callout{padding:var(--space-4) var(--space-5);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);font-size:var(--text-md);line-height:1.6;position:relative}.callout>*+*{margin-top:.8em}.callout__label{font-family:var(--font-display);font-stretch:92%;font-size:var(--text-sm);color:var(--accent);margin:0;font-weight:700;line-height:1.3}.callout__label+*{margin-top:var(--space-1)}.callout--note,.callout--tip{padding-left:calc(var(--space-5) + 4px)}.callout--note:before,.callout--tip:before{content:"";border-left:1px solid var(--accent-line);border-right:1px solid var(--accent-line);width:5px;position:absolute;inset:-1px auto -1px -1px}.callout--warn{padding-left:calc(var(--space-5) + .75rem);border:1.5px solid var(--red-pen)}.callout--warn:before{content:"";border-right:1.5px solid var(--red-pen);background:repeating-linear-gradient(-45deg, var(--red-pen) 0 1.5px, transparent 1.5px 7px);border-radius:2px 0 0 2px;width:.75rem;position:absolute;inset:0 auto 0 0}.callout--warn .callout__label{color:var(--red-pen)}.before-after{container-type:inline-size}.before-after__grid{gap:var(--space-4);display:grid}@container (width>=40rem){.before-after:not(.before-after--stack) .before-after__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.before-after__panel{padding:var(--space-4)}}.before-after__panel{min-width:0;padding:var(--space-3);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);font-size:var(--text-md);line-height:1.6}.before-after__label{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-display);font-stretch:92%;font-size:var(--text-sm);color:var(--accent);font-weight:700;line-height:1.3;display:flex}.before-after__panel--before .before-after__label,.before-after__panel--before .pen-stroke{color:var(--red-pen)}.before-after__body>*+*{margin-top:.8em}.before-after__body>:first-child{margin-top:0}.before-after__caption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--ink-faint);text-wrap:pretty;line-height:1.5}.sticky-note{max-width:34rem;padding:var(--space-5) var(--space-5) var(--space-4);background:var(--sticky);color:var(--ink);box-shadow:var(--shadow);font-size:var(--text-md);border-radius:2px;margin-inline:auto;line-height:1.6;position:relative;transform:rotate(-.6deg)}.sticky-note__label{margin:0 0 var(--space-2);font-family:var(--font-display);font-stretch:92%;font-size:var(--text-sm);color:var(--accent);font-weight:700;line-height:1.3}.sticky-note__body>*+*{margin-top:.8em}.sticky-note__body>:first-child{margin-top:0}.kbd kbd,.prose kbd{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);box-shadow:none;color:var(--ink);font-family:var(--font-body);white-space:nowrap;vertical-align:baseline;border-bottom-width:2px;padding:.05em .42em 0;font-size:.85em;font-weight:500;line-height:1.35;display:inline-block}kbd.kbd,.prose kbd.kbd,.prose kbd:has(>kbd){box-shadow:none;font-family:var(--font-body);font-size:inherit;font-weight:inherit;line-height:inherit;white-space:nowrap;background:0 0;border:0;padding:0;display:inline}.kbd__plus{color:var(--ink-faint);margin-inline:.18em;font-size:.85em}.steps>ol{counter-reset:step;margin:0;padding:0;list-style:none}.steps>ol>li{--step-w:1.9rem;--step-h:1.75rem;min-height:var(--step-h);counter-increment:step;margin:0;padding-inline-start:calc(var(--step-w) + .7rem);position:relative}.steps>ol>li+li{margin-top:1em}.steps>ol>li>*{margin-top:0;margin-bottom:0}.steps>ol>li>*+*{margin-top:.8em}.steps>ol>li:before,.steps>ol>li:after{left:0;top:calc((var(--text-base) * var(--leading-body) - var(--step-h)) / 2);width:var(--step-w);height:var(--step-h);position:absolute}.steps>ol>li:before{content:counter(step);color:var(--accent);font-family:var(--font-hand);letter-spacing:-.02em;border-radius:50%;justify-content:center;align-items:center;padding-top:.08em;font-size:1.125rem;font-weight:400;line-height:1;display:flex}.steps>ol>li:after{content:"";background-color:var(--accent);pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 36' preserveAspectRatio='none'%3E%3Cpath d='M24 3.3C32.6 3.7 37.4 10.2 37 18.5 36.6 27.3 29.5 33.1 20.1 32.9 10.7 32.7 3.1 26.7 3.3 18 3.5 9.7 10.3 3.5 18.7 3.1c3.6-.2 7.6.7 10.8 2.6' fill='none' stroke='%23000' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 36' preserveAspectRatio='none'%3E%3Cpath d='M24 3.3C32.6 3.7 37.4 10.2 37 18.5 36.6 27.3 29.5 33.1 20.1 32.9 10.7 32.7 3.1 26.7 3.3 18 3.5 9.7 10.3 3.5 18.7 3.1c3.6-.2 7.6.7 10.8 2.6' fill='none' stroke='%23000' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}@media (width>=56.25rem){.steps>ol>li{padding-inline-start:0}.steps>ol>li:before,.steps>ol>li:after{left:auto;right:calc(100% + var(--gap) / 2 + .5px - var(--step-w) / 2);z-index:45}.steps>ol>li:before{background:var(--paper)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.order-last{order:9999}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.m-0{margin:0}.-mx-gutter{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}.mx-auto{margin-left:auto;margin-right:auto}.my-nb-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-nb-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-nb-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.mb-\[0\.2rem\]{margin-bottom:.2rem}.mb-nb-1{margin-bottom:var(--space-1)}.mb-nb-2{margin-bottom:var(--space-2)}.mb-nb-3{margin-bottom:var(--space-3)}.mb-nb-6{margin-bottom:var(--space-6)}.ml-\[0\.15rem\]{margin-left:.15rem}.ml-auto{margin-left:auto}.ml-nb-1{margin-left:var(--space-1)}.mr-\[0\.15rem\]{margin-right:.15rem}.mr-auto{margin-right:auto}.mt-\[0\.2rem\]{margin-top:.2rem}.mt-\[0\.3rem\]{margin-top:.3rem}.mt-\[clamp\(3rem\,8vw\,5rem\)\]{margin-top:clamp(3rem,8vw,5rem)}.mt-\[clamp\(4rem\,10vw\,6rem\)\]{margin-top:clamp(4rem,10vw,6rem)}.mt-nb-1{margin-top:var(--space-1)}.mt-nb-2{margin-top:var(--space-2)}.mt-nb-3{margin-top:var(--space-3)}.mt-nb-4{margin-top:var(--space-4)}.mt-nb-5{margin-top:var(--space-5)}.mt-nb-6{margin-top:var(--space-6)}.mt-nb-7{margin-top:var(--space-7)}.mt-nb-8{margin-top:var(--space-8)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-11{height:2.75rem}.h-4{height:1rem}.h-\[22px\]{height:22px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[52px\]{height:52px}.h-auto{height:auto}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-\[1\.65em\]{min-height:1.65em}.min-h-\[var\(--header-h\)\]{min-height:var(--header-h)}.w-11{width:2.75rem}.w-4{width:1rem}.w-\[22px\]{width:22px}.w-\[34px\]{width:34px}.w-\[38px\]{width:38px}.w-\[4\.5rem\]{width:4.5rem}.w-\[5\.5rem\]{width:5.5rem}.w-\[7\.5rem\]{width:7.5rem}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[22ch\]{max-width:22ch}.max-w-\[34rem\]{max-width:34rem}.max-w-\[36rem\]{max-width:36rem}.max-w-\[60ch\]{max-width:60ch}.max-w-measure{max-width:var(--measure)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-\[0\.35em\]{--tw-translate-y:-.35em;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-\[4deg\]{--tw-rotate:-4deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[3deg\]{--tw-rotate:3deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[8deg\]{--tw-rotate:8deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-\[30px_minmax\(0\,1fr\)\]{grid-template-columns:30px minmax(0,1fr)}.grid-cols-\[5\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:5.5rem minmax(0,1fr)}.grid-cols-\[5rem_1fr\]{grid-template-columns:5rem 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-\[0\.3rem\]{gap:.3rem}.gap-\[0\.45rem\]{gap:.45rem}.gap-\[0\.65rem\]{gap:.65rem}.gap-nb-1{gap:var(--space-1)}.gap-nb-2{gap:var(--space-2)}.gap-nb-3{gap:var(--space-3)}.gap-nb-4{gap:var(--space-4)}.gap-nb-5{gap:var(--space-5)}.gap-nb-6{gap:var(--space-6)}.gap-x-nb-1{column-gap:var(--space-1)}.gap-x-nb-2{column-gap:var(--space-2)}.gap-x-nb-3{column-gap:var(--space-3)}.gap-x-nb-4{column-gap:var(--space-4)}.gap-x-nb-5{column-gap:var(--space-5)}.gap-y-nb-1{row-gap:var(--space-1)}.gap-y-nb-2{row-gap:var(--space-2)}.gap-y-nb-3{row-gap:var(--space-3)}.space-y-nb-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-1) * var(--tw-space-y-reverse))}.space-y-nb-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-2) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-2) * var(--tw-space-y-reverse))}.space-y-nb-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-5) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-5) * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-x-auto{overflow-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.rounded{border-radius:var(--radius)}.rounded-\[2px\]{border-radius:2px}.rounded-\[52\%_48\%_55\%_45\%\/58\%_50\%_50\%_42\%\]{border-radius:52% 48% 55% 45%/58% 50% 50% 42%}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-\[3px\]{border-left-width:3px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-double{border-style:double}.border-accent{border-color:var(--accent)}.border-accent-line{border-color:var(--accent-line)}.border-ink{border-color:var(--ink)}.border-rule{border-color:var(--rule)}.border-rule-strong{border-color:var(--rule-strong)}.border-transparent{border-color:#0000}.bg-ink{background-color:var(--ink)}.bg-paper{background-color:var(--paper)}.bg-paper-raised{background-color:var(--paper-raised)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.object-\[50\%_12\%\]{object-position:50% 12%}.p-0{padding:0}.p-nb-2{padding:var(--space-2)}.p-nb-5{padding:var(--space-5)}.px-\[0\.25rem\]{padding-left:.25rem;padding-right:.25rem}.px-\[0\.35rem\]{padding-left:.35rem;padding-right:.35rem}.px-gutter{padding-left:var(--gutter);padding-right:var(--gutter)}.px-nb-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-nb-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-nb-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-nb-5{padding-left:var(--space-5);padding-right:var(--space-5)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-\[0\.1rem\]{padding-top:.1rem;padding-bottom:.1rem}.py-\[0\.7rem\]{padding-top:.7rem;padding-bottom:.7rem}.py-\[0\.85rem\]{padding-top:.85rem;padding-bottom:.85rem}.py-nb-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-nb-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-nb-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-nb-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-nb-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.pb-nb-2{padding-bottom:var(--space-2)}.pb-nb-5{padding-bottom:var(--space-5)}.pb-nb-7{padding-bottom:var(--space-7)}.pb-nb-8{padding-bottom:var(--space-8)}.pl-nb-3{padding-left:var(--space-3)}.pl-nb-4{padding-left:var(--space-4)}.pl-nb-5{padding-left:var(--space-5)}.pt-\[clamp\(2rem\,6vw\,3\.5rem\)\]{padding-top:clamp(2rem,6vw,3.5rem)}.pt-nb-2{padding-top:var(--space-2)}.pt-nb-3{padding-top:var(--space-3)}.pt-nb-4{padding-top:var(--space-4)}.pt-nb-5{padding-top:var(--space-5)}.pt-nb-6{padding-top:var(--space-6)}.pt-nb-7{padding-top:var(--space-7)}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-hand{font-family:var(--font-hand)}.font-sans{font-family:var(--font-body)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-\[1\.1875rem\]{font-size:1.1875rem}.text-\[clamp\(1\.125rem\,1rem\+0\.6vw\,1\.375rem\)\]{font-size:clamp(1.125rem,1rem + .6vw,1.375rem)}.text-hand-md{font-size:var(--hand-md)}.text-hand-sm{font-size:var(--hand-sm)}.text-lg{font-size:var(--text-lg)}.text-md{font-size:var(--text-md)}.text-sm{font-size:var(--text-sm)}.text-xl{font-size:var(--text-xl)}.text-xs{font-size:var(--text-xs)}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-\[1\.25\]{line-height:1.25}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.3\]{line-height:1.3}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\]{line-height:1.5}.leading-\[2rem\]{line-height:2rem}.leading-body{line-height:var(--leading-body)}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.leading-tight{line-height:var(--leading-tight)}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.text-accent{color:var(--accent)}.text-current{color:currentColor}.text-ink{color:var(--ink)}.text-ink-faint{color:var(--ink-faint)}.text-ink-soft{color:var(--ink-soft)}.text-paper{color:var(--paper)}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-transparent{text-decoration-color:#0000}.decoration-2{text-decoration-thickness:2px}.underline-offset-\[0\.18em\]{text-underline-offset:.18em}.underline-offset-\[0\.2em\]{text-underline-offset:.2em}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_2px_var\(--paper\)\,0_0_0_3\.5px_var\(--ink\)\]{--tw-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink);--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color), 0 0 0 3.5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-paper{--tw-shadow:var(--tw-shadow-colored);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-shadow-color:var(--paper)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-fast{transition-duration:var(--dur-fast)}.ease-nb{transition-timing-function:var(--ease)}.\[font-stretch\:92\%\]{font-stretch:92%}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.prose pre,pre.astro-code{border:1px solid var(--rule-strong);border-radius:var(--radius);font-family:var(--font-mono);tab-size:2;font-variant-ligatures:none;scrollbar-width:thin;padding:1rem 1.25rem;font-size:.9375rem;line-height:1.65;position:relative;overflow-x:auto;background-color:var(--code-bg)!important}@media (width>=48rem){.prose pre,pre.astro-code{font-size:1rem}}@media (width<=30rem){.prose pre,pre.astro-code{padding-inline:.9rem}}.prose pre code{font-family:var(--font-mono);white-space:pre;display:block}.prose pre[data-language]:before{content:attr(data-language);width:max-content;margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);pointer-events:none;display:block;position:sticky;left:0}.prose pre[data-language=plaintext]:before,.prose pre[data-language=text]:before{content:none}html.dark .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}html.dark .astro-code{color:var(--shiki-dark)!important}.code-block{position:relative}.copy-button{top:var(--space-2);right:var(--space-2);min-height:2rem;padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft);background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:var(--radius);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-weight:600;position:absolute}.code-block:hover .copy-button,.copy-button:focus-visible{opacity:1}@media (hover:none){.copy-button{opacity:1}}.copy-button:hover{color:var(--accent);border-color:var(--accent)}.marker\:text-accent ::marker{color:var(--accent)}.marker\:text-ink-faint ::marker{color:var(--ink-faint)}.marker\:text-accent::marker{color:var(--accent)}.marker\:text-ink-faint::marker,.placeholder\:text-ink-faint::placeholder{color:var(--ink-faint)}.before\:left-10:before{content:var(--tw-content);left:2.5rem}.before\:mx-nb-2:before{content:var(--tw-content);margin-left:var(--space-2);margin-right:var(--space-2)}.before\:-rotate-\[4deg\]:before{content:var(--tw-content);--tw-rotate:-4deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:text-ink-faint:before{content:var(--tw-content);color:var(--ink-faint)}.before\:content-\[\'\/\'\]:before{--tw-content:"/";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:before\:content-none:first-child:before{--tw-content:none;content:var(--tw-content)}.open\:basis-full[open]{flex-basis:100%}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:border-accent-line:hover{border-color:var(--accent-line)}.hover\:border-rule-strong:hover{border-color:var(--rule-strong)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:text-accent:hover{color:var(--accent)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.group[open] .group-open\:inline{display:inline}.group[open] .group-open\:hidden{display:none}.group[open] .group-open\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-accent{color:var(--accent)}.group:hover .group-hover\:underline{text-decoration-line:underline}.peer:checked~.peer-checked\:border-ink{border-color:var(--ink)}.peer:checked~.peer-checked\:bg-paper-raised{background-color:var(--paper-raised)}.peer:focus-visible~.peer-focus-visible\:outline{outline-style:solid}.peer:focus-visible~.peer-focus-visible\:outline-\[3px\]{outline-width:3px}.peer:focus-visible~.peer-focus-visible\:outline-offset-2{outline-offset:2px}.peer:focus-visible~.peer-focus-visible\:outline-accent{outline-color:var(--accent)}.aria-\[current\=page\]\:text-accent[aria-current=page]{color:var(--accent)}.aria-\[current\=page\]\:text-ink[aria-current=page]{color:var(--ink)}.aria-\[current\=page\]\:after\:absolute[aria-current=page]:after{content:var(--tw-content);position:absolute}.aria-\[current\=page\]\:after\:inset-x-\[0\.35rem\][aria-current=page]:after{content:var(--tw-content);left:.35rem;right:.35rem}.aria-\[current\=page\]\:after\:inset-x-nb-1[aria-current=page]:after{content:var(--tw-content);left:var(--space-1);right:var(--space-1)}.aria-\[current\=page\]\:after\:bottom-\[0\.35rem\][aria-current=page]:after{content:var(--tw-content);bottom:.35rem}.aria-\[current\=page\]\:after\:bottom-\[0\.45rem\][aria-current=page]:after{content:var(--tw-content);bottom:.45rem}.aria-\[current\=page\]\:after\:h-\[7px\][aria-current=page]:after{content:var(--tw-content);height:7px}.aria-\[current\=page\]\:after\:bg-accent[aria-current=page]:after{content:var(--tw-content);background-color:var(--accent)}.aria-\[current\=page\]\:after\:content-\[\'\'\][aria-current=page]:after{--tw-content:"";content:var(--tw-content)}.aria-\[current\=page\]\:after\:\[mask\:var\(--pen-mark\)\][aria-current=page]:after{content:var(--tw-content);-webkit-mask:var(--pen-mark);mask:var(--pen-mark)}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}@media not all and (width>=56.25rem){.max-nb\:hidden{display:none}}@media not all and (width>=40rem){.last\:max-sm\:sr-only:last-child{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=22rem){.max-\[22rem\]\:hidden{display:none}}@media (width>=26rem){.min-\[26rem\]\:px-\[0\.4rem\]{padding-left:.4rem;padding-right:.4rem}.min-\[26rem\]\:text-sm{font-size:var(--text-sm)}}@media (width>=34rem){.min-\[34rem\]\:not-sr-only{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}}@media (width>=36rem){.min-\[36rem\]\:px-\[0\.6rem\]{padding-left:.6rem;padding-right:.6rem}}@media (width>=40rem){.sm\:col-start-2{grid-column-start:2}.sm\:inline{display:inline}.sm\:w-\[8\.5rem\]{width:8.5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[6\.5rem_1fr\]{grid-template-columns:6.5rem 1fr}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-nb-6{gap:var(--space-6)}.sm\:text-right{text-align:right}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1\.3fr_1fr\]{grid-template-columns:1.3fr 1fr}.md\:items-start{align-items:flex-start}}@media (width>=56.25rem){.nb\:sticky{position:sticky}.nb\:top-\[calc\(var\(--header-h\)\+var\(--space-5\)\)\]{top:calc(var(--header-h) + var(--space-5))}.nb\:order-none{order:0}.nb\:col-span-1{grid-column:span 1/span 1}.nb\:col-start-1{grid-column-start:1}.nb\:col-start-2{grid-column-start:2}.nb\:row-span-5{grid-row:span 5/span 5}.nb\:mx-0{margin-left:0;margin-right:0}.nb\:mt-0{margin-top:0}.nb\:mt-nb-2{margin-top:var(--space-2)}.nb\:mt-nb-4{margin-top:var(--space-4)}.nb\:mt-nb-7{margin-top:var(--space-7)}.nb\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nb\:block{display:block}.nb\:flex{display:flex}.nb\:grid{display:grid}.nb\:hidden{display:none}.nb\:max-h-\[calc\(100dvh-var\(--header-h\)-var\(--space-6\)\)\]{max-height:calc(100dvh - var(--header-h) - var(--space-6))}.nb\:w-\[6\.5rem\]{width:6.5rem}.nb\:grid-cols-\[6\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:6.5rem minmax(0,1fr)}.nb\:grid-cols-\[var\(--margin-w\)_minmax\(0\,1fr\)\]{grid-template-columns:var(--margin-w) minmax(0,1fr)}.nb\:flex-wrap{flex-wrap:wrap}.nb\:items-start{align-items:flex-start}.nb\:items-end{align-items:flex-end}.nb\:gap-x-\[var\(--gap\)\]{column-gap:var(--gap)}.nb\:gap-y-0{row-gap:0}.nb\:overflow-y-auto{overflow-y:auto}.nb\:px-0{padding-left:0;padding-right:0}.nb\:pt-0\.5{padding-top:.125rem}.nb\:pt-7{padding-top:1.75rem}.nb\:pt-\[0\.15rem\]{padding-top:.15rem}.nb\:pt-\[0\.35rem\]{padding-top:.35rem}.nb\:pt-\[0\.75rem\]{padding-top:.75rem}.nb\:pt-\[0\.8rem\]{padding-top:.8rem}.nb\:pt-nb-1{padding-top:var(--space-1)}.nb\:pt-nb-2{padding-top:var(--space-2)}.nb\:pt-nb-3{padding-top:var(--space-3)}.nb\:pt-nb-4{padding-top:var(--space-4)}.nb\:pt-nb-6{padding-top:var(--space-6)}.nb\:pt-nb-7{padding-top:var(--space-7)}.nb\:pt-nb-8{padding-top:var(--space-8)}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}
