@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Serif&display=swap');@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap');:root{--foreground:#3c3c3b;--background:#ffffff;--repl-background:#ffffffa0;--selection:#d6d6d6;--line:#efefef;--comment:#8e908c;--red:#c82829;--orange:#f5871f;--yellow:#eab700;--green:#718c00;--aqua:#3e999f;--blue:#4271ae;--purple:#8959a8;--window:#efefef}@media (prefers-color-scheme:dark){:root{--foreground:#e5eae7;--background:#1d1f21;--repl-background:#1d1f21a0;--selection:#373b41;--line:#282a2e;--comment:#969896;--red:#cc6666;--orange:#de935f;--yellow:#f0c674;--green:#b5bd68;--aqua:#8abeb7;--blue:#81a2be;--purple:#b294bb;--window:#4d5057}}*{margin:0;padding:0;font:inherit}body{--repl-backdrop:blur(5px);--monospace-family:"IBM Plex Mono",monospace;--gutter-width:48px;--standard-spacing:16px;--standard-radius:4px;--compact-spacing:4px;font-family:"IBM Plex Serif",serif;font-size:18px;line-height:2;background-color:var(--background);color:var(--foreground)}a{color:inherit}body>*+*{margin-top:1em}main>*+*,main aside>*+*,main li>*+*,main li>:first-child{margin-top:var(--standard-spacing)}ul,ol{padding-left:1.5em}ul>li>aside,ol>li>aside{}li+li{margin-top:var(--compact-spacing)}nav ul{list-style:none;padding:0}nav li+li{margin-top:var(--compact-spacing)}aside,ul ul{padding-left:1em;border-left:solid 1px var(--foreground)}main{display:grid;grid-template-columns:[page-left] minmax(8px,6fr) [gutter-left] minmax(0,1fr) [content-left] fit-content(600px) [content-right] minmax(0,1fr) [gutter-right] minmax(8px,6fr) [page-right];overflow:hidden}main>*{grid-column:content-left/content-right;overflow-x:hidden}hr{border:none;border-bottom:solid var(--foreground) 1px}main>hr{grid-column:gutter-left/gutter-right}main>.next a{display:block}main>.next,main>.fin{grid-column:gutter-left/gutter-right;border-top:solid var(--foreground) 1px}main>.next a,main>.fin .the-end{padding:2em 0}main>.next{text-align:right}main>.plug{text-align:center;opacity:75%}main>.fin .the-end{text-align:center}.fin .art{margin:100px 0}.art{display:flex;border:none;font-size:32px}.art span{line-height:32px;margin-left:auto;margin-right:auto}main>.highlight,main>pre,main>nav,main>.labeled{grid-column:gutter-left/gutter-right}main>nav{margin-left:auto;margin-right:auto}main .highlight,main>pre,main :not(.highlight)>pre,main nav{border:solid 1px;border-radius:var(--standard-radius);padding:1ch;overflow-x:auto}main>.side-by-side{grid-column:gutter-left/gutter-right;display:flex;gap:var(--standard-spacing);flex-flow:row wrap}main>.side-by-side>*{flex:1;min-width:300px}.labeled>.label{background-color:var(--background);display:inline-block;margin-left:1ch;border:solid 1px;border-radius:var(--standard-radius);line-height:1.5em;padding:0 1ch;font-family:var(--monospace-family);position:relative;z-index:2}.labeled>.label+*{margin-top:-1em;padding-top:calc(0.5em + 1ch)}main>.table-container{grid-column:gutter-left/gutter-right;border:solid 1px;border-radius:var(--standard-radius)}main .table-container>pre{border:none}main .table-container>p{padding:1ch}code.ishell,code.repl{white-space:pre-wrap}code.ishell:first-child::before{content:"$ ";-webkit-user-select:none;-moz-user-select:none;user-select:none}code .prompt{-webkit-user-select:none;-moz-user-select:none;user-select:none}code .err,#repl .err{color:var(--red)}:not(pre)>code{padding:0 2px;margin:0 3px;border-radius:3px;border:solid 1px;box-sizing:border-box;word-break:keep-all}pre{line-height:1.4}main>h1{grid-column:gutter-left/gutter-right}h1{font-size:150%}h2{font-size:125%}h1,h2,h3{border-bottom:solid 1px}h1>a,header>a{display:block}h1 a,header a{text-decoration:none}header.garish{text-align:center;padding-top:var(--standard-spacing);font-size:32px;line-height:40px}header.garish .subtitle{display:block;font-size:75%}header .byline{display:block;font-size:50%}header.compact{text-align:center}code,.cm-content{font-family:var(--monospace-family)}em,i{font-style:italic}@media all and (max-width:400px){main>h1::before{content:""}body{--gutter-width:0}}footer{text-align:center}table{border-collapse:collapse}th,td{border:solid 1px;padding:0 8px;border-radius:var(--standard-radius)}tr:first-child>th,tr:first-child>td{border-top-width:0}tr:last-child>td{border-bottom-width:0}tr>td:first-child,tr>th:first-child{border-left-width:0}tr>td:last-child,tr>th:last-child{border-right-width:0}.table-container>table{width:100%}body:not(.repl-visible) #repl>.output,body:not(.repl-visible) #repl>.input-section>:not(.prompt){display:none !important}#repl>.input-section>.prompt{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}body.repl-visible #repl{background-color:var(--repl-background);-webkit-backdrop-filter:var(--repl-backdrop);backdrop-filter:var(--repl-backdrop);border-top:solid 1px var(--selection)}body.repl-visible #repl{right:0}body:not(.repl-visible) #repl{width:32px}#repl{display:flex;position:fixed;bottom:0;left:0;z-index:50;flex-direction:column;font-family:var(--monospace-family);white-space:pre;padding:8px;line-height:1.4;max-height:38%}body.repl-visible{padding-bottom:38%}#repl .output{flex-grow:1;overflow-y:auto}#repl .input-section{display:flex;flex-direction:row;flex-shrink:0;flex-grow:1}#repl .input-section .prompt{margin:0 0 -8px -8px;padding:0 0 8px 8px}#repl .cm-editor{flex:1}.tok-keyword{color:var(--purple)}.tok-number{color:var(--blue)}.tok-comment{color:var(--comment)}.tok-null{color:var(--orange)}.tok-bool{color:var(--orange)}.tok-string{color:var(--green)}.tok-typeName{color:var(--blue)}.tok-meta{color:var(--comment)}.cm-tooltip-autocomplete .cm-completionIcon-function+.cm-completionLabel::before,.cm-tooltip-autocomplete .cm-completionIcon-text+.cm-completionLabel::before{content:"("}.cm-tooltip-autocomplete .cm-completionIcon-function+.cm-completionLabel:last-child::after,.cm-tooltip-autocomplete .cm-completionIcon-text+.cm-completionLabel:last-child::after{content:")"}.cm-tooltip-autocomplete .cm-completionIcon-function+.cm-completionLabel+.cm-completionDetail::after,.cm-tooltip-autocomplete .cm-completionIcon-text+.cm-completionLabel+.cm-completionDetail::after{content:")";font-style:normal}
