.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;text-align:center;padding:60px 0 48px}.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]{margin-bottom:10px;font-size:34px;font-weight:700}.page-header p[data-v-e6b17352]{opacity:.9;font-size:16px}.demo-section[data-v-e6b17352]{padding:32px 0 60px}.demo-layout[data-v-e6b17352]{grid-template-columns:320px 1fr;align-items:start;gap:24px;max-width:1200px;margin:0 auto;padding:0 24px;display:grid}.control-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:24px 20px;position:sticky;top:88px}.panel-title[data-v-e6b17352]{color:var(--kd-primary);border-bottom:1px solid var(--kd-border);margin-bottom:20px;padding-bottom:12px;font-size:16px;font-weight:700}.control-group[data-v-e6b17352]{margin-bottom:22px}.control-label[data-v-e6b17352]{color:var(--kd-text-muted);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.algo-list[data-v-e6b17352]{flex-direction:column;gap:8px;display:flex}.algo-btn[data-v-e6b17352]{border:1.5px solid var(--kd-border);border-radius:var(--kd-radius);cursor:pointer;text-align:left;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;transition:all .2s;display:flex}.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:#0000}.algo-btn.active .algo-name[data-v-e6b17352],.algo-btn.active .algo-meta[data-v-e6b17352]{color:#fff}.algo-name[data-v-e6b17352]{color:var(--kd-text);font-size:14px;font-weight:600}.algo-meta[data-v-e6b17352]{color:var(--kd-text-muted);font-family:Courier New,monospace;font-size:11px}.range-row[data-v-e6b17352]{align-items:center;gap:12px;display:flex}.slider[data-v-e6b17352]{accent-color:var(--kd-primary);flex:1}.range-val[data-v-e6b17352]{text-align:right;min-width:36px;color:var(--kd-primary);flex-shrink:0;font-family:Courier New,monospace;font-size:14px;font-weight:700}.btn-row[data-v-e6b17352]{gap:10px;margin-bottom:10px;display:flex}.ctrl-btn[data-v-e6b17352]{border:1.5px solid var(--kd-border);border-radius:var(--kd-radius);color:var(--kd-text);cursor:pointer;background:#fff;flex:1;padding:11px 0;font-size:14px;font-weight:600;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:#0000}.status-box[data-v-e6b17352]{background:var(--kd-bg);border-radius:var(--kd-radius);flex-direction:column;gap:8px;margin-top:4px;padding:14px 16px;display:flex}.status-row[data-v-e6b17352]{justify-content:space-between;font-size:13px;display:flex}.status-label[data-v-e6b17352]{color:var(--kd-text-muted)}.status-value[data-v-e6b17352]{color:var(--kd-text);font-family:Courier New,monospace;font-weight:700}.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);min-height:400px;padding:28px 32px}.stage-head[data-v-e6b17352]{margin-bottom:20px}.type-badge[data-v-e6b17352]{color:#fff;border-radius:20px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.type-badge.rc[data-v-e6b17352]{background:#7c3aed}.type-badge.bt[data-v-e6b17352]{background:#d97706}.stage-head h2[data-v-e6b17352]{color:var(--kd-primary);margin-bottom:6px;font-size:22px;font-weight:700}.stage-head p[data-v-e6b17352]{color:var(--kd-text-muted);font-size:14px}.code-panel[data-v-e6b17352]{border:1px solid var(--kd-border);border-radius:var(--kd-radius);background:#1e1e2e;margin-bottom:20px;overflow:hidden}.code-head[data-v-e6b17352]{background:#181825;border-bottom:1px solid #313244;align-items:center;gap:10px;padding:9px 14px;display:flex}.code-lang[data-v-e6b17352]{color:#fff;background:#7c3aed;border-radius:4px;padding:1px 8px;font-family:Courier New,monospace;font-size:11px;font-weight:700}.code-title[data-v-e6b17352]{color:#cdd6f4;font-size:13px;font-weight:600}.code-block[data-v-e6b17352]{margin:0;padding:12px 0;font-family:Courier New,SFMono-Regular,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.code-line[data-v-e6b17352]{white-space:pre;color:#cdd6f4;border-left:3px solid #0000;align-items:flex-start;padding:0 14px;transition:background .2s,border-color .2s;display:flex;position:relative}.code-line.active[data-v-e6b17352]{color:#f5f6fb;background:linear-gradient(90deg,#89dceb38,#89dceb0f);border-left-color:#89dceb;font-weight:600}.code-line.active[data-v-e6b17352]:before{content:"▶";color:#89dceb;font-size:10px;line-height:1.7;position:absolute;top:0;left:6px}.line-no[data-v-e6b17352]{text-align:right;color:#6c7086;user-select:none;flex-shrink:0;width:26px;margin-right:14px}.code-line.active .line-no[data-v-e6b17352]{color:#89dceb;font-weight:700}.line-text[data-v-e6b17352]{flex:1}.viz[data-v-e6b17352]{min-height:220px;padding:8px 0 4px}.col-title[data-v-e6b17352]{color:var(--kd-text-muted);margin:14px 0 8px;font-size:13px;font-weight:600}.chip-list[data-v-e6b17352],.chip-row[data-v-e6b17352]{flex-wrap:wrap;gap:8px;display:flex}.chip[data-v-e6b17352]{background:var(--kd-bg);border:1px solid var(--kd-border);color:var(--kd-text);border-radius:20px;padding:3px 10px;font-family:Courier New,monospace;font-size:12px}.chip.ok[data-v-e6b17352]{color:var(--kd-success);background:#0596691a;border-color:#05966959;font-weight:700}.chip.warn[data-v-e6b17352]{color:var(--kd-warning);background:#d977061a;border-color:#d9770659;font-weight:700}.empty-tip[data-v-e6b17352]{color:var(--kd-text-muted);font-size:13px}.viz-fact[data-v-e6b17352]{grid-template-columns:220px 1fr;gap:24px;display:grid}.stack-list[data-v-e6b17352]{background:var(--kd-bg);border:1px dashed var(--kd-border);border-radius:var(--kd-radius);flex-direction:column;justify-content:flex-end;gap:8px;padding:12px;display:flex}.stack-base[data-v-e6b17352]{text-align:center;color:var(--kd-text-muted);border-top:2px solid var(--kd-primary);flex-shrink:0;margin-top:2px;padding-top:4px;font-size:11px}.stack-item[data-v-e6b17352]{border-radius:var(--kd-radius);background:linear-gradient(135deg, var(--kd-primary-light), var(--kd-primary));color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:9px 12px;font-family:Courier New,monospace;font-size:13px;font-weight:700;transition:all .2s;display:flex}.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]{opacity:.9;font-size:12px}.expr-box[data-v-e6b17352]{background:var(--kd-bg);border:1px solid var(--kd-border);border-left:4px solid var(--kd-primary);border-radius:var(--kd-radius);color:var(--kd-primary);word-break:break-all;padding:14px 16px;font-family:Courier New,monospace;font-size:15px;font-weight:700}.tree-scroll[data-v-e6b17352]{padding-bottom:8px;overflow-x:auto}.tree-svg[data-v-e6b17352]{display:block}.edge[data-v-e6b17352]{stroke:#e2e8f0;stroke-width:2px}.edge-path[data-v-e6b17352]{stroke:#bb8fce;stroke-width:2.5px}.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.5px}.tn-current rect[data-v-e6b17352]{fill:var(--kd-primary);stroke:var(--kd-primary-dark);stroke-width:2.5px}.tn-current text[data-v-e6b17352]{fill:#fff;font-weight:700}.tn-label[data-v-e6b17352]{text-anchor:middle;font-family:Courier New,monospace;font-size:12px}.tn-val[data-v-e6b17352]{text-anchor:middle;opacity:.85;font-family:Courier New,monospace;font-size:11px}.pegs[data-v-e6b17352]{grid-template-columns:repeat(3,1fr);gap:16px;padding:8px 0;display:grid}.peg[data-v-e6b17352]{border-radius:var(--kd-radius) var(--kd-radius) 0 0;background:var(--kd-bg);border:1px solid var(--kd-border);flex-direction:column;justify-content:flex-end;align-items:center;padding:8px 6px 0;transition:background .2s;display:flex}.peg-from[data-v-e6b17352]{background:#ef444412}.peg-to[data-v-e6b17352]{background:#05966917}.peg-stack[data-v-e6b17352]{flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:4px;width:100%;height:190px;display:flex}.disk[data-v-e6b17352]{background:linear-gradient(135deg, var(--kd-primary-light), var(--kd-primary));color:#fff;text-align:center;border-radius:6px;height:24px;font-family:Courier New,monospace;font-size:12px;font-weight:700;line-height:24px;transition:width .2s}.disk.moving[data-v-e6b17352]{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 0 3px #f59e0b4d}.peg-base[data-v-e6b17352]{background:var(--kd-primary-dark);color:#fff;text-align:center;border-radius:4px;width:100%;height:14px;margin-top:4px;font-size:11px;font-weight:700;line-height:14px}.board-wrap[data-v-e6b17352]{justify-content:center;padding:8px 0;display:flex}.board[data-v-e6b17352]{gap:2px;width:100%;display:grid}.cell[data-v-e6b17352]{aspect-ratio:1;color:var(--kd-primary-dark);border-radius:4px;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:background .15s;display:flex}.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-offset:-3px;outline:3px solid #dc2626}.path-row[data-v-e6b17352]{flex-wrap:wrap;gap:10px;display:flex}.path-box[data-v-e6b17352]{border-radius:var(--kd-radius);background:linear-gradient(135deg, var(--kd-primary), var(--kd-primary-light));color:#fff;justify-content:center;align-items:center;width:46px;height:46px;font-family:Courier New,monospace;font-size:18px;font-weight:700;display:flex}.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]{border:1.5px solid var(--kd-border);width:38px;height:38px;color:var(--kd-text);background:#fff;border-radius:10px;justify-content:center;align-items:center;font-family:Courier New,monospace;font-weight:700;display:flex}.cand.used[data-v-e6b17352]{color:#cbd5e1;background:#f1f5f9}.cand.cur[data-v-e6b17352]{color:var(--kd-warning);background:#f59e0b26;border-color:#f59e0b}.result-list[data-v-e6b17352]{flex-wrap:wrap;gap:8px;max-height:160px;padding:4px 0;display:flex;overflow-y:auto}.step-box[data-v-e6b17352]{border:1px solid var(--kd-accent);border-radius:var(--kd-radius);background:#7030a00f;align-items:center;gap:10px;margin:18px 0;padding:12px 16px;font-size:14px;display:flex}.step-box.muted[data-v-e6b17352]{background:#05966914;border-color:#0596694d}.step-tag[data-v-e6b17352]{background:var(--kd-primary);color:#fff;border-radius:20px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:700}.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]{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.cmp-card[data-v-e6b17352]{background:var(--kd-bg);border:1px solid var(--kd-border);border-radius:var(--kd-radius);flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:90px;padding:10px 8px;display:flex}.cmp-label[data-v-e6b17352]{color:var(--kd-text-muted);font-size:12px}.cmp-val[data-v-e6b17352]{color:var(--kd-primary);font-family:Courier New,monospace;font-size:14px;font-weight:700}.legend[data-v-e6b17352]{border-top:1px dashed var(--kd-border);flex-wrap:wrap;gap:16px;padding-top:14px;display:flex}.lg[data-v-e6b17352]{color:var(--kd-text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.dot[data-v-e6b17352]{border-radius:4px;width:14px;height:14px;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]{flex-direction:column;gap:20px;max-width:1200px;margin:32px auto 0;padding:0 24px;display:flex}.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]{color:var(--kd-text);margin-bottom:12px;font-size:20px;font-weight:700}.knowledge-desc[data-v-e6b17352]{color:var(--kd-text);margin-bottom:16px;font-size:14px;line-height:1.8}.knowledge-list[data-v-e6b17352]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:0;list-style:none;display:grid}.knowledge-list li[data-v-e6b17352]{color:var(--kd-text);padding-left:22px;font-size:14px;line-height:1.7;position:relative}.knowledge-list li[data-v-e6b17352]:before{content:"•";color:var(--kd-primary);font-weight:700;position:absolute;top:0;left:6px}@media (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 (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}}
