.skilltree-wrapper.svelte-12o4jo5{position:relative;width:100%;min-height:calc(100vh - 280px)}.subtopic-nav.svelte-12o4jo5{display:flex;align-items:center;gap:16px;padding:12px 24px;max-width:1200px;margin:0 auto}.back-btn.svelte-12o4jo5{display:flex;align-items:center;gap:4px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.back-btn.svelte-12o4jo5:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.breadcrumb-path.svelte-12o4jo5{display:flex;align-items:center;gap:6px}.crumb.svelte-12o4jo5{display:flex;align-items:center;padding:4px 8px;background:transparent;border:none;border-radius:4px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.crumb.svelte-12o4jo5:hover:not(.current){background:var(--bg-tertiary);color:var(--text-primary)}.crumb.home.svelte-12o4jo5{color:var(--accent)}.crumb.current.svelte-12o4jo5{color:var(--text-primary);font-weight:600;cursor:default}.sep.svelte-12o4jo5{color:var(--text-muted);font-size:12px}.edit-subgraph-btn.svelte-12o4jo5{margin-left:auto;display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.edit-subgraph-btn.svelte-12o4jo5:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.roadmap-scroll-container.svelte-12o4jo5{width:100%;overflow-x:auto;overflow-y:hidden;padding:40px 24px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-tertiary);transition:opacity .3s ease,transform .3s ease;cursor:grab}.roadmap-scroll-container.dragging.svelte-12o4jo5{cursor:grabbing;scroll-behavior:auto}.roadmap-scroll-container.subgraph-view.svelte-12o4jo5{max-width:1200px;margin:0 auto}.roadmap-scroll-container.zooming-out.svelte-12o4jo5{animation:svelte-12o4jo5-zoomOut .3s ease-out forwards}.roadmap-scroll-container.zooming-in.svelte-12o4jo5{animation:svelte-12o4jo5-zoomIn .3s ease-out forwards}@keyframes svelte-12o4jo5-zoomOut{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}to{opacity:0;transform:scale(1.5)}}@keyframes svelte-12o4jo5-zoomIn{0%{opacity:0;transform:scale(.5)}50%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.roadmap-scroll-container.svelte-12o4jo5::-webkit-scrollbar{height:8px}.roadmap-scroll-container.svelte-12o4jo5::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.roadmap-scroll-container.svelte-12o4jo5::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.roadmap-track.svelte-12o4jo5{position:relative;padding:60px 40px 40px}.stage-label.svelte-12o4jo5{position:absolute;top:16px;transform:translate(-50%);white-space:nowrap;z-index:1}.edges-svg.svelte-12o4jo5{position:absolute;top:60px;left:40px;pointer-events:none;z-index:0}.edge-path.svelte-12o4jo5{stroke:var(--accent);stroke-width:2;stroke-dasharray:6,4;opacity:.35}.nodes-layer.svelte-12o4jo5{position:relative;z-index:1;width:100%;height:100%}.node-pill.svelte-12o4jo5{position:absolute;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--node-default);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.node-pill.svelte-12o4jo5:hover{transform:translateY(-2px);background:var(--node-default-hover);box-shadow:0 4px 12px #0003}.node-pill.svelte-12o4jo5:active{transform:translateY(0) scale(.98)}.node-pill.zoom-target.svelte-12o4jo5{animation:svelte-12o4jo5-pulseGrow .3s ease-out forwards;z-index:100}@keyframes svelte-12o4jo5-pulseGrow{0%{transform:scale(1)}50%{transform:scale(1.15);box-shadow:0 8px 30px #0000004d}to{transform:scale(1.3);opacity:0}}.node-pill.completed.svelte-12o4jo5{background:var(--node-completed)}.node-pill.completed.svelte-12o4jo5:hover{background:var(--node-completed-hover);box-shadow:0 4px 12px #0003}.node-pill.in-progress.svelte-12o4jo5{background:var(--node-in-progress)}.node-pill.in-progress.svelte-12o4jo5:hover{background:var(--node-in-progress-hover);box-shadow:0 4px 12px #0003}.node-pill.has-subtopics.svelte-12o4jo5{border:2px solid rgba(255,255,255,.5)}.node-pill.has-subtopics.svelte-12o4jo5:hover{border-color:#fffc}.node-content.svelte-12o4jo5{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}.node-name.svelte-12o4jo5{font-size:13px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-info.svelte-12o4jo5{display:flex;align-items:center;gap:5px}.progress-text.svelte-12o4jo5{font-size:11px;font-weight:500;color:#0009}.progress-pie.svelte-12o4jo5{flex-shrink:0}.pie-bg.svelte-12o4jo5{fill:none;stroke:#00000026;stroke-width:3}.pie-fill.svelte-12o4jo5{fill:none;stroke:#00000080;stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .3s ease}.pie-fill.complete.svelte-12o4jo5{stroke:#166534}.subtopic-indicator.svelte-12o4jo5{display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-icon.svelte-12o4jo5{font-size:14px;color:#0006;transition:transform .2s ease}.node-pill.svelte-12o4jo5:hover .expand-icon:where(.svelte-12o4jo5){transform:scale(1.2);color:#0009}@media(max-width:768px){.skilltree-wrapper.svelte-12o4jo5{min-height:calc(100vh - 320px)}.subtopic-nav.svelte-12o4jo5{padding:8px 16px;gap:12px}.back-btn.svelte-12o4jo5{padding:6px 10px;font-size:12px}.breadcrumb-path.svelte-12o4jo5{overflow-x:auto}.roadmap-scroll-container.svelte-12o4jo5{padding:50px 16px 24px}.roadmap-track.svelte-12o4jo5{padding:50px 16px 16px}.stage-label.svelte-12o4jo5{top:16px;font-size:10px}.edges-svg.svelte-12o4jo5{top:50px;left:16px}.node-pill.svelte-12o4jo5{padding:0 12px}.node-name.svelte-12o4jo5{font-size:12px}}.editor-backdrop.svelte-1gt9q3d{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}.editor-container.svelte-1gt9q3d{width:100%;max-width:1600px;height:90vh;background:var(--bg-primary);border-radius:4px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px #00000080}.toolbar.svelte-1gt9q3d{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.toolbar.svelte-1gt9q3d h2:where(.svelte-1gt9q3d){font-size:18px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap}.toolbar-actions.svelte-1gt9q3d{display:flex;gap:12px}.btn.svelte-1gt9q3d{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn.svelte-1gt9q3d:hover{background:var(--bg-primary);border-color:var(--accent)}.btn.active.svelte-1gt9q3d{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.close.svelte-1gt9q3d{background:#ef4444;color:#fff;border-color:#ef4444}.btn.close.svelte-1gt9q3d:hover{background:#dc2626}.editor-body.svelte-1gt9q3d{display:flex;flex:1;overflow:hidden}.canvas.svelte-1gt9q3d{flex:1;overflow:hidden;background:var(--bg-secondary)}.roadmap-scroll-container.svelte-1gt9q3d{width:100%;height:100%;overflow:auto;padding:24px}.roadmap-track.svelte-1gt9q3d{position:relative;min-width:max-content;padding:40px 20px 20px}.edges-svg.svelte-1gt9q3d{position:absolute;top:40px;left:20px;z-index:2;pointer-events:none}.edge-path.svelte-1gt9q3d{stroke:var(--accent);stroke-width:2;stroke-dasharray:6,4;opacity:.4}.edge-delete.svelte-1gt9q3d{fill:#ef4444;opacity:.5;cursor:pointer;pointer-events:all;transition:all .2s;stroke:#fff;stroke-width:1.5}.edge-group.svelte-1gt9q3d:hover .edge-delete:where(.svelte-1gt9q3d){opacity:.85}.edge-delete.svelte-1gt9q3d:hover{opacity:1!important;filter:drop-shadow(0 0 4px #ef4444)}.grid-container.svelte-1gt9q3d{position:relative;z-index:1}.grid-cell.svelte-1gt9q3d{position:absolute;border:1px dashed transparent;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:8px}.grid-cell.svelte-1gt9q3d:not(.has-node){pointer-events:all}.grid-cell.svelte-1gt9q3d:hover:not(.has-node){border-color:var(--border-subtle);background:#6750a408}.node-pill.svelte-1gt9q3d{pointer-events:all}.stage-label.svelte-1gt9q3d{position:absolute;top:8px;width:240px;text-align:center;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.node-pill.admin.svelte-1gt9q3d{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--node-color);border:2px solid transparent;border-radius:12px;cursor:move;transition:all .2s;width:100%;box-shadow:0 2px 8px #0000001a}.node-pill.admin.svelte-1gt9q3d:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.node-pill.admin.connecting.svelte-1gt9q3d{border-color:#10b981;animation:svelte-1gt9q3d-pulse 1s infinite}@keyframes svelte-1gt9q3d-pulse{0%,to{opacity:1}50%{opacity:.7}}.node-pill.svelte-1gt9q3d .drag-handle{color:#1c1b1f66;flex-shrink:0}.node-name.svelte-1gt9q3d{flex:1;font-size:13px;font-weight:600;color:#1c1b1f;text-align:left}.node-actions.svelte-1gt9q3d{display:flex;gap:4px;opacity:0;transition:opacity .2s}.node-pill.svelte-1gt9q3d:hover .node-actions:where(.svelte-1gt9q3d){opacity:1}.action-btn.svelte-1gt9q3d{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ffffff4d;border:none;border-radius:4px;cursor:pointer;transition:all .15s}.action-btn.delete.svelte-1gt9q3d{color:#ef4444}.action-btn.delete.svelte-1gt9q3d:hover{background:#ef4444;color:#fff}.action-btn.edit.svelte-1gt9q3d{color:var(--accent)}.action-btn.edit.svelte-1gt9q3d:hover{background:var(--accent);color:#fff}.action-btn.save.svelte-1gt9q3d{color:#10b981}.action-btn.save.svelte-1gt9q3d:hover{background:#10b981;color:#fff}.node-pill.editing.svelte-1gt9q3d{border-color:var(--accent);background:var(--bg-tertiary);border-radius:12px}.node-name-input.svelte-1gt9q3d{flex:1;min-width:0;padding:4px 8px;font-size:13px;font-weight:500;background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);outline:none}.grid-cell.empty.svelte-1gt9q3d{cursor:pointer}.grid-cell.empty.svelte-1gt9q3d:hover{background:#8b5cf61a;border-color:var(--accent)}.empty-cell-hint.svelte-1gt9q3d{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);opacity:0;transition:opacity .2s}.grid-cell.empty.svelte-1gt9q3d:hover .empty-cell-hint:where(.svelte-1gt9q3d){opacity:1;color:var(--accent)}.toolbar-hint.svelte-1gt9q3d{font-size:12px;color:var(--text-muted);margin:0}.editing-context.svelte-1gt9q3d{font-size:13px;color:var(--accent);margin:0 0 4px}.editing-context.svelte-1gt9q3d strong:where(.svelte-1gt9q3d){color:var(--text-primary)}@media(max-width:768px){.editor-backdrop.svelte-1gt9q3d{padding:0}.editor-container.svelte-1gt9q3d{border-radius:0;height:100vh;max-width:100%}.toolbar.svelte-1gt9q3d{flex-wrap:wrap;padding:12px 16px;gap:8px}.toolbar.svelte-1gt9q3d h2:where(.svelte-1gt9q3d){font-size:16px;width:100%}.toolbar-hint.svelte-1gt9q3d{display:none}.editing-context.svelte-1gt9q3d{width:100%;font-size:12px}.toolbar-actions.svelte-1gt9q3d{width:100%;display:flex;gap:8px}.toolbar-actions.svelte-1gt9q3d .btn:where(.svelte-1gt9q3d){flex:1;justify-content:center;padding:10px 12px;font-size:13px}.roadmap-scroll-container.svelte-1gt9q3d{padding:12px}.stage-label.svelte-1gt9q3d{font-size:10px}.node-pill.admin.svelte-1gt9q3d{padding:0 8px}.node-name.svelte-1gt9q3d{font-size:11px}.node-actions.svelte-1gt9q3d{opacity:1}.action-btn.svelte-1gt9q3d{width:28px;height:28px}}.root-divider.svelte-1e9z150{display:flex;align-items:center;gap:10px;margin:16px 20px 0;color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.root-divider.svelte-1e9z150:before,.root-divider.svelte-1e9z150:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.sidebar-overlay.svelte-1e9z150{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);z-index:200;display:flex;animation:svelte-1e9z150-fadeIn .2s ease-out;isolation:isolate}@keyframes svelte-1e9z150-fadeIn{0%{opacity:0}to{opacity:1}}.topic-sidebar.svelte-1e9z150{position:fixed;left:0;top:0;bottom:0;width:66.67%;max-width:1200px;background:#18181b;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;box-shadow:8px 0 32px #0000004d;animation:svelte-1e9z150-slideIn .25s ease-out;overflow:visible}[data-theme=light] .topic-sidebar.svelte-1e9z150{background:#f8f8fa}@keyframes svelte-1e9z150-slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header.svelte-1e9z150{display:flex;flex-direction:column;gap:8px;padding:24px 32px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-tertiary)}.sidebar-header-row.svelte-1e9z150{display:flex;align-items:center;gap:16px}.sidebar-header.svelte-1e9z150 h3:where(.svelte-1e9z150){font-size:24px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;flex:1;margin:0}.breadcrumb-path.svelte-1e9z150{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.breadcrumb-item.svelte-1e9z150{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;color:var(--text-secondary);font-size:12px;transition:color .15s ease}.breadcrumb-item.svelte-1e9z150:hover{color:var(--accent)}.breadcrumb-separator.svelte-1e9z150{color:var(--text-muted)}.breadcrumb-current.svelte-1e9z150{color:var(--text-primary);font-weight:500}.back-btn.svelte-1e9z150{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.back-btn.svelte-1e9z150:hover{background:#6750a414;border-color:var(--accent);color:var(--accent)}.close-sidebar-btn.svelte-1e9z150{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.close-sidebar-btn.svelte-1e9z150:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.sidebar-content.svelte-1e9z150{flex:1;overflow-y:auto;padding:24px 32px;background:#18181b;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}[data-theme=light] .sidebar-content.svelte-1e9z150{background:#f8f8fa}.sidebar-content.svelte-1e9z150::-webkit-scrollbar{width:10px}.sidebar-content.svelte-1e9z150::-webkit-scrollbar-track{background:transparent}.sidebar-content.svelte-1e9z150::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7c3aed,#a78bfa);border-radius:4px}.topic-description.svelte-1e9z150{padding:16px 0 24px;font-size:14px;line-height:1.6;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.description-display.svelte-1e9z150{display:flex;align-items:flex-start;gap:12px}.description-display.svelte-1e9z150 p:where(.svelte-1e9z150){flex:1;margin:0}.no-description.svelte-1e9z150{color:var(--text-muted);font-style:italic}.description-text.svelte-1e9z150{white-space:pre-wrap}.btn-edit-description.svelte-1e9z150{flex-shrink:0;padding:6px 12px;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-edit-description.svelte-1e9z150:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.edit-description-form.svelte-1e9z150{display:flex;flex-direction:column;gap:12px}.edit-description-form.svelte-1e9z150 textarea:where(.svelte-1e9z150){width:100%;padding:12px;background:#0f0f11;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;line-height:1.6}[data-theme=light] .edit-description-form.svelte-1e9z150 textarea:where(.svelte-1e9z150){background:#fff}.edit-description-form.svelte-1e9z150 textarea:where(.svelte-1e9z150):focus{outline:none;border-color:var(--accent)}.edit-description-actions.svelte-1e9z150{display:flex;gap:8px;justify-content:flex-end}.btn-cancel.svelte-1e9z150{padding:8px 16px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-cancel.svelte-1e9z150:hover{background:#ef4444;border-color:#ef4444;color:#fff}.btn-save.svelte-1e9z150{padding:8px 16px;background:var(--accent);border:none;border-radius:4px;color:var(--on-accent);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-save.svelte-1e9z150:hover{filter:brightness(1.1)}.topic-description.svelte-1e9z150 p:where(.svelte-1e9z150){color:var(--text-secondary);line-height:1.6;margin:0}.dashboard-section.svelte-1e9z150{margin-bottom:28px;overflow:visible}.dashboard-section.svelte-1e9z150:last-child{margin-bottom:0}.section-header-row.svelte-1e9z150{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header-row.svelte-1e9z150 h4:where(.svelte-1e9z150){margin-bottom:0}.dashboard-section.svelte-1e9z150 h4:where(.svelte-1e9z150){font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:12px}.btn-add-inline.svelte-1e9z150{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-add-inline.svelte-1e9z150:hover{filter:brightness(1.1);transform:translateY(-1px)}.subtopics-list.svelte-1e9z150{display:flex;flex-direction:column;gap:8px}.subtopic-item.svelte-1e9z150{width:100%;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;text-align:left;cursor:pointer;transition:all .2s ease}.subtopic-item.svelte-1e9z150:hover{background:var(--bg-tertiary);border-color:var(--accent)}.subtopic-header.svelte-1e9z150{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.subtopic-name.svelte-1e9z150{font-weight:600;color:var(--text-primary);font-size:15px}.subtopic-meta.svelte-1e9z150{display:flex;align-items:center;gap:10px}.subtopic-problem-count.svelte-1e9z150{font-size:12px;color:var(--text-secondary);opacity:.8}.progress-pie.svelte-1e9z150{flex-shrink:0}.pie-bg.svelte-1e9z150{fill:none;stroke:var(--border-subtle);stroke-width:3}.pie-fill.svelte-1e9z150{fill:none;stroke-width:3;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .3s ease}.pie-fill.in-progress.svelte-1e9z150{stroke:var(--accent)}.pie-fill.completed.svelte-1e9z150{stroke:#22c55e}.subtopic-description.svelte-1e9z150{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.resource-list.svelte-1e9z150{display:flex;flex-direction:column;gap:6px}.progress-summary.svelte-1e9z150{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;background:var(--bg-tertiary);border-radius:4px}.progress-bar-container.svelte-1e9z150{flex:1;height:6px;background:var(--border-subtle);border-radius:3px;overflow:hidden}.progress-bar-fill.svelte-1e9z150{height:100%;background:linear-gradient(90deg,#7c3aed,#f97316);border-radius:3px;transition:width .3s ease}.progress-label.svelte-1e9z150{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.practice-table.svelte-1e9z150{display:flex;flex-direction:column;gap:6px}.no-content.svelte-1e9z150{padding:32px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--bg-primary);border:1px dashed var(--border-subtle);border-radius:4px}.edit-subgraph-section.svelte-1e9z150{margin-bottom:20px}.btn-edit-subgraph.svelte-1e9z150{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;width:100%;justify-content:center}.btn-edit-subgraph.svelte-1e9z150:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media(max-width:768px){.topic-sidebar.svelte-1e9z150{width:100%;max-width:100%}.sidebar-header.svelte-1e9z150{padding:24px}.sidebar-header.svelte-1e9z150 h3:where(.svelte-1e9z150){font-size:18px}}.backdrop.svelte-aigu04{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:100}.panel.svelte-aigu04{position:fixed;top:0;right:0;bottom:0;width:min(700px,100vw);background:var(--bg-primary);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:101;animation:svelte-aigu04-slide-in .2s ease}@keyframes svelte-aigu04-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header.svelte-aigu04{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.header-left.svelte-aigu04{display:flex;align-items:center;gap:8px;color:var(--text-primary);flex:1}.header-left.svelte-aigu04 h2:where(.svelte-aigu04){font-size:15px;font-weight:600;margin:0}.count.svelte-aigu04{font-size:11px;background:var(--bg-tertiary);color:var(--text-muted);border-radius:10px;padding:1px 7px}.tabs.svelte-aigu04{display:flex;gap:2px;background:var(--bg-secondary);border-radius:6px;padding:3px}.tab.svelte-aigu04{background:none;border:none;padding:5px 12px;font-size:12px;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .15s}.tab.active.svelte-aigu04{background:var(--bg-primary);color:var(--text-primary);font-weight:500}.close-btn.svelte-aigu04{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex}.close-btn.svelte-aigu04:hover{color:var(--text-primary);background:var(--bg-tertiary)}.filter-bar.svelte-aigu04{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.search-wrap.svelte-aigu04{position:relative;flex:1}.search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input.svelte-aigu04{width:100%;padding:7px 10px 7px 30px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px}.search-input.svelte-aigu04:focus{outline:none;border-color:var(--accent)}.add-btn.svelte-aigu04{display:flex;align-items:center;gap:5px;padding:7px 12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.add-btn.svelte-aigu04:hover{opacity:.9}.panel-body.svelte-aigu04{flex:1;overflow-y:auto;padding:8px 0}.folder-root.svelte-aigu04{border-bottom:1px solid var(--border-subtle)}.folder-root.svelte-aigu04:last-child{border-bottom:none}.folder-root.unassigned.svelte-aigu04 .folder-name:where(.svelte-aigu04){color:var(--text-muted);font-style:italic}.folder-header.svelte-aigu04{display:flex;align-items:center;gap:6px;width:100%;padding:9px 20px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .1s}.folder-header.svelte-aigu04:hover{background:var(--bg-secondary)}.sub-header.svelte-aigu04{padding:7px 20px 7px 36px;background:color-mix(in srgb,var(--bg-secondary) 40%,transparent)}.sub-header.svelte-aigu04:hover{background:var(--bg-secondary)}.chevron.svelte-aigu04{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.folder-icon{color:var(--text-muted);flex-shrink:0}.folder-name.svelte-aigu04{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.sub-name.svelte-aigu04{font-weight:500;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-muted)}.folder-count.svelte-aigu04{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border-radius:8px;padding:1px 6px;flex-shrink:0}.folder-items.svelte-aigu04{min-height:0}.direct-items.svelte-aigu04,.folder-sub.svelte-aigu04{border-top:1px solid var(--border-subtle)}.topic-group.svelte-aigu04{margin-bottom:4px}.topic-label.svelte-aigu04{display:flex;align-items:center;gap:6px;padding:8px 20px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);position:sticky;top:0;background:var(--bg-primary);z-index:1}.parent-context.svelte-aigu04{color:var(--text-muted);font-weight:400;opacity:.7}.parent-context.svelte-aigu04:before{content:"·";margin-right:4px}.empty.svelte-aigu04{text-align:center;padding:48px 24px;color:var(--text-muted);font-size:14px}.algorithms-page.svelte-1qewoaf{min-height:100vh;padding:100px 24px 60px;max-width:1200px;margin:0 auto}.page-header.svelte-1qewoaf{margin-bottom:20px}.search-row.svelte-1qewoaf{flex:1;display:flex;justify-content:flex-end}.header-row.svelte-1qewoaf{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-header.svelte-1qewoaf h1:where(.svelte-1qewoaf){display:flex;align-items:center;gap:12px;font-size:32px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.page-header.svelte-1qewoaf p:where(.svelte-1qewoaf){font-size:15px;color:var(--text-secondary)}.scroll-hint.svelte-1qewoaf{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--text-muted);opacity:.7}.meta-row.svelte-1qewoaf{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.stats-row.svelte-1qewoaf{display:flex;align-items:center;gap:8px;flex-shrink:0}.stat-pill.svelte-1qewoaf{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:9999px;font-size:12px}.stat-pill.svelte-1qewoaf .stat-value:where(.svelte-1qewoaf){font-weight:600;color:var(--text-primary)}.stat-pill.svelte-1qewoaf .stat-label:where(.svelte-1qewoaf){color:var(--text-secondary);font-weight:500}.stat-pill.online.svelte-1qewoaf{gap:6px}.stat-pill.online.svelte-1qewoaf .online-dot:where(.svelte-1qewoaf){width:6px;height:6px;background:#22c55e;border-radius:50%;animation:svelte-1qewoaf-pulse 2s ease-in-out infinite}@keyframes svelte-1qewoaf-pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-btns.svelte-1qewoaf{display:flex;gap:8px;align-items:center}.create-btn.svelte-1qewoaf{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.create-btn.svelte-1qewoaf:hover{filter:brightness(1.1)}.create-btn.secondary.svelte-1qewoaf{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.create-btn.secondary.svelte-1qewoaf:hover{background:var(--bg-tertiary);filter:none}.roadmap-section.svelte-1qewoaf{width:100vw;margin-left:calc(-50vw + 50%);position:relative}.graph-fullscreen-container.svelte-1qewoaf{position:relative;min-height:calc(100vh - 200px)}.roadmap-faq.svelte-1qewoaf{margin-top:48px}.roadmap-faq.svelte-1qewoaf h2:where(.svelte-1qewoaf){font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:24px}.roadmap-faq.svelte-1qewoaf .faq-list:where(.svelte-1qewoaf){display:flex;flex-direction:column}.roadmap-faq.svelte-1qewoaf .faq-item:where(.svelte-1qewoaf){width:100%;text-align:left;padding:0;background:none;border:none;border-top:1px solid var(--border-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}.roadmap-faq.svelte-1qewoaf .faq-item:where(.svelte-1qewoaf):focus{outline:none}.roadmap-faq.svelte-1qewoaf .faq-item:where(.svelte-1qewoaf):last-child{border-bottom:1px solid var(--border-subtle)}.roadmap-faq.svelte-1qewoaf .faq-question:where(.svelte-1qewoaf){display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:15px;font-weight:500;color:var(--text-primary);transition:color .15s ease}.roadmap-faq.svelte-1qewoaf .faq-item:where(.svelte-1qewoaf):hover .faq-question:where(.svelte-1qewoaf){color:var(--text-secondary)}.roadmap-faq.svelte-1qewoaf .faq-icon:where(.svelte-1qewoaf){flex-shrink:0;color:var(--text-secondary);transition:transform .3s cubic-bezier(.4,0,.2,1)}.roadmap-faq.svelte-1qewoaf .faq-icon.open:where(.svelte-1qewoaf){transform:rotate(45deg)}.roadmap-faq.svelte-1qewoaf .faq-answer-wrapper:where(.svelte-1qewoaf){display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.roadmap-faq.svelte-1qewoaf .faq-answer-wrapper.open:where(.svelte-1qewoaf){grid-template-rows:1fr}.roadmap-faq.svelte-1qewoaf .faq-answer:where(.svelte-1qewoaf){overflow:hidden;font-size:14px;line-height:1.7;color:var(--text-secondary);text-align:left;margin:0;padding-bottom:0;transition:padding-bottom .3s cubic-bezier(.4,0,.2,1)}.roadmap-faq.svelte-1qewoaf .faq-answer-wrapper.open:where(.svelte-1qewoaf) .faq-answer:where(.svelte-1qewoaf){padding-bottom:20px}.difficulty-reference-table.svelte-1qewoaf{margin-top:12px;overflow-x:auto}@media(max-width:768px){.algorithms-page.svelte-1qewoaf{padding:90px 16px 40px}.page-header.svelte-1qewoaf h1:where(.svelte-1qewoaf){font-size:24px}.header-row.svelte-1qewoaf{flex-direction:column;align-items:flex-start}.create-btn.svelte-1qewoaf{width:100%;justify-content:center}}
