@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.right-2{right:.5rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.block{display:block}.inline-flex{display:inline-flex}.hidden{display:none}.h-10{height:2.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-96{max-height:24rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.bg-transparent{background-color:transparent}.p-1{padding:.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.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)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--font-content: -apple-system, BlinkMacSystemFont, "Inter", "IBM Plex Sans", Segoe UI, Helvetica, Arial, sans-serif;--font-ui: var(--font-content);--font-mono: ui-monospace, SFMono-Regular, "Cascadia Code", "IBM Plex Mono", "Roboto Mono", "DejaVu Sans Mono", "Liberation Mono", Menlo, Monaco, Consolas, "Source Code Pro", monospace;--border-radius: 4px;--font-small: .875em;--font-smaller: .8em;--wrap-wide: 54em;--wrap-normal: 37em;--heading-weight: 500;--input-width: 20em;--image-radius: 6px;--line-height: 1.5}@media (max-width: 860px){:root{--wrap-normal: 88vw;--wrap-wide: 100vw;--input-width: 100%;--heading-weight: 600 }:root .wide,:root .wider{--border-radius: 0;--image-radius: 0 }}:root{--flexoki-black: #100F0F;--flexoki-black-rgb: 16,15,15;--flexoki-paper: #FFFCF0;--flexoki-paper-rgb: 254,252,240;--flexoki-200-rgb: 206,205,195;--flexoki-50: #F2F0E5;--flexoki-100: #E6E4D9;--flexoki-150: #DAD8CE;--flexoki-200: #CECDC3;--flexoki-300: #B7B5AC;--flexoki-400: #9F9D96;--flexoki-500: #878580;--flexoki-600: #6F6E69;--flexoki-700: #575653;--flexoki-800: #403E3C;--flexoki-850: #343331;--flexoki-900: #282726;--flexoki-950: #1C1B1A;--flexoki-red-50:#FFE1D5;--flexoki-red-600:#AF3029;--flexoki-red-400:#D14D41;--flexoki-orange-600:#BC5215;--flexoki-orange-400:#DA702C;--flexoki-yellow-600:#AD8301;--flexoki-yellow-400:#D0A215;--flexoki-yellow-100:#F6E2A0;--flexoki-green-600:#66800B;--flexoki-green-400:#879A39;--flexoki-cyan-50:#DDF1E4;--flexoki-cyan-600:#24837B;--flexoki-cyan-400:#3AA99F;--flexoki-cyan-950:#101F1D;--flexoki-blue-600:#205EA6;--flexoki-blue-400:#4385BE;--flexoki-purple-600:#5E409D;--flexoki-purple-400:#8B7EC8;--flexoki-magenta-600:#A02F6F;--flexoki-magenta-400:#CE5D97;--flexoki-yellow-900:#3A2D04}:root,.theme-light{--color-bg-primary: var(--flexoki-paper);--color-bg-primary-rgb: var(--flexoki-paper-rgb);--color-inverted-rgb: var(--flexoki-black-rgb);--color-bg-secondary: var(--flexoki-50);--color-tx-normal: var(--flexoki-black);--color-tx-normal-rgb: var(--flexoki-black-rgb);--color-tx-muted: var(--flexoki-600);--color-tx-faint: var(--flexoki-300);--color-ui-normal: var(--flexoki-100);--color-ui-hover: var(--flexoki-150);--color-ui-active: var(--flexoki-200);--color-highlight: var(--flexoki-yellow-100);--color-action: var(--flexoki-cyan-600);--color-bg-hover: var(--flexoki-cyan-50);--color-selection: rgba(187,220,206,.3);--color-re: var(--flexoki-red-600);--color-cy: var(--flexoki-cyan-600);--color-bl: var(--flexoki-blue-600);--icon-filter: none}.theme-dark{--color-bg-primary: var(--flexoki-black);--color-bg-primary-rgb: var(--flexoki-black-rgb);--color-inverted-rgb: var(--flexoki-paper-rgb);--color-bg-secondary: var(--flexoki-950);--color-tx-normal: var(--flexoki-200);--color-tx-normal-rgb: var(--flexoki-200-rgb);--color-tx-muted: var(--flexoki-500);--color-tx-faint: var(--flexoki-700);--color-ui-normal: var(--flexoki-900);--color-ui-hover: var(--flexoki-850);--color-ui-active: var(--flexoki-800);--color-highlight: var(--flexoki-yellow-900);--color-action: var(--flexoki-cyan-400);--color-bg-hover: var(--flexoki-cyan-950);--color-selection: rgba(30,95,91,.3);--icon-filter: invert(1) brightness(1.15)}*,*:before,*:after{box-sizing:inherit}::-moz-selection{background:var(--color-selection)}::selection{background:var(--color-selection)}html{box-sizing:border-box;width:100%;scroll-behavior:smooth;font-size:62.5%}body{color-scheme:light dark;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-color:var(--color-bg-primary);font-family:var(--font-content);margin:2vw auto 0;line-height:var(--line-height);padding:2rem 0 24rem;overflow-x:hidden;font-size:1.8rem;font-size:calc(1.5rem + .25vw);color:var(--color-tx-normal)}small,.small{font-size:var(--font-small);line-height:1.4}.smaller{font-size:var(--font-smaller);line-height:1.4}.font-ui{font-family:var(--font-ui)}.font-mono{font-family:var(--font-mono)}.wrap{max-width:var(--wrap-normal);margin-left:auto;margin-right:auto}.muted,.muted a{color:var(--color-tx-muted)}.faint{color:var(--color-tx-faint)}hr{width:100%;border:0;height:1px;margin:1.5em 0;background:var(--color-ui-normal)}.mn2{margin-top:4rem}.ms2{margin-bottom:4rem}.mn1{margin-top:2rem}.ms1{margin-bottom:2rem}.ppr{padding-right:2rem}.ssl{margin-left:2rem}.ssr{margin-right:2rem}.mh{display:inline}@media (max-width:600px){.mh{display:none}}.nav-name-short{display:none}@media (max-width:600px){.nav-name-full{display:none}.nav-name-short{display:inline}}.nav-wrap{position:relative}.nav-hamburger{display:none;align-items:center;justify-content:center;width:38px;height:38px;padding:0;margin:0;background:transparent;border:1px solid var(--color-ui-normal);border-radius:8px;color:var(--color-tx-normal);cursor:pointer;flex-shrink:0}.nav-hamburger:hover{background:var(--color-bg-secondary);border-color:var(--color-ui-hover);color:var(--color-tx-normal)}.nav-mobile-panel{position:absolute;top:calc(100% + .7em);left:0;right:0;z-index:50;background:var(--color-bg-primary);border:1px solid var(--color-ui-normal);border-radius:12px;padding:.5em;display:flex;flex-direction:column;gap:.15em;box-shadow:0 8px 32px #0000001f}.nav-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0000002e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nav-mobile-link{padding:.75em .9em;border-radius:8px;text-decoration:none!important;font-size:.92em;line-height:1.2;color:var(--color-tx-muted);display:block}.nav-mobile-link:hover{background:var(--color-bg-secondary);color:var(--color-tx-normal)}.nav-mobile-link.active{background:var(--color-bg-secondary);color:var(--color-tx-normal);font-weight:500}@media (max-width:640px){.nav-links-desktop{display:none!important}.nav-hamburger{display:inline-flex!important}.nav-wrap{width:92vw!important;max-width:92vw!important;margin-bottom:2em!important}nav.nav{min-height:44px;gap:.6em!important}.ssr{margin-right:.7rem}}@media (max-width:380px){.nav-wrap{width:94vw!important;max-width:94vw!important}}.flex{display:flex}.align-center{align-items:center}.align-baseline{align-items:baseline}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.line-height-loose{line-height:1.6}.line-height-tight{line-height:1.3}.tabular-nums{font-variant-numeric:tabular-nums}.list-plain{list-style:none;padding-inline-start:0;margin-left:0}.list-plain>li{list-style:none}a{color:var(--color-tx-normal);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-action);border-color:var(--color-action)}a.plain,a.muted,.internal-link{text-decoration:none}.internal-link:hover{text-decoration:underline}nav{margin:0 auto 3em;width:var(--wrap-normal);max-width:var(--wrap-wide)}footer{margin:2em auto;max-width:var(--wrap-wide);width:var(--wrap-normal);padding-top:1em}article hr{margin-top:calc(2em + 2vh);margin-bottom:calc(2em + 2vh);display:block;border:0;background:none;text-align:center;overflow:visible}article hr:before{content:"•••";display:inline-block;font-size:calc(.8em + .2vw);margin-left:.6em;letter-spacing:1.25em;color:var(--color-tx-faint);position:relative;top:-.75em}.bt{border-top:1px solid var(--color-ui-normal)}.pn2{padding-top:4rem}code,kbd{font-family:var(--font-mono);background:var(--color-bg-secondary);padding:.1em .2em;border-radius:4px;font-size:90%}pre{font-family:var(--font-mono);border-radius:4px;padding:1em;font-size:90%;border:1px solid var(--color-ui-normal);white-space:pre-wrap;background:var(--color-bg-secondary);margin:1.5em 0}pre code{background:transparent;padding:0}input[type=email]{border-radius:0;background:transparent;border:1px solid transparent;border-bottom:1px solid var(--color-ui-normal);padding:.5em 0}.blog-search-input{border-radius:0;background:transparent;border:1px solid transparent;border-bottom:1px solid var(--color-ui-normal);padding:.5em 0;color:var(--color-tx-normal);outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.blog-search-input::-moz-placeholder{color:var(--color-tx-faint);opacity:1}.blog-search-input::placeholder{color:var(--color-tx-faint);opacity:1}.blog-search-input:focus{border-bottom-color:var(--color-action)}.blog-search-input::-webkit-search-decoration,.blog-search-input::-webkit-search-cancel-button,.blog-search-input::-webkit-search-results-button,.blog-search-input::-webkit-search-results-decoration{display:none}.blog-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=submit],button{-webkit-appearance:none;border-radius:3px;background:var(--color-tx-normal);border:1px solid var(--color-tx-normal);color:var(--color-bg-primary);font-weight:400;padding:.5em 1em}input[type=submit]:hover,button:hover{border-color:var(--color-action);background:var(--color-action);cursor:pointer}#theme-toggle{height:20px;width:36px;display:block;position:relative;border:none;cursor:pointer;background:transparent;padding:0}#theme-toggle .theme-toggle-slide{height:20px;border:1px solid var(--color-ui-normal);border-radius:24px;width:100%;position:absolute;top:0;left:0}#theme-toggle .theme-toggle-switch{position:absolute;z-index:9;top:1px;left:1px;width:18px;height:18px;transition:left .1s linear;background-color:var(--color-tx-muted);-webkit-mask-size:18px;-webkit-mask-position:50% 50%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' %3E%3Cpath fill-rule='evenodd' d='M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z' clip-rule='evenodd' /%3E%3C/svg%3E")}.theme-dark #theme-toggle .theme-toggle-switch{left:16px;background-color:var(--color-tx-normal);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24' %3E%3Cpath d='M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z' /%3E%3C/svg%3E")}h1,h2,h3,h4,h5{line-height:1.3;margin-bottom:0;padding-bottom:0}h1{font-weight:500;font-size:calc(1.35em + .55vw);letter-spacing:-.02em;line-height:1.25;margin-top:1.5em;margin-bottom:.25em}h2{font-weight:var(--heading-weight);font-size:calc(1em + .2vw);letter-spacing:-.015em;margin-top:1em;margin-bottom:.5em}ul>li{list-style:disc}ul.list-plain>li{list-style:none}ol,ul{padding:.5rem 0 1rem 1em;margin:0 0 0 .5em}ol>li::marker,ul>li::marker{color:var(--color-tx-faint)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-ui-normal);border-radius:4px}.prose{color:var(--color-tx-normal);max-width:var(--wrap-normal)}.prose a{color:var(--color-tx-normal)}.prose img{max-width:100%;height:auto;border-radius:var(--image-radius);display:block;margin:1.5em auto}.prose figure{margin:1.5em 0}.prose figcaption{text-align:center;color:var(--color-tx-muted);font-size:var(--font-small)}.prose code{background:var(--color-bg-secondary);color:var(--color-tx-normal)}.prose pre{background:var(--color-bg-secondary);margin:1.5em 0}.prose pre code{background:transparent;padding:0}pre code.hljs{display:block;overflow-x:auto;padding:0}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:transparent}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.theme-dark .hljs{color:#c9d1d9}.theme-dark .hljs-doctag,.theme-dark .hljs-keyword,.theme-dark .hljs-meta .hljs-keyword,.theme-dark .hljs-template-tag,.theme-dark .hljs-template-variable,.theme-dark .hljs-type,.theme-dark .hljs-variable.language_{color:#ff7b72}.theme-dark .hljs-title,.theme-dark .hljs-title.class_,.theme-dark .hljs-title.class_.inherited__,.theme-dark .hljs-title.function_{color:#d2a8ff}.theme-dark .hljs-attr,.theme-dark .hljs-attribute,.theme-dark .hljs-literal,.theme-dark .hljs-meta,.theme-dark .hljs-number,.theme-dark .hljs-operator,.theme-dark .hljs-variable,.theme-dark .hljs-selector-attr,.theme-dark .hljs-selector-class,.theme-dark .hljs-selector-id{color:#79c0ff}.theme-dark .hljs-regexp,.theme-dark .hljs-string,.theme-dark .hljs-meta .hljs-string{color:#a5d6ff}.theme-dark .hljs-built_in,.theme-dark .hljs-symbol{color:#ffa657}.theme-dark .hljs-comment,.theme-dark .hljs-code,.theme-dark .hljs-formula{color:#8b949e}.theme-dark .hljs-name,.theme-dark .hljs-quote,.theme-dark .hljs-selector-tag,.theme-dark .hljs-selector-pseudo{color:#7ee787}.theme-dark .hljs-subst{color:#c9d1d9}.theme-dark .hljs-section{color:#1f6feb;font-weight:700}.theme-dark .hljs-bullet{color:#f2cc60}.theme-dark .hljs-emphasis{color:#c9d1d9;font-style:italic}.theme-dark .hljs-strong{color:#c9d1d9;font-weight:700}.theme-dark .hljs-addition{color:#aff5b4;background-color:#033a16}.theme-dark .hljs-deletion{color:#ffdcd7;background-color:#67060c}.nav-hamburger{background:transparent!important;border:1px solid var(--color-ui-normal)!important;color:var(--color-tx-normal)!important;border-radius:8px!important;padding:0!important}.nav-hamburger:hover{background:var(--color-bg-secondary)!important;border-color:var(--color-ui-hover)!important;color:var(--color-tx-normal)!important}.github-scroll{scrollbar-width:none;-ms-overflow-style:none}.github-scroll::-webkit-scrollbar{display:none;width:0;height:0}.link-badge:hover{background:var(--color-bg-hover)!important;border-color:var(--color-ui-hover)!important;color:var(--color-tx-normal)!important}.link-badge:active{background:var(--color-ui-active)!important}.estin-logo{filter:none}.theme-dark .estin-logo{filter:brightness(0) invert(1)}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
