.recursion-demo[data-v-e6b17352]{min-height:70vh}.page-header[data-v-e6b17352]{background:linear-gradient(135deg,var(--kd-primary) 0%,var(--kd-primary-light) 100%);color:#fff;padding:60px 0 48px;text-align:center}.back-link[data-v-e6b17352]{margin-bottom:18px}.back-link a[data-v-e6b17352]{color:#ffffffe6;font-size:14px;text-decoration:none;transition:opacity .2s}.back-link a[data-v-e6b17352]:hover{opacity:.8;text-decoration:underline}.page-header h1[data-v-e6b17352]{font-size:34px;font-weight:700;margin-bottom:10px}.page-header p[data-v-e6b17352]{font-size:16px;opacity:.9}.demo-section[data-v-e6b17352]{padding:32px 0 60px}.demo-layout[data-v-e6b17352]{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.control-panel[data-v-e6b17352]{position:sticky;top:88px;background:var(--kd-surface);border:1px solid var(--kd-border);border-radius:var(--kd-radius-lg);box-shadow:var(--kd-shadow);padding:24px 20px}.panel-title[data-v-e6b17352]{font-size:16px;font-weight:700;color:var(--kd-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--kd-border)}.control-group[data-v-e6b17352]{margin-bottom:22px}.control-label[data-v-e6b17352]{display:block;font-size:13px;font-weight:600;color:var(--kd-text-muted);margin-bottom:10px}.algo-list[data-v-e6b17352]{display:flex;flex-direction:column;gap:8px}.algo-btn[data-v-e6b17352]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:1.5px solid var(--kd-border);border-radius:var(--kd-radius);background:#fff;cursor:pointer;text-align:left;transition:all .2s}.algo-btn[data-v-e6b17352]:hover{border-color:var(--kd-accent)}.algo-btn.active[data-v-e6b17352]{background:linear-gradient(135deg,var(--kd-primary),var(--kd-primary-light));border-color:transparent}.algo-btn.active .algo-name[data-v-e6b17352],.algo-btn.active .algo-meta[data-v-e6b17352]{color:#fff}.algo-name[data-v-e6b17352]{font-size:14px;font-weight:600;color:var(--kd-text)}.algo-meta[data-v-e6b17352]{font-size:11px;color:var(--kd-text-muted);font-family:Courier New,monospace}.range-row[data-v-e6b17352]{display:flex;align-items:center;gap:12px}.slider[data-v-e6b17352]{flex:1;accent-color:var(--kd-primary)}.range-val[data-v-e6b17352]{flex-shrink:0;min-width:36px;text-align:right;font-family:Courier New,monospace;font-weight:700;color:var(--kd-primary);font-size:14px}.btn-row[data-v-e6b17352]{display:flex;gap:10px;margin-bottom:10px}.ctrl-btn[data-v-e6b17352]{flex:1;padding:11px 0;border:1.5px solid var(--kd-border);border-radius:var(--kd-radius);background:#fff;font-size:14px;font-weight:600;color:var(--kd-text);cursor:pointer;transition:all .2s}.ctrl-btn[data-v-e6b17352]:hover:not(:disabled){border-color:var(--kd-accent);color:var(--kd-primary)}.ctrl-btn[data-v-e6b17352]:disabled{opacity:.45;cursor:not-allowed}.ctrl-btn.primary[data-v-e6b17352]{background:linear-gradient(135deg,var(--kd-primary),var(--kd-primary-light));color:#fff;border-color:transparent}.status-box[data-v-e6b17352]{margin-top:4px;padding:14px 16px;background:var(--kd-bg);border-radius:var(--kd-radius);display:flex;flex-direction:column;gap:8px}.status-row[data-v-e6b17352]{display:flex;justify-content:space-between;font-size:13px}.status-label[data-v-e6b17352]{color:var(--kd-text-muted)}.status-value[data-v-e6b17352]{font-weight:700;font-family:Courier New,monospace;color:var(--kd-text)}.status-value.idle[data-v-e6b17352]{color:var(--kd-text-muted)}.status-value.running[data-v-e6b17352]{color:var(--kd-success)}.status-value.done[data-v-e6b17352]{color:var(--kd-primary)}.stage-panel[data-v-e6b17352]{background:var(--kd-surface);border:1px solid var(--kd-border);border-radius:var(--kd-radius-lg);box-shadow:var(--kd-shadow);padding:28px 32px;min-height:400px}.stage-head[data-v-e6b17352]{margin-bottom:20px}.type-badge[data-v-e6b17352]{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;color:#fff;margin-bottom:8px}.type-badge.rc[data-v-e6b17352]{background:#7c3aed}.type-badge.bt[data-v-e6b17352]{background:#d97706}.stage-head h2[data-v-e6b17352]{font-size:22px;font-weight:700;color:var(--kd-primary);margin-bottom:6px}.stage-head p[data-v-e6b17352]{font-size:14px;color:var(--kd-text-muted)}.code-panel[data-v-e6b17352]{margin-bottom:20px;border:1px solid var(--kd-border);border-radius:var(--kd-radius);overflow:hidden;background:#1e1e2e}.code-head[data-v-e6b17352]{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#181825;border-bottom:1px solid #313244}.code-lang[data-v-e6b17352]{font-size:11px;font-weight:700;font-family:Courier New,monospace;color:#fff;background:#7c3aed;padding:1px 8px;border-radius:4px}.code-title[data-v-e6b17352]{font-size:13px;font-weight:600;color:#cdd6f4}.code-block[data-v-e6b17352]{margin:0;padding:12px 0;overflow-x:auto;font-family:Courier New,SFMono-Regular,monospace;font-size:13px;line-height:1.7}.code-line[data-v-e6b17352]{position:relative;display:flex;align-items:flex-start;padding:0 14px;white-space:pre;color:#cdd6f4;border-left:3px solid transparent;transition:background .2s,border-color .2s}.code-line.active[data-v-e6b17352]{background:linear-gradient(90deg,#89dceb38,#89dceb0f);border-left-color:#89dceb;color:#f5f6fb;font-weight:600}.code-line.active[data-v-e6b17352]:before{content:"▶";position:absolute;left:6px;top:0;line-height:1.7;font-size:10px;color:#89dceb}.line-no[data-v-e6b17352]{flex-shrink:0;width:26px;text-align:right;margin-right:14px;color:#6c7086;user-select:none}.code-line.active .line-no[data-v-e6b17352]{color:#89dceb;font-weight:700}.line-text[data-v-e6b17352]{flex:1}.viz[data-v-e6b17352]{padding:8px 0 4px;min-height:220px}.col-title[data-v-e6b17352]{font-size:13px;font-weight:600;color:var(--kd-text-muted);margin:14px 0 8px}.chip-list[data-v-e6b17352],.chip-row[data-v-e6b17352]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-e6b17352]{padding:3px 10px;border-radius:20px;font-size:12px;font-family:Courier New,monospace;background:var(--kd-bg);border:1px solid var(--kd-border);color:var(--kd-text)}.chip.ok[data-v-e6b17352]{background:#0596691a;border-color:#05966959;color:var(--kd-success);font-weight:700}.chip.warn[data-v-e6b17352]{background:#d977061a;border-color:#d9770659;color:var(--kd-warning);font-weight:700}.empty-tip[data-v-e6b17352]{font-size:13px;color:var(--kd-text-muted)}.viz-fact[data-v-e6b17352]{display:grid;grid-template-columns:220px 1fr;gap:24px}.stack-list[data-v-e6b17352]{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:12px;background:var(--kd-bg);border:1px dashed var(--kd-border);border-radius:var(--kd-radius)}.stack-base[data-v-e6b17352]{flex-shrink:0;margin-top:2px;padding-top:4px;text-align:center;font-size:11px;color:var(--kd-text-muted);border-top:2px solid var(--kd-primary)}.stack-item[data-v-e6b17352]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:var(--kd-radius);background:linear-gradient(135deg,var(--kd-primary-light),var(--kd-primary));color:#fff;font-family:Courier New,monospace;font-size:13px;font-weight:700;transition:all .2s}.stack-item.top[data-v-e6b17352]{box-shadow:0 0 0 3px #7030a040}.stack-item.returning[data-v-e6b17352]{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 0 0 3px #05966940}.sk-ret[data-v-e6b17352]{font-size:12px;opacity:.9}.expr-box[data-v-e6b17352]{padding:14px 16px;background:var(--kd-bg);border:1px solid var(--kd-border);border-left:4px solid var(--kd-primary);border-radius:var(--kd-radius);font-family:Courier New,monospace;font-size:15px;font-weight:700;color:var(--kd-primary);word-break:break-all}.tree-scroll[data-v-e6b17352]{overflow-x:auto;padding-bottom:8px}.tree-svg[data-v-e6b17352]{display:block}.edge[data-v-e6b17352]{stroke:#e2e8f0;stroke-width:2}.edge-path[data-v-e6b17352]{stroke:#bb8fce;stroke-width:2.5}.tn-idle rect[data-v-e6b17352]{fill:#f1f5f9;stroke:#e2e8f0}.tn-idle text[data-v-e6b17352]{fill:#cbd5e1}.tn-active rect[data-v-e6b17352]{fill:#ede9fe;stroke:#7c3aed}.tn-active text[data-v-e6b17352]{fill:#5b21b6}.tn-base rect[data-v-e6b17352]{fill:#d1fae5;stroke:#059669}.tn-base text[data-v-e6b17352]{fill:#065f46}.tn-done rect[data-v-e6b17352]{fill:#ecfdf5;stroke:#34d399}.tn-done text[data-v-e6b17352]{fill:#047857}.tn-path rect[data-v-e6b17352]{stroke:#bb8fce;stroke-width:2.5}.tn-current rect[data-v-e6b17352]{fill:var(--kd-primary);stroke:var(--kd-primary-dark);stroke-width:2.5}.tn-current text[data-v-e6b17352]{fill:#fff;font-weight:700}.tn-label[data-v-e6b17352]{text-anchor:middle;font-size:12px;font-family:Courier New,monospace}.tn-val[data-v-e6b17352]{text-anchor:middle;font-size:11px;font-family:Courier New,monospace;opacity:.85}.pegs[data-v-e6b17352]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px 0}.peg[data-v-e6b17352]{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:8px 6px 0;border-radius:var(--kd-radius) var(--kd-radius) 0 0;background:var(--kd-bg);border:1px solid var(--kd-border);transition:background .2s}.peg-from[data-v-e6b17352]{background:#ef444412}.peg-to[data-v-e6b17352]{background:#05966917}.peg-stack[data-v-e6b17352]{display:flex;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:4px;width:100%;height:190px}.disk[data-v-e6b17352]{height:24px;border-radius:6px;background:linear-gradient(135deg,var(--kd-primary-light),var(--kd-primary));color:#fff;font-size:12px;font-weight:700;font-family:Courier New,monospace;line-height:24px;text-align:center;transition:width .2s ease}.disk.moving[data-v-e6b17352]{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 0 3px #f59e0b4d}.peg-base[data-v-e6b17352]{width:100%;height:14px;margin-top:4px;border-radius:4px;background:var(--kd-primary-dark);color:#fff;font-size:11px;font-weight:700;text-align:center;line-height:14px}.board-wrap[data-v-e6b17352]{display:flex;justify-content:center;padding:8px 0}.board[data-v-e6b17352]{display:grid;width:100%;gap:2px}.cell[data-v-e6b17352]{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:var(--kd-primary-dark);border-radius:4px;transition:background .15s}.cell-light[data-v-e6b17352]{background:#f1f5f9}.cell-dark[data-v-e6b17352]{background:#ddd6fe}.cell-place[data-v-e6b17352]{background:#34d399!important}.cell-remove[data-v-e6b17352]{background:#fca5a5!important}.cell-conflict[data-v-e6b17352]{background:#ef4444!important}.cell-bad[data-v-e6b17352]{outline:3px solid #dc2626;outline-offset:-3px}.path-row[data-v-e6b17352]{display:flex;flex-wrap:wrap;gap:10px}.path-box[data-v-e6b17352]{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--kd-radius);background:linear-gradient(135deg,var(--kd-primary),var(--kd-primary-light));color:#fff;font-size:18px;font-weight:700;font-family:Courier New,monospace}.path-box.empty[data-v-e6b17352]{background:var(--kd-bg);border:1.5px dashed var(--kd-border);color:var(--kd-text-muted)}.path-box.cur[data-v-e6b17352]{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 0 3px #f59e0b4d}.cand[data-v-e6b17352]{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid var(--kd-border);background:#fff;font-weight:700;font-family:Courier New,monospace;color:var(--kd-text)}.cand.used[data-v-e6b17352]{background:#f1f5f9;color:#cbd5e1}.cand.cur[data-v-e6b17352]{border-color:#f59e0b;background:#f59e0b26;color:var(--kd-warning)}.result-list[data-v-e6b17352]{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow-y:auto;padding:4px 0}.step-box[data-v-e6b17352]{display:flex;align-items:center;gap:10px;margin:18px 0;padding:12px 16px;background:#7030a00f;border:1px solid var(--kd-accent);border-radius:var(--kd-radius);font-size:14px}.step-box.muted[data-v-e6b17352]{background:#05966914;border-color:#0596694d}.step-tag[data-v-e6b17352]{flex-shrink:0;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;background:var(--kd-primary);color:#fff}.step-tag.done[data-v-e6b17352]{background:var(--kd-success)}.step-tag.tag-init[data-v-e6b17352]{background:#64748b}.step-tag.tag-enter[data-v-e6b17352]{background:#4b5563}.step-tag.tag-judge[data-v-e6b17352]{background:#0e7490}.step-tag.tag-loop[data-v-e6b17352]{background:#475569}.step-tag.tag-call[data-v-e6b17352]{background:#7c3aed}.step-tag.tag-base[data-v-e6b17352]{background:#059669}.step-tag.tag-return[data-v-e6b17352]{background:#0891b2}.step-tag.tag-move[data-v-e6b17352]{background:#f59e0b}.step-tag.tag-try[data-v-e6b17352]{background:#2563eb}.step-tag.tag-conflict[data-v-e6b17352],.step-tag.tag-skip[data-v-e6b17352]{background:#dc2626}.step-tag.tag-place[data-v-e6b17352]{background:#059669}.step-tag.tag-remove[data-v-e6b17352]{background:#d97706}.step-tag.tag-solution[data-v-e6b17352]{background:#db2777}.step-desc[data-v-e6b17352]{color:var(--kd-text);line-height:1.6}.complexity[data-v-e6b17352]{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.cmp-card[data-v-e6b17352]{flex:1 1 0;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--kd-bg);border:1px solid var(--kd-border);border-radius:var(--kd-radius)}.cmp-label[data-v-e6b17352]{font-size:12px;color:var(--kd-text-muted)}.cmp-val[data-v-e6b17352]{font-size:14px;font-weight:700;font-family:Courier New,monospace;color:var(--kd-primary)}.legend[data-v-e6b17352]{display:flex;flex-wrap:wrap;gap:16px;padding-top:14px;border-top:1px dashed var(--kd-border)}.lg[data-v-e6b17352]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--kd-text-muted)}.dot[data-v-e6b17352]{width:14px;height:14px;border-radius:4px;display:inline-block}.dot.lg-pending[data-v-e6b17352],.dot.lg-queen[data-v-e6b17352]{background:linear-gradient(135deg,var(--kd-primary-light),var(--kd-primary))}.dot.lg-base[data-v-e6b17352],.dot.lg-done[data-v-e6b17352],.dot.lg-place[data-v-e6b17352]{background:#059669}.dot.lg-current[data-v-e6b17352]{background:#7c3aed}.dot.lg-path[data-v-e6b17352]{background:#bb8fce}.dot.lg-from[data-v-e6b17352]{background:#ef4444}.dot.lg-to[data-v-e6b17352]{background:#10b981}.dot.lg-move[data-v-e6b17352],.dot.lg-try[data-v-e6b17352]{background:#f59e0b}.dot.lg-bad[data-v-e6b17352],.dot.lg-conflict[data-v-e6b17352]{background:#dc2626}.dot.lg-remove[data-v-e6b17352]{background:#fca5a5}.dot.lg-used[data-v-e6b17352]{background:#cbd5e1}.knowledge-wrap[data-v-e6b17352]{max-width:1200px;margin:32px auto 0;padding:0 24px;display:flex;flex-direction:column;gap:20px}.knowledge-card[data-v-e6b17352]{background:var(--kd-surface);border:1px solid var(--kd-border);border-left:4px solid var(--kd-primary);border-radius:var(--kd-radius-lg);padding:28px 24px}.tips-card[data-v-e6b17352]{border-left-color:var(--kd-warning)}.knowledge-card h2[data-v-e6b17352]{font-size:20px;font-weight:700;color:var(--kd-text);margin-bottom:12px}.knowledge-desc[data-v-e6b17352]{font-size:14px;line-height:1.8;color:var(--kd-text);margin-bottom:16px}.knowledge-list[data-v-e6b17352]{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.knowledge-list li[data-v-e6b17352]{position:relative;padding-left:22px;font-size:14px;line-height:1.7;color:var(--kd-text)}.knowledge-list li[data-v-e6b17352]:before{content:"•";position:absolute;left:6px;top:0;color:var(--kd-primary);font-weight:700}@media (max-width: 960px){.demo-layout[data-v-e6b17352]{grid-template-columns:1fr}.control-panel[data-v-e6b17352]{position:static}.viz-fact[data-v-e6b17352]{grid-template-columns:1fr}}@media (max-width: 768px){.page-header[data-v-e6b17352]{padding:48px 0 36px}.page-header h1[data-v-e6b17352]{font-size:26px}.stage-panel[data-v-e6b17352]{padding:20px 16px}.pegs[data-v-e6b17352]{gap:8px}.complexity .cmp-card[data-v-e6b17352]{min-width:70px}}
