html,body{height:100%}body:has(#lab-ide[data-theme=light]){background:#eceef1}body:has(#lab-ide[data-theme=dark]){background:#16170f}#lab-ide{--ide-bg: #eceef1;--ide-panel: #ffffff;--ide-border: #d6d9df;--ide-text: #111827;--ide-muted: #6b7280;--ide-soft: #f1f2f4;--ide-accent: #111827;--ide-accent-text: #ffffff;--term-bg: #f7f8fa;--term-text: #1f2937;--r-panel: 4px;--r-ctrl: 3px;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;gap:.4rem;padding:.45rem;color:var(--ide-text);background:var(--ide-bg)}#lab-ide[data-theme=dark]{--ide-bg: #16170f;--ide-panel: #23241d;--ide-border: #3a3b32;--ide-text: #f3f4f2;--ide-muted: #9aa0a6;--ide-soft: #2c2d25;--ide-accent: #525a64;--term-bg: #14150f;--term-text: #e5e7eb}#lab-ide *{box-sizing:border-box}#lab-ide.lab-loading{align-items:center;justify-content:center;color:var(--ide-muted)}#lab-ide .ide-card,#lab-ide .ide-toolbar{background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:var(--r-panel)}#lab-ide .ide-card{overflow:hidden}#lab-ide .ide-head{border-bottom:1px solid var(--ide-border)}#lab-ide .ide-muted{color:var(--ide-muted)}#lab-ide .ide-btn{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-text);border-radius:var(--r-ctrl);padding:.3rem .55rem;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap}#lab-ide .ide-btn:hover{background:var(--ide-soft)}#lab-ide .ide-btn:disabled{opacity:.5;cursor:default}#lab-ide .ide-btn-primary{background:var(--ide-accent);color:var(--ide-accent-text);border-color:var(--ide-accent)}#lab-ide .ide-btn-primary:hover{background:color-mix(in srgb,var(--ide-accent) 88%,#fff)}#lab-ide .ide-icon{padding:.3rem .45rem;font-size:.9rem;line-height:1}#lab-ide .ide-btn svg,#lab-ide .ac-brand svg{width:1em;height:1em;flex:0 0 auto}#lab-ide .ide-top{flex:0 0 auto}#lab-ide .ide-toolbar{container-type:inline-size}#lab-ide .tb-right{margin-left:0}@container (min-width: 880px){#lab-ide .tb-right{margin-left:auto}}#lab-ide .ac-brand{display:inline-flex;align-items:center;gap:.3rem}#lab-ide .ac-divider{width:1px;align-self:stretch;min-height:1.3rem;margin:0 .2rem;background:var(--ide-border)}#lab-ide .lab-body{flex:1 1 auto;min-height:0;display:flex;gap:.4rem}#lab-ide .lab-explorer{flex:0 0 var(--explorer-w, 240px);min-width:0;display:flex;flex-direction:column;overflow:hidden}#lab-ide[data-explorer=closed] .lab-explorer,#lab-ide[data-explorer=closed] .lab-vrez-explorer{display:none}#lab-ide .ide-examples{flex:0 0 var(--ex-w, 230px);min-width:0;display:flex;flex-direction:column;overflow:hidden}#lab-ide .ide-reference{flex:0 0 var(--ref-w, 320px);min-width:0;display:flex;flex-direction:column;overflow:hidden}#lab-ide[data-examples=closed] .ide-examples,#lab-ide[data-examples=closed] .lab-vrez-examples,#lab-ide[data-ref=closed] .ide-reference,#lab-ide[data-ref=closed] .lab-vrez-ref,#lab-ide .ide-drawer-close{display:none}#lab-ide .lab-center{flex:1 1 auto;min-width:0;min-height:0;display:grid}#lab-ide[data-monitor=right] .lab-center{grid-template-columns:minmax(0,1fr) 8px var(--mon-w, 460px);grid-template-areas:"main rez monitor"}#lab-ide[data-monitor=bottom] .lab-center{grid-template-rows:minmax(0,1fr) 8px var(--mon-h, 240px);grid-template-areas:"main" "rez" "monitor"}#lab-ide[data-output=closed] .lab-center{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main"}#lab-ide[data-output=closed] .ide-monitor-pane,#lab-ide[data-output=closed] .ide-rez{display:none}#lab-ide .lab-center-main{grid-area:main;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}#lab-ide .ide-monitor-pane{grid-area:monitor;min-height:0;min-width:0;display:flex;flex-direction:column}#lab-ide .ide-rez{grid-area:rez}#lab-ide .lab-vrez,#lab-ide .ide-rez{position:relative;touch-action:none}#lab-ide .lab-vrez{flex:0 0 8px;align-self:stretch;cursor:col-resize}#lab-ide[data-monitor=bottom] .ide-rez{cursor:row-resize}#lab-ide[data-monitor=right] .ide-rez{cursor:col-resize}#lab-ide .lab-vrez:after,#lab-ide .ide-rez:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ide-border);border-radius:2px}#lab-ide .lab-vrez:after{width:3px;height:40px}#lab-ide[data-monitor=bottom] .ide-rez:after{width:40px;height:3px}#lab-ide[data-monitor=right] .ide-rez:after{width:3px;height:40px}#lab-ide .lab-vrez:hover:after,#lab-ide .ide-rez:hover:after{background:var(--ide-muted)}#lab-ide .lab-explorer-head{display:flex;align-items:center;justify-content:space-between;padding:.3rem .35rem .3rem .55rem}#lab-ide .lab-explorer-actions{display:inline-flex;gap:.2rem}#lab-ide .lab-explorer-actions .ide-icon{padding:.15rem .3rem;font-size:.82rem}#lab-ide .lab-tree{flex:1 1 auto;min-height:0;overflow:auto;padding:.25rem 0}#lab-ide .lab-tree.drop-root{outline:2px dashed var(--ide-accent);outline-offset:-4px}#lab-ide .lab-tree-row{display:flex;align-items:center;gap:.3rem;padding:.14rem .45rem;font-size:.8rem;cursor:pointer;white-space:nowrap;user-select:none}#lab-ide .lab-tree-row:hover{background:var(--ide-soft)}#lab-ide .lab-tree-row.active{background:var(--ide-soft);font-weight:600}#lab-ide .lab-tree-row.drop{background:color-mix(in srgb,var(--ide-accent) 20%,transparent)}#lab-ide .lab-tree-row svg{width:1em;height:1em;flex:0 0 auto;color:var(--ide-muted)}#lab-ide .lab-tree-name{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}#lab-ide .lab-tree-chev{transition:transform .12s ease}#lab-ide .lab-tree-chev.open{transform:rotate(90deg)}#lab-ide .lab-tree-act{opacity:0;border:0;background:transparent;color:var(--ide-muted);cursor:pointer;padding:0 .1rem;display:inline-flex}#lab-ide .lab-tree-row:hover .lab-tree-act{opacity:.65}#lab-ide .lab-tree-act:hover{opacity:1}#lab-ide .lab-tree-input{width:88%;font:inherit;font-size:.8rem;border:1px solid var(--ide-accent);border-radius:3px;padding:0 .2rem;background:var(--ide-panel);color:var(--ide-text)}#lab-ide .lab-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:0 .05rem;padding:.25rem .4rem;border-bottom:1px solid var(--ide-border);font-size:.76rem}#lab-ide .lab-crumb-wrap{display:inline-flex;align-items:center;min-width:0}#lab-ide .lab-crumb{display:inline-flex;align-items:center;gap:.2rem;max-width:12rem;border:0;background:transparent;color:var(--ide-muted);cursor:pointer;padding:.12rem .3rem;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#lab-ide .lab-crumb:hover{background:var(--ide-soft);color:var(--ide-text)}#lab-ide .lab-crumb.here{color:var(--ide-text);font-weight:600}#lab-ide .lab-crumb svg{width:1em;height:1em;flex:0 0 auto}#lab-ide .lab-crumb-sep{width:.9em;height:.9em;flex:0 0 auto;color:var(--ide-muted);opacity:.6}#lab-ide .lab-row-dir .lab-row-enter{opacity:.4}#lab-ide .lab-row-dir:hover .lab-row-enter{opacity:.75}#lab-ide .lab-row-up{color:var(--ide-muted)}#lab-ide .lab-tree-empty{padding:.6rem;font-size:.76rem;color:var(--ide-muted);font-style:italic}#lab-ide .lab-tabs{display:flex;flex:0 0 auto;overflow-x:auto;background:var(--ide-soft);border-bottom:1px solid var(--ide-border)}#lab-ide .lab-tab{display:flex;align-items:center;gap:.35rem;padding:.28rem .55rem;font-size:.78rem;border-right:1px solid var(--ide-border);cursor:pointer;white-space:nowrap;color:var(--ide-muted)}#lab-ide .lab-tab.active{background:var(--ide-panel);color:var(--ide-text)}#lab-ide .lab-tab-x{border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex;padding:0;opacity:.55}#lab-ide .lab-tab-x:hover{opacity:1}#lab-ide .lab-tab-x svg{width:.85em;height:.85em}#lab-ide .lab-editor{flex:1 1 auto;min-height:0;position:relative;background:var(--ide-panel)}#lab-ide .lab-ace{position:absolute;inset:0}#lab-ide .lab-ta{position:absolute;inset:0;width:100%;height:100%;resize:none;border:0;padding:.65rem;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.5;background:var(--ide-panel);color:var(--ide-text)}#lab-ide[data-theme=dark] .lab-ta{background:#272822;color:#f8f8f2}#lab-ide .lab-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ide-muted);font-size:.85rem;padding:1rem;text-align:center}#lab-ide .lab-output{flex:1 1 auto;min-height:0;overflow:auto;padding:.6rem .7rem;background:var(--term-bg);color:var(--term-text)}#lab-ide .lab-console{margin:0 0 .5rem;white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:12px}#lab-ide .lab-fig{display:block;max-width:100%;height:auto;margin:.4rem 0;background:#fff;border:1px solid var(--ide-border);border-radius:var(--r-panel)}#lab-ide .lab-output .lab-empty{position:static;color:var(--ide-muted);font-size:.82rem;padding:1.2rem}#lab-ide .lab-monitor-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .5rem .2rem .3rem}#lab-ide .lab-monitor-tabs{display:flex;gap:.15rem}#lab-ide .lab-mtab{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:var(--ide-muted);font-size:.78rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--r-ctrl);cursor:pointer}#lab-ide .lab-mtab:hover{background:var(--ide-soft)}#lab-ide .lab-mtab.active{background:var(--ide-soft);color:var(--ide-text)}#lab-ide .lab-dot{display:inline-block;width:8px;height:8px;border-radius:50%}#lab-ide .lab-repl{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--term-bg)}#lab-ide .lab-repl-log{position:relative;flex:1 1 auto;min-height:0;overflow:auto;padding:.5rem .6rem;color:var(--term-text);font-family:ui-monospace,Menlo,monospace;line-height:1.45;cursor:text}#lab-ide .lab-repl-line{margin:0;white-space:pre-wrap;word-break:break-word}#lab-ide .lab-repl-line.in{color:var(--ide-muted)}#lab-ide .lab-repl-line.result{color:var(--ide-text);font-weight:600}#lab-ide .lab-repl-line.err{color:#dc2626}#lab-ide[data-theme=dark] .lab-repl-line.err{color:#f87171}#lab-ide .lab-repl-input{flex:0 0 auto;display:flex;align-items:flex-start;gap:.4rem;padding:.35rem .6rem;border-top:1px solid var(--ide-border);background:var(--ide-panel)}#lab-ide .lab-repl-ps{font-family:ui-monospace,Menlo,monospace;color:var(--ide-muted);padding-top:.15rem;user-select:none}#lab-ide .lab-repl-ps.cont{color:var(--ide-accent)}#lab-ide[data-theme=dark] .lab-repl-ps.cont{color:#9aa0a6}#lab-ide .lab-repl-ta{flex:1 1 auto;resize:none;border:0;outline:none;background:transparent;color:var(--ide-text);font-family:ui-monospace,Menlo,monospace;line-height:1.45}#lab-ide .lab-notebook{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--ide-panel)}#lab-ide .lab-nb-toolbar{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:.4rem;padding:.4rem .5rem;border-bottom:1px solid var(--ide-border)}#lab-ide .lab-nb-cells{flex:1 1 auto;min-height:0;overflow:auto;padding:.6rem;display:flex;flex-direction:column;gap:.55rem}#lab-ide .lab-cell{display:flex;gap:.4rem;border:1px solid transparent;border-radius:var(--r-panel)}#lab-ide .lab-cell:hover{border-color:var(--ide-border)}#lab-ide .lab-cell-rail{flex:0 0 2.2rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding-top:.35rem}#lab-ide .lab-cell-run{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-text);border-radius:50%;cursor:pointer}#lab-ide .lab-cell-run:hover{background:var(--ide-accent);color:var(--ide-accent-text);border-color:var(--ide-accent)}#lab-ide .lab-cell-run svg{width:.85em;height:.85em}#lab-ide .lab-cell-count{font-family:ui-monospace,Menlo,monospace;font-size:.66rem;color:var(--ide-muted)}#lab-ide .lab-cell-main{flex:1 1 auto;min-width:0;position:relative;border:1px solid var(--ide-border);border-radius:var(--r-ctrl);background:var(--ide-soft);overflow:hidden}#lab-ide .lab-cell.markdown .lab-cell-main{background:var(--ide-panel)}#lab-ide .lab-cell-actions{position:absolute;top:.2rem;right:.2rem;display:none;gap:.15rem;z-index:2}#lab-ide .lab-cell:hover .lab-cell-actions{display:flex}#lab-ide .lab-cell-actions button{display:inline-flex;border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-muted);border-radius:3px;padding:.12rem .22rem;cursor:pointer}#lab-ide .lab-cell-actions button:hover{color:var(--ide-text);background:var(--ide-soft)}#lab-ide .lab-cell-actions button:disabled{opacity:.35;cursor:default}#lab-ide .lab-cell-actions svg{width:.8em;height:.8em}#lab-ide .lab-cell-src{display:block;width:100%;resize:none;border:0;outline:none;background:transparent;color:var(--ide-text);padding:.5rem .6rem;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.5}#lab-ide .lab-cell-ed{padding:.4rem 0}#lab-ide .lab-cell-ace{width:100%}#lab-ide .lab-cell-ace.ace_editor,#lab-ide .lab-cell-ace .ace_scroller{background:transparent}#lab-ide[data-theme=dark] .lab-cell.code .lab-cell-main{background:#272822}#lab-ide[data-theme=dark] .lab-cell.code .lab-cell-src{color:#f8f8f2}#lab-ide .lab-cell-md{padding:.4rem .7rem}#lab-ide .lab-cell-outputs{border-top:1px solid var(--ide-border);padding:.4rem .6rem;background:var(--term-bg)}#lab-ide .lab-cell-out{margin:.15rem 0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--term-text)}#lab-ide .lab-cell-out.result{font-weight:600}#lab-ide .lab-cell-out.error{color:#dc2626}#lab-ide[data-theme=dark] .lab-cell-out.error{color:#f87171}#lab-ide .lab-md{font-size:.9rem;line-height:1.6}#lab-ide .lab-md h1,#lab-ide .lab-md h2,#lab-ide .lab-md h3{margin:.3rem 0 .4rem;line-height:1.25}#lab-ide .lab-md h1{font-size:1.5rem}#lab-ide .lab-md h2{font-size:1.25rem}#lab-ide .lab-md h3{font-size:1.08rem}#lab-ide .lab-md p{margin:.4rem 0}#lab-ide .lab-md ul,#lab-ide .lab-md ol{margin:.4rem 0;padding-left:1.4rem}#lab-ide .lab-md code{font-family:ui-monospace,Menlo,monospace;font-size:.86em;background:var(--ide-soft);padding:.05rem .3rem;border-radius:3px}#lab-ide .lab-md pre.lab-md-pre{background:var(--ide-soft);border:1px solid var(--ide-border);border-radius:var(--r-ctrl);padding:.5rem .65rem;overflow-x:auto}#lab-ide .lab-md pre.lab-md-pre code{background:none;padding:0}#lab-ide .lab-md blockquote{margin:.4rem 0;padding:.1rem .7rem;border-left:3px solid var(--ide-border);color:var(--ide-muted)}#lab-ide .lab-md a{color:inherit;text-decoration:underline;text-underline-offset:2px}#lab-ide .lab-md hr{border:0;border-top:1px solid var(--ide-border);margin:.6rem 0}#lab-ide .ide-input{border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-text);border-radius:var(--r-ctrl);padding:.28rem .4rem;font-size:.78rem}#lab-ide .ac-examples-list{flex:1 1 auto;min-height:0;overflow:auto;padding:.35rem .4rem}#lab-ide .ac-ex-group{margin-bottom:.55rem}#lab-ide .ac-ex-group h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ide-muted);margin:.15rem .25rem .3rem}#lab-ide .ac-ex-item{display:block;width:100%;text-align:left;border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-text);padding:.4rem .5rem;border-radius:var(--r-ctrl);margin-bottom:.35rem;cursor:pointer;font-size:.82rem;font-weight:600}#lab-ide .ac-ex-item:hover{background:var(--ide-soft)}#lab-ide .ac-ex-item small{display:block;font-weight:400;color:var(--ide-muted);font-size:.7rem;margin-top:.15rem;white-space:normal}#lab-ide .ac-ref-tabs{display:flex;gap:.2rem;padding:.35rem .4rem 0;flex-wrap:wrap;flex:0 0 auto}#lab-ide .ac-ref-tab{border:1px solid var(--ide-border);background:var(--ide-soft);color:var(--ide-muted);border-radius:var(--r-ctrl);padding:.18rem .45rem;font-size:.7rem;cursor:pointer}#lab-ide .ac-ref-tab.active{background:var(--ide-panel);color:var(--ide-text);font-weight:600}#lab-ide .ac-ref-list{flex:1 1 auto;min-height:0;overflow:auto;padding:.35rem .5rem}#lab-ide .ac-ref-group{margin-bottom:.65rem}#lab-ide .ac-ref-group h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ide-muted);margin:.15rem 0 .3rem}#lab-ide .ac-ref-item{padding:.3rem .4rem;border-radius:var(--r-ctrl)}#lab-ide .ac-ref-item:hover{background:var(--ide-soft)}#lab-ide .ac-ref-name{font-family:ui-monospace,Menlo,monospace;font-size:.76rem;font-weight:600}#lab-ide .ac-ref-desc{font-size:.74rem;color:var(--ide-muted);margin-top:.06rem}#lab-ide .ac-ref-ex{margin:.25rem 0 0;padding:.3rem .45rem;border-radius:var(--r-ctrl);background:var(--ide-soft);font-family:ui-monospace,Menlo,monospace;font-size:.72rem;overflow-x:auto;white-space:pre}#lab-ide .ac-ref-empty{color:var(--ide-muted);font-size:.78rem;padding:.5rem}#lab-ide .ac-docs-link{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;border:1px solid var(--ide-border);background:var(--ide-panel);color:var(--ide-text);border-radius:var(--r-ctrl);padding:.4rem .55rem;margin-bottom:.3rem;cursor:pointer;font-size:.8rem;font-weight:600}#lab-ide .ac-docs-link:hover{background:var(--ide-soft)}#lab-ide .ac-docs-link svg{width:1em;height:1em;color:var(--ide-muted)}@media(max-width:820px){#lab-ide .ide-examples,#lab-ide .ide-reference{position:fixed;top:0;bottom:0;z-index:40;width:min(82vw,340px);box-shadow:0 0 0 100vmax #00000059}#lab-ide .ide-examples{left:0}#lab-ide .ide-reference{right:0}#lab-ide .lab-vrez-examples,#lab-ide .lab-vrez-ref{display:none}#lab-ide .ide-drawer-close{display:inline-flex}}
