@font-face{font-family:Maple Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/playground/_next/static/media/maple-mono-latin-400-normal.4c8c19c7.woff2) format("woff2"),url(/playground/_next/static/media/maple-mono-latin-400-normal.132a521d.woff) format("woff")}@font-face{font-family:Maple Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/playground/_next/static/media/maple-mono-latin-400-italic.256a6078.woff2) format("woff2"),url(/playground/_next/static/media/maple-mono-latin-400-italic.9ca749df.woff) format("woff")}@font-face{font-family:Maple Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/playground/_next/static/media/maple-mono-latin-700-normal.bbb03796.woff2) format("woff2"),url(/playground/_next/static/media/maple-mono-latin-700-normal.10553c25.woff) format("woff")}*,:after,:before{box-sizing:border-box}:root{--primary-font:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono-font:"Maple Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--primary-font-size:18px;--secondary-font-size:13.5px;--font-color:#444;--font-color-high-contrast:#000;--link-color:#00e;--background-color:#e1e1db;--background-color-high-contrast:#fff;--code-background-color:#eee;--border-color:#bbb;--header-main-border:#dedede;--header-tint:#428bca;--button-primary-color:#fff;--button-primary-bg-color:#a42;--button-primary-border-color:#80331a;--button-primary-hover:#80331a;--button-secondary-color:#444;--button-secondary-bg-color-top:#fff;--button-secondary-bg-color-bottom:#f9f9f9;--button-secondary-border-color:#ccc;--button-secondary-hover:#e8e8e8;--output-background-tab:#fcfcfc;--output-current-tab:#f9ffff;--editor-background:#fff;--error-color:#bf1b1b;--warning-color:#b36800;--success-color:#27833d;--token-keyword:#7b1fa2;--token-comment:#708090;--token-string:#187a3d;--token-number:#9a4d00;--token-operator:#006d77;--token-function:#1769aa;--token-variable:#444;--token-mut:#a32626;--token-type:#795500;--token-property:#a32626;--token-inlay:#888}:root[data-theme=dark]{--font-color:#dcdbd8;--font-color-high-contrast:#fff;--link-color:#b2dcff;--background-color:#444;--background-color-high-contrast:#181818;--code-background-color:#3c3c3c;--border-color:#5e5e5e;--header-main-border:#363b3d;--header-tint:#72b4e8;--button-primary-color:#dcdbd8;--button-primary-bg-color:#5d2310;--button-primary-border-color:#612714;--button-primary-hover:#7a321a;--button-secondary-color:#dcdbd8;--button-secondary-bg-color-top:#17191a;--button-secondary-bg-color-bottom:#1a1c1d;--button-secondary-border-color:#666;--button-secondary-hover:#303436;--output-background-tab:#343434;--output-current-tab:#191b1c;--editor-background:#1e1e1e;--error-color:#f5a5a5;--warning-color:#ffe800;--success-color:#8dd69b;--token-keyword:#c678dd;--token-comment:#5c6370;--token-string:#98c379;--token-number:#d19a66;--token-operator:#56b6c2;--token-function:#61afef;--token-variable:#abb2bf;--token-mut:#e06c75;--token-type:#e5c07b;--token-property:#e06c75;--token-inlay:#4b5263}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--font-color:#dcdbd8;--font-color-high-contrast:#fff;--link-color:#b2dcff;--background-color:#444;--background-color-high-contrast:#181818;--code-background-color:#3c3c3c;--border-color:#5e5e5e;--header-main-border:#363b3d;--header-tint:#72b4e8;--button-primary-color:#dcdbd8;--button-primary-bg-color:#5d2310;--button-primary-border-color:#612714;--button-primary-hover:#7a321a;--button-secondary-color:#dcdbd8;--button-secondary-bg-color-top:#17191a;--button-secondary-bg-color-bottom:#1a1c1d;--button-secondary-border-color:#666;--button-secondary-hover:#303436;--output-background-tab:#343434;--output-current-tab:#191b1c;--editor-background:#1e1e1e;--error-color:#f5a5a5;--warning-color:#ffe800;--success-color:#8dd69b;--token-keyword:#c678dd;--token-comment:#5c6370;--token-string:#98c379;--token-number:#d19a66;--token-operator:#56b6c2;--token-function:#61afef;--token-variable:#abb2bf;--token-mut:#e06c75;--token-type:#e5c07b;--token-property:#e06c75;--token-inlay:#4b5263}}body,html{height:100%}html{color-scheme:light dark}body{margin:0;overflow:hidden;padding:0 1em;background:var(--background-color);color:var(--font-color);font-family:var(--primary-font);font-size:var(--primary-font-size);font-optical-sizing:auto}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--header-tint);outline-offset:2px}a{color:var(--link-color)}.playground-app{display:flex;flex-direction:column;height:100dvh;min-height:440px;padding-bottom:1em}.button-set,.header-left,.header-right,.playground-header{display:flex;align-items:center}.playground-header{justify-content:space-between;gap:.5em;padding:1.25em 0;font-size:var(--secondary-font-size)}.header-left,.header-right{gap:.5em;min-width:0}.button-set{gap:0}.button-set>.pg-button:not(:last-child){border-right-width:0}.button-set>.menu>summary{border-left-width:0}.button-set>.menu:not(:last-child)>summary{border-right-width:0}.button-set>.menu:first-child>summary{border-left-width:1px}.pg-button{--button-height:3em;--button-side-padding:1.25em;display:grid;grid-auto-flow:column;align-items:center;align-content:center;grid-gap:.5em;gap:.5em;height:var(--button-height);padding:0 var(--button-side-padding);border:1px solid var(--button-secondary-border-color);color:var(--button-secondary-color);font-weight:600;text-decoration:none;text-transform:uppercase;white-space:nowrap}button.pg-button,summary.pg-button{cursor:pointer}.pg-button.is-secondary,summary.pg-button.is-secondary{background:linear-gradient(to bottom,var(--button-secondary-bg-color-top),var(--button-secondary-bg-color-bottom))}.pg-button.is-secondary:hover,summary.pg-button.is-secondary:hover{background:var(--button-secondary-hover)}.pg-button.is-primary{border-color:var(--button-primary-border-color);background:var(--button-primary-bg-color);color:var(--button-primary-color);font-weight:700}.pg-button.is-primary:hover:enabled{background:var(--button-primary-hover)}.pg-button:disabled{cursor:not-allowed;opacity:.55}.pg-button.is-icon{width:3em;padding:0;place-items:center}.button-set>:first-child{border-radius:4px 0 0 4px}.button-set>:last-child{border-radius:0 4px 4px 0}.button-set>:only-child{border-radius:4px}.button-set>.menu:first-child>summary{border-radius:4px 0 0 4px}.button-set>.menu:last-child>summary{border-radius:0 4px 4px 0}.button-set>.menu:only-child>summary{border-radius:4px}.button-rule{width:1px;height:3em;border-top:1px solid var(--button-secondary-border-color);border-bottom:1px solid var(--button-secondary-border-color);background:var(--button-secondary-border-color)}.play-icon{font-size:.8em}.menu{position:relative;z-index:5}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}.chevron{display:block;width:10px;height:10px;flex:0 0 10px;fill:currentColor;opacity:.5}.menu-panel{position:absolute;top:calc(100% + .65em);left:0;z-index:20;min-width:27em;max-width:min(38em,90vw);max-height:min(70vh,42em);overflow:auto;padding:1em;border-radius:4px;background:var(--background-color-high-contrast);box-shadow:5px 5px 20px -3px rgb(0 0 0/25%),0 0 5px -2px rgb(0 0 0/90%);color:var(--font-color)}.header-right .menu-panel{right:0;left:auto}.menu-group+.menu-group{margin-top:1em}.menu-group h2{margin:0 0 .65em;border-bottom:1px solid var(--header-main-border);padding-bottom:.65em;font-size:var(--secondary-font-size);text-transform:uppercase}.menu-action{display:grid;grid-gap:.3em;gap:.3em;width:100%;padding:.65em .75em;border:0;background:transparent;color:inherit;text-align:left}.menu-action:enabled{cursor:pointer}.menu-action.is-active,.menu-action:enabled:hover{background:color-mix(in srgb,var(--header-tint) 12%,transparent)}.menu-action strong{color:var(--font-color-high-contrast)}.menu-action span{color:var(--font-color);font-size:var(--secondary-font-size);line-height:1.4}.menu-action:disabled{cursor:not-allowed;opacity:.5}.menu-select{display:flex;align-items:center;gap:1em;padding:.55em .75em}.menu-select>span{flex:1 1}.menu-select select{min-width:10em;border-color:var(--button-secondary-border-color);background:var(--button-secondary-bg-color-top);color:var(--button-secondary-color)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.playground-workspace{--minimum:100px;--gutter:12px;display:grid;min-height:0;flex:1 1;grid-gap:0;gap:0}.playground-app[data-file-view=single][data-output-visible=false] .playground-workspace{grid-template-columns:minmax(var(--minimum),1fr);grid-template-areas:"editor"}.playground-app[data-file-view=multiple][data-output-visible=false] .playground-workspace{grid-template-columns:minmax(12em,.25fr) minmax(var(--minimum),1fr);grid-template-areas:"files editor"}.playground-app[data-file-view=single][data-output-visible=true][data-orientation=horizontal] .playground-workspace{grid-template-rows:minmax(var(--minimum),1fr) var(--gutter) minmax(var(--minimum),1fr);grid-template-columns:1fr;grid-template-areas:"editor" "gutter" "output"}.playground-app[data-file-view=multiple][data-output-visible=true][data-orientation=horizontal] .playground-workspace{grid-template-columns:minmax(12em,.25fr) minmax(var(--minimum),1fr);grid-template-rows:minmax(var(--minimum),1fr) var(--gutter) minmax(var(--minimum),1fr);grid-template-areas:"files editor" "gutter gutter" "output output"}.playground-app[data-file-view=single][data-output-visible=true][data-orientation=vertical] .playground-workspace{grid-template-columns:minmax(var(--minimum),1fr) var(--gutter) minmax(var(--minimum),1fr);grid-template-areas:"editor gutter output"}.playground-app[data-file-view=multiple][data-output-visible=true][data-orientation=vertical] .playground-workspace{grid-template-columns:minmax(12em,.25fr) minmax(var(--minimum),1fr) var(--gutter) minmax(var(--minimum),1fr);grid-template-areas:"files editor gutter output"}.file-tree{grid-area:files;min-width:0;overflow:auto;border:1px solid var(--border-color);border-radius:4px;background:var(--background-color-high-contrast)}.file-tree-heading{display:flex;justify-content:space-between;padding:.75em 1em;border-bottom:1px solid var(--border-color);font-weight:700;text-transform:uppercase}.file-entry,.file-tree-heading button{border:0;background:transparent;color:inherit;cursor:pointer}.file-tree-heading button{font-size:1.2em}.file-tree-body{padding:.75em}.file-entry{display:flex;align-items:center;gap:.5em;width:100%;padding:.55em;text-align:left}.file-entry.is-active{background:color-mix(in srgb,var(--header-tint) 14%,transparent)}.file-tree-body p{color:var(--font-color);font-size:var(--secondary-font-size)}.file-icon{color:var(--header-tint)}.editor-shell{grid-area:editor;min-width:0;min-height:0;overflow:hidden;border:4px solid var(--border-color);border-radius:4px;background:var(--editor-background)}.editor-canvas{height:100%;overflow:hidden}.workspace-gutter{grid-area:gutter;display:flex;align-items:center;justify-content:center;color:var(--font-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.playground-app[data-orientation=vertical] .workspace-gutter{cursor:col-resize}.playground-app[data-orientation=horizontal] .workspace-gutter{cursor:row-resize}.output-shell{grid-area:output;display:flex;min-width:0;min-height:0;flex-direction:column}.output-tabs{display:flex;min-height:2.5em}.output-close,.output-tab{flex:1 1 auto;border:1px solid var(--border-color);border-right:0;background:var(--output-background-tab);color:var(--font-color);cursor:pointer;line-height:1.5}.output-tab.is-selected{border-bottom:0;background:var(--output-current-tab);cursor:default}.output-close{flex:0 0 auto;border-right:1px solid var(--border-color);padding:0 1em}.output-badge{display:inline-block;min-width:1.4em;margin-left:.35em;border-radius:999px;background:var(--error-color);color:var(--background-color-high-contrast);font-size:.8em}.output-body{min-height:0;flex:1 1;overflow:hidden;border:1px solid var(--border-color);border-top:0;background:var(--output-current-tab)}.output-view{height:100%}.output-message,.share-panel{height:100%;overflow:auto;padding:1.5em}.output-message h2,.share-panel h2{margin:0 0 .5em;color:var(--font-color-high-contrast);font-size:1.1em}.output-message p,.share-panel p{max-width:52em;line-height:1.5}.share-row{display:flex;gap:.5em;max-width:60em}.share-row input{min-width:0;flex:1 1;border:1px solid var(--border-color);background:var(--background-color-high-contrast);color:var(--font-color);padding:.6em}.share-message{color:var(--success-color)}.editor-shell .cm-editor,.editor-shell .cm-scroller{height:100%}.editor-shell .cm-editor{background:var(--editor-background)!important;font-family:var(--mono-font)!important;font-size:13px}.editor-shell .cm-gutters{border-right:1px solid var(--border-color)!important;background:var(--editor-background)!important}.editor-shell .cm-activeLine,.editor-shell .cm-activeLineGutter{background:color-mix(in srgb,var(--header-tint) 10%,transparent)!important}.editor-shell .cm-lintRange-error,.editor-shell .cm-lintRange-warning{background-image:none!important;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy}.editor-shell .cm-lintRange-error{-webkit-text-decoration-color:var(--error-color);text-decoration-color:var(--error-color)}.editor-shell .cm-lintRange-warning{-webkit-text-decoration-color:var(--warning-color);text-decoration-color:var(--warning-color)}.diagnostics-list{height:100%;overflow:auto}.diagnostic-item{display:flex;gap:.7em;padding:.7em 1em;border-bottom:1px solid var(--border-color)}.diagnostic-message{min-width:0;overflow-wrap:anywhere}.diagnostic-position{margin-top:.25em;color:var(--font-color);font-family:var(--mono-font);font-size:.85em}.diagnostic-code{margin-right:.4em;font-family:var(--mono-font)}.panel-empty,.panel-loading{display:grid;height:100%;place-items:center;padding:2em;color:var(--font-color)}.panel-empty{gap:.5em}.empty-icon{color:var(--success-color)}.c-output{display:flex;height:100%;flex-direction:column}.c-output-jumpbar{display:flex;align-items:center;gap:.5em;padding:.5em 1em;border-bottom:1px solid var(--border-color)}.c-output-label{color:var(--font-color);font-size:var(--secondary-font-size)}.function-select{min-width:12em;border:1px solid var(--border-color);background:var(--background-color-high-contrast);color:var(--font-color)}.c-output-code{position:relative;min-height:0;flex:1 1;overflow:hidden}.c-output-overlay{position:absolute;inset:0;display:grid;place-items:center;background:var(--output-current-tab)}.c-output-empty{display:grid;grid-gap:.5em;gap:.5em;place-items:center;padding:2em}.c-output-empty-label{color:var(--font-color)}.c-output-error{display:block;padding:1em;color:var(--error-color);font-family:var(--mono-font);white-space:pre-wrap}.execution-panel{height:100%;overflow:auto;padding:1em}.execution-meta{color:var(--font-color);font-family:var(--mono-font);font-size:var(--secondary-font-size)}.execution-error,.execution-output,.execution-stderr{margin:1em 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono-font)}.execution-error,.execution-stderr{color:var(--error-color)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--border-color);border-top-color:var(--header-tint);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.playground-header{align-items:flex-start;flex-direction:column}.header-left,.header-right{flex-wrap:wrap}.header-right{align-self:stretch;justify-content:flex-end}}@media (max-width:600px){body{padding:0 .5em}.playground-header{padding:.75em 0}.header-left,.header-right{width:100%;justify-content:space-between}.pg-button{--button-side-padding:0.75em}.menu-panel{position:fixed;top:auto;left:.5em;right:.5em;min-width:0;max-width:none}.playground-app[data-file-view=multiple][data-output-visible=false] .playground-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,1fr);grid-template-areas:"files" "editor"}.playground-app[data-file-view=multiple][data-output-visible=true][data-orientation=vertical] .playground-workspace,.playground-app[data-orientation=vertical] .playground-workspace{grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr) 12px minmax(180px,.7fr);grid-template-areas:"editor" "gutter" "output"}.file-tree{grid-area:editor}.playground-app[data-file-view=multiple][data-output-visible=true][data-orientation=vertical] .file-tree{display:none}.output-tab{padding:0 .4em;font-size:.85em}.output-close{padding:0 .5em}.share-row{flex-direction:column}}