.vz{--bg-0:var(--app-bg,#080f1d);--bg-1:var(--app-sidebar,#0d1727);--bg-2:#142239;--bg-3:#101d30;--border:var(--app-line,#27374e);--border-2:#34465f;--text-hi:var(--app-ink,#f5f7fb);--text-mid:var(--app-muted,#8e9cb0);--text-lo:var(--app-dim,#65758c);--sync:#f9fafb;--macro:#fff1be;--micro:var(--app-accent,#ef7ac5);--webapi:#b060ff;--log:#f0abfc;--radius:12px;--radius-sm:8px;--mono:"Geist Mono Variable", ui-monospace, monospace;--sans:Switzer, system-ui, sans-serif;background:var(--bg-0);color:var(--text-hi);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.vz[data-vz-theme=light]{--bg-0:#f6f7f9;--bg-1:#fff;--bg-2:#fff;--bg-3:#f0f2f5;--border:#0a0e191a;--border-2:#0a0e1929;--text-hi:#131722;--text-mid:#4b5566;--text-lo:#8b93a3}.vz *{box-sizing:border-box}.vz-ambient{pointer-events:none;z-index:0;background:radial-gradient(circle at 78% -15%,#b060ff29,#0000 38rem),radial-gradient(circle at 12% 105%,#ee87cb1a,#0000 35rem);position:absolute;inset:0}.vz[data-vz-theme=light] .vz-ambient{opacity:.5}.vz-top{z-index:3;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080f1df0;flex:none;align-items:center;gap:10px;min-height:68px;padding:9px 18px;display:flex;position:relative}.vz-brand{min-width:max-content;color:var(--text-hi);align-items:center;gap:10px;text-decoration:none;display:flex}.vz-brand-mark{width:31px;height:31px;color:var(--text-hi);flex:none}.vz-brand>span{line-height:1.05;display:grid}.vz-brand b{letter-spacing:-.03em;font-size:15px;font-weight:700}.vz-brand small{color:var(--text-lo);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:700}.vz-primary-nav{align-items:center;gap:2px;margin-left:10px;display:flex}.vz-primary-nav a{min-height:36px;color:var(--text-mid);border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:590;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.vz-primary-nav a:hover{color:var(--text-hi);background:#ffffff0a}.vz-lesson-picker{flex:260px;min-width:180px;max-width:360px;margin-left:auto;display:grid}.vz-lesson-picker label{color:var(--micro);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px 2px;font-size:8px;font-weight:750}.vz-select{appearance:none;width:100%;font-family:var(--sans);color:var(--text-hi);background:var(--bg-1);border:1px solid var(--border);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%237f8aa0' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");background-position:right 11px center;background-repeat:no-repeat;border-radius:8px;padding:8px 30px 8px 11px;font-size:13px;font-weight:600}.vz-ghost{font-family:var(--sans);color:var(--text-mid);border:1px solid var(--border-2);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.vz-ghost:hover{color:var(--text-hi);border-color:var(--border-2);background:var(--bg-2)}.vz-run{min-height:38px;font-family:var(--sans);color:#080f1d;cursor:pointer;background:var(--text-hi);box-shadow:none;border:0;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:700;transition:transform .12s,box-shadow .15s;display:inline-flex}.vz-run:hover{transform:translateY(-1px)}.vz-run:active{transform:translateY(0)}.vz-dojo-link{border:1px solid color-mix(in srgb, var(--micro) 45%, var(--border));min-height:38px;color:var(--text-hi);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.vz-dojo-link span{color:var(--micro)}.vz-dojo-link:hover{background:color-mix(in srgb, var(--micro) 9%, transparent)}.vz-comparison-label{color:var(--text-hi);text-align:right;flex:1;margin-left:auto;font-size:13px;font-weight:650}.vz-tools{flex:none;position:relative}.vz-tools>summary{border:1px solid var(--border);min-height:38px;color:var(--text-mid);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:650;list-style:none;display:inline-flex}.vz-tools>summary::-webkit-details-marker{display:none}.vz-tools[open]>summary,.vz-tools>summary:hover{border-color:var(--border-2);color:var(--text-hi);background:var(--bg-2)}.vz-tools-dots{letter-spacing:1px;position:relative;top:-2px}.vz-tools-menu{z-index:30;border:1px solid var(--border-2);background:#101d30;border-radius:11px;width:250px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 22px 60px #0000006b}.vz-tools-heading{color:var(--text-lo);letter-spacing:.13em;text-transform:uppercase;padding:8px 9px 7px;font-size:9px;font-weight:750}.vz-tools-menu :is(a,button){width:100%;min-height:39px;color:var(--text-mid);font:590 12px/1 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:0 10px;text-decoration:none;display:flex}.vz-tools-menu :is(a,button):hover{color:var(--text-hi);background:#ffffff0b}.vz-tools-menu button:disabled{opacity:.5;cursor:wait}.vz-tools-menu .vz-tools-dojo{color:color-mix(in srgb, var(--micro) 86%, var(--text-hi))}.vz-tools-belt{border-top:1px solid var(--border);margin-top:5px;padding:9px}.vz-main{z-index:1;flex:1;grid-template-columns:minmax(300px,28%) 1fr minmax(300px,30%);gap:14px;min-height:0;padding:14px;display:grid;position:relative}.vz-col{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.vz-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;transition:border-color .25s,box-shadow .25s;display:flex;position:relative}.vz-card.glow{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:inset 0 1px #ffffff0a}.vz-card-h{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:11px 14px;display:flex}.vz-card-h .t{letter-spacing:0;color:var(--text-mid);font-size:12px;font-weight:550}.vz-card-h .dot{background:var(--accent);width:7px;height:7px;box-shadow:none;border-radius:50%}.vz-card-h .count{font-family:var(--mono);color:var(--text-lo);margin-left:auto;font-size:11px}.vz-card-body{flex:1;min-height:0;padding:12px;overflow:auto}.vz-empty{color:var(--text-lo);text-align:center;opacity:.7;padding:14px 0;font-size:12px;font-style:italic}.vz-stack{--accent:var(--sync)}.vz-webapi{--accent:var(--webapi)}.vz-macro{--accent:var(--macro)}.vz-micro{--accent:var(--micro)}.vz-console-card{--accent:var(--log)}.vz-token{background:var(--bg-2);border:1px solid color-mix(in srgb, var(--tok) 38%, var(--border));border-radius:var(--radius-sm);font-family:var(--mono);color:var(--text-hi);cursor:default;align-items:center;gap:8px;margin-bottom:8px;padding:9px 11px;font-size:12.5px;display:flex;box-shadow:inset 0 1px #ffffff0a}.vz-token .glyph{color:#07080d;background:var(--tok);border-radius:5px;flex:none;place-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:grid}.vz-token .lbl{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.vz-token .det{color:var(--text-lo);margin-left:auto;font-size:11px}.vz-token.k-sync{--tok:var(--sync)}.vz-token.k-macro{--tok:var(--macro)}.vz-token.k-micro{--tok:var(--micro)}.vz-token.k-webapi{--tok:var(--webapi)}.vz-stack .vz-card-body{flex-direction:column-reverse;justify-content:flex-end;display:flex}.vz-stack .vz-token{margin-top:8px;margin-bottom:0}.vz-loop{flex-direction:column;flex:none;align-items:center;gap:8px;padding:6px 0;display:flex;position:relative}.vz-loop-ring{background:radial-gradient(circle at 50% 35%, var(--bg-3), var(--bg-1));border:1px solid var(--border-2);width:64px;height:64px;color:var(--text-mid);box-shadow:none;border-radius:50%;place-items:center;display:grid}.vz-loop-ring svg{animation:8s linear infinite vz-spin}.vz-loop.tick .vz-loop-ring{border-color:var(--micro);color:var(--micro);box-shadow:0 0 0 1px var(--micro), 0 0 28px color-mix(in srgb, var(--micro) 40%, transparent)}.vz-loop-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-lo);font-size:11px;font-weight:600}@keyframes vz-spin{to{transform:rotate(360deg)}}.vz-console-card .vz-card-body{font-family:var(--mono);font-size:12.5px}.vz-log-line{color:var(--text-hi);border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);gap:10px;padding:3px 0;display:flex}.vz-log-line .n{color:var(--text-lo);text-align:right;min-width:22px;font-size:11px}.vz-log-line.warn{color:#ffd27d}.vz-log-line.error{color:#ff8a8a}.vz-code{flex:1;min-height:0;position:relative;overflow:auto}.vz-code-pre,.vz-code-ta{font-family:var(--mono);tab-size:2;white-space:pre;border:0;margin:0;padding:14px 14px 14px 50px;font-size:13px;line-height:22px}.vz-code-pre{pointer-events:none;color:var(--text-hi);position:absolute;inset:0}.vz-code-ta{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--text-hi);background:0 0;outline:none;position:absolute;inset:0;overflow:hidden}.vz-code-gutter{text-align:right;width:38px;color:var(--text-lo);font-family:var(--mono);-webkit-user-select:none;user-select:none;pointer-events:none;padding:14px 0;font-size:12px;line-height:22px;position:absolute;top:0;left:0}.vz-code-hl{background:color-mix(in srgb, var(--sync) 12%, transparent);border-left:2px solid var(--sync);pointer-events:none;height:22px;transition:top .12s;position:absolute;left:0;right:0}.tk-key{color:#c792ea}.tk-str{color:#c3e88d}.tk-num{color:#f78c6c}.tk-com{color:var(--text-lo);font-style:italic}.tk-fn{color:#82aaff}.tk-punc{color:var(--text-mid)}.vz-caption{background:var(--bg-1);border:1px solid var(--border);color:var(--text-mid);border-radius:11px;align-items:center;gap:10px;min-height:42px;padding:10px 16px;font-size:13px;display:flex}.vz-caption .phase{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-3);color:var(--text-lo);border-radius:6px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:700}.vz-caption .phase.beat{animation:.42s cubic-bezier(.2,.8,.2,1) vz-beat}@keyframes vz-beat{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--sync) 55%, transparent);color:var(--text-hi);transform:scale(1)}35%{box-shadow:0 0 0 5px color-mix(in srgb, var(--sync) 0%, transparent);color:var(--sync);transform:scale(1.14)}to{transform:scale(1);box-shadow:0 0 #0000}}.vz-aha{max-width:46%;color:color-mix(in srgb, var(--micro) 88%, var(--text-hi));background:color-mix(in srgb, var(--micro) 9%, transparent);border:1px solid color-mix(in srgb, var(--micro) 24%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:none;padding:5px 11px;font-size:12px;overflow:hidden}@media (width<=900px){.vz-aha{display:none}}.vz-timeline{z-index:3;border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-0) 84%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:none;align-items:center;gap:14px;padding:12px 20px;display:flex;position:relative}.vz-controls{align-items:center;gap:6px;display:flex}.vz-ctl{border:1px solid var(--border-2);background:var(--bg-2);width:36px;height:36px;color:var(--text-mid);cursor:pointer;border-radius:9px;place-items:center;transition:color .15s,border-color .15s;display:grid}.vz-ctl:hover{color:var(--text-hi);border-color:var(--border-2)}.vz-ctl.primary{background:var(--text-hi);color:var(--bg-0);border-color:var(--text-hi);width:42px;height:42px}.vz-ctl:disabled{opacity:.35;cursor:default}.vz-scrub{flex:1;align-items:center;height:36px;display:flex}.vz-scrub input[type=range]{appearance:none;background:var(--bg-3);cursor:pointer;border-radius:3px;outline:none;width:100%;height:5px}.vz-scrub input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--sync);width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--sync) 22%, transparent);cursor:pointer;border-radius:50%}.vz-step-count{font-family:var(--mono);color:var(--text-lo);text-align:right;min-width:74px;font-size:12px}@media (width<=1480px){.vz-primary-nav{display:none}}@media (width<=1080px){.vz-dojo-link{display:none}.vz-lesson-picker{max-width:none}}@media (width<=700px){.vz-top{gap:7px;min-height:60px;padding:7px 9px}.vz-brand{min-width:32px}.vz-brand>span{display:none}.vz-brand-mark{width:27px;height:27px}.vz-lesson-picker{min-width:0;margin-left:0}.vz-lesson-picker label{display:none}.vz-select{min-height:38px;padding-left:9px;font-size:11px}.vz-tools>summary{justify-content:center;width:38px;padding:0}.vz-tools-label{display:none}.vz-tools-menu{width:min(270px,100vw - 16px);position:fixed;top:58px;right:8px}.vz-run{justify-content:center;width:40px;padding:0}.vz-run-label{display:none}.vz-caption{padding:8px 10px}.vz-caption>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vz-timeline{padding:8px 9px max(8px, env(safe-area-inset-bottom));gap:9px;overflow-x:auto}.vz-controls{gap:4px}.vz-ctl{width:32px;height:32px}.vz-ctl.primary{width:37px;height:37px}.vz-step-count{min-width:54px}}@media (width<=1100px){.vz-main{grid-template-columns:1fr;grid-auto-rows:minmax(180px,auto);overflow:auto}}@media (prefers-reduced-motion:reduce){.vz-loop-ring svg,.vz-caption .phase.beat{animation:none}.bespoke *,.react-flow__node,.react-flow__edge-path,.dsa-node{transition:none!important;animation:none!important}}
