@font-face{font-family:DepartureMono;src:url(../fonts/DepartureMono/DepartureMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-accent:#5da0f2;--banner-height:80px;--canvas-top-pad:23px;--canvas-view-h:calc(100dvh - var(--banner-height) - var(--canvas-top-pad))}*,:before,:after{box-sizing:border-box}::selection{background:var(--color-accent);color:#000}html,body{min-height:100%;margin:0;overflow-x:hidden}body{-webkit-user-select:none;user-select:none;background:#000}html[data-shell=true],html[data-shell=true] body{height:100%;overflow:hidden}html[data-shell=true] #canvas-container,html[data-shell=true] #demo-source{display:none}html[data-shell=true] #demo-frame{width:100%;height:calc(100dvh - var(--banner-height));background:#000;border:0;display:block}html[data-embed=true],html[data-embed=true] body{height:100%;overflow:hidden}html[data-embed=true] #demo-banner,html[data-embed=true] #demo-frame,html[data-embed=true] #demo-source{display:none}html[data-embed=true] #canvas-container{--canvas-view-h:calc(100dvh - var(--banner-height));height:var(--canvas-view-h);align-items:center;padding-top:0}html[data-embed=true][data-source=true],html[data-embed=true][data-source=true] body{height:auto;min-height:100%;overflow:hidden auto}html[data-embed=true][data-source=true] #demo-source{display:block}html[data-embed=true][data-source=true] #canvas-container{--canvas-view-h:calc(100dvh - var(--banner-height) - var(--canvas-top-pad));height:auto;padding-top:var(--canvas-top-pad);align-items:flex-start}#demo-source .shiki{-webkit-user-select:text;user-select:text}#canvas-container{width:100%;padding-top:var(--canvas-top-pad);justify-content:center;align-items:flex-start;display:flex}#canvas-container canvas{image-rendering:pixelated;max-width:var(--canvas-max-w,960px);max-height:var(--canvas-max-h,720px);width:min(100dvw, calc(var(--canvas-view-h) * var(--canvas-aspect-w,640) / var(--canvas-aspect-h,480)), var(--canvas-max-w,960px), calc(var(--canvas-max-h,720px) * var(--canvas-aspect-w,640) / var(--canvas-aspect-h,480)));height:min(var(--canvas-view-h), calc(100dvw * var(--canvas-aspect-h,480) / var(--canvas-aspect-w,640)), var(--canvas-max-h,720px), calc(var(--canvas-max-w,960px) * var(--canvas-aspect-h,480) / var(--canvas-aspect-w,640)));outline:none;display:block}@supports (image-rendering:crisp-edges){#canvas-container canvas{image-rendering:crisp-edges}}#demo-banner{height:var(--banner-height);box-sizing:border-box;z-index:20;color:#2d2e31;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;background:lab(96.52% -.0000298023 .0000119209);grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:8px 12px;font-family:DepartureMono,monospace;font-size:11px;display:grid;position:relative;overflow:visible}#demo-banner:empty{padding:0}#demo-banner .demo-banner-logo{grid-column:1;justify-self:start;align-items:center;display:inline-flex}#demo-banner .demo-banner-logo-light,#demo-banner .demo-banner-logo-dark{image-rendering:pixelated}#demo-banner .demo-banner-logo-light{display:block}#demo-banner .demo-banner-logo-dark{display:none}#demo-banner .demo-banner-nav{grid-column:2;justify-self:center;align-items:center;gap:2px;min-width:0;display:flex}#demo-banner button{color:#fff;cursor:pointer;width:30px;height:30px;font:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#2d2e31;border:none;font-size:11px;line-height:1}#demo-banner button:disabled{opacity:.35;cursor:not-allowed;color:#2d2e31;background:0 0}#demo-banner .demo-banner-arrow{position:relative}#demo-banner .demo-banner-arrow-glyph{display:block}#demo-banner .demo-banner-arrow-tooltip{opacity:0;pointer-events:none;z-index:30;color:#2d2e31;white-space:nowrap;text-overflow:ellipsis;background:#f8f8f8;border:1px solid #f8f8f8;max-width:220px;padding:6px 8px;transition:opacity .3s;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}:is(#demo-banner .demo-banner-arrow-tooltip):before{content:"";pointer-events:none;background:#f8f8f8;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;transform:rotate(45deg)}#demo-banner #demo-banner-prev .demo-banner-arrow-tooltip{left:auto;right:calc(100% + 8px)}:is(#demo-banner #demo-banner-prev .demo-banner-arrow-tooltip):before{border-top:1px solid #f8f8f8;border-right:1px solid #f8f8f8;left:auto;right:-4px}#demo-banner #demo-banner-next .demo-banner-arrow-tooltip{left:calc(100% + 8px);right:auto}:is(#demo-banner #demo-banner-next .demo-banner-arrow-tooltip):before{border-bottom:1px solid #f8f8f8;border-left:1px solid #f8f8f8;left:-4px;right:auto}#demo-banner .demo-banner-arrow:hover:not(:disabled) .demo-banner-arrow-tooltip:not(:empty),#demo-banner .demo-banner-arrow:focus-visible:not(:disabled) .demo-banner-arrow-tooltip:not(:empty){opacity:1}@media (prefers-reduced-motion:reduce){#demo-banner .demo-banner-arrow-tooltip{transition:none}}#demo-banner .demo-banner-combobox{width:30vw;min-width:140px;max-width:420px;position:relative}#demo-banner .demo-banner-combobox-input{box-sizing:border-box;width:100%;color:inherit;font:inherit;-webkit-user-select:text;user-select:text;background:0 0;border:2px solid;outline:none;padding:6px 10px;display:block}:is(#demo-banner .demo-banner-combobox-input):focus{border-color:var(--color-accent)}#demo-banner .demo-banner-listbox{z-index:40;color:#2d2e31;background:#f5f5f5;background:lab(96.52% -.0000298023 .0000119209);border:2px solid #2d2e31;max-height:min(50vh,320px);margin:0;padding:2px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:hidden auto}[hidden]:is(#demo-banner .demo-banner-listbox){display:none}#demo-banner .demo-banner-option{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;overflow:hidden}.is-active:is(#demo-banner .demo-banner-option),:is(#demo-banner .demo-banner-option):hover{color:#fff;background:#2d2e31}#demo-banner .demo-banner-match{color:var(--color-accent);text-decoration:underline}#demo-banner .demo-banner-option.is-active .demo-banner-match,#demo-banner .demo-banner-option:hover .demo-banner-match{color:#9ec5f8}#demo-banner .demo-banner-listbox-empty{opacity:.45;pointer-events:none;text-align:center;padding:10px 12px}#demo-banner .demo-banner-live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-color-scheme:dark){#demo-banner{color:#f5f5f5;color:lab(96.52% -.0000298023 .0000119209);background:#222}#demo-banner .demo-banner-logo-light{display:none}#demo-banner .demo-banner-logo-dark{display:block}#demo-banner button{color:#000;background:#f5f5f5;background:lab(96.52% -.0000298023 .0000119209)}#demo-banner button:disabled{color:#f5f5f5;color:lab(96.52% -.0000298023 .0000119209)}#demo-banner .demo-banner-arrow-tooltip{color:#f5f5f5;color:lab(96.52% -.0000298023 .0000119209);background:#2a2a2a;border-color:#f8f8f8}:is(#demo-banner .demo-banner-arrow-tooltip):before{background:#2a2a2a}#demo-banner #demo-banner-prev .demo-banner-arrow-tooltip:before{border-top-color:#f8f8f8;border-right-color:#f8f8f8}#demo-banner #demo-banner-next .demo-banner-arrow-tooltip:before{border-bottom-color:#f8f8f8;border-left-color:#f8f8f8}#demo-banner .demo-banner-listbox{color:#f5f5f5;color:lab(96.52% -.0000298023 .0000119209);background:#222;border-color:#f5f5f5;border-color:lab(96.52% -.0000298023 .0000119209)}#demo-banner .demo-banner-option.is-active,#demo-banner .demo-banner-option:hover{color:#000;background:#f5f5f5;background:lab(96.52% -.0000298023 .0000119209)}#demo-banner .demo-banner-option.is-active .demo-banner-match,#demo-banner .demo-banner-option:hover .demo-banner-match{color:#1a5fb4}}:root{--twoslash-border-color:#8888;--twoslash-underline-color:currentColor;--twoslash-highlighted-border:#c37d0d50;--twoslash-highlighted-bg:#c37d0d20;--twoslash-popup-bg:#f8f8f8;--twoslash-popup-color:inherit;--twoslash-popup-shadow:#00000014 0px 1px 4px;--twoslash-docs-color:#888;--twoslash-docs-font:sans-serif;--twoslash-code-font:inherit;--twoslash-code-font-size:1em;--twoslash-matched-color:inherit;--twoslash-unmatched-color:#888;--twoslash-cursor-color:#8888;--twoslash-error-color:#d45656;--twoslash-error-bg:#d4565620;--twoslash-warn-color:#c37d0d;--twoslash-warn-bg:#c37d0d20;--twoslash-tag-color:#3772cf;--twoslash-tag-bg:#3772cf20;--twoslash-tag-warn-color:var(--twoslash-warn-color);--twoslash-tag-warn-bg:var(--twoslash-warn-bg);--twoslash-tag-annotate-color:#1ba673;--twoslash-tag-annotate-bg:#1ba67320}@media (prefers-reduced-motion:reduce){.twoslash *{transition:none!important}}.twoslash:hover .twoslash-hover{border-color:var(--twoslash-underline-color)}.twoslash .twoslash-hover{border-bottom:1px dotted #0000;transition:border-color .3s;position:relative}.twoslash .twoslash-popup-container{opacity:0;background:var(--twoslash-popup-bg);color:var(--twoslash-popup-color);border:1px solid var(--twoslash-border-color);pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none;text-align:left;box-shadow:var(--twoslash-popup-shadow);border-radius:4px;flex-direction:column;transition:opacity .3s;display:inline-flex;position:absolute;transform:translateY(1.1em)}.twoslash .twoslash-query-persisted .twoslash-popup-container{z-index:9;transform:translateY(1.5em)}.twoslash .twoslash-hover:hover .twoslash-popup-container,.twoslash .twoslash-error-hover:hover .twoslash-popup-container,.twoslash .twoslash-query-persisted .twoslash-popup-container,.twoslash .twoslash-query-line .twoslash-popup-container{opacity:1;pointer-events:auto}.twoslash .twoslash-popup-container:hover{-webkit-user-select:auto;user-select:auto}.twoslash .twoslash-popup-arrow{border-top:1px solid var(--twoslash-border-color);border-right:1px solid var(--twoslash-border-color);background:var(--twoslash-popup-bg);pointer-events:none;width:6px;height:6px;position:absolute;top:-4px;left:1em;transform:rotate(-45deg)}.twoslash .twoslash-popup-code,.twoslash .twoslash-popup-error,.twoslash .twoslash-popup-docs{padding:6px 8px}.twoslash .twoslash-popup-code{font-family:var(--twoslash-code-font);font-size:var(--twoslash-code-font-size)}.twoslash .twoslash-popup-docs{color:var(--twoslash-docs-color);font-family:var(--twoslash-docs-font);border-top:1px solid var(--twoslash-border-color);font-size:.8em}.twoslash .twoslash-popup-error{color:var(--twoslash-error-color);background-color:var(--twoslash-error-bg);font-family:var(--twoslash-docs-font);font-size:.8em}.twoslash .twoslash-popup-docs-tags{font-family:var(--twoslash-docs-font);flex-direction:column;display:flex}.twoslash .twoslash-popup-docs-tags,.twoslash .twoslash-popup-docs-tag-name{margin-right:.5em}.twoslash .twoslash-popup-docs-tag-name{font-family:var(--twoslash-code-font)}.twoslash .twoslash-query-line .twoslash-popup-container{margin-bottom:1.4em;position:relative;transform:translateY(.6em)}.twoslash .twoslash-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color);width:max-content;min-width:100%;margin:.2em 0;padding:6px 12px;position:relative}.twoslash .twoslash-error-line.twoslash-error-level-warning{background-color:var(--twoslash-warn-bg);border-left:3px solid var(--twoslash-warn-color);color:var(--twoslash-warn-color)}.twoslash .twoslash-error{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c94824'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 100% repeat-x;padding-bottom:2px}.twoslash .twoslash-error.twoslash-error-level-warning{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c37d0d'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 100% repeat-x;padding-bottom:2px}.twoslash .twoslash-completion-cursor{position:relative}.twoslash .twoslash-completion-cursor .twoslash-completion-list{-webkit-user-select:none;user-select:none;z-index:8;box-shadow:var(--twoslash-popup-shadow);background:var(--twoslash-popup-bg);border:1px solid var(--twoslash-border-color);margin:3px 0 0 -1px;display:inline-block;position:absolute;top:0;left:0;transform:translateY(1.2em)}.twoslash-completion-list{flex-direction:column;gap:4px;width:240px;padding:4px;font-size:.8rem;display:flex}.twoslash-completion-list:hover{-webkit-user-select:auto;user-select:auto}.twoslash-completion-list:before{background-color:var(--twoslash-cursor-color);content:" ";width:2px;height:1.4em;position:absolute;top:-1.6em;left:-1px}.twoslash-completion-list li{align-items:center;gap:.25em;line-height:1em;display:flex;overflow:hidden}.twoslash-completion-list li span.twoslash-completions-unmatched{color:var(--twoslash-unmatched-color)}.twoslash-completion-list .deprecated{opacity:.5;text-decoration:line-through}.twoslash-completion-list li span.twoslash-completions-matched{color:var(--twoslash-matched-color)}.twoslash-highlighted{background-color:var(--twoslash-highlighted-bg);border:1px solid var(--twoslash-highlighted-border);border-radius:4px;margin:-1px -3px;padding:1px 2px}.twoslash-completion-list .twoslash-completions-icon{color:var(--twoslash-unmatched-color);flex:none;width:1em}.twoslash .twoslash-tag-line{background-color:var(--twoslash-tag-bg);border-left:3px solid var(--twoslash-tag-color);color:var(--twoslash-tag-color);align-items:center;gap:.3em;width:max-content;min-width:100%;margin:.2em 0;padding:6px 10px;display:flex;position:relative}.twoslash .twoslash-tag-line .twoslash-tag-icon{width:1.1em;color:inherit}.twoslash .twoslash-tag-line.twoslash-tag-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color)}.twoslash .twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--twoslash-tag-warn-bg);border-left:3px solid var(--twoslash-tag-warn-color);color:var(--twoslash-tag-warn-color)}.twoslash .twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--twoslash-tag-annotate-bg);border-left:3px solid var(--twoslash-tag-annotate-color);color:var(--twoslash-tag-annotate-color)}@font-face{font-family:essential_pragmatapro;src:url(https://fonts.vancura.dev/PragmataPro-R.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}#demo-source{--font-mono:"essential_pragmatapro", ui-monospace, sfmono-regular, menlo, monaco, consolas, monospace;--twoslash-popup-bg:black;--twoslash-popup-color:#e6edf3;--twoslash-border-color:#ddd;--twoslash-docs-color:#8b949e;--twoslash-code-font:var(--font-mono);--twoslash-docs-font:system-ui, sans-serif;box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:23px 0 0}#demo-source .demo-source-code{background:#000;padding-bottom:500px;overflow:hidden}#demo-source .shiki{font-family:var(--font-mono);tab-size:4;white-space:pre-wrap;overflow-wrap:break-word;background-color:#000;margin:0;padding:0 16px;font-size:15px;line-height:1.65}@media (max-width:959px){#demo-source .shiki{font-size:13px}}#demo-source .shiki code{font-family:inherit;font-size:inherit;line-height:inherit}#demo-source .shiki,#demo-source .shiki span{color:var(--shiki-dark,inherit)}#demo-source .shiki .line>span:not(.twoslash-hover){background-color:#0000}#demo-source .shiki .twoslash-popup-container{white-space:normal;overflow-wrap:anywhere;background-color:#000;border-radius:0;width:max-content;min-width:0;max-width:min(28rem,100vw - 2rem);padding:0;top:100%;overflow-x:hidden;transform:translateY(6px)}#demo-source .shiki .twoslash-popup-arrow{background-color:#000}#demo-source .twoslash .twoslash-popup-code,#demo-source .twoslash .twoslash-popup-docs,#demo-source .twoslash .twoslash-popup-docs-tags,#demo-source .twoslash .twoslash-popup-error{min-width:0;padding:10px 12px}#demo-source .twoslash-popup-code,#demo-source .twoslash-popup-code *{white-space:normal;overflow-wrap:anywhere}#demo-source .twoslash-popup-code .shiki,#demo-source .twoslash-popup-code .shiki span{background-color:#0000}#demo-source .twoslash-popup-docs,#demo-source .twoslash-popup-docs-tags{border-top:none;margin-top:0}
