.roadmap-list.svelte-ki2l5g{flex-direction:column;gap:28px;max-width:860px;margin:0 auto;padding:8px 24px 40px;display:flex}.level.svelte-ki2l5g{flex-direction:column;gap:12px;display:flex}.level-head.svelte-ki2l5g{z-index:2;background:linear-gradient(var(--bg-primary) 70%, transparent);align-items:center;gap:12px;padding:8px 0;display:flex;position:sticky;top:0}.level-rule.svelte-ki2l5g{background:var(--border-subtle);flex:1;height:1px}.modules.svelte-ki2l5g{flex-direction:column;gap:10px;display:flex}.module.svelte-ki2l5g{border:1px solid var(--border-subtle);border-radius:var(--radius-soft,8px);background:linear-gradient(var(--bg-secondary), var(--bg-secondary)), var(--bg-primary);transition:border-color .15s,box-shadow .15s;overflow:hidden}.module.dimmed.svelte-ki2l5g,.sub-row.dimmed.svelte-ki2l5g{opacity:.45}.module.dimmed.svelte-ki2l5g:hover,.sub-row.dimmed.svelte-ki2l5g:hover{opacity:.8}.module.svelte-ki2l5g:hover{border-color:var(--border);box-shadow:0 2px 10px #0000001f}.row.svelte-ki2l5g{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:12px;padding:0 16px;transition:background .12s,transform 60ms;display:flex}.module-row.svelte-ki2l5g{min-height:56px;font-size:15px;font-weight:600}.module-row.svelte-ki2l5g:hover{background:var(--bg-tertiary)}.row.svelte-ki2l5g:active{transform:scale(.992)}.subs.svelte-ki2l5g{border-top:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-primary) 55%, var(--bg-secondary))}.sub-row.svelte-ki2l5g{min-height:48px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding-left:22px;font-size:14px;font-weight:500}.sub-row.svelte-ki2l5g .row-name:where(.svelte-ki2l5g){color:var(--text-primary)}.sub-row.svelte-ki2l5g:last-child{border-bottom:none}.sub-row.svelte-ki2l5g:hover{background:var(--bg-tertiary)}.row-name.svelte-ki2l5g{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sub-chip.svelte-ki2l5g{color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-pill,999px);flex:none;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.row-meta.svelte-ki2l5g{flex:none;align-items:center;gap:10px;display:flex}.count.svelte-ki2l5g{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px;font-weight:600}.count.done.svelte-ki2l5g{color:var(--node-completed,#22c55e)}.bar.svelte-ki2l5g{background:var(--bg-tertiary);border-radius:999px;width:84px;height:5px;display:block;overflow:hidden}.bar-fill.svelte-ki2l5g{background:linear-gradient(90deg,#a855f7,#f97316);border-radius:999px;height:100%;transition:width .3s;display:block}.chevron.svelte-ki2l5g{color:var(--text-muted);flex:none;align-items:center;transition:transform .2s,color .15s;display:inline-flex}.chevron.rotated.svelte-ki2l5g{transform:rotate(-180deg)}.row.svelte-ki2l5g:hover .chevron:where(.svelte-ki2l5g){color:var(--text-secondary)}.empty.svelte-ki2l5g{text-align:center;color:var(--text-muted);padding:40px 0}@media (max-width:640px){.roadmap-list.svelte-ki2l5g{gap:22px;padding:4px 12px 32px}.row.svelte-ki2l5g{gap:9px;padding:0 12px}.module-row.svelte-ki2l5g{min-height:54px;font-size:14px}.sub-row.svelte-ki2l5g{padding-left:16px}.bar.svelte-ki2l5g{width:54px}}.saved.svelte-1nuy5lc{max-width:920px;margin:0 auto;padding:8px 0 40px}.chips.svelte-1nuy5lc{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip.svelte-1nuy5lc{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.chip.svelte-1nuy5lc:hover{border-color:var(--border);color:var(--text-primary)}.chip.on.svelte-1nuy5lc{border-color:var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.chip.svelte-1nuy5lc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.count.svelte-1nuy5lc{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.rows.svelte-1nuy5lc{flex-direction:column;gap:4px;display:flex}.links.svelte-1nuy5lc{flex-wrap:wrap;gap:8px 20px;margin-top:16px;display:flex}.links.svelte-1nuy5lc a:where(.svelte-1nuy5lc){color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.links.svelte-1nuy5lc a:where(.svelte-1nuy5lc):hover{color:var(--text-primary)}.empty.svelte-1nuy5lc{border:1px dashed var(--border);border-radius:var(--radius-soft);max-width:420px;color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;margin:24px auto;padding:32px 24px;display:flex}.empty.svelte-1nuy5lc p:where(.svelte-1nuy5lc){margin:0;font-size:14px;line-height:1.5}.empty-title.svelte-1nuy5lc{color:var(--text-primary);font-weight:600}.sign-in.svelte-1nuy5lc{border-radius:var(--radius-soft);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:none;align-items:center;gap:8px;margin-top:8px;padding:9px 18px;font-size:14px;font-weight:600;display:inline-flex}.loading.svelte-1nuy5lc,.list-empty.svelte-1nuy5lc{color:var(--text-muted);margin:16px 0;font-size:14px}.editor-backdrop.svelte-1gt9q3d{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.editor-container.svelte-1gt9q3d{background:var(--bg-primary);border-radius:var(--radius-tight);flex-direction:column;width:100%;max-width:1600px;height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px #00000080}.toolbar.svelte-1gt9q3d{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.toolbar.svelte-1gt9q3d h2:where(.svelte-1gt9q3d){color:var(--text-primary);white-space:nowrap;margin:0;font-size:18px;font-weight:600}.toolbar-actions.svelte-1gt9q3d{gap:12px;display:flex}.btn.svelte-1gt9q3d{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-tight);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.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{color:#fff;background:#ef4444;border-color:#ef4444}.btn.close.svelte-1gt9q3d:hover{background:#dc2626}.editor-body.svelte-1gt9q3d{flex:1;display:flex;overflow:hidden}.canvas.svelte-1gt9q3d{background:var(--bg-secondary);flex:1;overflow:hidden}.roadmap-scroll-container.svelte-1gt9q3d{width:100%;height:100%;padding:24px;overflow:auto}.roadmap-track.svelte-1gt9q3d{min-width:max-content;padding:40px 20px 20px;position:relative}.edges-svg.svelte-1gt9q3d{z-index:2;pointer-events:none;position:absolute;top:40px;left:20px}.edge-path.svelte-1gt9q3d{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4;opacity:.4}.edge-delete.svelte-1gt9q3d{fill:#ef4444;opacity:.5;cursor:pointer;pointer-events:all;stroke:#fff;stroke-width:1.5px;transition:all .2s}.edge-group.svelte-1gt9q3d:hover .edge-delete:where(.svelte-1gt9q3d){opacity:.85}.edge-delete.svelte-1gt9q3d:hover{filter:drop-shadow(0 0 4px #ef4444);opacity:1!important}.grid-container.svelte-1gt9q3d{z-index:1;position:relative}.grid-cell.svelte-1gt9q3d{border-radius:var(--radius-tight);border:1px dashed #0000;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:absolute}.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{text-align:center;width:240px;color:var(--text-tertiary);font-size:12px;font-weight:500;position:absolute;top:8px}.node-pill.admin.svelte-1gt9q3d{background:var(--node-color);border-radius:var(--radius-soft);cursor:move;border:2px solid #0000;align-items:center;gap:8px;width:100%;padding:0 12px;transition:all .2s;display:flex;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:1s infinite svelte-1gt9q3d-pulse}@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{color:#1c1b1f;text-align:left;flex:1;font-size:13px;font-weight:600}.node-actions.svelte-1gt9q3d{opacity:0;gap:4px;transition:opacity .2s;display:flex}.node-pill.svelte-1gt9q3d:hover .node-actions:where(.svelte-1gt9q3d){opacity:1}.action-btn.svelte-1gt9q3d{border-radius:var(--radius-tight);cursor:pointer;background:#ffffff4d;border:none;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.action-btn.delete.svelte-1gt9q3d{color:#ef4444}.action-btn.delete.svelte-1gt9q3d:hover{color:#fff;background:#ef4444}.action-btn.edit.svelte-1gt9q3d{color:var(--accent-text)}.action-btn.edit.svelte-1gt9q3d:hover{background:var(--accent);color:#fff}.action-btn.save.svelte-1gt9q3d{color:#10b981}.action-btn.save.svelte-1gt9q3d:hover{color:#fff;background:#10b981}.node-pill.editing.svelte-1gt9q3d{border-color:var(--accent);background:var(--bg-tertiary);border-radius:var(--radius-soft)}.node-name-input.svelte-1gt9q3d{background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-tight);min-width:0;color:var(--text-primary);outline:none;flex:1;padding:4px 8px;font-size:13px;font-weight:500}.edit-stack.svelte-1gt9q3d{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tier-radio-group.svelte-1gt9q3d{gap:4px;display:flex}.tier-radio.svelte-1gt9q3d{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-tight);color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.tier-radio.svelte-1gt9q3d input:where(.svelte-1gt9q3d){accent-color:var(--accent);margin:0}.tier-radio.active.svelte-1gt9q3d{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tier-pill.svelte-1gt9q3d{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-tight);letter-spacing:.3px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.grid-cell.empty.svelte-1gt9q3d{cursor:pointer}.grid-cell.empty.svelte-1gt9q3d:hover{border-color:var(--accent);background:#8b5cf61a}.empty-cell-hint.svelte-1gt9q3d{width:100%;height:100%;color:var(--text-muted);opacity:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.grid-cell.empty.svelte-1gt9q3d:hover .empty-cell-hint:where(.svelte-1gt9q3d){opacity:1;color:var(--accent-text)}.toolbar-hint.svelte-1gt9q3d{color:var(--text-muted);margin:0;font-size:12px}.editing-context.svelte-1gt9q3d{color:var(--accent-text);margin:0 0 4px;font-size:13px}.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;max-width:100%;height:100vh}.toolbar.svelte-1gt9q3d{flex-wrap:wrap;gap:8px;padding:12px 16px}.toolbar.svelte-1gt9q3d h2:where(.svelte-1gt9q3d){width:100%;font-size:16px}.toolbar-hint.svelte-1gt9q3d{display:none}.editing-context.svelte-1gt9q3d{width:100%;font-size:12px}.toolbar-actions.svelte-1gt9q3d{gap:8px;width:100%;display:flex}.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{color:var(--text-muted);align-items:center;gap:10px;margin:16px 20px 0;font-size:12px;font-weight:500;display:flex}.root-divider.svelte-1e9z150:before,.root-divider.svelte-1e9z150:after{content:"";background:var(--border-subtle);flex:1;height:1px}.resource-row-wrap.svelte-1e9z150{border-radius:var(--radius-soft)}.highlighted-resource.svelte-1e9z150{outline:2px solid var(--accent);outline-offset:3px;background:color-mix(in srgb, var(--accent) 8%, transparent)}.sidebar-overlay.svelte-1e9z150{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;isolation:isolate;background:#0009;animation:.2s ease-out svelte-1e9z150-fadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-1e9z150-fadeIn{0%{opacity:0}to{opacity:1}}.topic-sidebar.svelte-1e9z150{z-index:21;background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;width:66.67%;max-width:1200px;animation:.25s ease-out svelte-1e9z150-slideIn;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:8px 0 32px #0000004d}@keyframes svelte-1e9z150-slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header.svelte-1e9z150{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-direction:column;flex-shrink:0;gap:8px;padding:24px 32px;display:flex}.topic-meta-strip.svelte-1e9z150{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.meta-item.svelte-1e9z150{align-items:center;gap:6px;display:inline-flex}.meta-caption.svelte-1e9z150{color:var(--text-muted);font-size:12px;font-weight:500}.sidebar-header-row.svelte-1e9z150{align-items:center;gap:16px;display:flex}.sidebar-header.svelte-1e9z150 h3:where(.svelte-1e9z150){color:var(--text-primary);letter-spacing:-.02em;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:24px;font-weight:600;overflow:hidden}.breadcrumb-path.svelte-1e9z150{color:var(--text-muted);scrollbar-width:none;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex;overflow-x:auto}.breadcrumb-item.svelte-1e9z150{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12px;transition:color .15s;display:flex}.breadcrumb-item.svelte-1e9z150:hover{color:var(--accent-text)}.breadcrumb-separator.svelte-1e9z150{color:var(--text-muted)}.breadcrumb-current.svelte-1e9z150{color:var(--text-primary);white-space:nowrap;font-weight:500}.back-btn.svelte-1e9z150{border:1px solid var(--border-subtle);border-radius:var(--radius-tight);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.back-btn.svelte-1e9z150:hover{border-color:var(--accent);color:var(--accent-text);background:#6750a414}.problem-row-wrap.svelte-1e9z150{transition:opacity .15s,filter .15s}.problem-row-wrap.dimmed.svelte-1e9z150,.subtopic-item.dimmed.svelte-1e9z150{opacity:.38;filter:saturate(.5)}.problem-row-wrap.dimmed.svelte-1e9z150:hover,.subtopic-item.dimmed.svelte-1e9z150:hover{opacity:.65}.close-sidebar-btn.svelte-1e9z150{border:1px solid var(--border-subtle);border-radius:var(--radius-tight);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-sidebar-btn.svelte-1e9z150:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent-text)}.sidebar-content.svelte-1e9z150{background:var(--bg-primary);scrollbar-width:thin;scrollbar-color:var(--accent) transparent;flex:1;padding:24px 32px;overflow-y:auto}.sidebar-content.svelte-1e9z150::-webkit-scrollbar{width:10px}.sidebar-content.svelte-1e9z150::-webkit-scrollbar-track{background:0 0}.sidebar-content.svelte-1e9z150::-webkit-scrollbar-thumb{border-radius:var(--radius-tight);background:linear-gradient(#7c3aed 0%,#a78bfa 100%)}.topic-description.svelte-1e9z150{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);margin-bottom:24px;padding:16px 0 24px;font-size:14px;line-height:1.6}.description-display.svelte-1e9z150{align-items:flex-start;gap:12px;display:flex}.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{border:1px solid var(--border-subtle);border-radius:var(--radius-tight);color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-edit-description.svelte-1e9z150:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.edit-description-form.svelte-1e9z150{flex-direction:column;gap:12px;display:flex}.edit-description-form.svelte-1e9z150 textarea:where(.svelte-1e9z150){background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-tight);width:100%;color:var(--text-primary);resize:none;padding:12px;font-family:inherit;font-size:14px;line-height:1.6}.edit-description-form.svelte-1e9z150 textarea:where(.svelte-1e9z150):focus{border-color:var(--accent);outline:none}.edit-description-actions.svelte-1e9z150{justify-content:flex-end;gap:8px;display:flex}.btn-cancel.svelte-1e9z150{border:1px solid var(--border-subtle);border-radius:var(--radius-tight);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.btn-cancel.svelte-1e9z150:hover{color:#fff;background:#ef4444;border-color:#ef4444}.btn-save.svelte-1e9z150{background:var(--accent);border-radius:var(--radius-tight);color:var(--on-accent);cursor:pointer;border:none;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.btn-save.svelte-1e9z150:hover{filter:brightness(1.1)}.topic-description.svelte-1e9z150 p:where(.svelte-1e9z150){color:var(--text-secondary);margin:0;line-height:1.6}.dashboard-section.svelte-1e9z150{margin-bottom:28px;overflow:visible}.dashboard-section.svelte-1e9z150:last-child{margin-bottom:0}.section-header-row.svelte-1e9z150{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-header-row.svelte-1e9z150 h4:where(.svelte-1e9z150){margin-bottom:0}.dashboard-section.svelte-1e9z150 h4:where(.svelte-1e9z150){color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:600}.resource-language-note.svelte-1e9z150{color:var(--text-secondary);margin-left:auto;font-size:11px;font-weight:600}.btn-add-inline.svelte-1e9z150{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-tight);cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.btn-add-inline.svelte-1e9z150:hover{filter:brightness(1.1);transform:translateY(-1px)}.subtopics-list.svelte-1e9z150{flex-direction:column;gap:8px;display:flex}.subtopic-item.svelte-1e9z150{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-tight);text-align:left;cursor:pointer;width:100%;padding:16px;transition:all .2s}.subtopic-item.svelte-1e9z150:hover{background:var(--bg-tertiary);border-color:var(--accent)}.subtopic-header.svelte-1e9z150{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.subtopic-name.svelte-1e9z150{color:var(--text-primary);font-size:15px;font-weight:600}.subtopic-meta.svelte-1e9z150{align-items:center;gap:10px;display:flex}.subtopic-problem-count.svelte-1e9z150{color:var(--text-secondary);opacity:.8;font-size:12px}.subtopic-progress-bar.svelte-1e9z150{background:var(--border-subtle);border-radius:var(--radius-tight);flex-shrink:0;width:80px;height:4px;overflow:hidden}.subtopic-progress-fill.svelte-1e9z150{border-radius:var(--radius-tight);background:linear-gradient(90deg,#a855f7,#f97316);height:100%;transition:width .3s}.subtopic-description.svelte-1e9z150{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.resource-list.svelte-1e9z150{flex-direction:column;gap:6px;display:flex}.lecture-card.svelte-1e9z150{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border-subtle));border-radius:var(--radius-soft);background:color-mix(in srgb, var(--accent) 8%, var(--bg-tertiary));color:var(--text-primary);align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.lecture-card.svelte-1e9z150:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-tertiary))}.lecture-card.svelte-1e9z150:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lecture-icon.svelte-1e9z150{border-radius:var(--radius-tight);background:color-mix(in srgb, var(--accent) 18%, transparent);width:34px;height:34px;color:var(--accent-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lecture-text.svelte-1e9z150{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lecture-kicker.svelte-1e9z150{letter-spacing:.02em;color:var(--accent-text);font-size:11px;font-weight:700}.lecture-title.svelte-1e9z150{font-size:14px;font-weight:600}.lecture-desc.svelte-1e9z150{color:var(--text-secondary);font-size:12.5px;line-height:1.45}.lecture-card.svelte-1e9z150 .lecture-arrow{color:var(--text-muted);flex-shrink:0}.progress-summary.svelte-1e9z150{align-items:center;gap:12px;margin-bottom:12px;display:flex}.progress-bar-container.svelte-1e9z150{background:var(--border-subtle);border-radius:var(--radius-tight);flex:1;height:6px;overflow:hidden}.progress-bar-fill.svelte-1e9z150{border-radius:var(--radius-tight);background:linear-gradient(90deg,#7c3aed 0%,#f97316 100%);height:100%;transition:width .3s}.progress-label.svelte-1e9z150{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.practice-table.svelte-1e9z150{border:1px solid var(--border-subtle);background:var(--bg-secondary);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.practice-table.svelte-1e9z150 .problem-row{box-shadow:none;background:0 0;border:0;border-radius:0}.practice-table.svelte-1e9z150 .problem-row:hover{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}.problem-row-wrap.svelte-1e9z150+.problem-row-wrap:where(.svelte-1e9z150){border-top:1px solid var(--border-subtle)}.filter-active-hint.svelte-1e9z150{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;font-weight:500;display:flex}.filter-hint-clear.svelte-1e9z150{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:4px;padding:2px 0;font-size:12px;font-weight:500;transition:color .15s;display:inline-flex}.filter-hint-clear.svelte-1e9z150:hover{color:var(--text-primary)}.filter-empty.svelte-1e9z150{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;display:flex}.filter-empty.svelte-1e9z150 p:where(.svelte-1e9z150){color:var(--text-muted);margin:0;font-size:14px}.filter-empty-reset.svelte-1e9z150{background:var(--accent);border-radius:var(--radius-tight);color:var(--on-accent);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:filter .15s;display:inline-flex}.filter-empty-reset.svelte-1e9z150:hover{filter:brightness(1.08)}.no-content.svelte-1e9z150{color:var(--text-muted);padding:2px 0 4px;font-size:13px}.edit-subgraph-section.svelte-1e9z150{margin-bottom:20px}.btn-edit-subgraph.svelte-1e9z150{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-tight);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.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{border-right:none;width:100%;max-width:100%;max-height:100dvh}.sidebar-header.svelte-1e9z150{padding:16px}.sidebar-header-row.svelte-1e9z150{gap:10px}.sidebar-header.svelte-1e9z150 h3:where(.svelte-1e9z150){font-size:18px}.sidebar-content.svelte-1e9z150{padding:16px}.description-display.svelte-1e9z150{flex-direction:column}.btn-edit-description.svelte-1e9z150{align-self:flex-start}.topic-description.svelte-1e9z150{margin-bottom:18px;padding:8px 0 18px}.dashboard-section.svelte-1e9z150{margin-bottom:22px}.section-header-row.svelte-1e9z150{align-items:flex-start}.resource-language-note.svelte-1e9z150{order:3;width:100%;margin-left:0}.subtopic-item.svelte-1e9z150{padding:14px}.subtopic-header.svelte-1e9z150{align-items:flex-start;gap:10px}.subtopic-name.svelte-1e9z150{overflow-wrap:anywhere;min-width:0}.subtopic-meta.svelte-1e9z150{flex-direction:column;align-items:flex-end;gap:4px}.progress-summary.svelte-1e9z150{align-items:stretch;gap:8px;padding:10px 12px}.progress-label.svelte-1e9z150{align-self:flex-end}.no-content.svelte-1e9z150{padding:2px 0 4px}}@media (max-width:430px){.sidebar-header.svelte-1e9z150,.sidebar-content.svelte-1e9z150{padding:12px}.back-btn.svelte-1e9z150,.close-sidebar-btn.svelte-1e9z150{width:36px;height:36px}.progress-summary.svelte-1e9z150{flex-direction:column}}.backdrop.svelte-aigu04{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000080;position:fixed;inset:0}.panel.svelte-aigu04{background:var(--bg-primary);border-left:1px solid var(--border);z-index:101;flex-direction:column;width:min(700px,100vw);animation:.2s svelte-aigu04-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes svelte-aigu04-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header.svelte-aigu04{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.header-left.svelte-aigu04{color:var(--text-primary);flex:1;align-items:center;gap:8px;display:flex}.header-left.svelte-aigu04 h2:where(.svelte-aigu04){margin:0;font-size:15px;font-weight:600}.count.svelte-aigu04{background:var(--bg-tertiary);color:var(--text-muted);border-radius:var(--radius-soft);padding:1px 7px;font-size:11px}.tabs.svelte-aigu04{background:var(--bg-secondary);border-radius:var(--radius-soft);gap:2px;padding:3px;display:flex}.tab.svelte-aigu04{color:var(--text-muted);border-radius:var(--radius-tight);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:12px;transition:all .15s}.tab.active.svelte-aigu04{background:var(--bg-primary);color:var(--text-primary);font-weight:500}.close-btn.svelte-aigu04{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-tight);background:0 0;border:none;padding:4px;display:flex}.close-btn.svelte-aigu04:hover{color:var(--text-primary);background:var(--bg-tertiary)}.filter-bar.svelte-aigu04{border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:8px;padding:12px 20px;display:flex}.search-wrap.svelte-aigu04{flex:1;position:relative}.search-wrap.svelte-aigu04 .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.search-input.svelte-aigu04{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-soft);width:100%;color:var(--text-primary);padding:7px 10px 7px 30px;font-size:13px}.search-input.svelte-aigu04:focus{border-color:var(--accent);outline:none}.add-btn.svelte-aigu04{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-soft);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:500;display:flex}.add-btn.svelte-aigu04:hover{opacity:.9}.panel-body.svelte-aigu04{flex:1;padding:8px 0;overflow-y:auto}.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{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:6px;padding:9px 20px;transition:background .1s;display:flex}.folder-header.svelte-aigu04:hover{background:var(--bg-secondary)}.sub-header.svelte-aigu04{background:color-mix(in srgb, var(--bg-secondary) 40%, transparent);padding:7px 20px 7px 36px}.sub-header.svelte-aigu04:hover{background:var(--bg-secondary)}.chevron.svelte-aigu04{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.folder-icon{color:var(--text-muted);flex-shrink:0}.folder-name.svelte-aigu04{color:var(--text-secondary);flex:1;font-size:12px;font-weight:500}.sub-name.svelte-aigu04{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:12px;font-weight:500}.folder-count.svelte-aigu04{color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-soft);flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.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{color:var(--text-muted);background:var(--bg-primary);z-index:1;align-items:center;gap:6px;padding:8px 20px 4px;font-size:12px;font-weight:500;display:flex;position:sticky;top:0}.parent-context.svelte-aigu04{color:var(--text-muted);opacity:.7;font-weight:400}.parent-context.svelte-aigu04:before{content:"·";margin-right:4px}.empty.svelte-aigu04{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:14px}.modal-backdrop.svelte-1u1idmy{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-container.svelte-1u1idmy{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-tight);flex-direction:column;width:100%;max-width:520px;max-height:calc(100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.modal-header.svelte-1u1idmy{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:24px 32px 16px}.modal-header.svelte-1u1idmy h2:where(.svelte-1u1idmy){color:var(--text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:22px;font-weight:600}.modal-subtitle.svelte-1u1idmy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.modal-content.svelte-1u1idmy{overscroll-behavior:contain;flex:1;min-height:0;padding:24px 32px;overflow-y:auto}.tier-grid.svelte-1u1idmy{flex-direction:column;gap:12px;display:flex}.tier-card.svelte-1u1idmy{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-soft);cursor:pointer;text-align:left;color:var(--text-primary);align-items:center;gap:16px;padding:18px 20px;transition:all .2s;display:flex;position:relative}.tier-card.svelte-1u1idmy:hover{border-color:var(--border);background:var(--bg-tertiary)}.tier-card.selected.svelte-1u1idmy{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-secondary))}.tier-icon.svelte-1u1idmy{border-radius:var(--radius-soft);background:var(--bg-tertiary);width:48px;height:48px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tier-card.selected.svelte-1u1idmy .tier-icon:where(.svelte-1u1idmy){background:var(--accent);color:var(--on-accent)}.tier-text.svelte-1u1idmy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tier-title.svelte-1u1idmy{color:var(--text-primary);font-size:15px;font-weight:600}.tier-desc.svelte-1u1idmy{color:var(--text-secondary);font-size:13px;line-height:1.4}.check-indicator.svelte-1u1idmy{color:var(--accent-text);flex-shrink:0}.modal-footer.svelte-1u1idmy{border-top:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px;display:flex}.btn-primary.svelte-1u1idmy{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-soft);cursor:pointer;border:none;align-items:center;gap:8px;min-height:44px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary.svelte-1u1idmy:hover:not(:disabled){filter:brightness(1.1)}.btn-primary.svelte-1u1idmy:disabled{opacity:.4;cursor:not-allowed}.btn-skip.svelte-1u1idmy{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-tight);background:0 0;border:none;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s}.btn-skip.svelte-1u1idmy:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width:640px){.modal-backdrop.svelte-1u1idmy{padding:8px}.modal-container.svelte-1u1idmy{max-height:calc(100dvh - 16px)}.modal-header.svelte-1u1idmy{padding:20px 24px 14px}.modal-header.svelte-1u1idmy h2:where(.svelte-1u1idmy){font-size:20px}.modal-content.svelte-1u1idmy{padding:20px 24px}.modal-footer.svelte-1u1idmy{padding:14px 24px}.tier-card.svelte-1u1idmy{padding:14px 16px}.tier-icon.svelte-1u1idmy{width:40px;height:40px}}.method-backdrop.svelte-1utfzea{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.method-modal.svelte-1utfzea{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-soft);width:100%;max-width:680px;max-height:85vh;padding:28px;overflow-y:auto}.method-header.svelte-1utfzea{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.method-header.svelte-1utfzea h3:where(.svelte-1utfzea){color:var(--text-primary);font-size:18px;font-weight:600}.method-close.svelte-1utfzea{border-radius:var(--radius-soft);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.method-close.svelte-1utfzea:hover{background:var(--bg-secondary);color:var(--text-primary)}.method-prose.svelte-1utfzea p:where(.svelte-1utfzea){color:var(--text-secondary);font-size:14px;line-height:1.7}.method-prose.svelte-1utfzea h4:where(.svelte-1utfzea){color:var(--text-primary);margin-top:22px;margin-bottom:8px;font-size:14px;font-weight:600}.method-section.svelte-1utfzea{margin-top:26px}.section-label.svelte-1utfzea{color:var(--text-muted);margin-bottom:12px;font-size:12px;font-weight:500}.link-list.svelte-1utfzea{flex-direction:column;gap:6px;display:flex}.link-row.svelte-1utfzea{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-secondary);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;transition:all .15s;display:flex}.link-row.svelte-1utfzea:hover{border-color:var(--accent);background:var(--bg-tertiary);color:var(--accent-text)}.link-text.svelte-1utfzea{flex-direction:column;gap:2px;min-width:0;display:flex}.link-title.svelte-1utfzea{color:var(--text-primary);font-size:13px;font-weight:600}.link-note.svelte-1utfzea{color:var(--text-muted);font-size:12px}@media (max-width:640px){.method-backdrop.svelte-1utfzea{padding:12px}.method-modal.svelte-1utfzea{max-height:90vh;padding:20px}}.roadmap-settings.svelte-o0dwbt{display:inline-flex;position:relative}.settings-trigger.svelte-o0dwbt{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:flex;position:relative}.settings-trigger.svelte-o0dwbt:hover,.settings-trigger[aria-expanded=true].svelte-o0dwbt{border-color:var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.active-dot.svelte-o0dwbt{border-radius:var(--radius-pill);background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);position:absolute;top:-3px;right:-3px}.sheet-backdrop.svelte-o0dwbt{display:none}.panel.svelte-o0dwbt{--wr-font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;z-index:30;border:1px solid var(--border);background:var(--bg-primary);width:min(460px,100vw - 32px);color:var(--text-primary);text-align:left;border-radius:8px;flex-direction:column;animation:.14s ease-out svelte-o0dwbt-panel-in;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 40px #0000004d}.panel.svelte-o0dwbt:focus{outline:none}.panel-header.svelte-o0dwbt{justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 0 16px;display:flex}.panel-header.svelte-o0dwbt h3:where(.svelte-o0dwbt){color:var(--text-primary);margin:0;font-size:15px;font-weight:650}.icon-button.svelte-o0dwbt{border-radius:var(--radius-soft);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.icon-button.svelte-o0dwbt:hover{background:var(--bg-tertiary);color:var(--text-primary)}.panel-body.svelte-o0dwbt{flex-direction:column;gap:20px;padding:8px 16px 20px;display:flex}.group.svelte-o0dwbt{flex-direction:column;gap:8px;min-width:0;display:flex}.group-head.svelte-o0dwbt{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.group-label.svelte-o0dwbt{letter-spacing:0;color:var(--text-secondary);margin:0;font-family:inherit;font-size:12px;font-weight:600}.hint.svelte-o0dwbt{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.text-button.svelte-o0dwbt{border-radius:var(--radius-tight);height:24px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;margin-right:-8px;padding:0 8px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.text-button.svelte-o0dwbt:hover{background:var(--bg-tertiary);color:var(--text-primary)}.segmented.svelte-o0dwbt{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-secondary);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segment.svelte-o0dwbt{border-radius:var(--radius-tight);min-width:0;min-height:28px;color:var(--text-secondary);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:background-color .15s,color .15s;display:inline-flex}.segment.svelte-o0dwbt:hover{background:var(--bg-tertiary);color:var(--text-primary)}.segment.active.svelte-o0dwbt{background:var(--accent);color:var(--on-accent)}.modes.svelte-o0dwbt .segment:where(.svelte-o0dwbt){flex-direction:column;gap:4px;min-height:44px}.segmented.svelte-o0dwbt:not(.modes){grid-auto-columns:auto;align-self:flex-start}.segmented.svelte-o0dwbt:not(.modes) .segment:where(.svelte-o0dwbt){padding:4px 12px}.status-field.svelte-o0dwbt{z-index:2;display:flex;position:relative;container-type:inline-size}.difficulty-field.svelte-o0dwbt{isolation:isolate;flex-direction:column;gap:0;margin-top:8px;display:flex}.difficulty-head.svelte-o0dwbt{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:24px;display:flex}.field-label.svelte-o0dwbt{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.help-button.svelte-o0dwbt{border-radius:var(--radius-tight);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.help-button.svelte-o0dwbt:hover{background:var(--bg-tertiary);color:var(--text-primary)}.difficulty-readout.svelte-o0dwbt{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 4px;margin-left:auto;font-size:12px;display:inline-flex}.readout-any.svelte-o0dwbt{color:var(--text-secondary);font-weight:600}.readout-to.svelte-o0dwbt{color:var(--text-muted)}.readout-cf.svelte-o0dwbt{color:var(--text-muted);font-variant-numeric:tabular-nums}.language-icon.svelte-o0dwbt{background:var(--language-color);width:16px;height:16px;-webkit-mask:var(--language-icon) center / contain no-repeat;-webkit-mask:var(--language-icon) center / contain no-repeat;mask:var(--language-icon) center / contain no-repeat;flex:0 0 16px;display:inline-block}.segment.active.svelte-o0dwbt .language-icon:where(.svelte-o0dwbt){background:currentColor}.panel-actions.svelte-o0dwbt{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.action.svelte-o0dwbt{border-radius:var(--radius-soft);height:34px;color:var(--text-secondary);align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.action.svelte-o0dwbt:hover{background:var(--bg-tertiary);color:var(--text-primary)}.panel-admin.svelte-o0dwbt{border-top:1px solid var(--border-subtle);background:color-mix(in srgb, var(--text-primary) 5%, transparent);border-radius:0 0 7px 7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.admin-label.svelte-o0dwbt{color:var(--text-muted);font-size:12px;font-weight:600}.admin-tools.svelte-o0dwbt{flex-wrap:wrap;gap:8px;display:flex}.tool.svelte-o0dwbt{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-primary);height:34px;color:var(--text-primary);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.tool.svelte-o0dwbt:hover{border-color:var(--border);background:var(--bg-tertiary)}@keyframes svelte-o0dwbt-panel-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes svelte-o0dwbt-sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes svelte-o0dwbt-backdrop-in{0%{opacity:0}}@media (max-width:640px){.sheet-backdrop.svelte-o0dwbt{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;animation:.2s ease-out svelte-o0dwbt-backdrop-in;display:block;position:fixed;inset:0}.panel.svelte-o0dwbt{z-index:1000;overscroll-behavior:contain;border-bottom:0;border-radius:12px 12px 0 0;width:auto;max-height:calc(100dvh - 48px);animation:.2s ease-out svelte-o0dwbt-sheet-in;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -16px 40px #0000004d}.difficulty-readout.svelte-o0dwbt{flex-basis:100%}.panel-actions.svelte-o0dwbt:last-child{padding-bottom:max(8px, env(safe-area-inset-bottom))}.panel-admin.svelte-o0dwbt{padding-bottom:max(12px, env(safe-area-inset-bottom));border-radius:0}}@media (prefers-reduced-motion:reduce){.panel.svelte-o0dwbt,.sheet-backdrop.svelte-o0dwbt{animation:none}}.algorithms-page.svelte-1qewoaf{max-width:1400px;min-height:100vh;margin:0 auto;padding:32px 48px 60px}.page-header.svelte-1qewoaf{margin-bottom:20px}.search-row.svelte-1qewoaf{flex:1;justify-content:flex-end;min-width:280px;margin-left:auto;display:flex}.header-row.svelte-1qewoaf{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.header-content.svelte-1qewoaf{flex:1;align-items:center;gap:40px;min-width:0;display:flex}.header-copy.svelte-1qewoaf{min-width:0}.page-header.svelte-1qewoaf h1:where(.svelte-1qewoaf){color:var(--text-primary);align-items:center;gap:12px;margin-bottom:8px;font-size:32px;font-weight:600;display:flex}.page-header.svelte-1qewoaf p:where(.svelte-1qewoaf){color:var(--text-secondary);margin:0;font-size:15px}.method-btn.svelte-1qewoaf{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-secondary);height:32px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.method-btn.svelte-1qewoaf:hover{border-color:var(--accent);background:var(--bg-tertiary);color:var(--accent-text)}.method-with-hint.svelte-1qewoaf{align-items:center;gap:8px;min-width:0;display:flex}.meta-row.svelte-1qewoaf{align-items:center;gap:12px;margin-top:18px;display:flex}.toolbar-left.svelte-1qewoaf{align-items:center;gap:8px;min-width:0;display:inline-flex}.tier-toggle.svelte-1qewoaf{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-soft);gap:2px;padding:2px;display:inline-flex}.tier-toggle-btn.svelte-1qewoaf{min-height:28px;color:var(--text-secondary);border-radius:var(--radius-tight);cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:4px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.tier-toggle-btn.svelte-1qewoaf:hover{color:var(--text-primary)}.tier-toggle-btn.active.svelte-1qewoaf{color:var(--on-accent)}.diff-modal-backdrop.svelte-1qewoaf{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diff-modal.svelte-1qewoaf{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-soft);width:100%;max-width:720px;max-height:85vh;padding:28px;overflow-y:auto}.diff-modal-header.svelte-1qewoaf{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.diff-modal-header.svelte-1qewoaf h3:where(.svelte-1qewoaf){color:var(--text-primary);font-size:18px;font-weight:600}.diff-modal-close.svelte-1qewoaf{border-radius:var(--radius-soft);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.diff-modal-close.svelte-1qewoaf:hover{background:var(--bg-secondary);color:var(--text-primary)}.diff-modal-desc.svelte-1qewoaf{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.roadmap-section.svelte-1qewoaf{width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow-x:clip}.graph-fullscreen-container.svelte-1qewoaf{min-height:calc(100vh - 200px);position:relative}.roadmap-guides-link.svelte-1qewoaf{border:1px solid var(--border-subtle);border-radius:var(--radius-soft);background:var(--bg-secondary);color:var(--text-primary);align-items:center;gap:14px;margin-top:48px;padding:16px 18px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.roadmap-guides-link.svelte-1qewoaf:hover{border-color:var(--border)}.roadmap-guides-link.svelte-1qewoaf svg:first-child{color:var(--accent-text);flex-shrink:0}.rgl-text.svelte-1qewoaf{flex-direction:column;gap:2px;min-width:0;display:flex}.rgl-text.svelte-1qewoaf strong:where(.svelte-1qewoaf){font-size:.98rem;font-weight:700}.rgl-text.svelte-1qewoaf span:where(.svelte-1qewoaf){color:var(--text-muted);font-size:.86rem;line-height:1.4}.roadmap-guides-link.svelte-1qewoaf .rgl-arrow{color:var(--text-muted);flex-shrink:0;margin-left:auto}@media (max-width:768px){.algorithms-page.svelte-1qewoaf{padding:24px 16px 40px}.page-header.svelte-1qewoaf h1:where(.svelte-1qewoaf){font-size:24px}.header-row.svelte-1qewoaf{flex-direction:column;align-items:flex-start;gap:14px}.header-content.svelte-1qewoaf{justify-content:space-between;align-items:flex-start;gap:12px;width:100%}.header-copy.svelte-1qewoaf{flex:1}.roadmap-section.svelte-1qewoaf{margin-top:4px}}@media (max-width:640px){.header-content.svelte-1qewoaf{align-items:center}.page-header.svelte-1qewoaf h1:where(.svelte-1qewoaf){gap:8px;font-size:22px}.page-header.svelte-1qewoaf p:where(.svelte-1qewoaf){font-size:14px;line-height:1.45}.meta-row.svelte-1qewoaf{flex-direction:column;align-items:stretch;gap:12px}.toolbar-left.svelte-1qewoaf{flex-wrap:wrap;row-gap:8px;width:100%}.search-row.svelte-1qewoaf{width:100%;min-width:0;margin-left:0}.tier-toggle.svelte-1qewoaf{flex:auto}.tier-toggle-btn.svelte-1qewoaf{flex:1}}@media (max-width:430px){.algorithms-page.svelte-1qewoaf{padding-inline:12px}}
