@charset "UTF-8";
/* ==========================================================================
   sidebar-tree.css — the "Browse" tab page tree (Explorer-style boxes and
   dotted connectors, drawn in the token line colours).
   ========================================================================== */

.page-tree {
    padding: .25rem 0 1rem 5px;
}
.page-tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.page-tree > ul { padding: .3rem .75rem .3rem 1rem; }
.page-tree li { margin: 0; }
.page-tree .tree-item {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: .12rem .3rem .12rem 0;
}
#sidebar .page-tree .tree-item a {
    color: rgb(var(--c-fg-muted));
    font-size: .82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#sidebar .page-tree .tree-item a:hover { color: rgb(var(--c-fg)); }
#sidebar .page-tree li.active > .tree-item a {
    font-weight: 600;
    color: rgb(var(--c-accent));
}

.page-tree .tree-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    font-size: 11px;
    line-height: 1;
    font-family: var(--font-mono);
    color: rgb(var(--c-fg-muted));
    background: rgb(var(--c-surface));
    border: 1px solid rgb(var(--c-line-strong));
    border-radius: 3px;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
    position: relative;
    z-index: 1;
    transition: color .15s, border-color .15s;
}
.page-tree .tree-toggle:hover {
    color: rgb(var(--c-accent));
    border-color: rgb(var(--c-accent));
}
.page-tree .tree-toggle .mdi { display: none; }
.page-tree .tree-toggle::before { content: "\2212"; }
.page-tree li.collapsed > .tree-item .tree-toggle::before { content: "+"; }

.page-tree .tree-leaf {
    width: 14px;
    flex-shrink: 0;
}

/* ---- Connector lines ---- */
.page-tree li > ul { padding-left: 0; }
.page-tree li.collapsed > ul { display: none; }

.page-tree ul ul li {
    position: relative;
    padding-left: 16px;
}
.page-tree ul ul li::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 0;
    bottom: 0;
    border-left: 1px dotted rgb(var(--c-line-strong));
}
.page-tree ul ul li:last-child::before {
    bottom: auto;
    height: 12px;
}
.page-tree ul ul li::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 12px;
    width: 9px;
    border-top: 1px dotted rgb(var(--c-line-strong));
}
.page-tree ul ul li:not(.has-children)::after {
    width: 23px;
}
