:root{color-scheme:dark;--labs-fs-title: 19px;--labs-fs-claim: 13px;--labs-fs-deck: 14px;--labs-fs-body: 13px;--labs-fs-meta: 11px;--labs-fs-code: 11px;--labs-fs-hud-score: 22px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ne-surface, #16181c);color:var(--ne-ink, #e6e8ec);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--labs-fs-body, 13px);line-height:1.4}#demo-root{position:fixed;inset:0}#attract{position:fixed;inset:0;z-index:var(--ne-z-attractScreen, 50);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 50% 40%,#101a18,#000 70%);pointer-events:none;transition:opacity .26s ease-out}#attract.is-dismissed{opacity:0}#attract-title{color:var(--ne-accent, #6fae8e);font:700 40px/1.2 monospace;letter-spacing:3px;text-shadow:0 0 18px rgba(111,174,142,.7);animation:sb-banner-pulse 1.2s ease-in-out infinite}#attract-sub{color:#cdb98a;font:13px/1.4 monospace;letter-spacing:1px}#attract-bar{width:min(260px,50vw);height:3px;margin-top:6px;background:#1b2422;border-radius:2px;overflow:hidden}#attract-bar-fill{width:40%;height:100%;background:var(--ne-accent, #6fae8e);border-radius:2px;animation:attract-sweep 1.4s ease-in-out infinite}#attract-note{color:#5c6b66;font:11px/1.4 monospace}@keyframes attract-sweep{0%{transform:translate(-110%)}to{transform:translate(360%)}}@keyframes sb-banner-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){#attract-title{animation:none}#attract-bar-fill{animation:none;width:100%;opacity:.5}}.labs{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}.labs-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:row}.labs-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.labs-upper{flex:1 1 auto;min-height:0;display:flex;flex-direction:row}.labs-stage{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.labs-nav{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(120,140,200,.25);background:#141824eb}.labs-arrow,.labs-select{font:inherit;color:var(--ne-ink, #e6e8ec);background:#ffffff0f;border:1px solid rgba(120,140,200,.3);border-radius:4px;padding:3px 9px;cursor:pointer}.labs-arrow:disabled{opacity:.4;cursor:default}.labs-select{min-width:18rem}.labs-select optgroup,.labs-select option{background:var(--ne-surface, #16181c);color:var(--ne-ink, #e6e8ec)}.labs-section{color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);letter-spacing:.06em;text-transform:uppercase}.labs-brand{font-size:var(--labs-fs-meta, 11px);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ne-accent, #6fae8e);text-decoration:none;white-space:nowrap}.labs-brand:hover,.labs-brand:focus-visible{text-decoration:underline}.labs-count{color:var(--ne-ink-dim, #9aa0aa);font-variant-numeric:tabular-nums}.labs-nav-volume{flex:none;margin-left:auto}.labs-code{position:relative;flex:0 0 auto;display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid rgba(120,140,200,.25)}.labs-code-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(120,140,200,.25)}.labs-code-toolbar .ne-tabstrip{border-bottom:none}.labs-code-actions{display:flex;align-items:center;gap:6px}.labs-code-btn{appearance:none;font:inherit;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border:1px solid var(--ne-line, #2a2d33);border-radius:6px;background:var(--ne-surface, #16181c);color:var(--ne-ink-dim, #9aa0aa);cursor:pointer}.labs-code-btn:hover:not(:disabled){color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-code-btn:disabled{opacity:.45;cursor:default}.labs-code-btn.is-primary:not(:disabled){background:var(--ne-accent, #6fae8e);border-color:var(--ne-accent, #6fae8e);color:var(--ne-accent-ink, #0c1712)}.labs-code-reset{margin-left:auto}.labs-code-dirty{font-size:var(--labs-fs-meta, 11px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ne-warn, #f5a524);white-space:nowrap}.labs-code-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid rgba(120,140,200,.25)}.labs-chip{font:inherit;font-size:var(--labs-fs-meta, 11px);color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:1px solid rgba(120,140,200,.3);border-radius:999px;padding:2px 9px;cursor:pointer;white-space:nowrap}.labs-chip:hover{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-chip.is-warn{color:var(--ne-warn, #f5a524);border-color:var(--ne-warn, #f5a524)}.labs-chip.is-cta{background:var(--ne-accent, #6fae8e);border-color:var(--ne-accent, #6fae8e);color:var(--ne-accent-ink, #0c1712)}.labs-chip.is-cta:hover{color:var(--ne-accent-ink, #0c1712);border-color:var(--ne-accent, #6fae8e)}.labs-stack{position:relative;flex:1;min-height:0}.labs-pane{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0;visibility:hidden}.labs-pane.is-live{visibility:visible}.labs-rail{position:relative;flex:0 0 auto;min-width:0;overflow-y:auto;border-right:1px solid rgba(120,140,200,.25)}.labs-lesson-header{margin:0;padding:14px 14px 12px}.labs-title{margin:0 0 8px;font-size:var(--labs-fs-title, 19px);font-weight:650;line-height:1.2;letter-spacing:-.01em;text-wrap:balance;color:var(--ne-ink, #e6e8ec)}.labs-claim{margin:0;padding-left:10px;border-left:2px solid var(--ne-accent, #6fae8e);font-size:var(--labs-fs-deck, 14px);line-height:1.45;text-wrap:pretty;color:var(--ne-ink, #e6e8ec)}.labs-docs-link{display:inline-block;margin:8px 0 0 12px;letter-spacing:.04em;text-transform:uppercase;font-size:var(--labs-fs-meta, 11px);color:var(--ne-ink-dim, #9aa0aa);text-decoration:none}.labs-docs-arrow{margin-left:4px}.labs-docs-link:hover,.labs-docs-link:focus-visible{color:var(--ne-accent, #6fae8e);text-decoration:underline}.labs-watch{margin:0 0 14px;padding:8px 10px;background:var(--ne-elevated, rgba(255, 255, 255, .04));border:1px solid var(--ne-line, #2a2d33);border-radius:4px}.labs-watch-title{margin:0 0 4px;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);letter-spacing:.06em;text-transform:uppercase}.labs-watch-list{margin:0;padding:0;list-style:none}.labs-watch-item{display:flex;align-items:baseline;gap:6px;font-size:var(--labs-fs-body, 13px);color:var(--ne-ink-dim, #9aa0aa)}.labs-watch-item.is-ticked{color:var(--ne-ok, #66cc66)}.labs-watch-glyph{flex:none}.labs-narration{--labs-gutter: 14px;margin:0;padding:14px var(--labs-gutter) 18px;border-top:1px solid rgba(120,140,200,.25);color:var(--ne-ink-dim, #9aa0aa);line-height:1.55}.labs-narration-para,.labs-narration-list{margin:0 0 12px;text-wrap:pretty}.labs-narration-para:last-child,.labs-narration-list:last-child{margin-bottom:0}.labs-narration-para.is-lede{color:var(--ne-ink, #e6e8ec)}.labs-narration-list{padding-left:0;list-style:none}.labs-narration-list li{margin:0 0 8px;padding-left:10px;border-left:2px solid var(--ne-line, #2a2d33)}.labs-narration-list li:last-child{margin-bottom:0}.labs-narration strong{color:var(--ne-ink, #e6e8ec);font-weight:600}.labs-narration strong.labs-figure{color:var(--ne-accent, #6fae8e);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.labs-caps{font-size:.86em;font-weight:600;letter-spacing:.06em;color:var(--ne-ink, #e6e8ec)}.labs-pullquote{margin:16px 0;padding:2px 0 2px 12px;border-left:2px solid var(--ne-accent, #6fae8e);font-size:var(--labs-fs-deck, 14px);font-weight:500;line-height:1.45;text-wrap:balance;color:var(--ne-ink, #e6e8ec)}.labs-note{margin:14px 0;padding:2px 0 2px 12px;border-left:2px solid var(--ne-ink-mute, #6a7078);font-size:var(--labs-fs-claim, 13px)}.labs-note-label{margin-right:6px;font-size:var(--labs-fs-meta, 11px);font-weight:700;letter-spacing:.08em;color:var(--ne-ink, #e6e8ec)}.labs-pullquote:last-child,.labs-note:last-child{margin-bottom:0}.labs-narration-caption{margin:16px 0 0;font-size:var(--labs-fs-meta, 11px);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ne-ink-dim, #9aa0aa)}.labs-narration-caption code{text-transform:none;letter-spacing:0}.labs-narration-caption+.labs-narration-code{margin-top:6px}.labs-narration em{font-style:italic}.labs-narration code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--labs-fs-code, 11px);line-height:1.4;color:var(--ne-ink, #e6e8ec);background:var(--ne-elevated, rgba(255, 255, 255, .04));border:1px solid var(--ne-line, #2a2d33);border-radius:4px;padding:0 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.labs-narration-code{margin:14px calc(-1 * var(--labs-gutter, 14px));padding:10px var(--labs-gutter, 14px);overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--labs-fs-code, 11px);line-height:1.5;color:var(--ne-ink, #e6e8ec);background:var(--ne-elevated, rgba(255, 255, 255, .04));border-top:1px solid var(--ne-line, #2a2d33);border-bottom:1px solid var(--ne-line, #2a2d33);border-left:2px solid var(--ne-accent, #6fae8e);white-space:pre}.labs-narration-code:last-child{margin-bottom:0}.labs-narration-code code{background:none;border:none;padding:0;font:inherit;color:inherit}.labs-dmd-inset{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-bottom:1px solid rgba(120,140,200,.25);background:var(--ne-surface-2, #1c1f24)}.labs-dmd-inset-canvas{display:block;height:72px;width:auto;image-rendering:pixelated}.labs-dmd-inset-note{position:absolute;margin:0;padding:2px 8px;font-size:var(--labs-fs-meta, 11px);letter-spacing:.06em;text-transform:uppercase;color:var(--ne-ink-dim, #9aa0aa);background:#0000008c;border-radius:3px;pointer-events:none}.labs-player{position:relative;flex:1 1 auto;min-width:0;min-height:0}.labs-status{position:absolute;left:12px;bottom:8px;margin:0;color:var(--ne-ink-dim, #9aa0aa);font-size:12px;pointer-events:none;text-shadow:0 1px 2px #000}.labs-hud{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;min-height:0;padding:8px 12px;border-top:1px solid rgba(120,140,200,.25);background:var(--ne-surface-2, #1c1f24);font-size:var(--labs-fs-body, 13px)}.labs-hud-note{margin:0;color:var(--ne-ink-dim, #9aa0aa)}.labs-hud-score{display:flex;align-items:baseline;gap:8px;flex:none}.labs-hud-score-label{color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);text-transform:uppercase;letter-spacing:.06em}.labs-hud-score-value{font-size:var(--labs-fs-hud-score, 22px);font-weight:700;font-variant-numeric:tabular-nums;min-width:6ch;color:var(--ne-ink, #e6e8ec)}.labs-hud-spark{flex:none;display:block;overflow:visible}.labs-hud-spark.is-hidden{display:none}.labs-hud-spark-line{fill:none;stroke:var(--ne-accent, #6fae8e);stroke-width:1.5;stroke-linejoin:round}.labs-hud-spark-step{fill:var(--ne-accent, #6fae8e)}.labs-hud-spark-mode rect{fill:color-mix(in srgb,var(--ne-accent, #6fae8e) 12%,transparent)}.labs-hud-spark-mode.is-open rect{fill:color-mix(in srgb,var(--ne-accent, #6fae8e) 20%,transparent)}.labs-hud-spark-mode-start{fill:var(--ne-accent, #6fae8e)}.labs-hud-spark-ball{stroke:#788cc859;stroke-width:1;stroke-dasharray:2 2}.labs-hud-ball{flex:none;color:var(--ne-ink-dim, #9aa0aa);font-variant-numeric:tabular-nums;white-space:nowrap}.labs-hud-modes{flex:0 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:6px;overflow:hidden}.labs-hud-mode{flex:none;font-size:var(--labs-fs-meta, 11px);color:var(--ne-ink-dim, #9aa0aa);border:1px solid rgba(120,140,200,.3);border-radius:999px;padding:2px 9px;white-space:nowrap}.labs-hud-mode.is-expiring{opacity:.55}.labs-hud-paused{color:var(--ne-accent, #6fae8e);border-color:var(--ne-accent, #6fae8e)}.labs-hud-flash-slot{flex:1 1 12em;min-width:9em;overflow:hidden}.labs-hud-flash{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--ne-ok, #66cc66);white-space:nowrap;animation:labs-hud-flash-fade 2.2s ease-out forwards}@keyframes labs-hud-flash-fade{0%{opacity:0;transform:translateY(2px)}12%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.labs-hud-flash{animation:none}}.labs-hud-view{flex:none;margin-left:auto}.labs-hud-view.ne-tabstrip{border-bottom:none}.labs-audio-banner{flex:none;margin:0;padding:6px 12px;border-bottom:1px solid color-mix(in srgb,var(--ne-info, #6fa8dc) 45%,transparent);background:var(--ne-info-bg, rgba(40, 66, 90, .35));color:var(--ne-info-ink, #b8d4e8);font-size:var(--labs-fs-meta, 11px);text-align:center}.labs-hud-audio{flex:none;display:flex;align-items:center;gap:10px;min-width:0}.labs-hud-meter{display:flex;align-items:flex-end;gap:2px;height:18px;flex:none}.labs-hud-meter-bar{--level: 0;position:relative;width:4px;height:100%;border-radius:2px;background:#788cc82e;overflow:hidden}.labs-hud-meter-bar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--level) * 100%);background:var(--ne-accent, #6fae8e);border-radius:inherit}.labs-hud-nowplaying{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ne-ink-dim, #9aa0aa)}.labs-hud-nowplaying-owner{color:var(--ne-ink-dim, #9aa0aa);opacity:.8}.labs-hud-nowplaying-idle{font-style:italic;opacity:.7}.labs-dock{position:relative;flex:0 0 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid rgba(120,140,200,.25);background:var(--ne-surface-2, #1c1f24)}.labs-dock-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 8px}.labs-dock-head .ne-tabstrip{flex:1 1 auto;border-bottom:none}.labs-dock-collapse{flex:none;font:inherit;font-size:11px;color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:1px solid rgba(120,140,200,.3);border-radius:4px;width:22px;height:22px;line-height:1;cursor:pointer}.labs-dock-collapse:hover{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-dock.is-collapsed .labs-dock-body,.labs-dock.is-collapsed .labs-splitter-horizontal{display:none}.labs-dock-body{position:relative;flex:1 1 auto;min-height:0;display:flex}.labs-dock-pane{display:none;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column}.labs-dock-pane.is-active{display:flex}.labs-dock-body.is-split .labs-dock-pane.is-active{flex:2 1 0}.labs-dock-body.is-split .labs-dock-pane.is-active~.labs-dock-pane.is-active{flex:3 1 0;border-left:1px solid rgba(120,140,200,.25)}.labs-dock-split{flex:none;font:inherit;font-size:11px;color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:1px solid rgba(120,140,200,.3);border-radius:4px;height:22px;padding:0 8px;line-height:1;white-space:nowrap;cursor:pointer}.labs-dock-split:hover{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-dock-pane #event-tree-panel{position:static;width:100%;max-height:none;border:none;border-radius:0;box-shadow:none;z-index:auto;flex:1 1 auto;min-height:0}.labs-dock-pane #event-tree-panel>.pane-header{cursor:default}.labs-dock-pane #event-tree-close{display:none}.labs-console{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--ne-surface, #16181c);color:var(--ne-ink, #e6e8ec);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--labs-fs-code, 11px);line-height:1.4;font-variant-numeric:tabular-nums}.labs-console.is-closed{flex:0 0 auto}.labs-console-head{display:flex;align-items:center;gap:8px;padding:3px 8px;border-bottom:1px solid rgba(120,140,200,.25);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ne-ink-dim, #9aa0aa)}.labs-console.is-closed .labs-console-head{border-bottom:0}.labs-console-toggle,.labs-console-clear,.labs-console-follow{font:inherit;color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:1px solid rgba(120,140,200,.3);border-radius:3px;padding:1px 6px;cursor:pointer}.labs-console-toggle{border:0;padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:600}.labs-console-toggle:hover,.labs-console-clear:hover,.labs-console-follow:hover{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-console-clear{margin-left:auto}.labs-console-dropped{color:var(--ne-ink-dim, #9aa0aa)}.labs-console-body{overflow-y:auto;overflow-x:hidden;padding:4px 8px 6px;overscroll-behavior:contain}.labs-console-line,.labs-console-empty{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.labs-console-line.is-warn{color:var(--ne-warn, #f5a524)}.labs-console-line.is-error{color:var(--ne-error, #ff6b6b)}.labs-console-line.is-debug,.labs-console-empty{color:var(--ne-ink-dim, #9aa0aa)}.labs-console-filters{display:flex;gap:4px;padding:3px 8px;border-bottom:1px solid rgba(120,140,200,.2)}.labs-console-chip{font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:1px solid rgba(120,140,200,.3);border-radius:3px;padding:1px 6px;cursor:pointer}.labs-console-chip[aria-pressed=true]{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-console-chip.is-warn[aria-pressed=true]{color:var(--ne-warn, #f5a524);border-color:var(--ne-warn, #f5a524)}.labs-console-chip-count{opacity:.75}.labs-console-row{margin:0}.labs-console-time{color:var(--ne-ink-dim, #9aa0aa);margin-right:.5em}.labs-console-count{color:var(--ne-ink-dim, #9aa0aa);margin-left:.5em}.labs-console-detail{margin:0 0 0 1.25em;color:var(--ne-ink-dim, #9aa0aa);opacity:.8;white-space:pre-wrap;overflow-wrap:anywhere}.labs-console-divider{margin:2px 0;color:var(--ne-ink-dim, #9aa0aa);opacity:.7;text-align:center}.labs-claims{width:100%;flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 12px;background:var(--ne-surface, #16181c);font-size:var(--labs-fs-body, 13px)}.labs-claims-list{margin:0;padding:0;list-style:none}.labs-claims-item{display:flex;align-items:baseline;gap:6px;padding:2px 0;color:var(--ne-ink-dim, #9aa0aa)}.labs-claims-item.is-met{color:var(--ne-ok, #66cc66)}.labs-claims-glyph{flex:none}.labs-claims-note{margin:8px 0 0;padding:8px;border-radius:4px;border:1px solid color-mix(in srgb,var(--ne-info, #6fa8dc) 45%,transparent);background:var(--ne-info-bg, rgba(40, 66, 90, .35));color:var(--ne-info-ink, #b8d4e8);font-size:var(--labs-fs-meta, 11px);line-height:1.45}.labs-claims-note:first-child{margin-top:0}.labs-claims-note code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:inherit}.labs-timeline{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;box-sizing:border-box;padding:6px 12px 8px;background:var(--ne-surface, #16181c);font-size:var(--labs-fs-body, 13px)}.labs-timeline-bar{flex:none;display:flex;align-items:center;gap:8px}.labs-timeline-summary{flex:1 1 auto;min-width:0;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.labs-timeline-legend{flex:0 1 auto;min-width:0;display:flex;gap:8px;margin:0;padding:0;list-style:none;overflow:hidden;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);white-space:nowrap}.labs-timeline-legend-item{display:inline-flex;align-items:center;gap:4px;min-width:0}.labs-timeline-legend-swatch{flex:none;width:8px;height:8px;border-radius:50%}.labs-timeline-window.ne-tabstrip{flex:none;border-bottom:none}.labs-timeline-plot-row{flex:1 1 0;min-height:0;display:flex}.labs-timeline-plot{flex:1 1 0;min-width:0;min-height:0;position:relative;overflow-y:auto;overflow-x:hidden}.labs-timeline-gutter{flex:none;width:44px;box-sizing:border-box;display:flex;flex-direction:column;border-right:1px solid var(--ne-line, #2a2d33)}.labs-timeline-gutter-band{box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:var(--ne-ink-dim, #9aa0aa);font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.labs-timeline-marks{position:absolute;top:0;left:0;width:100%;pointer-events:none}.labs-timeline-lanes-note{margin:0;line-height:19px;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px)}.labs-timeline-note{margin:0;color:var(--ne-ink-dim, #9aa0aa)}.labs-timeline-chart{display:block;width:100%;overflow:visible}.labs-timeline-line{fill:none;stroke:var(--ne-accent, #6fae8e);stroke-width:1.5;stroke-linejoin:round}.labs-timeline-step{fill:var(--ne-accent, #6fae8e)}.labs-timeline-mark{position:absolute;top:0;width:0;border-left:1px solid var(--ne-accent, #6fae8e);opacity:.6}.labs-timeline-mark.is-end{border-left-style:dashed}.labs-timeline-grid-line{stroke:var(--ne-line, #2a2d33);stroke-width:1;stroke-dasharray:2 3}.labs-timeline-grid-label{fill:var(--ne-ink-dim, #9aa0aa);font-size:9px;paint-order:stroke;stroke:var(--ne-surface, #16181c);stroke-width:3px;stroke-linejoin:round}.labs-timeline-axis-tick{stroke:var(--ne-line, #2a2d33);stroke-width:1}.labs-timeline-axis-label{fill:var(--ne-ink-dim, #9aa0aa);font-size:9px;text-anchor:middle}.labs-timeline-lanes{position:relative;width:100%}.labs-timeline-ball-line{position:absolute;top:0;width:0;border-left:1px dashed rgba(120,140,200,.35);pointer-events:none}.labs-timeline-span{position:absolute;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;border-radius:3px;padding:0 4px;background:color-mix(in srgb,var(--ne-accent, #6fae8e) 18%,transparent);box-shadow:inset 2px 0 0 var(--ne-accent, #6fae8e)}.labs-timeline-span.is-open{background:color-mix(in srgb,var(--ne-accent, #6fae8e) 28%,transparent)}.labs-timeline-span-label{font-size:var(--labs-fs-meta, 11px);color:var(--ne-ink, #e6e8ec);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.labs-timeline-behaviors{width:100%}.labs-timeline-behaviors-toggle{display:flex;align-items:center;gap:6px;font:inherit;font-size:var(--labs-fs-meta, 11px);color:var(--ne-ink-dim, #9aa0aa);background:transparent;border:0;padding:0 2px;cursor:pointer}.labs-timeline-behaviors-toggle:hover{color:var(--ne-ink, #e6e8ec)}.labs-timeline-behavior-lanes{position:relative;width:100%}.labs-timeline-span.is-behavior{background:color-mix(in srgb,var(--ne-ink-dim, #9aa0aa) 14%,transparent);box-shadow:inset 2px 0 0 var(--ne-ink-dim, #9aa0aa)}.labs-timeline-span.is-behavior.is-open{background:color-mix(in srgb,var(--ne-ink-dim, #9aa0aa) 22%,transparent)}.labs-timeline-queued{position:absolute;box-sizing:border-box;border:1px dotted var(--ne-ink-dim, #9aa0aa);border-radius:3px}.labs-timeline-suppressed{position:absolute;box-sizing:border-box;border-radius:3px;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--ne-warn, #f5a524) 45%,transparent) 0,color-mix(in srgb,var(--ne-warn, #f5a524) 45%,transparent) 3px,transparent 3px,transparent 6px)}.labs-timeline-beat{position:absolute;box-sizing:border-box;width:4px;height:4px;border-radius:50%;background:var(--ne-accent, #6fae8e);pointer-events:auto}.labs-timeline-action-ran{position:absolute;box-sizing:border-box;width:4px;height:4px;border-radius:1px;background:var(--ne-ink-dim, #9aa0aa);pointer-events:auto}.labs-timeline-connectors{position:absolute;top:0;left:0;overflow:visible}.labs-timeline-connector{stroke:var(--ne-accent, #6fae8e);stroke-width:1.5;stroke-dasharray:3 2;pointer-events:stroke}.labs-timeline-overlay{position:absolute;top:0;left:0;width:100%;pointer-events:none}.labs-timeline-refusal{position:absolute;box-sizing:border-box;width:10px;display:flex;align-items:center;justify-content:center;color:var(--ne-warn, #f5a524);font-size:10px;line-height:1;pointer-events:auto}.labs-tests{display:flex;flex-direction:column;gap:8px}.labs-tests-run{display:flex;flex-direction:column;gap:8px;min-width:0}.labs-tests.has-lesson{display:grid;grid-template-columns:minmax(240px,2fr) minmax(0,3fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"lesson head" "lesson body";gap:0;padding:0;overflow:hidden}.labs-tests.has-lesson>.labs-tests-head{grid-area:head;padding:10px 12px 0}.labs-tests.has-lesson>.labs-tests-lesson{grid-area:lesson}.labs-tests.has-lesson>.labs-tests-run{grid-area:body}.labs-tests.has-lesson>.labs-tests-lesson,.labs-tests.has-lesson>.labs-tests-run{min-height:0;overflow-y:auto;padding:10px 12px}.labs-narration.labs-tests-lesson{--labs-gutter: 12px;border-top:none;border-right:1px solid rgba(120,140,200,.25)}.labs-tests-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.labs-tests-desc{margin-left:auto}.labs-tests-desc[aria-expanded=true]{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-tests-hint{color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px)}.labs-tests-verdict{font-weight:700}.labs-tests-verdict.is-pass{color:var(--ne-ok, #66cc66)}.labs-tests-verdict.is-fail,.labs-tests-event.is-fail,.labs-tests-error{color:var(--ne-error, #ff6b6b)}.labs-tests-warn{color:var(--ne-warn, #f5a524)}.labs-tests-warn,.labs-tests-error{margin:0;font-size:var(--labs-fs-meta, 11px);line-height:1.45}.labs-tests-event code,.labs-tests-source{font-family:ui-monospace,SF Mono,Menlo,monospace}.labs-tests-type{color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px)}.labs-tests-source{margin:0;padding:8px;border:1px solid var(--ne-line, #2a2d33);border-radius:4px;background:var(--ne-surface-2, #1c1f24);color:var(--ne-ink, #e6e8ec);font-size:12px;line-height:1.45;white-space:pre;overflow:auto}.demo-code-stowed{opacity:.35}.demo-code-taught{background:#6fae8e29;box-shadow:inset 3px 0 0 var(--ne-accent, #6fae8e)}.demo-code-taught-start:before{content:"lesson";display:block;width:fit-content;margin:0 0 2px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ne-accent-ink, #0c1712);background:var(--ne-accent, #6fae8e);border-radius:3px;padding:1px 6px;line-height:1.4}.demo-code-fold{display:block;width:100%;text-align:left;appearance:none;border:1px dashed var(--ne-line, #2a2d33);background:var(--ne-surface-2, #1c1f24);color:var(--ne-ink-dim, #9aa0aa);border-radius:4px;padding:2px 8px;margin:2px 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;letter-spacing:.02em;cursor:pointer}.demo-code-fold:hover{color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.labs-context{flex:0 1 auto;max-height:40%;overflow-y:auto;border-top:1px solid rgba(120,140,200,.25);padding-top:6px}.labs-context-item+.labs-context-item{margin-top:6px}.labs-context-code{display:flex;flex-direction:column;height:calc(var(--labs-context-lines, 10) * 16.5px + 44px)}.labs-context .demo-code-taught-start:before{content:var(--labs-context-label, "also running")}.labs-splitter{position:absolute;z-index:var(--ne-z-canvasSplitter, 4);padding:0;margin:0;border:none;background:transparent;touch-action:none}.labs-splitter-vertical{top:0;bottom:0;width:7px;cursor:col-resize}.labs-splitter-horizontal{left:0;right:0;height:7px;cursor:row-resize}.labs-rail .labs-splitter-vertical{right:-3px}.labs-code .labs-splitter-vertical{left:-3px}.labs-dock .labs-splitter-horizontal{top:-3px}.labs-splitter:before{content:"";position:absolute;background:var(--ne-line, #2a2d33)}.labs-splitter-vertical:before{left:3px;top:0;bottom:0;width:1px}.labs-splitter-horizontal:before{top:3px;left:0;right:0;height:1px}.labs-splitter:hover:before,.labs-splitter:focus-visible:before,.labs-splitter[data-dragging=true]:before{background:var(--ne-accent, #6fae8e)}.labs-splitter:focus-visible{outline:1px solid var(--ne-accent, #6fae8e);outline-offset:-1px}@media(pointer:coarse){.labs-splitter-vertical{width:22px}.labs-splitter-horizontal{height:22px}.labs-rail .labs-splitter-vertical{right:-11px}.labs-code .labs-splitter-vertical{left:-11px}.labs-dock .labs-splitter-horizontal{top:-11px}}.labs-drawer-toggle{white-space:nowrap}.labs-deeplink-note{margin:0;padding:4px 12px;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);border-bottom:1px solid rgba(120,140,200,.25)}.labs-intro{display:flex;align-items:center;gap:10px;margin:8px 12px 0;padding:8px 12px;border-radius:4px;font-size:var(--labs-fs-meta, 11px);line-height:1.45}.labs-intro-glyph{flex:0 0 auto}.labs-intro-text{flex:1 1 auto}.labs-intro-dismiss{flex:0 0 auto;appearance:none;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:4px;padding:2px 6px;opacity:.8;cursor:pointer}.labs-intro-dismiss:hover,.labs-intro-dismiss:focus-visible{opacity:1}.demo-drawer{display:flex;flex-direction:column;min-height:0;gap:8px;width:100%}.demo-drawer-filter{flex:0 0 auto;width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:4px 8px;color:var(--ne-ink, #e6e8ec);background:var(--ne-elevated, rgba(255, 255, 255, .04));border:1px solid var(--ne-line, #2a2d33);border-radius:4px}.demo-drawer-filter:focus{outline:none;border-color:var(--ne-accent, #6fae8e)}.demo-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.demo-drawer-section-label{margin:0 0 8px;color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.demo-drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.demo-drawer-card{appearance:none;display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:left;font:inherit;color:var(--ne-ink, #e6e8ec);background:#ffffff0a;border:1px solid rgba(120,140,200,.25);border-radius:6px;padding:10px 12px;cursor:pointer}.demo-drawer-card:hover{border-color:var(--ne-accent, #6fae8e)}.demo-drawer-card:focus-visible{outline:2px solid var(--ne-accent, #6fae8e);outline-offset:-2px}.demo-drawer-card.is-current{border-color:var(--ne-accent, #6fae8e)}.demo-drawer-card-title{display:flex;align-items:baseline;gap:6px;font-size:var(--labs-fs-claim, 13px);font-weight:700}.demo-drawer-current{flex:0 0 auto;color:var(--ne-accent, #6fae8e);font-size:var(--labs-fs-meta, 11px);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.demo-drawer-card-claim{color:var(--ne-ink-dim, #9aa0aa);font-size:var(--labs-fs-meta, 11px);line-height:1.4}.demo-drawer-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.demo-drawer-badge{color:var(--ne-ink-dim, #9aa0aa);background:#ffffff0f;border:1px solid rgba(120,140,200,.25);border-radius:3px;padding:1px 6px;font-size:10px;letter-spacing:.02em;text-transform:uppercase}.labs-body .labs-narrow-tabbar{display:none}@media(max-width:999px){.labs-tests.has-lesson{display:flex;overflow-y:auto;padding:8px 12px}.labs-tests.has-lesson>.labs-tests-head{padding:0}.labs-tests.has-lesson>.labs-tests-lesson,.labs-tests.has-lesson>.labs-tests-run{flex:0 0 auto;overflow-y:visible;padding:8px 0}.labs-narration.labs-tests-lesson{border-right:none;border-bottom:1px solid rgba(120,140,200,.25)}.labs-nav{flex-wrap:nowrap;padding:6px 10px;gap:6px}.labs-section{display:none}.labs-select{flex:1 1 60px;min-width:0}.labs-count{flex:0 0 auto;white-space:nowrap}.labs-player{flex:0 0 auto;width:100%;aspect-ratio:16 / 10}.labs-body .labs-narrow-tabbar{grid-area:tabbar;display:flex;flex-wrap:nowrap;overflow-x:auto;padding:0 8px}.labs-narrow-tabbar .ne-tab{flex:0 0 auto;white-space:nowrap;min-height:40px;display:flex;align-items:center}.labs-body{display:grid;grid-template-rows:auto auto 1fr;grid-template-areas:"stage" "tabbar" "content";overflow:hidden}.labs-main,.labs-upper{display:contents}.labs-stage{grid-area:stage;width:100%;min-width:0}.labs-rail,.labs-code,.labs-dock{grid-area:content;min-width:0;min-height:0;width:100%!important;height:100%!important;max-width:100%;visibility:hidden;border:none}.labs-rail.is-narrow-active,.labs-code.is-narrow-active,.labs-dock.is-narrow-active{visibility:visible}.labs-code:not(.is-narrow-active) .labs-pane.is-live{visibility:hidden}.labs-dock-head,.labs-splitter{display:none}.labs-intro-text{min-width:0}}@media(max-width:599px){.labs-nav{padding:6px 8px;gap:4px}.labs-brand{font-size:10px}.labs-arrow{min-height:40px;min-width:40px}.labs-drawer-toggle{min-height:40px}.labs-narration{--labs-gutter: 16px}.labs-tests.has-lesson{padding-left:16px;padding-right:16px}.labs-narration.labs-tests-lesson{--labs-gutter: 16px}.labs-lesson-header,.labs-narration,.labs-claims,.labs-console-body,.labs-code-toolbar,.labs-code-chips{padding-left:16px;padding-right:16px}.labs-code-toolbar{flex-wrap:wrap;row-gap:6px}.labs-code-btn,.labs-chip,.labs-dock-collapse{min-height:40px}.labs-code-reset{margin-left:0}.labs-dmd-inset-canvas{height:56px}.labs-dmd-inset{padding:6px 10px}}.labs-dock-pane:has(>#cascade-panel:not([hidden])){flex-direction:row}.labs-dock-pane #cascade-panel{position:static;width:auto;height:auto;max-height:none;border:none;border-left:1px solid rgba(120,140,200,.25);border-radius:0;box-shadow:none;z-index:auto;flex:1 1 0;min-width:0;min-height:0}.labs-dock-pane #cascade-panel>.pane-header{cursor:default}.labs-dock-pane:has(>#cascade-panel:not([hidden])) #event-tree-panel{width:auto;flex:1 1 0;min-width:0}.ne-source.svelte-umcel5{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1}.ne-source-bar.svelte-umcel5{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ne-src-copy.svelte-umcel5{margin-left:auto}.ne-src-btn.svelte-umcel5{appearance:none;border:1px solid var(--ne-line, #2a2d33);background:var(--ne-surface, #16181c);color:var(--ne-ink-dim, #9aa0aa);border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.ne-src-btn.svelte-umcel5:hover:not(:disabled){color:var(--ne-ink, #e6e8ec);border-color:var(--ne-accent, #6fae8e)}.ne-src-btn.svelte-umcel5:disabled{opacity:.45;cursor:default}.ne-src-btn.is-primary.svelte-umcel5:not(:disabled){background:var(--ne-accent, #6fae8e);border-color:var(--ne-accent, #6fae8e);color:var(--ne-accent-ink, #0c1712)}.ne-src-note.svelte-umcel5{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ne-ink-mute, #6a7078)}.ne-src-note.is-dirty.svelte-umcel5{color:var(--ne-warn, #f5a524)}.ne-src-note.is-ok.svelte-umcel5{color:var(--ne-accent, #6fae8e)}.ne-src-note.is-degraded.svelte-umcel5{color:var(--ne-warn, #f5a524)}.ne-code-wrap.svelte-umcel5{position:relative;display:flex;min-height:0;flex:1}.ne-code-metrics.svelte-umcel5{margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.5;letter-spacing:normal;tab-size:2;white-space:pre;overflow-wrap:normal;padding:8px 10px;border:1px solid var(--ne-line, #2a2d33);border-radius:6px}.ne-code.svelte-umcel5{flex:1;min-height:0;overflow:auto;color:var(--ne-ink, #e6e8ec);background:var(--ne-surface, #16181c)}.ne-code.is-editable.svelte-umcel5{overflow:hidden}.ne-code-input.svelte-umcel5{position:absolute;inset:0;resize:none;overflow:auto;background:transparent;color:transparent;caret-color:var(--ne-ink, #e6e8ec);border-color:transparent;outline:none}.ne-code-input.svelte-umcel5:focus{border-color:var(--ne-accent, #6fae8e)}.ne-code-input.svelte-umcel5::selection{background:var(--ne-sel, rgba(111, 174, 142, .35))}.ne-src-problems.svelte-umcel5{flex:0 0 auto;color:var(--ne-error, #ff6b6b);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;line-height:1.45;word-break:break-word}.ne-src-problems.is-advisory.svelte-umcel5{color:var(--ne-warn, #f5a524)}.ne-src-problems.is-advisory.svelte-umcel5 .ne-src-problem.is-error:where(.svelte-umcel5){color:var(--ne-error, #ff6b6b)}.ne-src-problems.is-advisory.svelte-umcel5 .ne-src-problem.is-stale:where(.svelte-umcel5){color:var(--ne-ink-mute, #6a7078)}
