/*! tailwindcss v4.3.2 | 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)))){:root,:host{--color-global-bg:oklch(98.48% 0 0);--color-global-text:oklch(26.99% .0096 235.05);--color-muted:oklch(44.6% .03 256.802);--color-link:oklch(55.44% .0431 185.69);--color-accent:oklch(55.27% .195 19.06);--color-accent-2:oklch(18.15% 0 0);--color-quote:oklch(55.27% .195 19.06)}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"LXGW WenKai Mono", "Roboto Mono", "SFMono-Regular", Consolas, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-orange-400:oklch(75% .183 55.934);--color-lime-500:oklch(76.8% .233 130.85);--color-blue-400:oklch(70.7% .165 254.624);--color-purple-400:oklch(71.4% .203 305.504);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-global-bg:oklch(98.48% 0 0);--color-global-text:oklch(26.99% .0096 235.05);--color-muted:oklch(44.6% .03 256.802);--color-link:oklch(55.44% .0431 185.69);--color-accent:oklch(55.27% .195 19.06);--color-accent-2:oklch(18.15% 0 0);--color-quote:oklch(55.27% .195 19.06)}}@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,ui-sans-serif, system-ui, 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]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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}html{--site-header-height:72px;color-scheme:light dark;accent-color:var(--color-accent);scrollbar-gutter:stable;scroll-padding-block-start:var(--site-header-height)}html[data-theme=light]{color-scheme:light;--color-global-bg:#f4f6f2;--color-global-text:#34403a;--color-muted:#5f6b64;--color-link:#157a3c;--color-accent:#157a3c;--color-accent-2:#111a15;--color-quote:#157a3c;--terminal-green:#157a3c;--text-bright:#111a15;--line:#1630221c;--line-strong:#16302233;--grid-line:#16302208;--selection-text:#fff;--code-bg:#212121;--code-bar:#1d1d1d;--code-edge:transparent;--code-shadow:0 5px 12px #111a153d;--code-inline:#0f6a32;--code-inline-bg:#157a3c1a}html[data-theme=dark]{color-scheme:dark;--color-global-bg:#070b0c;--color-global-text:#a6ada9;--color-muted:#707975;--color-link:#52cf78;--color-accent:#49c66f;--color-accent-2:#edf2ef;--color-quote:#7bdb91}html{--terminal-green:#49c66f;--text-bright:#edf2ef;--line:#bed3c717;--line-strong:#bed3c72b;--grid-line:#ffffff03;--selection-text:#061008;--code-bg:#171717;--code-bar:#1b1b1b;--code-edge:var(--line);--code-shadow:none;--code-inline:#7bdb91;--code-inline-bg:#49c66f1f;--color-mode-transition-duration:.3s;--color-mode-transition-easing:ease-in-out;transition:--color-global-bg var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-global-text var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-muted var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-link var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-accent var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-accent-2 var(--color-mode-transition-duration) var(--color-mode-transition-easing), --color-quote var(--color-mode-transition-duration) var(--color-mode-transition-easing)}:target{scroll-margin-block:5ex}body{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), radial-gradient(circle at 42% -8%, var(--terminal-green), transparent 34%);position:relative}@supports (color:color-mix(in lab, red, red)){body{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), radial-gradient(circle at 42% -8%, color-mix(in srgb, var(--terminal-green) 4%, transparent), transparent 34%)}}body{background-size:34px 34px,34px 34px,auto}a{text-decoration:none}::selection{color:var(--selection-text);background:var(--terminal-green)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong) padding-box;border:2px solid #0000;border-radius:999px;transition:background-color .16s}::-webkit-scrollbar-thumb:hover{background-color:var(--terminal-green)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--terminal-green) 60%, transparent)}}::-webkit-scrollbar-thumb:active{background-color:var(--terminal-green)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}}@view-transition{navigation:auto}:where([data-astro-image]){object-fit:var(--fit);object-position:var(--pos)}[data-astro-image=full-width]{width:100%}[data-astro-image=constrained]{max-width:100%}}@layer pagefind;@layer components{.admonition{--admonition-color:var(--tw-prose-quotes);border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px;border-color:var(--admonition-color);padding:calc(var(--spacing) * 4)}.admonition .admonition-title{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--admonition-color);text-transform:capitalize;display:flex;margin-block:0!important}.admonition .admonition-title:before{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);background-color:var(--admonition-color);vertical-align:middle;--tw-content:"";content:var(--tw-content);flex-shrink:0;display:inline-block;overflow:visible;mask-position:50%;mask-size:contain;mask-repeat:no-repeat}.admonition .admonition-content>:last-child{margin-bottom:0!important}.admonition[data-admonition-type=note]{--admonition-color:var(--color-blue-400);background-color:#54a2ff0d}@supports (color:color-mix(in lab, red, red)){.admonition[data-admonition-type=note]{background-color:color-mix(in oklab, var(--color-blue-400) 5%, transparent)}}.admonition[data-admonition-type=note] .admonition-title:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath fill='var(--admonitions-color-tip)' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'%3E%3C/path%3E%3C/svg%3E")}.admonition[data-admonition-type=tip]{--admonition-color:var(--color-lime-500);background-color:#80cd000d}@supports (color:color-mix(in lab, red, red)){.admonition[data-admonition-type=tip]{background-color:color-mix(in oklab, var(--color-lime-500) 5%, transparent)}}.admonition[data-admonition-type=tip] .admonition-title:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'%3E%3C/path%3E%3C/svg%3E")}.admonition[data-admonition-type=important]{--admonition-color:var(--color-purple-400);background-color:#c07eff0d}@supports (color:color-mix(in lab, red, red)){.admonition[data-admonition-type=important]{background-color:color-mix(in oklab, var(--color-purple-400) 5%, transparent)}}.admonition[data-admonition-type=important] .admonition-title:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'%3E%3C/path%3E%3C/svg%3E")}.admonition[data-admonition-type=caution]{--admonition-color:var(--color-orange-400);background-color:#ff8b1a0d}@supports (color:color-mix(in lab, red, red)){.admonition[data-admonition-type=caution]{background-color:color-mix(in oklab, var(--color-orange-400) 5%, transparent)}}.admonition[data-admonition-type=caution] .admonition-title:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'%3E%3C/path%3E%3C/svg%3E")}.admonition[data-admonition-type=warning]{--admonition-color:var(--color-red-500);background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.admonition[data-admonition-type=warning]{background-color:color-mix(in oklab, var(--color-red-500) 5%, transparent)}}.admonition[data-admonition-type=warning] .admonition-title:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'%3E%3C/path%3E%3C/svg%3E")}.github-card{border-radius:var(--radius-md);background-color:#22272a0d}@supports (color:color-mix(in lab, red, red)){.github-card{background-color:color-mix(in oklab, var(--color-global-text) 5%, transparent)}}.github-card{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}.github-card .gh-title{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));display:flex;position:relative}.github-card .gh-title .gh-avatar{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);background-color:#22272a33;border-radius:3.40282e38px;flex:none}@supports (color:color-mix(in lab, red, red)){.github-card .gh-title .gh-avatar{background-color:color-mix(in oklab, var(--color-global-text) 20%, transparent)}}.github-card .gh-title .gh-avatar{background-image:none;background-position:50%;background-size:cover}.github-card .gh-title .gh-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.github-card .gh-title .gh-text:after{--tw-content:"";content:var(--tw-content);position:absolute;inset:0}.github-card .gh-title .gh-icon{pointer-events:none;height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);background-color:var(--color-global-text);flex:none;margin-inline-start:auto;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='31' height='32' viewBox='0 0 496 512'><path fill='%23a1f7cb' d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2'/%3E%3C/svg%3E") 50%/24px no-repeat}.github-card .gh-description{margin-top:calc(var(--spacing) * 4);--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.github-card .gh-chips{margin-top:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 4);flex-wrap:wrap;display:flex}.github-card .gh-chips .gh-stars,.github-card .gh-chips .gh-forks,.github-card .gh-chips .gh-license,.github-card .gh-chips .gh-followers,.github-card .gh-chips .gh-repositories{align-items:center;column-gap:var(--spacing);display:flex}:is(.github-card .gh-chips .gh-stars,.github-card .gh-chips .gh-forks,.github-card .gh-chips .gh-license,.github-card .gh-chips .gh-followers,.github-card .gh-chips .gh-repositories):before{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);background-color:var(--color-global-text);--tw-content:"";content:var(--tw-content);-webkit-mask:var(--chip-image) center center / 16px auto no-repeat;-webkit-mask:var(--chip-image) center center / 16px auto no-repeat;mask:var(--chip-image) center center / 16px auto no-repeat;display:block}.github-card .gh-chips .gh-stars{--chip-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 0 16 16' version='1.1' width='16'><path d='M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z'/></svg>")}.github-card .gh-chips .gh-forks{--chip-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 0 16 16' version='1.1' width='16'><path d='M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z'/></svg>")}.github-card .gh-chips .gh-license{--chip-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 0 16 16' version='1.1' width='16'><path d='M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z'/></svg>")}.github-card .gh-chips .gh-followers{--chip-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' text='muted' height='16' viewBox='0 0 16 16' version='1.1' width='16'><path d='M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z'/></svg>")}.github-card .gh-chips .gh-repositories{--chip-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 0 16 16' version='1.1' width='16'><path d='M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z'/></svg>")}.github-card .gh-chips .gh-language,.github-card .gh-chips .gh-region{margin-inline-start:auto}.github-card.gh-loading .gh-title .gh-avatar,.github-card.gh-loading .gh-description,.github-card.gh-loading .gh-chips span{animation:var(--animate-pulse);border-radius:var(--radius-xl);background-color:#22272a80}@supports (color:color-mix(in lab, red, red)){.github-card.gh-loading .gh-title .gh-avatar,.github-card.gh-loading .gh-description,.github-card.gh-loading .gh-chips span{background-color:color-mix(in oklab, var(--color-global-text) 50%, transparent)}}.github-card.gh-loading .gh-title .gh-avatar,.github-card.gh-loading .gh-description,.github-card.gh-loading .gh-chips span{color:#0000}.github-card.gh-loading .gh-chips span:before{background-color:#0000}.github-card.gh-error .gh-avatar,.github-card.gh-error .gh-description,.github-card.gh-error .gh-chips{display:none}.terminal-page{border-bottom:1px solid var(--line);padding:42px 28px 54px;position:relative}.terminal-heading{border-left:1px solid var(--terminal-green);max-width:720px;margin-bottom:28px;padding-left:18px}@supports (color:color-mix(in lab, red, red)){.terminal-heading{border-left:1px solid color-mix(in srgb, var(--terminal-green) 46%, transparent)}}.terminal-heading h1{color:var(--text-bright);align-items:center;gap:10px;margin:0;font-size:clamp(1.22rem,2vw,1.58rem);font-weight:700;line-height:1.2;display:flex}.terminal-heading p{max-width:620px;color:var(--color-muted);margin:12px 0 0;font-size:.78rem;line-height:1.9}.terminal-panel,.terminal-card{border:1px solid var(--line-strong);background:linear-gradient(135deg,#ffffff08,#0000 42%),#fafafa;border-radius:8px}@supports (color:color-mix(in lab, red, red)){.terminal-panel,.terminal-card{background:linear-gradient(135deg, #ffffff08, transparent 42%), color-mix(in srgb, var(--color-global-bg) 94%, white 6%)}}.terminal-panel{padding:22px}.terminal-card{padding:16px}.terminal-chip,.terminal-tag{color:var(--color-muted);border:1px solid var(--line);background:#ffffff04;justify-content:center;align-items:center;font-size:.67rem;line-height:1;display:inline-flex}.terminal-chip{border-radius:5px;min-height:32px;padding:0 13px}.terminal-chip[aria-current=true],.terminal-chip:hover,.terminal-tag{color:var(--terminal-green);border-color:var(--terminal-green)}@supports (color:color-mix(in lab, red, red)){.terminal-chip[aria-current=true],.terminal-chip:hover,.terminal-tag{border-color:color-mix(in srgb, var(--terminal-green) 35%, transparent)}}.terminal-chip[aria-current=true],.terminal-chip:hover,.terminal-tag{background:var(--terminal-green)}@supports (color:color-mix(in lab, red, red)){.terminal-chip[aria-current=true],.terminal-chip:hover,.terminal-tag{background:color-mix(in srgb, var(--terminal-green) 7%, transparent)}}.terminal-tag{border-radius:4px;min-height:23px;padding:0 8px}.terminal-muted{color:var(--color-muted)}.terminal-link{color:var(--terminal-green);transition:color .16s}.terminal-link:hover{color:var(--text-bright)}.terminal-button{min-height:36px;color:var(--color-muted);border:1px solid var(--line-strong);background:#ffffff04;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.72rem;display:inline-flex}.terminal-button:hover,.terminal-button[aria-current=page]{color:var(--terminal-green);border-color:var(--terminal-green)}@supports (color:color-mix(in lab, red, red)){.terminal-button:hover,.terminal-button[aria-current=page]{border-color:color-mix(in srgb, var(--terminal-green) 42%, transparent)}}@media (width<=680px){.terminal-page{padding:34px 0 42px}.terminal-panel{padding:14px}}.cactus-link{text-underline-offset:2px;text-decoration-line:underline}@media (hover:hover){.cactus-link:hover{-webkit-text-decoration-color:var(--color-link);-webkit-text-decoration-color:var(--color-link);text-decoration-color:var(--color-link);text-decoration-thickness:2px}}.title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-accent-2)}}@layer utilities{.collapse{visibility:collapse}.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-s-1\/2{inset-inline-start:50%}.top-1\/2{top:50%}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.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(--tw-prose-links);text-underline-offset:2px;font-weight:500;text-decoration:underline}@media (hover:hover){.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{-webkit-text-decoration-color:var(--color-link);-webkit-text-decoration-color:var(--color-link);text-decoration-color:var(--color-link);text-decoration-thickness:2px}}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);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:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;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:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-style:dashed;border-top-width:1px;margin-top:3em;margin-bottom:3em}.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:"“""”""‘""’";border-left-width:0;margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.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);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.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);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.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);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.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);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.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] *)){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(kbd):not(:where([class~=not-prose],[class~=not-prose] *)):where([data-theme=dark],[data-theme=dark] *){background:var(--color-global-text)}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--code-inline);background:var(--code-inline-bg);overflow-wrap:anywhere;border-radius:4px;margin:0 .15em;padding:.15em .4em;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:1.71429em;margin-bottom:1.71429em;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;margin: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:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:none;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;border-bottom:1px dashed #666;padding-inline-start:.571429em;font-weight:700}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:none;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);border-top:1px dashed #666}.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:start}.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(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.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;line-height:1.75}.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:.5em;margin-bottom:.5em}.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:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.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:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;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}.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(sup):not(:where([class~=not-prose],[class~=not-prose] *)){margin-inline-start:calc(var(--spacing) * .5)}.prose :where(sup):not(:where([class~=not-prose],[class~=not-prose] *)) a:after{content:"]"}.prose :where(sup):not(:where([class~=not-prose],[class~=not-prose] *)) a:before{content:"["}@media (hover:hover){.prose :where(sup):not(:where([class~=not-prose],[class~=not-prose] *)) a:hover{color:var(--color-link)}}.prose :where(th[align=center],td[align=center]):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:center}.prose :where(th[align=right],td[align=right]):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:right}.prose :where(th[align=left],td[align=left]):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:left}.prose :where(.expressive-code,.admonition,.github-card):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.-ms-2{margin-inline-start:calc(var(--spacing) * -2)}.ms-1{margin-inline-start:var(--spacing)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-auto{margin-inline-start:auto}.me-auto{margin-inline-end:auto}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.86em;font-weight:400}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.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-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-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-block{display:inline-block}.inline-grid{display:inline-grid}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-\[1240px\]{max-width:1240px}.max-w-none{max-width:none}.min-w-30{min-width:calc(var(--spacing) * 30)}.flex-1{flex:1}.flex-auto{flex:auto}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}: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-global-text\/20>:not(:last-child)){border-color:#22272a33}@supports (color:color-mix(in lab, red, red)){:where(.divide-global-text\/20>:not(:last-child)){border-color:color-mix(in oklab, var(--color-global-text) 20%, transparent)}}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-accent-2\/10{border-color:#1212121a}@supports (color:color-mix(in lab, red, red)){.border-accent-2\/10{border-color:color-mix(in oklab, var(--color-accent-2) 10%, transparent)}}.bg-global-bg{background-color:var(--color-global-bg)}.bg-global-text\/5{background-color:#22272a0d}@supports (color:color-mix(in lab, red, red)){.bg-global-text\/5{background-color:color-mix(in oklab, var(--color-global-text) 5%, transparent)}}.bg-quote\/5{background-color:#cb2a420d}@supports (color:color-mix(in lab, red, red)){.bg-quote\/5{background-color:color-mix(in oklab, var(--color-quote) 5%, transparent)}}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-5{padding-block:calc(var(--spacing) * 5)}.ps-0{padding-inline-start:0}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.\[word-break\:break-word\]{word-break:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-accent-2{color:var(--color-accent-2)}.text-global-text{color:var(--color-global-text)}.text-muted{color:var(--color-muted)}.text-quote{color:var(--color-quote)}.text-red-500{color:var(--color-red-500)}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-global-text{--tw-ring-color:var(--color-global-text)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.invert{--tw-invert:invert(100%);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,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.prose{--tw-prose-body:var(--color-global-text);--tw-prose-bold:var(--color-global-text);--tw-prose-bullets:var(--color-global-text);--tw-prose-code:var(--color-global-text);--tw-prose-headings:var(--color-accent-2);--tw-prose-hr:.5px dashed #666;--tw-prose-links:var(--color-global-text);--tw-prose-quotes:var(--color-quote);--tw-prose-th-borders:#666}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.before\:hidden:before{content:var(--tw-content);display:none}.before\:content-\[\'\#\'\]:before{--tw-content:"#";content:var(--tw-content)}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:border-accent\/40:hover{border-color:#cb2a4266}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-link:hover{color:var(--color-link)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-link:hover{--tw-ring-color:var(--color-link)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:start-1:focus{inset-inline-start:calc(var(--spacing) * 1)}.focus\:top-1\.5:focus{top:calc(var(--spacing) * 1.5)}.focus\:z-\[101\]:focus{z-index:101}.focus\:bg-global-bg:focus{background-color:var(--color-global-bg)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-link:focus-visible{--tw-ring-color:var(--color-link)}@media (width>=40rem){.sm\:ms-4{margin-inline-start:calc(var(--spacing) * 4)}.sm\:flex-initial{flex:0 auto}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}.dark\:scale-0:where([data-theme=dark],[data-theme=dark] *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:where([data-theme=dark],[data-theme=dark] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:where([data-theme=dark],[data-theme=dark] *){rotate:-90deg}.dark\:rotate-0:where([data-theme=dark],[data-theme=dark] *){rotate:0deg}.dark\:opacity-0:where([data-theme=dark],[data-theme=dark] *){opacity:0}.dark\:opacity-100:where([data-theme=dark],[data-theme=dark] *){opacity:1}.\[\&\>p\:last-of-type\]\:mb-0>p:last-of-type{margin-bottom:0}}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:block;src:url(/_astro/roboto-mono-regular.Ceay284C.ttf)format("truetype")}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:block;src:url(/_astro/roboto-mono-700.CAZppuP3.ttf)format("truetype")}@property --color-global-bg{syntax:"<color>";inherits:true;initial-value:oklch(98.48% 0 0)}@property --color-global-text{syntax:"<color>";inherits:true;initial-value:oklch(26.99% .0096 235.05)}@property --color-muted{syntax:"<color>";inherits:true;initial-value:oklch(44.6% .03 256.802)}@property --color-link{syntax:"<color>";inherits:true;initial-value:oklch(55.44% .0431 185.69)}@property --color-accent{syntax:"<color>";inherits:true;initial-value:oklch(55.27% .195 19.06)}@property --color-accent-2{syntax:"<color>";inherits:true;initial-value:oklch(18.15% 0 0)}@property --color-quote{syntax:"<color>";inherits:true;initial-value:oklch(55.27% .195 19.06)}.site-header{z-index:100;min-height:var(--site-header-height);isolation:isolate;border-bottom:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;column-gap:24px;display:grid;position:sticky;top:0}.site-header:before{z-index:-1;height:var(--site-header-height);border-bottom:1px solid var(--line);background:#fafafae0;position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.site-header:before{background:color-mix(in srgb, var(--color-global-bg) 88%, transparent)}}.site-header:before{backdrop-filter:blur(16px);pointer-events:none;content:""}.site-brand{color:var(--text-bright);letter-spacing:-.02em;justify-self:start;align-items:center;font-size:.95rem;font-weight:600;transition:color .16s;display:inline-flex}.site-brand:hover{color:var(--terminal-green)}.site-header>nav{place-self:stretch center;gap:28px;display:flex}.site-header>nav a{color:var(--color-muted);align-items:center;font-size:.78rem;transition:color .16s;display:flex;position:relative}.site-header>nav a:hover,.site-header>nav a[aria-current=page]{color:var(--terminal-green)}.nav-line{background:var(--terminal-green);opacity:0;height:1px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s;position:absolute;bottom:9px;left:0;right:0;transform:scaleX(0)}.site-header>nav a:hover .nav-line{opacity:.45;transform:scaleX(1)}.site-header>nav a[aria-current=page] .nav-line{opacity:1;view-transition-name:nav-indicator;transform:scaleX(1)}::view-transition-group(nav-indicator){animation-duration:.42s;animation-timing-function:cubic-bezier(.65,0,.35,1)}@media (prefers-reduced-motion:reduce){.nav-line{transition:none}::view-transition-group(nav-indicator){animation:none}}.header-tools{justify-self:end;align-items:center;gap:8px;display:flex}.site-search{width:250px;height:35px;color:var(--color-muted);cursor:pointer;border:1px solid var(--line-strong);background:#ffffff03;border-radius:5px;align-items:center;gap:9px;padding:0 12px;font-family:inherit;font-size:.7rem;transition:border-color .16s;display:flex}.site-search:hover{border-color:var(--terminal-green)}@supports (color:color-mix(in lab, red, red)){.site-search:hover{border-color:color-mix(in srgb, var(--terminal-green) 45%, transparent)}}.site-search svg{width:17px;height:17px}.header-icon,theme-toggle button{width:34px;height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:7px;transition:color .16s;display:grid}.header-icon:hover,theme-toggle button:hover{color:var(--terminal-green)}.header-icon svg,theme-toggle button svg{width:20px;height:20px}.mobile-menu-button{cursor:pointer;background:0 0;border:0;width:34px;height:34px;padding:8px;display:none}.mobile-menu-button span{background:var(--color-global-text);width:18px;height:1px;margin:5px 0;transition:transform .16s;display:block}.site-footer{color:var(--color-muted);justify-content:space-between;align-items:end;padding:22px 20px 26px;font-size:.68rem;display:flex}.site-footer p{margin:0}.site-footer p+p{margin-top:6px}.site-footer p span{color:var(--terminal-green)}.site-footer nav{gap:18px;display:flex}.site-footer nav a{color:var(--color-muted);transition:color .16s}.site-footer nav a:hover{color:var(--terminal-green)}.site-footer nav svg{width:20px;height:20px}@media (width<=1020px){.site-header{grid-template-columns:auto 1fr}.site-header>nav{max-height:calc(100dvh - var(--site-header-height));border-bottom:1px solid var(--line-strong);background:#fafafaf5;flex-direction:column;justify-self:stretch;gap:0;padding:10px 16px 18px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.site-header>nav{background:color-mix(in srgb, var(--color-global-bg) 96%, transparent)}}.site-header>nav{backdrop-filter:blur(18px)}.site-header.menu-open>nav{display:flex}.site-header>nav a{min-height:44px}.nav-line{transform-origin:0;width:24px;bottom:8px;right:auto}.header-tools{justify-self:end}.mobile-menu-button{display:block}.menu-open .mobile-menu-button span:first-child{transform:translateY(3px)rotate(45deg)}.menu-open .mobile-menu-button span:last-child{transform:translateY(-3px)rotate(-45deg)}}@media (width<=680px){html{--site-header-height:64px}.site-search{background:0 0;border-color:#0000;width:34px;padding:8px}.site-search span{display:none}.site-footer{padding-inline:0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}.footer-icp[data-astro-cid-oenwriqq]{color:var(--color-muted);transition:color .16s}.footer-icp[data-astro-cid-oenwriqq]:hover{color:var(--terminal-green)}.search-kbd{color:var(--color-muted);border:1px solid var(--line-strong);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:inherit;font-size:.62rem}.search-dialog{width:min(640px,100vw - 32px);max-width:none;max-height:min(76dvh,640px);color:var(--color-global-text);font-family:var(--font-mono);border:1px solid var(--line-strong);background:var(--color-global-bg);box-shadow:0 24px 60px #00000047, 0 0 0 1px color-mix(in srgb, var(--terminal-green) 12%, transparent);border-radius:10px;margin:max(10dvh,64px) auto 0;padding:0;overflow:hidden}.search-dialog[open]{animation:.18s ease-out search-in}.search-dialog::backdrop{background:color-mix(in srgb, var(--color-global-bg) 55%, transparent);backdrop-filter:blur(6px)}@keyframes search-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.search-panel{max-height:inherit;flex-direction:column;display:flex}.search-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-prompt{color:var(--terminal-green);flex-shrink:0;font-size:.82rem}.search-input{min-width:0;color:var(--text-bright);font:inherit;caret-color:var(--terminal-green);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.92rem}.search-input::placeholder{color:var(--color-muted);opacity:.8}.search-input::-webkit-search-cancel-button{display:none}.search-esc,.search-hints kbd{color:var(--color-muted);border:1px solid var(--line-strong);border-radius:4px;padding:1px 6px;font-family:inherit;font-size:.62rem}.search-status{color:var(--color-muted);margin:0;padding:12px 16px 4px;font-size:.7rem}.search-results{overscroll-behavior:contain;flex:1;margin:0;padding:6px 8px 10px;list-style:none;overflow-y:auto}.search-hit{border:1px solid #0000;border-radius:7px;gap:5px;padding:11px 12px;display:grid}.search-hit[aria-selected=true]{border-color:color-mix(in srgb, var(--terminal-green) 45%, transparent);background:color-mix(in srgb, var(--terminal-green) 7%, transparent)}.search-hit-title{color:var(--text-bright);font-size:.86rem;font-weight:700;line-height:1.5}.search-hit[aria-selected=true] .search-hit-title{color:var(--terminal-green)}.search-hit-path,.search-hit-section{color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.search-hit-section{color:var(--terminal-green)}.search-hit-excerpt{-webkit-line-clamp:2;color:var(--color-global-text);-webkit-box-orient:vertical;font-size:.74rem;line-height:1.7;display:-webkit-box;overflow:hidden}.search-hit-excerpt mark{color:var(--text-bright);background:color-mix(in srgb, var(--terminal-green) 22%, transparent);border-radius:2px;font-weight:700}.search-hints{color:var(--color-muted);border-top:1px solid var(--line);gap:16px;padding:10px 16px;font-size:.64rem;display:flex}.search-hints span{align-items:center;gap:4px;display:inline-flex}@media (width<=680px){.search-kbd,.search-hints{display:none}.search-dialog{max-height:calc(100dvh - 32px);margin-top:16px}}@media (hover:none){.search-kbd,.search-esc{display:none}}@media (prefers-reduced-motion:reduce){.search-dialog[open]{animation:none}}.rightside[data-astro-cid-n6qvsuyw]{z-index:96;opacity:0;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;transition:opacity .24s,transform .3s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:30px;right:20px;transform:translate(64px)}.rightside[data-astro-cid-n6qvsuyw][data-visible=true],.rightside[data-astro-cid-n6qvsuyw]:focus-within{opacity:1;pointer-events:auto;transform:none}.rs-show[data-astro-cid-n6qvsuyw],.rs-hide[data-astro-cid-n6qvsuyw]{flex-direction:column;gap:8px;display:flex}.rs-hide[data-astro-cid-n6qvsuyw]{display:none}.rs-hide[data-astro-cid-n6qvsuyw].show{animation:.26s cubic-bezier(.2,.8,.2,1) rs-slide-in;display:flex}@keyframes rs-slide-in{0%{opacity:0;transform:translate(46px)}}.rs-button[data-astro-cid-n6qvsuyw]{width:36px;height:36px;color:var(--color-muted);cursor:pointer;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--color-global-bg) 88%, transparent);backdrop-filter:blur(14px);border-radius:7px;place-items:center;padding:0;transition:color .16s,border-color .16s,background-color .16s;display:grid;position:relative}.rs-button[data-astro-cid-n6qvsuyw]:hover,.rs-button[data-astro-cid-n6qvsuyw]:focus-visible,.rs-button[data-astro-cid-n6qvsuyw][aria-expanded=true],.rs-button[data-astro-cid-n6qvsuyw][aria-pressed=true]{color:var(--terminal-green);border-color:color-mix(in srgb, var(--terminal-green) 50%, transparent);background:color-mix(in srgb, var(--terminal-green) 8%, var(--color-global-bg))}.rs-button[data-astro-cid-n6qvsuyw] svg[data-astro-cid-n6qvsuyw]{width:18px;height:18px}.rs-config[data-astro-cid-n6qvsuyw] svg[data-astro-cid-n6qvsuyw]{transition:transform .4s}.rs-config[data-astro-cid-n6qvsuyw]:hover svg[data-astro-cid-n6qvsuyw],.rs-config[data-astro-cid-n6qvsuyw][aria-expanded=true] svg[data-astro-cid-n6qvsuyw]{transform:rotate(90deg)}.rs-light[data-astro-cid-n6qvsuyw],[data-theme=dark] .rs-dark[data-astro-cid-n6qvsuyw]{display:none}[data-theme=dark] .rs-light[data-astro-cid-n6qvsuyw]{display:block}.rs-toc[data-astro-cid-n6qvsuyw],.rs-comment[data-astro-cid-n6qvsuyw],.rs-layout[data-astro-cid-n6qvsuyw]{display:none}html:has(#post-comment) .rs-comment[data-astro-cid-n6qvsuyw],html[data-layout=single]:has(#post-toc) .rs-toc[data-astro-cid-n6qvsuyw],html:has(#post-toc,.home-aside) .rs-config[data-astro-cid-n6qvsuyw][aria-expanded=true]~.rs-layout[data-astro-cid-n6qvsuyw]{display:grid}@media (width<=940px){html:has(#post-toc) .rs-toc[data-astro-cid-n6qvsuyw]{display:grid}}.rs-top[data-astro-cid-n6qvsuyw]{font-variant-numeric:tabular-nums;font-size:.72rem}.rs-top[data-astro-cid-n6qvsuyw] svg[data-astro-cid-n6qvsuyw],.rs-top[data-astro-cid-n6qvsuyw]:hover .rs-percent[data-astro-cid-n6qvsuyw],.rightside[data-astro-cid-n6qvsuyw][data-bottom=true] .rs-percent[data-astro-cid-n6qvsuyw]{display:none}.rs-top[data-astro-cid-n6qvsuyw]:hover svg[data-astro-cid-n6qvsuyw],.rightside[data-astro-cid-n6qvsuyw][data-bottom=true] .rs-top[data-astro-cid-n6qvsuyw] svg[data-astro-cid-n6qvsuyw]{display:block}.rs-top[data-astro-cid-n6qvsuyw]:hover,.rightside[data-astro-cid-n6qvsuyw][data-bottom=true] .rs-top[data-astro-cid-n6qvsuyw]{color:var(--terminal-green)}@media (width<=620px){.rightside[data-astro-cid-n6qvsuyw]{bottom:20px;right:12px}}@media (prefers-reduced-motion:reduce){.rightside[data-astro-cid-n6qvsuyw],.rs-config[data-astro-cid-n6qvsuyw] svg[data-astro-cid-n6qvsuyw]{transition:none}.rs-hide[data-astro-cid-n6qvsuyw].show{animation:none}}@media print{.rightside[data-astro-cid-n6qvsuyw]{display:none}}html[data-theme-switching]::view-transition-old(root),html[data-theme-switching]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-switching]::view-transition-old(root){z-index:1}html[data-theme-switching]::view-transition-new(root){z-index:2}html[data-theme-switching],html[data-theme-switching] :not(theme-toggle svg,.rs-dark,.rs-light){transition:none!important}html[data-theme-switching] *{view-transition-name:none!important}
