body {
    font-family: sans-serif;
    padding: 2em;
}
input[type="text"] {
    width: 100%;
    padding: 0.5em;
    margin-bottom: 1em;
    font-size: 1em;
}
ul {
    list-style-type: none;
    padding-left: 1em;
}
li {
    margin: 0.2em 0;
}
.folder-label::before {
    content: '▶';
    display: inline-block;
    width: 1em;
    cursor: pointer;
}
.open > .folder-label::before {
    content: '▼';
}
.file {
    margin-left: 1.2em;
}
li ul {
    display: none;
}
li.open > ul {
    display: block;
}
.hidden {
    display: none !important;
}