.file-tree { padding: 6px 10px 16px; font-size: .78rem; }
.file-tree ul { list-style: none; margin: 0; padding-left: 18px; }
.file-tree > ul { padding-left: 0; }
.file-tree-node { position: relative; }
.file-tree-row { display: flex; align-items: center; gap: 6px; padding: 5px 6px; border-radius: 6px; cursor: pointer; user-select: none; }
.file-tree-row:hover { background: #eef4fb; }
.file-tree-row[data-kind="file"] { cursor: default; }
.file-tree-row[data-kind="file"]:hover { background: transparent; }
.file-tree-toggle { display: inline-grid; place-items: center; width: 14px; height: 14px; color: #8190a2; transition: transform .15s ease; flex: none; }
.file-tree-node.is-open > .file-tree-row .file-tree-toggle { transform: rotate(90deg); }
.file-tree-row[data-kind="file"] .file-tree-toggle { visibility: hidden; }
.file-tree-icon { flex: none; width: 15px; height: 15px; display: grid; place-items: center; color: #6a93c9; }
.file-tree-row[data-kind="file"] .file-tree-icon { color: #8190a2; }
.file-tree-name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-tree-size { color: #8190a2; font-size: .66rem; flex: none; }
.file-tree-children { margin: 0; }
.file-tree-children[hidden] { display: none; }
.file-tree-status { padding: 4px 6px 4px 24px; color: #8190a2; font-size: .68rem; }
.file-tree-status.is-error { color: #c14545; }
