:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Menlo, Consolas, monospace;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=light]{--bg:#fff;--bg-elev:#f7f7f9;--text:#1a1a1f;--text-muted:#5b5b66;--border:#e3e3e8;--accent:#6d28d9;--accent-bg:#6d28d914;--code-bg:#f1f1f4;--shadow:0 2px 12px #0000000f}html[data-theme=dark]{--bg:#0f1015;--bg-elev:#181a22;--text:#e6e6ec;--text-muted:#9aa0aa;--border:#2a2d38;--accent:#c084fc;--accent-bg:#c084fc1f;--code-bg:#1d1f28;--shadow:0 2px 16px #0006}*{box-sizing:border-box}body,html,#root{background:var(--bg);min-height:100vh;color:var(--text);margin:0;padding:0}a{color:var(--accent);text-decoration:none}h1,h2,h3{color:var(--text);margin:0 0 12px}p{margin:0 0 12px;line-height:1.6}code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:2px 6px;font-size:.9em}.debugger-page{--dbg-bg-primary:#1e1e1e;--dbg-bg-secondary:#252526;--dbg-bg-tertiary:#2d2d2d;--dbg-bg-hover:#37373d;--dbg-border:#3e3e42;--dbg-text-primary:#ccc;--dbg-text-secondary:#858585;--dbg-text-bright:#e0e0e0;--dbg-accent-blue:#007acc;--dbg-accent-green:#4ec9b0;--dbg-accent-yellow:#dcdcaa;--dbg-accent-orange:#ce9178;--dbg-accent-red:#f44747;--dbg-accent-purple:#c586c0;--dbg-highlight-line:#ffff001f;--dbg-highlight-line-border:#ff0;--dbg-terminal-bg:#1a1a1a;background:var(--dbg-bg-primary);color:var(--dbg-text-primary);border:1px solid var(--dbg-border);border-radius:8px;flex-direction:column;height:calc(100vh - 107px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000040}[data-theme=light] .debugger-page{--dbg-bg-primary:#fff;--dbg-bg-secondary:#f3f3f3;--dbg-bg-tertiary:#e8e8e8;--dbg-bg-hover:#d4d4d4;--dbg-border:#c8c8c8;--dbg-text-primary:#333;--dbg-text-secondary:#666;--dbg-text-bright:#1a1a1a;--dbg-accent-blue:#0066b8;--dbg-accent-green:#16825d;--dbg-accent-yellow:#795e26;--dbg-accent-orange:#a31515;--dbg-accent-red:#cd3131;--dbg-accent-purple:#af00db;--dbg-highlight-line:#ffff002e;--dbg-highlight-line-border:#eeb802;--dbg-terminal-bg:#f5f5f5}.debugger-page .control-bar{background:var(--dbg-bg-tertiary);border-bottom:1px solid var(--dbg-border);justify-content:space-between;align-items:center;min-height:42px;padding:6px 16px;display:flex}.debugger-page .control-left,.debugger-page .control-right{align-items:center;gap:6px;display:flex}.debugger-page .control-right{gap:10px}.debugger-page .language-select{background:var(--dbg-bg-secondary);color:var(--dbg-text-primary);border:1px solid var(--dbg-border);cursor:pointer;border-radius:3px;outline:none;padding:5px 10px;font-size:13px}.debugger-page .language-select:hover{border-color:var(--dbg-accent-blue)}.debugger-page .control-separator{background:var(--dbg-border);width:1px;height:24px;margin:0 6px}.debugger-page .control-btn{border:1px solid var(--dbg-border);background:var(--dbg-bg-secondary);color:var(--dbg-text-primary);cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:5px;padding:5px 14px;font-size:13px;transition:all .15s;display:flex}.debugger-page .control-btn:hover:not(.disabled){background:var(--dbg-bg-hover);border-color:var(--dbg-accent-blue)}.debugger-page .control-btn.disabled{opacity:.4;cursor:not-allowed}.debugger-page .btn-icon{font-size:12px}.debugger-page .btn-run:not(.disabled){border-color:var(--dbg-accent-green);color:var(--dbg-accent-green)}.debugger-page .btn-run:hover:not(.disabled){background:#4ec9b026}.debugger-page .btn-next:not(.disabled){border-color:var(--dbg-accent-blue);color:var(--dbg-accent-blue)}.debugger-page .btn-prev:not(.disabled){border-color:var(--dbg-accent-orange);color:var(--dbg-accent-orange)}.debugger-page .btn-reset:not(.disabled){border-color:var(--dbg-accent-red);color:var(--dbg-accent-red)}.debugger-page .btn-auto:not(.disabled){border-color:var(--dbg-accent-purple);color:var(--dbg-accent-purple)}.debugger-page .status-indicator{border-radius:10px;padding:3px 8px;font-size:12px}.debugger-page .status-indicator.connected{color:var(--dbg-accent-green);background:#4ec9b033}.debugger-page .status-indicator.disconnected{color:var(--dbg-accent-red);background:#f4474733}.debugger-page .status-text{color:var(--dbg-text-secondary);font-size:12px}.debugger-page .main-layout{flex:1;min-height:0;display:flex;overflow:hidden}.debugger-page .left-panel{border-right:1px solid var(--dbg-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.debugger-page .right-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.debugger-page .bottom-panel{border-top:2px solid var(--dbg-border);flex-shrink:0;height:180px}.debugger-page .panel-header{background:var(--dbg-bg-secondary);border-bottom:1px solid var(--dbg-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.debugger-page .panel-header-sub{background:var(--dbg-bg-tertiary)}.debugger-page .panel-title{text-transform:uppercase;letter-spacing:.5px;color:var(--dbg-text-secondary);font-size:12px;font-weight:600}.debugger-page .panel-badge{background:var(--dbg-bg-hover);color:var(--dbg-text-secondary);border-radius:3px;padding:2px 6px;font-size:10px}.debugger-page .code-console{flex-direction:column;height:100%;display:flex}.debugger-page .editor-wrapper{flex:1;position:relative;overflow:hidden}.debugger-page .editor-placeholder{z-index:10;pointer-events:all;cursor:text;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.debugger-page .placeholder-icon{color:var(--dbg-text-secondary);opacity:.3;font-family:Consolas,Courier New,monospace;font-size:48px;font-weight:300}.debugger-page .placeholder-title{color:var(--dbg-text-secondary);opacity:.7;font-size:18px;font-weight:500}.debugger-page .placeholder-subtitle{color:var(--dbg-text-secondary);opacity:.45;font-size:13px}.highlighted-line{background:#ffff001f!important;border-left:3px solid #ff0!important}.highlighted-glyph{background:#ff0;border-radius:2px;margin-left:3px;width:4px!important}.debugger-page .debug-console{flex-direction:column;height:100%;display:flex;overflow:hidden}.debugger-page .debug-console-content{flex:1;padding:8px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.debugger-page .debug-placeholder{color:var(--dbg-text-secondary);text-align:center;padding:20px;font-family:Segoe UI,sans-serif;font-size:13px}.debugger-page .debug-entry{border-left:3px solid #0000;border-radius:3px;margin-bottom:6px;padding:4px 8px}.debugger-page .debug-entry-active{border-left:3px solid var(--dbg-accent-blue);background:#007acc1f}.debugger-page .debug-code-line{color:var(--dbg-text-primary);white-space:pre-wrap;word-break:break-word;font-size:13px}.debugger-page .debug-annotation{color:#4ec9b0;white-space:pre-wrap;word-break:break-word;margin-top:1px;padding-left:12px;font-size:12.5px}[data-theme=light] .debugger-page .debug-annotation{color:#16825d}.debugger-page .debug-separator{color:var(--dbg-text-secondary);text-align:center;margin:4px 0;font-size:12px}.debugger-page .debug-error-header{background:#ef44441a;border-left:3px solid #ef4444;margin-bottom:8px!important;padding:8px 12px!important}.debugger-page .debug-error-header .debug-annotation-error-header{color:#ef4444;font-size:16px;font-weight:600}.debugger-page .debug-error-location{background:#ef44440f;border-left:3px solid #f97316;padding:6px 12px!important}.debugger-page .debug-error-code{font-weight:500;color:#f97316!important}.debugger-page .debug-annotation-error-location{font-weight:500;color:#ef4444!important}.debugger-page .debug-error-detail{background:#ef44440f;border-left:3px solid #ef4444;padding:6px 12px!important}.debugger-page .debug-annotation-error-detail{white-space:pre-wrap;word-break:break-word;color:#ef4444!important}.debugger-page .debug-error-hint{background:#3b82f614;border-left:3px solid #3b82f6;margin-bottom:8px!important;padding:6px 12px!important}.debugger-page .debug-annotation-error-hint{white-space:pre-wrap;word-break:break-word;font-style:italic;line-height:1.5;color:#60a5fa!important}.debugger-page .variables-panel{border-top:1px solid var(--dbg-border);flex-shrink:0;max-height:150px}.debugger-page .variables-content{max-height:120px;padding:4px 12px;overflow-y:auto}.debugger-page .variable-row{align-items:center;gap:6px;padding:2px 0;font-family:Cascadia Code,Consolas,monospace;font-size:12px;display:flex}.debugger-page .var-name{color:var(--dbg-accent-blue);min-width:60px}.debugger-page .var-equals{color:var(--dbg-text-secondary)}.debugger-page .var-value{color:var(--dbg-accent-green)}.debugger-page .terminal{background:var(--dbg-terminal-bg);flex-direction:column;height:100%;display:flex}.debugger-page .terminal-content{flex:1;padding:8px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.debugger-page .terminal-placeholder{color:var(--dbg-text-secondary);font-style:italic}.debugger-page .terminal-status{color:var(--dbg-accent-blue);margin-bottom:4px}.debugger-page .terminal-error{color:var(--dbg-accent-red);white-space:pre-wrap;margin-bottom:4px}.debugger-page .terminal-line{color:var(--dbg-accent-green)}.debugger-page .terminal-prompt{color:var(--dbg-accent-yellow);margin-right:4px}.debugger-page .right-panel-inner{flex-direction:column;height:100%;display:flex;overflow:hidden}.debugger-page .panel-switch{background:var(--dbg-bg-tertiary);border-bottom:1px solid var(--dbg-border);flex-shrink:0;gap:4px;padding:6px 8px;display:flex}.debugger-page .switch-tab{letter-spacing:.4px;border:1px solid var(--dbg-border);background:var(--dbg-bg-secondary);color:var(--dbg-text-secondary);cursor:pointer;border-radius:4px;flex:1;padding:6px 10px;font-size:12px;font-weight:600;transition:all .12s}.debugger-page .switch-tab:hover:not(.disabled):not(.active){background:var(--dbg-bg-hover);color:var(--dbg-text-primary)}.debugger-page .switch-tab.active{background:var(--dbg-accent-blue);border-color:var(--dbg-accent-blue);color:#fff}.debugger-page .switch-tab.disabled{opacity:.4;cursor:not-allowed}.debugger-page .right-panel-body{flex:1;min-height:0;overflow:hidden}.debugger-page .visualizer{flex-direction:column;height:100%;display:flex;overflow:hidden}.debugger-page .viz-content{flex:1;padding:16px;overflow-y:auto}.debugger-page .viz-title{color:var(--dbg-text-bright);text-align:center;margin-bottom:14px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:14px;font-weight:600}.debugger-page .viz-caption{color:var(--dbg-text-secondary);text-align:center;margin-top:14px;font-size:13px;line-height:1.55}.debugger-page .viz-caption-top{margin-top:0;margin-bottom:12px}.debugger-page .viz-hint{border-top:1px dashed var(--dbg-border);color:var(--dbg-accent-blue);text-align:center;margin-top:18px;padding-top:12px;font-size:12px}.debugger-page .viz-empty{text-align:center;color:var(--dbg-text-secondary);padding:30px 20px;font-size:13px}.debugger-page .viz-picker{flex-direction:column;gap:10px;padding:20px 16px;display:flex}.debugger-page .viz-picker-lead{color:var(--dbg-text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.debugger-page .viz-picker-item{text-align:left;border:1px solid var(--dbg-border);background:var(--dbg-bg-secondary);color:var(--dbg-text-bright);cursor:pointer;border-radius:6px;padding:12px 14px;font-size:13px;font-weight:500;transition:all .12s}.debugger-page .viz-picker-item:hover{border-color:var(--dbg-accent-blue);background:var(--dbg-bg-hover)}.debugger-page .viz-picker-note{color:var(--dbg-text-secondary);margin-top:6px;font-size:12px;line-height:1.5}.debugger-page .viz-generate-btn{border:1px solid var(--dbg-accent-blue);background:var(--dbg-accent-blue);color:#fff;cursor:pointer;border-radius:6px;padding:12px 16px;font-size:14px;font-weight:600;transition:opacity .12s}.debugger-page .viz-generate-btn:hover:not(:disabled){opacity:.9}.debugger-page .viz-generate-btn:disabled{opacity:.4;cursor:not-allowed}.debugger-page .viz-picker-lead{text-transform:uppercase;letter-spacing:.4px;color:var(--dbg-text-secondary);margin-top:8px;font-size:12px;font-weight:600}.debugger-page .viz-error{border:1px solid var(--dbg-accent-red);color:var(--dbg-accent-red);background:#f447471f;border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.5}.debugger-page .viz-retry{border:1px solid var(--dbg-accent-red);color:var(--dbg-accent-red);cursor:pointer;background:0 0;border-radius:4px;margin-left:8px;padding:2px 10px;font-size:12px;display:inline-block}.debugger-page .viz-loading{text-align:center;color:var(--dbg-text-primary);flex-direction:column;align-items:center;gap:12px;padding:40px 24px;font-size:13px;display:flex}.debugger-page .viz-loading-sub{color:var(--dbg-text-secondary);font-size:12px}.debugger-page .viz-spinner{border:3px solid var(--dbg-border);border-top-color:var(--dbg-accent-blue);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite viz-spin}@keyframes viz-spin{to{transform:rotate(360deg)}}.debugger-page .viz-ai-tag{color:var(--dbg-accent-purple)}.debugger-page .viz-array-wrap{padding:8px 0}.debugger-page .viz-array-scroll{padding-bottom:4px;overflow-x:auto}.debugger-page .viz-array-row{justify-content:center;gap:6px;min-width:min-content;padding:0 4px;display:flex}.debugger-page .viz-cell-col{flex-direction:column;align-items:center;display:flex}.debugger-page .viz-cell{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:40px;height:40px;color:var(--dbg-text-bright);border-radius:5px;justify-content:center;align-items:center;padding:0 8px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:14px;font-weight:600;display:flex}.debugger-page .viz-cell-hit{border-color:var(--dbg-accent-green);background:var(--dbg-accent-green);color:#fff}.debugger-page .viz-cell-index{color:var(--dbg-text-secondary);margin-top:3px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:10px}.debugger-page .viz-cell-pointers{flex-direction:column;align-items:center;min-height:16px;margin-top:2px;display:flex}.debugger-page .viz-pointer{flex-direction:column;align-items:center;line-height:1;display:flex}.debugger-page .viz-pointer-arrow{color:var(--dbg-accent-blue);font-size:10px}.debugger-page .viz-pointer-name{color:var(--dbg-accent-blue);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11px;font-weight:700}.debugger-page .viz-tree-scroll{overflow-x:auto}.debugger-page .viz-tree{min-width:100%;padding:8px 4px;position:relative}.debugger-page .viz-edges{pointer-events:none;z-index:0;position:absolute;top:0;left:0;overflow:visible}.debugger-page .viz-edge-line{stroke:var(--dbg-text-secondary);stroke-width:1.5px;opacity:.6}.debugger-page .viz-edge-label{fill:var(--dbg-accent-yellow);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11px;font-weight:600}.debugger-page .viz-levels{z-index:1;flex-direction:column;gap:40px;display:flex;position:relative}.debugger-page .viz-level{justify-content:space-around;align-items:center;gap:8px;display:flex}.debugger-page .viz-node{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:40px;height:40px;color:var(--dbg-text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;font-weight:600;display:inline-flex}.debugger-page .viz-node-active{border-color:var(--dbg-accent-blue);color:var(--dbg-accent-blue);box-shadow:0 0 0 3px #007acc2e}.debugger-page .viz-node-hit{border-color:var(--dbg-accent-green);color:#fff;background:var(--dbg-accent-green);box-shadow:0 0 0 3px #4ec9b038}.debugger-page .viz-code-block{background:var(--dbg-terminal-bg);border:1px solid var(--dbg-border);color:var(--dbg-accent-green);white-space:pre;border-radius:5px;margin:0;padding:12px 14px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.55;overflow-x:auto}.debugger-page .viz-note{color:var(--dbg-text-secondary);margin-top:10px;font-size:12px}.debugger-page .viz-result-paths{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.debugger-page .viz-result-path{border:1px solid var(--dbg-accent-green);color:var(--dbg-text-bright);text-align:center;background:#4ec9b01f;border-radius:4px;padding:6px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px}.debugger-page .viz-result-total{text-align:center;border-radius:4px;padding:8px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:14px;font-weight:700}.debugger-page .viz-result-total.ok{color:var(--dbg-accent-green);background:#4ec9b02e}.debugger-page .viz-result-total.bad{color:var(--dbg-accent-red);background:#f447472e}.debugger-page .viz-fullcode{margin-top:16px}.debugger-page .viz-fullcode-label{text-transform:uppercase;letter-spacing:.5px;color:var(--dbg-text-secondary);margin-bottom:6px;font-size:11px}.debugger-page .dbg-conn-banner{border-bottom:1px solid var(--dbg-accent-red);color:var(--dbg-text-bright);background:#f447471f;align-items:flex-start;gap:8px;padding:8px 14px;font-size:12.5px;line-height:1.5;display:flex}.debugger-page .dbg-conn-banner code{background:var(--dbg-bg-tertiary);color:var(--dbg-accent-orange);border-radius:3px;padding:1px 5px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11.5px}.debugger-page .dbg-conn-banner strong{color:var(--dbg-accent-red);font-weight:600}.debugger-page .dbg-conn-dot{background:var(--dbg-accent-red);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px;animation:1.4s ease-in-out infinite dbg-conn-pulse}@keyframes dbg-conn-pulse{0%,to{opacity:1}50%{opacity:.3}}.debugger-page .viz-map-wrap{padding:8px 0}.debugger-page .viz-map-rows{flex-direction:column;align-items:center;gap:6px;display:flex}.debugger-page .viz-map-row{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);border-radius:5px;justify-content:center;align-items:center;gap:10px;min-width:120px;padding:6px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;display:flex}.debugger-page .viz-map-changed{border-color:var(--dbg-accent-green);box-shadow:0 0 0 2px #4ec9b02e}.debugger-page .viz-map-key{color:var(--dbg-accent-blue);font-weight:600}.debugger-page .viz-map-arrow{color:var(--dbg-text-secondary)}.debugger-page .viz-map-val{color:var(--dbg-text-bright);font-weight:600}.debugger-page .viz-map-empty{text-align:center;color:var(--dbg-text-secondary);padding:10px;font-family:monospace}.debugger-page .viz-set-wrap{padding:8px 0}.debugger-page .viz-set-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.debugger-page .viz-set-chip{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:32px;color:var(--dbg-text-bright);text-align:center;border-radius:16px;padding:6px 12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;font-weight:600}.debugger-page .viz-set-changed{border-color:var(--dbg-accent-green);background:var(--dbg-accent-green);color:#fff}.debugger-page .viz-stack-wrap{flex-direction:column;align-items:center;padding:8px 0;display:flex}.debugger-page .viz-stack-col{flex-direction:column;align-items:center;gap:4px;display:flex}.debugger-page .viz-stack-cell-row{align-items:center;gap:8px;display:flex}.debugger-page .viz-stack-cell{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:56px;height:34px;color:var(--dbg-text-bright);border-radius:5px;justify-content:center;align-items:center;padding:0 10px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:14px;font-weight:600;display:flex}.debugger-page .viz-stack-changed{border-color:var(--dbg-accent-green);background:var(--dbg-accent-green);color:#fff}.debugger-page .viz-stack-tag{color:var(--dbg-accent-green);white-space:nowrap;font-size:11px;font-weight:700}.debugger-page .viz-stack-base{text-align:center;letter-spacing:1px;min-width:56px;color:var(--dbg-text-dim,#888);text-transform:uppercase;border-top:2px solid var(--dbg-border);padding-top:2px;font-size:10px}.debugger-page .viz-queue-wrap{padding:8px 0}.debugger-page .viz-queue-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.debugger-page .viz-queue-label{color:var(--dbg-text-dim,#888);white-space:nowrap;font-size:11px;font-weight:700}.debugger-page .viz-queue-cell{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:40px;height:34px;color:var(--dbg-text-bright);border-radius:5px;justify-content:center;align-items:center;padding:0 10px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:14px;font-weight:600;display:flex}.debugger-page .viz-matrix-wrap{padding:8px 0;overflow-x:auto}.debugger-page .viz-matrix{flex-direction:column;align-items:center;gap:4px;min-width:min-content;display:flex}.debugger-page .viz-matrix-row{justify-content:center;gap:4px;display:flex}.debugger-page .viz-matrix-cell{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);min-width:34px;height:34px;color:var(--dbg-text-bright);border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;font-weight:600;display:flex}.debugger-page .viz-linked-wrap{padding:8px 0;overflow-x:auto}.debugger-page .viz-linked-arena{min-width:min-content;padding-top:52px;position:relative}.debugger-page .viz-linked-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.debugger-page .viz-linked-row{z-index:1;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:46px;min-width:min-content;display:flex;position:relative}.debugger-page .viz-linked-node-col{flex-direction:column;align-items:center;display:inline-flex}.debugger-page .viz-linked-pointers{flex-direction:column;align-items:center;min-height:16px;margin-top:6px;display:flex}.debugger-page .viz-linked-node{border:1.5px solid var(--dbg-border);background:var(--dbg-bg-secondary);border-radius:5px;align-items:stretch;height:36px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-weight:600;display:inline-flex;overflow:hidden}.debugger-page .viz-linked-val{min-width:32px;color:var(--dbg-text-bright);justify-content:center;align-items:center;padding:0 8px;font-size:14px;display:inline-flex}.debugger-page .viz-linked-next{border-left:1.5px solid var(--dbg-border);background:color-mix(in srgb, var(--dbg-accent-green) 16%, transparent);color:var(--dbg-accent-green);letter-spacing:.02em;justify-content:center;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.debugger-page .viz-linked-null{color:var(--dbg-text-secondary);padding:0 2px;font-family:monospace;font-size:12px}.debugger-page .viz-graph-wrap{padding:8px 0}.debugger-page .viz-graph-scroll{justify-content:center;display:flex;overflow-x:auto}.debugger-page .viz-graph-svg{width:100%;max-width:300px;height:auto}.debugger-page .viz-graph-edge{stroke:var(--dbg-text-secondary);stroke-width:1.5px;opacity:.55}.debugger-page .viz-graph-arrow{fill:var(--dbg-text-secondary);opacity:.75}.debugger-page .viz-graph-weight{fill:var(--dbg-accent-yellow);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11px;font-weight:600}.debugger-page .viz-gnode-circle{fill:var(--dbg-bg-secondary);stroke:var(--dbg-border);stroke-width:1.5px}.debugger-page .viz-gnode-label{fill:var(--dbg-text-primary);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;font-weight:600}.debugger-page .viz-gnode-active .viz-gnode-circle{stroke:var(--dbg-accent-blue);stroke-width:2.5px;filter:drop-shadow(0 0 3px #007acc80)}.debugger-page .viz-gnode-active .viz-gnode-label{fill:var(--dbg-accent-blue)}.debugger-page .viz-gnode-hit .viz-gnode-circle{fill:var(--dbg-accent-green);stroke:var(--dbg-accent-green)}.debugger-page .viz-gnode-hit .viz-gnode-label{fill:#fff}.debugger-page .viz-gnode-frontier .viz-gnode-circle{stroke:var(--dbg-accent-yellow);stroke-width:2px;stroke-dasharray:3 2}.debugger-page .viz-gnode-frontier .viz-gnode-label{fill:var(--dbg-accent-yellow)}.debugger-page .viz-graph-adj{flex-direction:column;align-items:center;gap:4px;margin-top:12px;display:flex}.debugger-page .viz-graph-adj-row{align-items:center;gap:8px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12.5px;display:flex}.page{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.navbar{border-bottom:1px solid var(--border);background:var(--bg-elev);z-index:10;align-items:center;gap:24px;padding:14px 32px;display:flex;position:sticky;top:0}.nav-brand{color:var(--text);font-size:1.15rem;font-weight:700}.nav-links{flex:1;gap:18px;display:flex}.nav-links a{color:var(--text-muted);border-radius:6px;padding:6px 10px;font-size:.95rem;transition:background .15s,color .15s}.nav-dsa-label{color:var(--text-muted);opacity:.55;cursor:default;-webkit-user-select:none;user-select:none;align-self:center;padding:6px 2px 6px 10px;font-size:.95rem;font-weight:600;transition:color .15s,opacity .15s}.nav-dsa-label.active{color:var(--accent);opacity:1}.nav-dsa-arrow{color:var(--accent);-webkit-user-select:none;user-select:none;align-self:center;margin-right:-12px;padding:6px 0;font-weight:700}.dsa-section-tag{color:var(--text-muted);vertical-align:middle;font-size:.6em;font-weight:500}.nav-links a:hover{color:var(--text);background:var(--accent-bg)}.nav-links a.active{color:var(--accent);background:var(--accent-bg)}.theme-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.85rem}.theme-toggle:hover{background:var(--accent-bg);border-color:var(--accent)}.hero{text-align:center;margin:48px 0 56px}.hero h1{letter-spacing:-1px;margin-bottom:12px;font-size:3rem}.tagline{color:var(--text-muted);max-width:640px;margin:0 auto;font-size:1.1rem}.slides-stack{flex-direction:column;gap:24px;display:flex}.home-header{text-align:center;padding:28px 16px 12px}.home-header h1{background:linear-gradient(135deg,#ff6a00,#ff9248);color:#0000;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.4rem;font-weight:700}.home-tagline{color:var(--text-muted,#888);letter-spacing:3px;text-transform:uppercase;margin:6px 0 0;font-size:.95rem}.home{box-sizing:border-box;flex-direction:column;height:calc(100vh - 64px);padding:12px 24px;display:flex;overflow:hidden}.home-header{flex-shrink:0;padding:4px 0 8px}.home-header h1{font-size:1.8rem}.slide-stage{flex:auto;width:100%;max-width:1100px;min-height:0;margin:0 auto;position:relative}.slide-rect{border-radius:20px;flex-direction:column;justify-content:center;width:100%;height:100%;padding:40px 56px;text-decoration:none;animation:.6s both slideAppear;display:flex;position:absolute;inset:0;overflow:auto;box-shadow:0 16px 40px #00000040}.home-slide{border-radius:20px;flex-direction:column;justify-content:center;width:100%;min-height:300px;padding:48px 56px;text-decoration:none;animation:.6s both slideAppear;display:flex}@keyframes slideAppear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.slide-nav{color:#fff;cursor:pointer;z-index:2;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;line-height:1;transition:background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slide-nav:hover{background:#ff6a00;transform:translateY(-50%)scale(1.08)}.slide-nav.prev{left:-56px}.slide-nav.next{right:-56px}.slide-dots{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:18px;left:0;right:0}.slide-dots .dot{cursor:pointer;background:#ffffff59;border:none;border-radius:50%;width:9px;height:9px;padding:0;transition:background .2s,transform .2s}.slide-dots .dot.active{background:#ff6a00;transform:scale(1.3)}@media (width<=820px){.slide-nav.prev{left:8px}.slide-nav.next{right:8px}.slide-square{padding:32px}}a.home-slide{cursor:pointer}.home-footer{flex-shrink:0;justify-content:center;margin:8px auto 0;animation:.6s ease-out fadeInUp;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.footer-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#ff6a0014,#ff6a0005);border:1px solid #ff6a0040;border-radius:16px;align-items:center;gap:16px;padding:10px 20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 8px 24px #00000026}.footer-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0003}.footer-avatar{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#ff6a00,#ff9248);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex;box-shadow:0 4px 12px #ff6a0059}.footer-info{flex-direction:column;gap:8px;display:flex}.footer-name{letter-spacing:.2px;margin:0;font-size:18px;font-weight:600}.footer-links{flex-wrap:wrap;gap:14px;font-size:14px;display:flex}.footer-link{color:var(--text,#e5e5e5);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;text-decoration:none;transition:all .15s;display:inline-flex}.footer-link:hover{color:#ff6a00;background:#ff6a0014;border-color:#ff6a0080}.footer-icon{color:#ff6a00;background:#ff6a0033;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}@media (width<=520px){.footer-card{text-align:center;flex-direction:column}.footer-links{justify-content:center}}.home-pre{white-space:pre;margin:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.4;overflow-x:auto}.home-slide h2{margin-bottom:16px;font-size:2.2rem}.home-slide p{max-width:800px;margin:0;font-size:1.1rem;line-height:1.8}.slide-black{color:#fff;background:linear-gradient(135deg,#000,#1a1a1a)}.slide-black h2,.slide-black p{color:#fff}.slide-navy{color:#fff;background:linear-gradient(135deg,#0a1f44,#152a5c)}.slide-navy h2,.slide-navy p{color:#fff}.slide-white{color:#0f172a;background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid #00000014}.slide-white h2,.slide-white p{color:#0f172a}.slide-orange{color:#fff;background:linear-gradient(135deg,#ea580c,#fb923c)}.slide-orange h2,.slide-orange p{color:#fff}.slide-green{color:#fff;background:linear-gradient(135deg,#065f46,#10b981)}.slide-green h2,.slide-green p{color:#fff}@media (width<=700px){.home-slide{min-height:320px;padding:32px 28px}.home-slide h2{font-size:1.6rem}.home-slide p{font-size:.95rem}}.dsa-layout{grid-template-columns:240px 1fr;gap:28px;display:grid}@media (width<=800px){.dsa-layout{grid-template-columns:1fr}}.dsa-sidebar{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;height:fit-content;padding:18px;position:sticky;top:80px}.dsa-sidebar h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:1rem}.dsa-sidebar ul{margin:0;padding:0;list-style:none}.dsa-sidebar li{margin:2px 0}.topic{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:.92rem}.topic:hover{background:var(--accent-bg);color:var(--text)}.topic.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.dsa-content h1{margin-bottom:16px;font-size:2rem}.lang-toggle{gap:6px;max-width:200px;margin-bottom:16px;display:flex}.lang-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:8px 0;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s}.lang-btn:hover{background:var(--accent-bg);color:var(--text)}.lang-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-bar{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-family:inherit;font-size:.95rem;font-weight:500;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.concepts-list{flex-direction:column;gap:16px;display:flex}.concepts-heading{margin:0 0 4px;font-size:22px;font-weight:600}.concepts-heading .ecom-tag{color:var(--muted,#888);margin-left:6px;font-size:14px;font-weight:400}.concept-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.concept-card h3{color:var(--accent);margin-bottom:8px;font-size:1.05rem}.concept-card p{color:var(--text);margin:0;line-height:1.7}.concept-code{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-wrap:break-word;background:var(--code-bg);border-radius:8px;margin:0;padding:16px;font-size:.85rem;line-height:1.6}.accordion{flex-direction:column;gap:8px;display:flex}.acc-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;transition:border-color .15s;overflow:hidden}.acc-item.open{border-color:var(--accent)}.acc-header{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;font-family:inherit;font-size:.98rem;display:flex}.acc-header:hover{background:var(--accent-bg)}.acc-title{flex:1;font-weight:500}.acc-chevron{color:var(--accent);text-align:center;width:20px;font-size:1.4rem;font-weight:300}.acc-body{border-top:1px solid var(--border);background:var(--code-bg);padding:16px 18px}.acc-body pre{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:.85rem;line-height:1.6;overflow-x:auto}.muted{color:var(--text-muted)}.error{color:#ef4444}.problem-sub{flex-direction:column;gap:8px;display:flex}.sub-header{background:var(--bg-elev,#1e293b);border:1px solid var(--border,#334155);color:inherit;cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:15px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.sub-header:hover{border-color:#ff6a00}.sub-header.open{background:#ff6a0014;border-color:#ff6a00}.sub-body{background:var(--bg,#0f172a);border:1px solid var(--border,#334155);border-radius:8px;margin-bottom:4px;padding:12px 14px}.example-block{flex-direction:column;gap:8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13.5px;display:flex}.example-row{flex-wrap:wrap;gap:10px;display:flex}.example-label{color:#ff6a00;min-width:80px;font-weight:600}.example-row code{background:#ffffff0a;border-radius:4px;padding:2px 8px}.solution-code{background:#00000040;border-radius:6px;margin:8px 0;padding:12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;overflow-x:auto}.run-debugger-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6a00,#ff9248);border:none;border-radius:6px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s}.run-debugger-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6a0066}.run-debugger-btn:disabled{opacity:.4;cursor:not-allowed}.debugger-page-wrap{box-sizing:border-box;width:100vw;margin-top:-32px;margin-bottom:-64px;margin-left:calc(50% - 50vw);padding:20px 16px 30px}.debugger-disconnected-banner{color:#1a1a1a;z-index:20;background:#f59e0b;border-radius:4px;align-items:center;gap:10px;padding:8px 12px;font-family:Segoe UI,sans-serif;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.debugger-disconnected-banner code{background:#0003;border-radius:3px;padding:2px 6px;font-family:Consolas,monospace}.debugger-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;max-width:600px;margin:40px auto;padding:24px}.debugger-card h2{margin-bottom:12px}.debugger-card h3{color:var(--text);margin:20px 0 8px}.primary-btn{background:var(--accent);color:#fff;border-radius:8px;margin:8px 0 16px;padding:12px 22px;font-weight:600;transition:opacity .15s;display:inline-block}.primary-btn:hover{opacity:.9}.code-block{background:var(--code-bg);border:1px solid var(--border);font-family:var(--mono);color:var(--text);border-radius:8px;padding:16px;font-size:.85rem;overflow-x:auto}.feature-list{margin:0;padding:0;list-style:none}.feature-list li{border-bottom:1px solid var(--border);color:var(--text-muted);padding:8px 0}.feature-list li:last-child{border-bottom:none}.feature-list strong{color:var(--text)}
