diff --git a/frontend/src/routes/study/sources/+page.svelte b/frontend/src/routes/study/sources/+page.svelte
index 99afa3c..a207f24 100644
--- a/frontend/src/routes/study/sources/+page.svelte
+++ b/frontend/src/routes/study/sources/+page.svelte
@@ -16,7 +16,7 @@
import { api } from '$lib/api';
import { addToast } from '$lib/stores/toast';
import {
- ChevronRight, ChevronDown, FolderOpen, BookOpen, ArrowLeft,
+ ChevronRight, ChevronDown, FolderOpen, BookOpen, ArrowLeft, FolderTree, X,
} from 'lucide-svelte';
import DocumentCard from '$lib/components/DocumentCard.svelte';
import EmptyState from '$lib/components/ui/EmptyState.svelte';
@@ -124,33 +124,98 @@
function toggleExpand(path) {
expanded[path] = !expanded[path];
}
+
+ // 모바일 트리 drawer
+ let mobileTreeOpen = $state(false);
+ function openTree() { mobileTreeOpen = true; }
+ function closeTree() { mobileTreeOpen = false; }
+ // 카테고리 선택 시 drawer 자동 닫기 (모바일)
+ function navigateAndClose(path) {
+ navigate(path);
+ mobileTreeOpen = false;
+ }
+
+ // 현재 경로 breadcrumb 분해
+ let crumbs = $derived(activePath ? activePath.split('/') : []);