:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;font-size:.9em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--padding: 8px;--border-radius: 5px;--background-main: #111;--background-container: #222;--text-colour: #FFF;--border-color: #868686;--border-color-active: #fff;--row-gap: 24px;--elements-padding: 24px;--text-color-inactive: #868686}pre[class*=language-]{background:transparent!important}pre{margin:0!important}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh}main{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto 3fr 1fr;column-gap:var(--padding);row-gap:var(--padding);height:100%;width:100%;padding:var(--padding);background:var(--background-main);color:var(--text-colour)}.container{padding:var(--padding);padding-top:calc(2 * var(--padding));border-radius:var(--border-radius);background:var(--background-container);position:relative;overflow:auto}.container:before{content:attr(data-title);font-size:1rem;position:absolute;top:var(--padding);left:var(--padding)}.container.controls{grid-area:1 / 1 / 1 / 3}.container.algo{grid-area:2 / 2 / 4 / 2}.renderer{display:flex;grid-area:2 / 1 / 3 / 2}.controls{display:flex;margin-bottom:var(--padding);padding-top:calc(4 * var(--padding))}.controls *+*{margin-left:var(--padding)}.controls input{flex:1;font-size:1em}.controls select{flex:0;font-size:1em}.controls button{font-size:1em;flex:0}.node{width:100%;display:flex;flex:1;flex-direction:column;align-items:center;position:relative;visibility:hidden;margin-top:var(--row-gap)}.node.active>.elements{border-color:var(--border-color-active);color:var(--text-colour)}.node.left:after,.node.right:after{content:attr(data-return);position:absolute;top:calc(-1 * var(--row-gap));border-bottom:1px solid var(--border-color);width:50%;height:calc(var(--row-gap) / 2);text-align:center;display:flex;align-items:center;justify-content:center;font-size:1em;color:var(--text-color-inactive)}.node.left:before,.node.right:before{content:"";position:absolute;top:calc(-.5 * var(--row-gap));left:50%;background:var(--border-color);width:1px;height:calc(var(--row-gap) / 2)}.node.left:after{left:50%;border-right:1px solid var(--border-color)}.node.right:after{left:0;border-left:1px solid}.node.active{border-color:var(--border-color-active)}.node.active:before{background:var(--border-color-active)}.node.active:after{border-color:var(--border-color-active);color:var(--text-colour)}.node:not(:empty){visibility:visible}.node.root:before{display:none;background:var(--background-container);border:1px dotted var(--border-color-active);padding:var(--padding);border-radius:var(--border-radius);content:attr(data-return);margin-bottom:var(--row-gap)}.node.root[data-return]:before{display:block}.elements{display:flex;justify-content:space-between;border-radius:var(--border-radius);border:1px solid var(--border-color);color:var(--text-color-inactive)}.children{display:flex;flex:1;align-self:stretch}.element{display:flex;flex-direction:column;justify-content:end}.elements>.element:not(:first-child){border-left:1px solid var(--border-color)}.elements>.element{padding:calc(.5 * var(--elements-padding))}.element .value{text-align:center}.container.scope{grid-area:3 / 1 / 3 / 1;font-size:1.5em;padding-top:calc(4 * var(--padding));display:flex;flex-direction:column;flex-wrap:wrap}.scope>span{display:inline-block}.scope>span>span{margin-right:10px}.scope pre{display:inline-block}code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:#997a6614;background:linear-gradient(to right,#997a661a 70%,#997a6600);pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:#997a6666;color:#f4f1ef;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:#80808033}
