.tree-lines{--row-pad:round(.55rem, 1px);--row-pad-y:round(.2rem, 1px);--row-gap:round(.45rem, 1px);--twist:round(.6em, 1px);--icon:round(1.55em, 2px);--stroke:3px;--tree-gap:round(.75rem, 1px);--rail:calc(var(--row-pad) + var(--twist) + var(--row-gap) + var(--icon) / 2 - 1px);--anchor:calc(var(--row-pad-y) + var(--icon) / 2 - 1px)}.tree-lines details{interpolate-size:allow-keywords;margin:0}.tree-lines details::details-content{block-size:0;transition:block-size var(--settle) var(--ease), content-visibility var(--settle) allow-discrete;overflow:hidden}.tree-lines details[open]::details-content{block-size:auto}.tree-lines .tree-row{align-content:flex-start;align-items:center;gap:0 var(--row-gap);padding:var(--row-pad-y) var(--row-pad);line-height:var(--icon);border-radius:var(--corner-chip);color:var(--text-soft);user-select:none;transition:background var(--quick) var(--ease);list-style:none;display:flex;position:relative}.tree-lines .tree-row::-webkit-details-marker{display:none}.tree-lines .icon-stack{width:var(--icon);height:var(--icon);transition:transform var(--quick) var(--ease);flex-shrink:0;position:relative}.tree-lines .row-icon{text-align:center;transition:opacity var(--quick) var(--ease), transform var(--settle) var(--ease);place-items:center;font-size:1.35em;line-height:1;display:grid;position:absolute;inset:0}.tree-lines .row-icon.closed{opacity:1;transform:scale(1)rotate(0)}.tree-lines .row-icon.open{opacity:0;transform:scale(.55)rotate(-16deg)}.tree-lines details[open]>.tree-row.folder .row-icon.open{opacity:1;transform:scale(1)rotate(0)}.tree-lines details[open]>.tree-row.folder .row-icon.closed{opacity:0;transform:scale(.55)rotate(14deg)}.tree-lines .row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-lines .tone-folder,.tree-lines .tone-nix{color:var(--blue)}.tree-lines .tone-lock{color:var(--orange)}.tree-lines .tone-image{color:var(--purple)}.tree-lines .tone-binary{color:var(--green)}.tree-lines .tone-link{color:var(--yellow)}.tree-lines .tone-text{color:var(--text-soft)}.tree-lines .tree-row.folder .row-name{font-weight:700}.tree-lines .twist{width:var(--twist);color:var(--text-faint);transition:transform var(--settle) var(--ease);flex-shrink:0}.tree-lines .twist.still{visibility:hidden}.tree-lines details[open]>.tree-row .twist{transform:rotate(90deg)scale(1.15)}.tree-lines .children{--tree-line:var(--tree-rail,var(--line));margin-left:var(--rail);padding-left:var(--tree-gap);position:relative}.tree-lines .children>.entry{position:relative}.tree-lines .children>.entry:before,.tree-lines .children>.entry:after,.tree-lines .entry[open]:has(>.children>.entry)>.tree-row:after{content:"";background:var(--tree-line);pointer-events:none;position:absolute}.tree-lines .children>.entry:before{top:0;bottom:0;left:calc(-1 * var(--tree-gap));width:var(--stroke)}.tree-lines .children>.entry:last-child:before{height:calc(var(--anchor) + var(--stroke));bottom:auto}.tree-lines .children>.entry:after{top:var(--anchor);left:calc(var(--stroke) - var(--tree-gap));width:calc(var(--tree-gap) - var(--stroke) + var(--row-pad) / 2);height:var(--stroke)}.tree-lines .entry[open]:has(>.children>.entry)>.tree-row:after{top:calc(var(--row-pad-y) + var(--icon));bottom:0;left:var(--rail);width:var(--stroke);background:var(--tree-rail,var(--line))}@keyframes tree-arrive{0%{opacity:0;translate:-9px -3px}}.tree-lines details[open]>.children>.entry>.tree-row>*,.tree-lines details[open]>.children>p{animation:tree-arrive var(--settle) var(--ease) backwards}.tree-lines details[open]>.children>:nth-child(2)>.tree-row>*{animation-delay:calc(var(--stagger) * 1)}.tree-lines details[open]>.children>:nth-child(3)>.tree-row>*{animation-delay:calc(var(--stagger) * 2)}.tree-lines details[open]>.children>:nth-child(4)>.tree-row>*{animation-delay:calc(var(--stagger) * 3)}.tree-lines details[open]>.children>:nth-child(5)>.tree-row>*{animation-delay:calc(var(--stagger) * 4)}.tree-lines details[open]>.children>:nth-child(6)>.tree-row>*{animation-delay:calc(var(--stagger) * 5)}.tree-lines details[open]>.children>:nth-child(n+7)>.tree-row>*{animation-delay:calc(var(--stagger) * 6)}@media (prefers-reduced-motion:reduce){.tree-lines .tree-row,.tree-lines .icon-stack,.tree-lines .row-icon,.tree-lines .twist,.tree-lines details::details-content{transition:none}.tree-lines details[open]>.children>.entry>.tree-row>*,.tree-lines details[open]>.children>p{animation:none}}
