:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}b,strong{font-weight:700}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100vw;height:100vh;margin:0;padding:0;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}*{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;height:100vh;width:100vw;max-width:100vw;overflow-x:hidden;box-sizing:border-box;position:relative}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#212529;line-height:1.6;overflow-x:hidden}#app{height:100vh;width:100vw;max-width:100vw;display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;box-sizing:border-box;position:relative}code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}pre{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0}button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.language-selector[data-v-7159f978]{display:flex;align-items:center}.segmented[data-v-7159f978]{display:inline-flex;border:1px solid #d1d5db;border-radius:.5rem;overflow:hidden;background:#fff;height:36px}.segment[data-v-7159f978]{padding:0 .75rem;font-size:.85rem;color:#374151;background:#fff;border:none;border-right:1px solid #e5e7eb;cursor:pointer;line-height:1.2;display:inline-flex;align-items:center}.segment[data-v-7159f978]:last-child{border-right:none}.segment[data-v-7159f978]:hover:not(:disabled){background:#f3f4f6}.segment[data-v-7159f978]:disabled{color:#9ca3af;cursor:not-allowed}.segment.active[data-v-7159f978]{background:#e3f2fd;color:#0b5ed7;box-shadow:inset 0 2px 4px #00000014;font-weight:600}.dockable-repl[data-v-7b889ae9]{background:#1f2937;color:#e5e7eb;font-family:Monaco,Menlo,Ubuntu Mono,monospace;box-shadow:0 -4px 6px -1px #0000001a;position:fixed;display:flex;flex-direction:column;flex-shrink:0;width:100%;max-width:100%;box-sizing:border-box;z-index:1500}.pane-mode[data-v-7b889ae9]{position:relative!important;inset:auto!important;box-shadow:none;height:100%!important;width:100%!important}.pane-mode .resize-handle[data-v-7b889ae9]{display:none}.pane-mode .repl-controls[data-v-7b889ae9],.pane-mode .control-button[data-v-7b889ae9]{display:flex!important;visibility:visible!important}.resize-handle[data-v-7b889ae9]{position:absolute;background:#3b82f6;transition:all .2s;cursor:pointer;z-index:1001;opacity:.7}.resize-handle[data-v-7b889ae9]:hover{background:#2563eb;opacity:1;box-shadow:0 0 8px #3b82f680}.resize-handle--bottom[data-v-7b889ae9]{top:-4px;left:0;right:0;height:8px;cursor:ns-resize}.resize-handle--right[data-v-7b889ae9]{left:-4px;top:0;bottom:0;width:8px;cursor:ew-resize}.docked-bottom[data-v-7b889ae9]:not(.pane-mode){bottom:0;left:0;right:0;border-top:1px solid #374151}.docked-right[data-v-7b889ae9]:not(.pane-mode){top:0;right:0;bottom:0;border-left:1px solid #374151;box-shadow:-4px 0 6px -1px #0000001a}.pane-mode.docked-right[data-v-7b889ae9]{border-left:1px solid #374151}.pane-mode.docked-bottom[data-v-7b889ae9]{border-top:1px solid #374151}.repl-header[data-v-7b889ae9]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#111827;border-bottom:1px solid #374151;min-height:40px;position:relative;z-index:10}.repl-title[data-v-7b889ae9]{font-weight:600;font-size:.875rem;color:#f3f4f6}.repl-controls[data-v-7b889ae9]{display:flex;align-items:center;gap:.25rem;position:relative;z-index:15}.control-button[data-v-7b889ae9]{display:flex;align-items:center;justify-content:center;min-height:36px;padding:.5rem 1rem;background:#374151;border:1px solid #6b7280;color:#e5e7eb;cursor:pointer;border-radius:6px;transition:all .2s;position:relative;z-index:20;font-size:.9rem;font-weight:600;line-height:1}.control-button[data-v-7b889ae9]:hover{background:#4b5563}.position-toggle[data-v-7b889ae9]{background:#3b82f6!important;color:#fff!important;border-color:#2563eb!important;font-size:16px!important;font-weight:700!important}.close-button[data-v-7b889ae9]:hover{background:#dc2626;color:#fff}.size-control-group[data-v-7b889ae9]{display:flex;background:#374151;border:1px solid #6b7280;border-radius:6px;overflow:hidden;margin-right:.5rem}.size-button[data-v-7b889ae9]{display:flex;align-items:center;justify-content:center;min-height:34px;padding:.1rem .3rem;background:transparent;border:none;border-right:1px solid #6b7280;color:#e5e7eb;cursor:pointer;font-size:1.6rem;font-weight:600;transition:all .2s;position:relative;line-height:1}.size-button[data-v-7b889ae9]:last-child{border-right:none}.size-button[data-v-7b889ae9]:hover{background:#4b5563}.size-button.active[data-v-7b889ae9]{background:#3b82f6;color:#fff}.size-button.active[data-v-7b889ae9]:hover{background:#2563eb}.repl-content[data-v-7b889ae9]{flex:1;display:flex;flex-direction:column;overflow:hidden}.repl-history[data-v-7b889ae9]{flex:1;overflow-y:auto;padding:.5rem;font-size:.875rem;line-height:1.4}.repl-banner[data-v-7b889ae9]{color:#60a5fa;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.4;margin-bottom:1rem;padding:.5rem;border-bottom:1px solid #374151}.banner-text[data-v-7b889ae9]{color:#9ca3af}.repl-record[data-v-7b889ae9]{margin-bottom:.75rem}.repl-input-line[data-v-7b889ae9]{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.repl-prompt[data-v-7b889ae9]{color:#60a5fa;font-weight:700;flex-shrink:0}.repl-input-text[data-v-7b889ae9]{color:#e5e7eb;flex:1;white-space:pre}.repl-output[data-v-7b889ae9]{padding-left:2rem;color:#d1d5db;background:#111827}.repl-output pre[data-v-7b889ae9]{margin:0;white-space:pre-wrap;word-break:break-word}.repl-error[data-v-7b889ae9]{margin-left:2rem;color:#f87171}.repl-error pre[data-v-7b889ae9]{margin:0;white-space:pre-wrap;word-break:break-word}.repl-input-section[data-v-7b889ae9]{border-top:1px solid #374151;background:#111827;padding:.5rem}.input-line[data-v-7b889ae9]{display:flex;align-items:flex-start;gap:.5rem;min-height:20px}.repl-input[data-v-7b889ae9]{flex:1;background:transparent;border:none;color:#e5e7eb;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;padding:0;resize:none;outline:none;line-height:1.4;min-height:20px;max-height:160px;overflow-y:auto}.repl-input[data-v-7b889ae9]:focus{outline:none}.run-button[data-v-7b889ae9]{background:#059669;color:#fff;border:none;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0;align-self:flex-end;margin-top:.125rem}.run-button[data-v-7b889ae9]:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.run-button[data-v-7b889ae9]:disabled{background:#374151;color:#6b7280;cursor:not-allowed;transform:none}.run-button[data-v-7b889ae9]:active:not(:disabled){transform:translateY(0)}.tutorial-layout[data-v-97ada1bb]{display:flex;flex-direction:column;height:100vh;width:100%;background-color:#f8f9fa;margin:0;padding:0;overflow:hidden;box-sizing:border-box}.tutorial-main[data-v-97ada1bb]{flex:1;display:flex;flex-direction:column;width:100%;min-width:0;min-height:0}.grid-container[data-v-97ada1bb]{display:grid;width:100%;height:100%;grid-template-columns:minmax(320px,1fr) minmax(0,1fr)}.dock-right .content-pane[data-v-97ada1bb]{grid-column:1;grid-row:1;overflow:auto;min-height:0;min-width:0;position:relative}.dock-right .repl-pane[data-v-97ada1bb]{grid-column:2;grid-row:1}.dock-bottom .content-pane[data-v-97ada1bb]{grid-column:1;grid-row:1;overflow:auto;min-height:0;min-width:0;position:relative}.dock-bottom .repl-pane[data-v-97ada1bb]{grid-column:1;grid-row:2}.content-wrapper[data-v-97ada1bb]{padding:1rem;box-sizing:border-box;width:100%}.repl-pane[data-v-97ada1bb]{display:flex;height:100%;width:100%;min-width:0}.tutorial-header[data-v-97ada1bb]{background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;z-index:1100;position:sticky;top:0}.header-content[data-v-97ada1bb]{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;width:100%;box-sizing:border-box}.three-col[data-v-97ada1bb]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.header-left[data-v-97ada1bb]{justify-self:start}.header-center[data-v-97ada1bb]{justify-self:center}.header-right[data-v-97ada1bb]{justify-self:end}.tutorial-title[data-v-97ada1bb]{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50}.brand[data-v-97ada1bb]{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}.brand-icon[data-v-97ada1bb]{width:24px;height:24px;border-radius:4px;display:inline-block}.nav-group[data-v-97ada1bb]{display:inline-flex;align-items:center;gap:.5rem}.nav-button[data-v-97ada1bb]{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;font-weight:600;min-height:36px;line-height:1;display:inline-flex;align-items:center}.nav-button[data-v-97ada1bb]:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.nav-button[data-v-97ada1bb]:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.nav-button.prev[data-v-97ada1bb]{margin-right:.25rem}.nav-button.next[data-v-97ada1bb]{margin-left:.25rem}.toc-dropdown[data-v-97ada1bb]{position:relative}.toc-toggle[data-v-97ada1bb]{background:#e9ecef;color:#2c3e50;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s,transform .2s;font-weight:600;min-height:36px;line-height:1;display:inline-flex;align-items:center;border:#218838 1px solid}.toc-toggle[data-v-97ada1bb]:hover{background:#dfe3e6;transform:translateY(-1px)}.toc-menu[data-v-97ada1bb]{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e9ecef;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px;max-height:400px;overflow-y:auto}.toc-item[data-v-97ada1bb]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f8f9fa}.toc-item[data-v-97ada1bb]:hover{background:#f8f9fa}.toc-item.active[data-v-97ada1bb]{background:#e3f2fd;border-left:3px solid #007bff}.toc-item.active .toc-number[data-v-97ada1bb]{background:#007bff}.toc-item.active .toc-title[data-v-97ada1bb]{color:#007bff;font-weight:600}.toc-item[data-v-97ada1bb]:last-child{border-bottom:none}.toc-number[data-v-97ada1bb]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#10b981;color:#fff;border-radius:50%;font-size:.75rem;font-weight:600;flex-shrink:0}.toc-title[data-v-97ada1bb]{font-size:.875rem;color:#2c3e50;font-weight:500}.repl-toggle[data-v-97ada1bb]{background:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.repl-toggle[data-v-97ada1bb]:hover{background:#0056b3}.error-banner[data-v-97ada1bb]{background:#f8d7da;color:#721c24;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f5c6cb}.error-dismiss[data-v-97ada1bb]{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.2rem;padding:0;margin-left:1rem}.loading-overlay[data-v-97ada1bb]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.loading-spinner[data-v-97ada1bb]{background:#fff;padding:2rem;border-radius:8px;font-size:1.1rem;box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.header-content[data-v-97ada1bb]{padding:1rem;flex-direction:column;gap:1rem}.tutorial-title[data-v-97ada1bb]{font-size:1.25rem}.content-wrapper[data-v-97ada1bb]{padding:.5rem}}.ace-code-block[data-v-0e4a766f]{position:relative;background:transparent;border-radius:.5rem;margin:1rem 0 1.5rem;width:100%;min-height:103px;max-height:2560px;display:block;overflow:visible}.ace-code-block.focused[data-v-0e4a766f]{outline:none}.ace-run-button[data-v-0e4a766f]{position:absolute;top:.6rem;right:.75rem;z-index:1000;background:#10b981;color:#fff;border:none;padding:.4rem .9rem;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.ace-run-button[data-v-0e4a766f]:hover{background:#059669}.ace-run-button[data-v-0e4a766f]:active{background:#047857}.ace-editor-container[data-v-0e4a766f]{width:100%;min-height:103px;max-height:2560px;font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;position:relative;display:block;overflow:visible}[data-v-0e4a766f] .ace_editor{font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace!important;font-size:16px!important;line-height:1.6!important}[data-v-0e4a766f] .ace_gutter{background:#f8fafc!important;border-right:1px solid #e5e7eb!important}[data-v-0e4a766f] .ace_gutter-cell{color:#6b7280!important}[data-v-0e4a766f] .ace_scroller{background:#f3f4f6!important}[data-v-0e4a766f] .ace_cursor{border-left:2px solid #3b82f6!important}[data-v-0e4a766f] .ace_selection{background:#3b82f633!important}[data-v-0e4a766f] .ace_active-line{background:#3b82f60d!important}[data-v-0e4a766f] .ace_scrollbar-v::-webkit-scrollbar{width:14px}[data-v-0e4a766f] .ace_scrollbar-v::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}[data-v-0e4a766f] .ace_scrollbar-v::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid #f1f5f9}[data-v-0e4a766f] .ace_scrollbar-v::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-v-0e4a766f] .ace_scrollbar-h::-webkit-scrollbar{height:14px}[data-v-0e4a766f] .ace_scrollbar-h::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}[data-v-0e4a766f] .ace_scrollbar-h::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid #f1f5f9}[data-v-0e4a766f] .ace_scrollbar-h::-webkit-scrollbar-thumb:hover{background:#94a3b8}.code-toolbar[data-v-dd51ae92]{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem .55rem .8rem;background:#e3f2fd;border-bottom:1px solid #e5e7eb}.group-toolbar .toolbar-spacer[data-v-dd51ae92]{flex:1 1 auto}.group-header[data-v-dd51ae92]{display:flex;flex-direction:column;gap:0}.code-context[data-v-dd51ae92]{font-size:1rem;color:#0b5ed7;font-weight:600}.code-pre[data-v-dd51ae92]{background:#f3f4f6;color:#111827;padding:1rem;margin:0;border-radius:0 0 .5rem .5rem;overflow-x:auto}.code-explanation[data-v-dd51ae92]{padding:.75rem 1rem;background:#f8f9fa;border-top:1px solid #e5e7eb;font-size:1rem;color:#6b7280;margin:0}.code-explanation.compact-desc[data-v-dd51ae92]{font-size:.95rem;padding:.5rem .8rem}.group-description[data-v-dd51ae92]{margin:0!important;padding:0;display:block;font-size:.95rem;color:#6b7280;line-height:1.25}.run-button[data-v-dd51ae92]{padding:.4rem .9rem;background:#10b981;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.run-button[data-v-dd51ae92]:hover{background:#059669}.run-micro[data-v-dd51ae92]{padding:.25rem .6rem;font-size:.9rem}.group-snippets.compact[data-v-dd51ae92]{display:flex;flex-direction:column;gap:0;margin-top:0}.snippet-row[data-v-dd51ae92]{display:flex;align-items:flex-start;gap:.75rem;padding:.4rem .8rem;background:transparent;border:none;border-radius:0}.snippet-main[data-v-dd51ae92]{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0}.snippet-code-preview[data-v-dd51ae92]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:transparent;color:#111827;border-radius:6px;white-space:pre-wrap!important;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0;word-break:break-word}.code-example[data-v-dd51ae92]{margin:.75rem 0}.battle-bot-mount,.battle-bot-exercise{display:block}.bbe-container[data-v-08093399]{margin:0 auto}.battle-bot-exercise[data-v-08093399]{width:100%}.bbe-container[data-v-08093399]{display:flex;gap:16px;align-items:flex-start}.bbe-arena[data-v-08093399]{border:2px solid #000;background:#fff}.bbe-sidebar[data-v-08093399]{display:flex;flex-direction:column;gap:12px}.bbe-controls[data-v-08093399]{width:360px;background:#fff;border:2px solid #000;border-radius:4px;padding:10px 12px;box-shadow:0 2px 10px #00000014;font-family:Arial,Helvetica,sans-serif}.bbe-row[data-v-08093399]{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}.bbe-actions[data-v-08093399]{display:flex;gap:8px;margin-top:8px}.bbe-actions button[data-v-08093399]{padding:6px 10px;border:1px solid #333;background:#f7f7f7;border-radius:4px;cursor:pointer}.bbe-actions button[data-v-08093399]:hover{background:#eee}.bbe-scoreboard[data-v-08093399]{width:360px;background:#fff;border:2px solid #000;border-radius:4px;padding:10px 12px;box-shadow:0 2px 10px #00000014;font-family:Arial,Helvetica,sans-serif}.bbe-scoreboard .sb-message[data-v-08093399]{background:#fff7e6;border:1px solid #f3d19c;color:#7a4b00;padding:6px 8px;border-radius:4px;margin:6px 0 10px}.bbe-scoreboard h3[data-v-08093399]{margin:6px 0 10px;font-size:18px}.sb-entry[data-v-08093399]{margin-bottom:10px}.sb-row[data-v-08093399]{display:flex;justify-content:space-between;align-items:center;gap:6px}.sb-left[data-v-08093399]{display:flex;align-items:center;gap:6px}.sb-dot[data-v-08093399]{width:12px;height:12px;border-radius:50%;border:1px solid #333;flex:0 0 12px}.sb-status[data-v-08093399]{font-size:12px;color:#555}.sb-bar[data-v-08093399]{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin-top:4px}.sb-bar>span[data-v-08093399]{display:block;height:100%;background:#4caf50}.sb-meta[data-v-08093399]{font-size:12px;color:#333;margin-top:4px;white-space:nowrap}.bbe-editor[data-v-08093399]{margin-top:16px}.bbe-editor h3[data-v-08093399]{margin:8px 0}.bbe-help[data-v-08093399]{margin:0 0 8px;color:#555;font-size:.95rem}.bbe-overlay[data-v-08093399]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;z-index:1000}.bbe-banner[data-v-08093399]{width:360px;background:#fff;border:2px solid #000;border-radius:6px;padding:16px;box-shadow:0 8px 24px #0003;text-align:center;font-family:Arial,Helvetica,sans-serif}.bbe-banner h2[data-v-08093399]{margin:6px 0 8px;font-size:20px}.bbe-banner-body[data-v-08093399]{font-size:14px;color:#333;margin-top:4px}.bbe-banner-actions[data-v-08093399]{display:flex;gap:8px;justify-content:center;margin-top:12px}.bbe-banner-actions button[data-v-08093399]{padding:8px 10px;border:1px solid #333;background:#f7f7f7;border-radius:4px;cursor:pointer}.bbe-banner-actions button[data-v-08093399]:hover{background:#eee}@media (max-width: 980px){.bbe-container[data-v-08093399]{flex-direction:column;align-items:center}.bbe-sidebar[data-v-08093399]{width:800px;max-width:100%;flex-direction:row}.bbe-controls[data-v-08093399],.bbe-scoreboard[data-v-08093399]{width:100%}}.tutorial-section[data-v-fa5702e9]{width:100%;margin:0;padding:2rem;height:auto;overflow:visible;background:#fbfbfc;position:relative}.toc-rail[data-v-fa5702e9]{position:absolute;right:8px;height:0;width:44px;z-index:20}.toc-panel[data-v-fa5702e9]{position:absolute;right:20px;top:0;transform:translate(0);transition:transform .2s ease,opacity .2s ease;opacity:.95;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 6px 16px #0000001f;min-width:240px;max-width:320px;max-height:calc(100vh - 100px);overflow:auto;padding:.5rem .75rem}.toc-panel.open[data-v-fa5702e9]{opacity:.98}.toc-header[data-v-fa5702e9]{appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;padding:.25rem;margin:0 0 .25rem;cursor:pointer;font-weight:700;color:#111827;border-radius:6px}.toc-header[data-v-fa5702e9]:hover{background:#f3f4f6}.toc-chevron[data-v-fa5702e9]{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:#6b7280}.toc-chevron[data-v-fa5702e9]:before{content:"▸";line-height:1}.toc-chevron.open[data-v-fa5702e9]:before{content:"▾"}.toc-empty[data-v-fa5702e9]{color:#6b7280;font-size:.9rem;padding:.5rem .25rem}.toc-list[data-v-fa5702e9]{list-style:none;margin:0;padding:.25rem 0}.toc-item[data-v-fa5702e9]{margin:0;padding:0}.toc-item .toc-link[data-v-fa5702e9]{appearance:none;background:transparent;border:none;cursor:pointer;text-align:left;width:100%;padding:.25rem .5rem;border-radius:6px;color:#374151;font-size:.95rem}.toc-item .toc-link[data-v-fa5702e9]:hover{background:#f3f4f6}.toc-item.active .toc-link[data-v-fa5702e9]{background:#e3f2fd;color:#007bff;font-weight:600}.toc-item.level-2 .toc-link[data-v-fa5702e9]{padding-left:.5rem}.toc-item.level-3 .toc-link[data-v-fa5702e9]{padding-left:1.25rem;font-size:.92rem}.toc-item.level-4 .toc-link[data-v-fa5702e9]{padding-left:2rem;font-size:.9rem}@media (max-width: 1024px){.toc-rail[data-v-fa5702e9]{display:none}}.toc-handle[data-v-fa5702e9]{position:absolute;right:8px;top:90px;width:36px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 20px #0000001a;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.toc-handle[data-v-fa5702e9]:hover{transform:translate(2px);box-shadow:0 10px 24px #00000024;border-color:#d1d5db}.toc-panel.open~.toc-handle[data-v-fa5702e9]{opacity:0;pointer-events:none}.toc-handle .line[data-v-fa5702e9]{display:block;height:3px;border-radius:2px}.toc-handle .line-1[data-v-fa5702e9]{width:18px;background:#111827;opacity:.9}.toc-handle .line-2[data-v-fa5702e9]{width:14px;background:#cbd5e1}.toc-handle .line-3[data-v-fa5702e9]{width:10px;background:#e5e7eb}.section-header[data-v-fa5702e9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:.25rem;border-bottom:2px solid #e5e7eb;max-width:920px;margin:0 0 1rem}.section-header h1[data-v-fa5702e9]{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.section-content[data-v-fa5702e9]{max-width:920px;margin:0;display:block;width:100%;min-width:0;position:relative}.battle-bot-mount[data-v-fa5702e9]{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.content-wrapper-centered[data-v-fa5702e9]{display:flex;justify-content:center}.loading-message[data-v-fa5702e9]{text-align:center;color:#6b7280;font-size:1.125rem;padding:2rem}.error-message[data-v-fa5702e9]{text-align:center;color:#dc2626;padding:2rem}.error-message h2[data-v-fa5702e9]{margin-bottom:1rem}.retry-button[data-v-fa5702e9]{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:background-color .2s;margin-top:1rem}.retry-button[data-v-fa5702e9]:hover{background:#2563eb}.content-text[data-v-fa5702e9]{line-height:1.8;color:#1f2937;font-size:1.2rem;display:block;width:100%;min-width:0;min-height:1px}.content-text[data-v-fa5702e9] h1{font-size:2rem;font-weight:700;color:#111827;margin:2rem 0 .75rem}.content-text[data-v-fa5702e9] h2{font-size:1.75rem;font-weight:700;color:#111827;margin:2rem 0 .75rem}.content-text[data-v-fa5702e9] h3{font-size:1.35rem;font-weight:600;color:#111827;margin:1.5rem 0 .5rem}.content-text[data-v-fa5702e9] p{margin:.35rem 0 .9rem}.content-text[data-v-fa5702e9] blockquote{background:#f8fafc;border-left:4px solid #3b82f6;margin:1.5rem 0;padding:1rem 1.25rem;border-radius:0 6px 6px 0;font-style:normal;position:relative}.content-text[data-v-fa5702e9] blockquote p{margin:.5rem 0;color:#374151}.content-text[data-v-fa5702e9] blockquote p:first-child{margin-top:0}.content-text[data-v-fa5702e9] blockquote p:last-child{margin-bottom:0}.content-text[data-v-fa5702e9] blockquote strong{color:#1f2937;font-weight:600}.content-text[data-v-fa5702e9] ul{list-style:disc;padding-left:1.6rem;margin:.25rem 0 .9rem}.content-text[data-v-fa5702e9] ul ul{list-style:circle;padding-left:1.25rem;margin-top:.25rem}.content-text[data-v-fa5702e9] ol{list-style:decimal;padding-left:1.8rem;margin:.25rem 0 .9rem}.content-text[data-v-fa5702e9] ol ol{list-style:lower-alpha;padding-left:1.5rem;margin-top:.25rem}.content-text[data-v-fa5702e9] li{margin:.2rem 0;padding-left:.3rem}.content-text[data-v-fa5702e9] li::marker{color:#2563eb;font-weight:600}.content-text[data-v-fa5702e9] ul ul li::marker{color:#60a5fa}.content-text[data-v-fa5702e9] ol li::marker{color:#2563eb;font-weight:600}.content-text[data-v-fa5702e9] p code,.content-text[data-v-fa5702e9] li code{background:#fff5f5;border:1px solid #fde2e2;color:#1f2937;padding:.1rem .35rem;border-radius:.25rem;font-size:1.1rem}.content-text[data-v-fa5702e9] .code-example,.code-example[data-v-fa5702e9]{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 1px #00000005;margin:1rem 0 1.5rem;overflow:hidden;position:relative}.content-text[data-v-fa5702e9] .code-toolbar,.code-toolbar[data-v-fa5702e9]{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;background:#e3f2fd;border-bottom:none}.content-text[data-v-fa5702e9] .compact-snippet-row,.compact-snippet-row[data-v-fa5702e9]{display:flex;align-items:center;gap:.75rem;padding:.2rem .75rem;background:transparent;border-bottom:none}.content-text[data-v-fa5702e9] .snippet-code-preview,.snippet-code-preview[data-v-fa5702e9]{font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;color:#111827;white-space:pre-wrap;overflow:visible;flex:1 1 auto}.content-text[data-v-fa5702e9] .run-micro,.run-micro[data-v-fa5702e9]{padding:.25rem .6rem;font-size:.9rem}.content-text[data-v-fa5702e9] .inline-snippet-mount,.inline-snippet-mount[data-v-fa5702e9]{border:1px solid #eef2f7;border-radius:8px;background:#fff;margin:.6rem 0}.inline-snippet-mount>.code-explanation[data-v-fa5702e9]{border-top:1px solid #eef2f7;background:#f9fafb}.content-text[data-v-fa5702e9] .group-toolbar .toolbar-spacer,.group-toolbar .toolbar-spacer[data-v-fa5702e9]{flex:1 1 auto}.content-text[data-v-fa5702e9] .code-context,.code-context[data-v-fa5702e9]{font-size:1rem;color:#6b7280;font-weight:600}.content-text[data-v-fa5702e9] .code-pre,.code-pre[data-v-fa5702e9]{background:#f3f4f6;color:#111827;padding:1rem;margin:0;border-radius:0 0 .5rem .5rem;overflow-x:auto;font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;line-height:1.6}.content-text[data-v-fa5702e9] .code-explanation,.code-explanation[data-v-fa5702e9]{padding:.75rem 1rem;background:#f8f9fa;border-top:1px solid #e5e7eb;font-size:1rem;color:#6b7280;margin:0}.content-text[data-v-fa5702e9] .run-button,.run-button[data-v-fa5702e9]{padding:.4rem .9rem;background:#10b981;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.content-text[data-v-fa5702e9] .run-button:hover,.run-button[data-v-fa5702e9]:hover{background:#059669}.content-text[data-v-fa5702e9] .code-body,.code-body[data-v-fa5702e9]{position:relative}.content-text[data-v-fa5702e9] .code-body .snippet-run,.code-body .snippet-run[data-v-fa5702e9]{position:absolute;top:8px;right:8px;z-index:2}.content-text[data-v-fa5702e9] .code-body .code-pre,.code-body .code-pre[data-v-fa5702e9]{padding-right:4.25rem}.code-snippets[data-v-fa5702e9]{margin-top:2.5rem}.code-snippets h3[data-v-fa5702e9]{margin-bottom:1rem}.ace-code-block-wrapper[data-v-fa5702e9]{margin:1rem 0}.content-text[data-v-fa5702e9] .ace-code-block-placeholder,.ace-code-block-placeholder[data-v-fa5702e9]{display:none}.content-text[data-v-fa5702e9] .ace-code-block{display:block!important;visibility:visible!important;width:100%!important}.content-text[data-v-fa5702e9] .ace-mount-container{display:block!important;width:100%!important;position:relative!important;visibility:visible!important;box-sizing:border-box!important}.content-text[data-v-fa5702e9] pre.md-code-block.no-run{background:#f8fafc;color:#111827;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 1px #00000005;padding:.75rem 1rem;margin:1rem 0 1.5rem;overflow-x:auto;font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;line-height:1.6}.content-text[data-v-fa5702e9] pre.md-code-block.no-run code{background:transparent;display:block;white-space:pre}.inline-code-wrapper[data-v-fa5702e9]{position:relative;display:inline-flex;align-items:stretch;gap:0rem}.content-text[data-v-fa5702e9] .inline-run-button,.inline-run-button[data-v-fa5702e9]{background:#10b981!important;color:#fff!important;border:none!important;border-radius:.375rem!important;padding:.2rem .6rem!important;font-size:1.15rem!important;font-weight:500!important;cursor:pointer!important;opacity:1!important;transition:all .2s!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.35!important;flex-shrink:0!important;margin-left:0!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;box-shadow:0 1px 3px #0000001a,inset 1px 0 #fff9!important}.content-text[data-v-fa5702e9] .is-single-snippet{margin:.75rem 0!important;border-radius:.5rem!important;overflow:hidden!important;border:1px solid #e5e7eb!important}.content-text[data-v-fa5702e9] .code-example.is-single-snippet,.content-text[data-v-fa5702e9] .is-single-snippet *{margin:0!important}.content-text[data-v-fa5702e9] .single-snippet-toolbar{display:flex!important;align-items:center!important;gap:.5rem!important;padding:.25rem .75rem!important;background:#e3f2fd!important;border-radius:.5rem .5rem 0 0!important;border-bottom:none!important;margin:0!important}.content-text[data-v-fa5702e9] .single-snippet-header{display:flex;flex-direction:column;gap:0}.content-text[data-v-fa5702e9] .single-snippet-description{margin:0!important;padding:0;display:block;font-size:.9rem;color:#6b7280;line-height:1.25}.content-text[data-v-fa5702e9] .snippet-row{display:flex!important;align-items:center!important;gap:.75rem!important;padding:.2rem .75rem!important;background:transparent!important;border:none!important;border-radius:0!important;margin:0!important;border-top:1px solid #eef2f7!important}.content-text[data-v-fa5702e9] .is-single-snippet .snippet-row{background:#fff!important;border-radius:0 0 .5rem .5rem!important}.content-text[data-v-fa5702e9] .snippet-main{display:flex!important;align-items:center!important;gap:.5rem!important;flex:1 1 auto!important;min-width:0!important}.content-text[data-v-fa5702e9] .toolbar-spacer{flex:1 1 auto}.inline-code-wrapper:hover .inline-run-button[data-v-fa5702e9]{opacity:1}.content-text[data-v-fa5702e9] .inline-run-button:hover,.inline-run-button[data-v-fa5702e9]:hover{background:#059669!important;box-shadow:0 2px 4px #00000026!important}.inline-run-button[data-v-fa5702e9]:active{transform:translateY(0)!important}.content-text[data-v-fa5702e9] .inline-code-wrapper code{background:#fff5f5;border:1px solid #fde2e2;color:#1f2937;padding:.2rem .6rem;border-radius:.25rem;font-size:1.1rem;display:inline-flex;align-items:center;line-height:1.35;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}
