.folder-container {
    background-color: var(--neutral-50);
    border-radius: 0.5rem;
}


.folder-item {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.5rem;
    border-radius: 0.25rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.folder-item:hover {
    background-color: var(--neutral-100);
}

.folder-item.active {
    background-color: rgba(22, 93, 255, 0.1);
    color: var(--primary);
}

.folder-icon {
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
}

.folder-text {
    font-size: 20px;
    font-weight: 500;
    margin-left: 1rem;
}

.file-item {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.5rem;
    border-radius: 0.25rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.file-item:hover {
    background-color: var(--neutral-100);
}

#nav_body .file-item.active {
    background-color: #d1d5db;
    color: #374151;
}

#nav_body .file-item.active .file-text {
    color: inherit;
}

.file-text {
    font-size: 16px;
    color: var(--neutral-600);
}

.file-icon {
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
    color: var(--neutral-400);
}

/* 自定义实心三角形展开图标 */
.expand-icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    margin-left: auto;
    position: relative;
    transition: transform 0.2s ease;
}

.expand-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 0;
    height: 0;
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
    border-left: 0.6rem solid var(--neutral-1000);
    transition: transform 0.2s ease;
}

.expand-icon.expanded::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.folder-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-in-out;
}

.folder-content.expanded {
    max-height: 1000px;
}

/* #nav_body: expanded panels must grow with nested opens (avoid scrollHeight + transition race with siblings like 控制) */
#nav_body .folder-content.expanded {
    max-height: none;
}

#nav_body .folder-content {
    transition: none;
}

.info-text {
    margin-top: 1.5rem;
    font-size: 0.75rem;
    color: var(--neutral-400);
}

.tree-line {
    border-left: 2px solid var(--neutral-200);
    margin-left: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

/* 为每个文件夹和文件添加左侧连接线 */
.folder-item, .file-item {
    position: relative;
}

.folder-item::before, .file-item::before {
    content: '';
    position: absolute;
    left: -1.5rem; /* 与缩进匹配 */
    top: 50%;
    width: 1rem;
    height: 1px;
    background-color: var(--neutral-200);
}

/* 最后一个文件夹/文件的左侧连接线不延伸 */
.tree-line > :last-child::before {
    width: 0.75rem;
}

/* 确保连接线在折叠时正确显示 */
.folder-content.expanded > .tree-line:last-child > :last-child::before {
    width: 0.75rem;
}

/* ===== 导航层级排版统一与左移优化 ===== */
#nav_body .folder-item,
#nav_body .file-item {
    padding: 0.32rem 0.38rem;
}

#nav_body .folder-icon,
#nav_body .file-icon {
    margin-right: 0.35rem;
}

/* 缩小树形缩进，让整体文字稍微左移 */
#nav_body .tree-line {
    margin-left: 0.56rem;
    padding-left: 1rem;
}

#nav_body .folder-item::before,
#nav_body .file-item::before {
    left: -1.05rem;
    width: 0.8rem;
}

/* 防止菜单文字换行，尽量单行展示 */
#nav_body .folder-text,
#nav_body .file-text {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.35;
}

/* 一级菜单：统一字号/字重 */
#nav_body > .folder-container > .folder-item > .folder-text {
    font-size: 18px;
    font-weight: 400;
    margin-left: 0.4rem;
}

/* 二级菜单（含可展开项与普通文件项）：统一字号/字重 */
#nav_body > .folder-container > .tree-line.folder-content > .file-item > .file-text,
#nav_body > .folder-container > .tree-line.folder-content > .sub-folder-container > .sub-folder-item .folder-text {
    font-size: 16px;
    font-weight: 400;
    margin-left: 0.22rem;
}

/* 三级菜单：统一字号/字重 */
#nav_body .sub-folder-content .third-file-item > .file-text {
    font-size: 14px;
    font-weight: 400;
    margin-left: 0.18rem;
}