/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}html{scrollbar-gutter:stable;overflow-y:scroll}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background-color:var(--background);min-height:100svh;color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Inter Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:flex}body ::selection{background-color:var(--accent)}body::selection{background-color:var(--accent)}body ::selection{color:var(--background)}body::selection{color:var(--background)}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}button:not(:disabled),[role=button]:not(:disabled),summary{cursor:pointer}kbd{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--surface);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);color:var(--muted-foreground);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.-top-full{top:-100%}.top-0{top:0}.top-24{top:calc(var(--spacing) * 24)}.left-4{left:calc(var(--spacing) * 4)}.z-50{z-index:50}.z-\[1\]{z-index:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.mx-auto{margin-inline:auto}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1{margin-left:var(--spacing)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-14{height:calc(var(--spacing) * 14)}.h-full{height:100%}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\[38rem\]{max-width:38rem}.max-w-\[var\(--measure\)\]{max-width:var(--measure)}.max-w-app{max-width:48rem}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-surface{background-color:var(--surface)}.p-4{padding:calc(var(--spacing) * 4)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.font-mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.375rem\]{font-size:1.375rem}.text-\[1\.1875rem\]{font-size:1.1875rem}.text-\[clamp\(1\.875rem\,1\.4rem\+2vw\,2\.5rem\)\]{font-size:clamp(1.875rem,1.4rem + 2vw,2.5rem)}.text-\[clamp\(2rem\,1\.5rem\+2\.2vw\,2\.75rem\)\]{font-size:clamp(2rem,1.5rem + 2.2vw,2.75rem)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-foreground{color:var(--foreground)}.text-muted,.text-muted\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted\/70{color:color-mix(in oklab,var(--muted-foreground) 70%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-60{opacity:.6}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:text-accent:is(:where(.group):hover *){color:var(--accent)}}.first-of-type\:mt-6:first-of-type{margin-top:calc(var(--spacing) * 6)}.focus-within\:bg-surface:focus-within{background-color:var(--surface)}@media(hover:hover){.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-foreground:hover{color:var(--foreground)}}.focus\:top-3:focus{top:calc(var(--spacing) * 3)}@media(prefers-reduced-motion:no-preference){.motion-safe\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@media(min-width:40rem){.sm\:col-start-2{grid-column-start:2}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:text-right{text-align:right}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.sm\:last\:col-span-2:last-child{grid-column:span 2/span 2}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:last\:col-span-1:last-child{grid-column:span 1/span 1}}@media(min-width:80rem){.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:max-w-\[84rem\]{max-width:84rem}.xl\:grid-cols-\[1fr_minmax\(0\,48rem\)_1fr\]{grid-template-columns:1fr minmax(0,48rem) 1fr}.xl\:gap-10{gap:calc(var(--spacing) * 10)}}}:root,html[data-theme=light]{--background:#fcfcfa;--surface:#f3f1ee;--code-bg:#f6f4f1;--foreground:#1b1f24;--muted-foreground:#5b6470;--accent:#0b5cd7;--accent-2:#0e7490;--border:#dedad3;--measure:42rem;--callout-note:#0b5cd7;--callout-tip:#0f766e;--callout-important:#6d28d9;--callout-warning:#a1520a;--callout-caution:#b91c1c}html[data-theme=dark]{--background:#101418;--surface:#181d23;--code-bg:#0d1117;--foreground:#e8eaed;--muted-foreground:#9ba5b0;--accent:#ff8e3c;--accent-2:#fbbf24;--border:#2a313a;--callout-note:#74b1fb;--callout-tip:#2dd4bf;--callout-important:#c4b5fd;--callout-warning:#fbbf24;--callout-caution:#fca5a5}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}#site-header{z-index:40;background:var(--background);border-bottom:1px solid var(--border);position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){#site-header{background:var(--background)}@supports (color:color-mix(in lab,red,red)){#site-header{background:color-mix(in srgb,var(--background) 85%,transparent)}}#site-header{-webkit-backdrop-filter:blur(12px)saturate(150%);backdrop-filter:blur(12px)saturate(150%)}}.active-nav{color:var(--accent);text-underline-offset:10px;text-decoration:underline;text-decoration-thickness:2px}.card-item{position:relative}.card-link:after{content:"";position:absolute;inset:0}.app-prose{color:var(--tw-prose-body);max-width:65ch}.app-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.app-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}.app-prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.app-prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.app-prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.app-prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.app-prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.app-prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.app-prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.app-prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.app-prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.app-prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.app-prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.app-prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.app-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.app-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.app-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.app-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.app-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.app-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.app-prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.app-prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.app-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.app-prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.app-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.app-prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.app-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.app-prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.app-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.app-prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.app-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.app-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-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}.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.app-prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.app-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.app-prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-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:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.app-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}.app-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.app-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.app-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.app-prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.app-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}.app-prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.app-prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.app-prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.app-prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.app-prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.app-prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.app-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.app-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.app-prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem}.app-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.app-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.app-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.app-prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.app-prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.app-prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.app-prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.app-prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.app-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.app-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.app-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.app-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.app-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.app-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.app-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}.app-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.app-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.app-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.app-prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.app-prose{max-width:var(--measure);--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--accent);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--muted-foreground);--tw-prose-quote-borders:var(--accent);--tw-prose-captions:var(--muted-foreground);--tw-prose-code:var(--foreground);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-kbd:var(--foreground);font-size:clamp(1.0625rem,1rem + .25vw,1.125rem);line-height:1.75}.app-prose p{margin-block:1.25em}.app-prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:500}@supports (color:color-mix(in lab,red,red)){.app-prose a{-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}}.app-prose a{transition:text-decoration-color .15s}.app-prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.app-prose h2{letter-spacing:-.02em;margin-top:2.25em;margin-bottom:.75em;font-size:1.5rem;font-weight:650;line-height:1.3}.app-prose h3{letter-spacing:-.01em;font-size:1.25rem;font-weight:600;line-height:1.4}.app-prose h4{font-size:1.0625rem;font-weight:600;line-height:1.5}.app-prose :is(h2,h3,h4){scroll-margin-top:6rem;position:relative}.app-prose blockquote{border-left:2px solid var(--accent);color:var(--muted-foreground);font-style:normal;font-weight:400}.app-prose blockquote p:before,.app-prose blockquote p:after{content:none}.app-prose code:not(pre code){border-radius:var(--radius-md);background-color:var(--surface);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);overflow-wrap:break-word;font-size:.9em}.app-prose code:not(pre code):before,.app-prose code:not(pre code):after{content:none}.app-prose kbd{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--surface);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-normal);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem;font-weight:var(--font-weight-normal);color:var(--muted-foreground);box-shadow:none}.table-scroll{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);overscroll-behavior-x:contain;overflow-x:auto}.app-prose table{border-collapse:collapse;width:100%;margin:0;font-size:.9375rem}.app-prose :is(th,td){text-align:left;vertical-align:top;padding:.625rem .875rem}.app-prose th{background:var(--surface);white-space:nowrap;font-weight:600}.app-prose td{min-width:7rem}.app-prose tbody tr{border-top:1px solid var(--border)}.app-prose img{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);margin-inline:auto}.app-prose hr{border-style:solid}.heading-anchor{font-family:var(--font-mono);color:var(--muted-foreground);opacity:0;align-items:center;font-size:.85em;font-weight:400;text-decoration:none;display:flex;position:absolute;top:0;bottom:0;left:-1.5em}@media(prefers-reduced-motion:no-preference){.heading-anchor{transition:opacity .15s}}.app-prose :is(h2,h3,h4):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.app-prose>pre.astro-code{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border)}pre.astro-code{padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;background-color:var(--code-bg)!important}html[data-theme=dark] pre.astro-code,html[data-theme=dark] pre.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!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[data-theme=dark] pre.astro-code{background-color:var(--code-bg)!important}.code-figure{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);overflow:hidden}.code-figure pre.astro-code{border:0;border-radius:0;margin:0}.code-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem .625rem .375rem 1rem;display:flex}.code-lang{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);font-size:.6875rem}.copy-code{font-family:var(--font-mono);color:var(--muted-foreground);border-radius:.375rem;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;display:inline-flex}.copy-code:hover{color:var(--foreground);background:var(--background)}@supports (color:color-mix(in lab,red,red)){.copy-code:hover{background:color-mix(in srgb,var(--background) 60%,transparent)}}.app-prose{--prose-bleed:0rem}@media(min-width:50rem){.app-prose{--prose-bleed:2rem}}.app-prose>.code-figure,.app-prose>pre.astro-code,.app-prose>.table-scroll{margin-inline:calc(-1 * var(--prose-bleed))}#progress-bar{z-index:50;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media(prefers-reduced-motion:no-preference){#progress-bar{animation:linear both progress-grow;animation-timeline:scroll(root)}}}@keyframes progress-grow{to{transform:scaleX(1)}}.toc-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);font-size:.6875rem}.toc-list a{color:var(--muted-foreground);padding-block:.25rem;font-size:.8125rem;line-height:1.5;display:block}.toc-list a:hover{color:var(--foreground)}.toc-list a.toc-active{color:var(--accent)}.toc-list .toc-depth-3{padding-left:.875rem}#back-to-top{right:max(1rem,env(safe-area-inset-right));bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .75rem));z-index:30;border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--muted-foreground);opacity:0;visibility:hidden;border-radius:9999px;justify-content:center;align-items:center;display:flex;position:fixed;translate:0 .5rem}@media(prefers-reduced-motion:no-preference){#back-to-top{transition:opacity .2s,translate .2s,visibility .2s}}#back-to-top.visible{opacity:1;visibility:visible;translate:0}#back-to-top:hover{color:var(--accent)}#pagefind-search{--pagefind-ui-scale:.9;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--foreground);--pagefind-ui-background:var(--background);--pagefind-ui-border:var(--border);--pagefind-ui-tag:var(--surface);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:.75rem;--pagefind-ui-font:inherit}#pagefind-search .pagefind-ui__result-title a{color:var(--foreground)}#pagefind-search .pagefind-ui__result-title a:hover{color:var(--accent)}#pagefind-search mark{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){#pagefind-search mark{background-color:color-mix(in srgb,var(--accent) 22%,transparent)}}#pagefind-search mark{color:var(--foreground);border-radius:2px}.app-prose .callout{border:1px solid var(--callout-color);margin-block:1.5rem;padding:.875rem 1.125rem}@supports (color:color-mix(in lab,red,red)){.app-prose .callout{border:1px solid color-mix(in srgb,var(--callout-color) 30%,transparent)}}.app-prose .callout{border-left:3px solid var(--callout-color);background:var(--callout-color);border-radius:.75rem}@supports (color:color-mix(in lab,red,red)){.app-prose .callout{background:color-mix(in srgb,var(--callout-color) 7%,var(--background))}}.app-prose .callout{color:var(--foreground);font-style:normal}.app-prose .callout>.callout-title{color:var(--callout-color);align-items:center;gap:.5rem;margin-bottom:.375rem;font-size:.9375rem;font-weight:600;line-height:1.4;display:flex}.app-prose .callout>.callout-title:before{content:"";background-color:currentColor;flex:none;width:1.125em;height:1.125em;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.app-prose .callout>:not(.callout-title){margin-block:.5rem}.app-prose .callout>:last-child{margin-bottom:0}.app-prose .callout a{color:var(--callout-color);-webkit-text-decoration-color:var(--callout-color);text-decoration-color:var(--callout-color)}@supports (color:color-mix(in lab,red,red)){.app-prose .callout a{-webkit-text-decoration-color:color-mix(in srgb,var(--callout-color) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--callout-color) 40%,transparent)}}.app-prose .callout a:hover{-webkit-text-decoration-color:var(--callout-color);text-decoration-color:var(--callout-color)}.app-prose .callout code:not(pre code){background:var(--callout-color)}@supports (color:color-mix(in lab,red,red)){.app-prose .callout code:not(pre code){background:color-mix(in srgb,var(--callout-color) 12%,transparent)}}.callout-note{--callout-color:var(--callout-note)}.callout-note>.callout-title:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/svg%3E")}.callout-tip{--callout-color:var(--callout-tip)}.callout-tip>.callout-title:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 1 3.6 10.8c-.4.3-.6.8-.6 1.2v0H9v0c0-.4-.2-.9-.6-1.2A6 6 0 0 1 12 3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 1 3.6 10.8c-.4.3-.6.8-.6 1.2v0H9v0c0-.4-.2-.9-.6-1.2A6 6 0 0 1 12 3z'/%3E%3C/svg%3E")}.callout-important{--callout-color:var(--callout-important)}.callout-important>.callout-title:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H8l-4 4V5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2z'/%3E%3Cpath d='M12 7v4'/%3E%3Cpath d='M12 14h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H8l-4 4V5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2z'/%3E%3Cpath d='M12 7v4'/%3E%3Cpath d='M12 14h.01'/%3E%3C/svg%3E")}.callout-warning{--callout-color:var(--callout-warning)}.callout-warning>.callout-title:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4.3 2.8 17a2 2 0 0 0 1.7 3h15a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4.3 2.8 17a2 2 0 0 0 1.7 3h15a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}.callout-caution{--callout-color:var(--callout-caution)}.callout-caution>.callout-title:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 9l-6 6'/%3E%3Cpath d='M9 9l6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 9l-6 6'/%3E%3Cpath d='M9 9l6 6'/%3E%3C/svg%3E")}.app-prose :is(p,li,h1,h2,h3,h4,td,th,dd,dt){overflow-wrap:break-word}.app-prose :is(p,li)>a{overflow-wrap:anywhere}.external-link:after{content:"";vertical-align:baseline;opacity:.65;background-color:currentColor;width:.7em;height:.7em;margin-left:.2em;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M9 7h8v8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M9 7h8v8'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.app-prose .footnotes{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:3rem;padding-top:1.25rem;font-size:.9375rem}.app-prose .footnotes h2{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .5rem;font-size:.6875rem;font-weight:500}.app-prose .footnotes li:target{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.app-prose .footnotes li:target{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.app-prose .footnotes li:target{border-radius:.375rem}@media(prefers-reduced-motion:no-preference){.app-prose :is(h2,h3,h4):target{animation:1.6s ease-out target-flash}}@keyframes target-flash{0%,40%{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 0 .35rem color-mix(in srgb,var(--accent) 14%,transparent);border-radius:.25rem}to{background:0 0;box-shadow:0 0 0 .35rem #0000}}.card-item:before{content:"";background:var(--accent);opacity:0;border-radius:2px;width:2px;position:absolute;top:.625rem;bottom:.625rem;left:0}@media(prefers-reduced-motion:no-preference){.card-item:before{transition:opacity .16s}}.card-item:hover:before,.card-item:focus-within:before{opacity:1}#search-dialog{width:auto;max-width:none;height:auto;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}#search-dialog[open]{justify-content:center;align-items:flex-start;display:flex}#search-dialog::backdrop{background:#00000073}@supports ((-webkit-backdrop-filter:blur(4px)) or (backdrop-filter:blur(4px))){#search-dialog::backdrop{-webkit-backdrop-filter:blur(3px)}}html.palette-open{overflow:hidden}.palette{background:var(--background);border:1px solid var(--border);border-radius:1rem;flex-direction:column;width:min(40rem,100% - 1.5rem);max-height:calc(100dvh - clamp(.75rem,8vh,5rem) - 1.5rem);margin-top:clamp(.75rem,8vh,5rem);margin-bottom:.75rem;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000014,0 24px 56px -12px #00000047}@media(prefers-reduced-motion:no-preference){#search-dialog[open] .palette{animation:.17s cubic-bezier(.16,1,.3,1) both palette-in}}@keyframes palette-in{0%{opacity:0;transform:translateY(-.5rem)scale(.98)}}.palette-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:.75rem .875rem;display:flex}#palette-input{min-width:0;color:var(--foreground);background:0 0;border:0;outline:none;flex:1;font-size:1rem;line-height:1.5}#palette-input::placeholder{color:var(--muted-foreground)}#palette-input::-webkit-search-decoration{appearance:none}#palette-input::-webkit-search-cancel-button{appearance:none}#palette-input::-webkit-search-results-button{appearance:none}#palette-close{color:var(--muted-foreground);border-radius:.375rem;flex:none;padding:.25rem}#palette-close:hover{color:var(--foreground)}#palette-results{overscroll-behavior:contain;flex:1;min-height:0;padding:.5rem;scroll-padding-block:2rem;overflow-y:auto}.palette-group{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);padding:.625rem .625rem .25rem;font-size:.6875rem}.palette-item{color:var(--foreground);border-radius:.625rem;align-items:flex-start;gap:.625rem;padding:.5rem .625rem;text-decoration:none;display:flex}.palette-item-icon{color:var(--muted-foreground);flex:none;margin-top:.125rem;display:flex}.palette-item-icon svg{width:1rem;height:1rem}.palette-item-body{flex-direction:column;gap:.125rem;min-width:0;display:flex}.palette-item-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.palette-item-sub{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.palette-item.is-active{background:var(--surface)}.palette-item.is-active .palette-item-title,.palette-item.is-active .palette-item-icon{color:var(--accent)}.palette-item mark{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.palette-item mark{background:color-mix(in srgb,var(--accent) 22%,transparent)}}.palette-item mark{color:inherit;border-radius:2px}.palette-empty{text-align:center;color:var(--muted-foreground);padding:1.75rem 1rem;font-size:.9375rem}.palette-hint{margin-top:.5rem;font-size:.8125rem;display:inline-block}.palette-hint code{font-family:var(--font-mono);font-size:.9em}.palette-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--muted-foreground);gap:1rem;padding:.5rem .875rem;font-size:.75rem;display:none}.palette-footer span{align-items:center;gap:.3rem;display:inline-flex}@media(min-width:40rem)and (any-pointer:fine){.palette-footer{display:flex}}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}#theme-btn .sun-icon{display:none}html[data-theme=dark] #theme-btn .sun-icon{display:block}html[data-theme=dark] #theme-btn .moon-icon{display:none}
