.project-tree{--tree-x: 1.05rem;--branch-y: 1.18rem;--detail-x: 3.15rem;margin-top:2.25rem;font-family:var(--mono);font-size:.88rem}.project-tree .tree-group+.tree-group{margin-top:1.35rem}.project-tree .tree-group{--group-accent: var(--accent)}.project-tree .tree-group[data-group=libraries]{--group-accent: var(--link)}.project-tree .tree-group[data-group=tools]{--group-accent: var(--color-group-tools)}.project-tree .tree-group[data-group=pi]{--group-accent: var(--color-group-pi)}.project-tree h2,.project-tree h2 button{margin:0;color:var(--group-accent);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.project-tree h2{display:inline-flex;gap:.4rem;align-items:center;scroll-margin-top:1.5rem}.project-tree h2 button{display:inline-flex;gap:.4rem;align-items:center;padding:0;border:0;background:transparent;cursor:pointer}.project-tree .group-anchor{color:var(--subtle);text-decoration:none;opacity:0;transition:color .16s ease,opacity .16s ease}.project-tree h2:hover .group-anchor,.project-tree h2:focus-within .group-anchor{opacity:.85}.project-tree .group-anchor:hover,.project-tree .group-anchor:focus-visible{color:var(--group-accent);opacity:1}.project-tree .group-anchor:focus-visible{outline:1px solid var(--group-accent);outline-offset:3px}.project-tree .group-icon{color:color-mix(in srgb,var(--group-accent) 78%,var(--subtle))}.project-tree h2 button:hover,.project-tree h2 button:focus-visible{color:var(--text)}.project-tree h2 button:focus-visible{outline:1px solid var(--group-accent);outline-offset:3px}.project-tree .tree-list{position:relative;list-style:none;margin:.55rem 0 0;padding:0}.project-tree .tree-list:before{content:"";position:absolute;left:var(--tree-x);top:0;bottom:var(--branch-y);width:1px;background:linear-gradient(var(--line-strong),var(--line-strong)) left top / 1px 100% no-repeat}.project-tree li{--active-path: repeating-linear-gradient( 180deg, color-mix(in srgb, var(--group-accent) 54%, var(--line-strong)) 0 3px, transparent 3px 6px );position:relative;margin:0;padding-left:var(--detail-x)}.project-tree li.path-before{background:var(--active-path) var(--tree-x) 0 / 1px 100% no-repeat;animation:project-tree-draw-path-through var(--path-through-ms) var(--path-delay) ease-out both}.project-tree li.path-all{background:var(--active-path) var(--tree-x) 0 / 1px 100% no-repeat;animation:project-tree-draw-path-through var(--path-through-all-ms) var(--path-delay) ease-out both}.project-tree li.path-active{background:var(--active-path) var(--tree-x) 0 / 1px var(--branch-y) no-repeat;animation:project-tree-draw-path-to-branch var(--path-to-branch-ms) var(--path-delay) ease-out both}.project-tree li:before{content:"";position:absolute;left:var(--tree-x);top:var(--branch-y);width:calc(var(--detail-x) - var(--tree-x) - .7rem);height:1px;background:var(--line-strong)}.project-tree li.open:before,.project-tree li.path-all:before{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--group-accent) 76%,var(--line-strong)) 0 3px,transparent 3px 6px);transform-origin:left center;animation:project-tree-draw-path-across var(--path-across-ms) calc(var(--path-delay) + var(--path-across-after-path-ms)) ease-out both}.project-tree li.path-all:before{animation-delay:calc(var(--path-delay) + var(--path-all-across-after-path-ms))}.project-tree li:last-child:after{content:"";position:absolute;left:var(--tree-x);top:calc(var(--branch-y) + 1px);bottom:0;width:1px;background:var(--bg)}.project-tree li>button{width:100%;min-height:2.35rem;display:grid;grid-template-columns:max-content minmax(2rem,1fr) max-content;gap:.65rem;align-items:baseline;padding:.45rem 0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.project-tree .node-dot{position:absolute;left:calc(var(--detail-x) - .72rem);top:calc(var(--branch-y) - .19rem);width:.38rem;height:.38rem;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg)}.project-tree li.open .node-dot{border-color:var(--group-accent);background:color-mix(in srgb,var(--group-accent) 10%,var(--bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--group-accent) 8%,transparent)}.project-tree li.has-activity .node-dot{border-color:transparent;background:color-mix(in srgb,var(--group-accent) var(--activity-dot-mix, 50%),var(--bg));box-shadow:none}.project-tree li.has-activity .name{color:color-mix(in srgb,var(--group-accent) var(--activity-name-mix, 35%),var(--text))}.project-tree li.has-activity>button:hover .name,.project-tree li.has-activity>button:focus-visible .name{color:var(--group-accent)}.project-tree li>button:hover .name,.project-tree li>button:focus-visible .name{color:var(--group-accent)}.project-tree li>button:focus-visible{outline:1px solid var(--group-accent);outline-offset:2px}.project-tree .name{font-weight:520}.project-tree .rule{border-bottom:1px solid var(--line);transform:translateY(-.25rem)}.project-tree .tag{color:var(--subtle);font-size:.78rem;opacity:.72;transition:color .22s ease,opacity .22s ease}.project-tree li.open .tag{color:var(--text);opacity:1}.project-tree .details{position:relative;margin:-.1rem 0 .75rem -.53rem;padding:.15rem 0 .15rem 1.05rem;color:var(--muted);font-size:.82rem}.project-tree .details:before{content:"";position:absolute;left:0;top:0;bottom:.72rem;width:1px;background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--group-accent) 54%,var(--line-strong)) 0 3px,transparent 3px 6px);transform-origin:top center;animation:project-tree-draw-detail-down var(--detail-down-ms) calc(var(--path-delay) + var(--detail-down-after-path-ms)) ease-out both}.project-tree dl{margin:0}.project-tree dl>div{position:relative;display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;margin:0;padding:.14rem 0}.project-tree dl>div:before{content:"";position:absolute;left:-1.05rem;top:.86rem;width:.7rem;height:1px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--group-accent) 50%,var(--line-strong)) 0 2px,transparent 2px 4px);transform-origin:left center;animation:project-tree-draw-detail-across var(--detail-across-ms) calc(var(--path-delay) + var(--detail-across-after-path-ms) + (var(--detail-row, 0) * var(--detail-row-stagger-ms))) ease-out both}.project-tree dl>div:last-child:after{content:"";position:absolute;left:-1.05rem;top:calc(.86rem + 1px);bottom:-.15rem;width:1px;background:var(--bg)}.project-tree dt{color:var(--subtle)}.project-tree dd{margin:0}.project-tree .links dd{display:flex;flex-wrap:wrap;gap:.65rem}.project-tree .links a{display:inline-flex;gap:.28rem;align-items:center;color:color-mix(in srgb,var(--group-accent) 78%,var(--text));text-decoration:none;transition:color var(--link-hover-ms) ease}.project-tree .links a svg{color:color-mix(in srgb,var(--group-accent) 65%,var(--subtle))}.project-tree .links a span{position:relative}.project-tree .links a span:after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:2px;background:color-mix(in srgb,var(--group-accent) 66%,transparent);transform:scaleX(0) translateZ(0);transform-origin:left center;transition:transform var(--link-underline-ms) ease}.project-tree .links a:hover,.project-tree .links a:focus-visible{color:var(--text)}.project-tree .links a:hover span:after,.project-tree .links a:focus-visible span:after{transform:scaleX(1) translateZ(0)}@keyframes project-tree-draw-path-through{0%{background-size:1px 0}to{background-size:1px 100%}}@keyframes project-tree-draw-path-to-branch{0%{background-size:1px 0}to{background-size:1px var(--branch-y)}}@keyframes project-tree-draw-path-across{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes project-tree-draw-detail-down{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes project-tree-draw-detail-across{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.project-tree li.path-before,.project-tree li.path-active,.project-tree li.path-all,.project-tree li.open:before,.project-tree li.path-all:before,.project-tree .details:before,.project-tree dl>div:before{animation:none}.project-tree .links a span:after{transition:none}}@media(max-width:640px){.project-tree{--tree-x: .75rem;--detail-x: 2.35rem}.project-tree li>button{grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:.5rem}.project-tree .name{min-width:0;overflow-wrap:anywhere}.project-tree .rule{display:none}.project-tree .tag{white-space:nowrap}.project-tree dl>div{grid-template-columns:1fr;gap:.1rem}}.project-tree-skeleton.svelte-1jwypqy{--tree-x: 1.05rem;--branch-y: 1.18rem;--detail-x: 3.15rem;margin-top:2.25rem;font-family:var(--mono);font-size:.88rem}.loading-copy.svelte-1jwypqy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tree-group.svelte-1jwypqy+.tree-group:where(.svelte-1jwypqy){margin-top:1.35rem}.tree-group.svelte-1jwypqy{--group-accent: var(--accent)}.tree-group[data-group=libraries].svelte-1jwypqy{--group-accent: var(--link)}.tree-group[data-group=tools].svelte-1jwypqy{--group-accent: var(--color-group-tools)}.tree-group[data-group=pi].svelte-1jwypqy{--group-accent: var(--color-group-pi)}h2.svelte-1jwypqy{margin:0}.group-heading.svelte-1jwypqy{display:inline-flex;gap:.4rem;align-items:center;color:var(--group-accent);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.group-caret.svelte-1jwypqy{color:color-mix(in srgb,var(--group-accent) 78%,var(--subtle));font-size:.72rem}.tree-list.svelte-1jwypqy{position:relative;list-style:none;margin:.55rem 0 0;padding:0}.tree-list.svelte-1jwypqy:before{content:"";position:absolute;left:var(--tree-x);top:0;bottom:var(--branch-y);width:1px;background:linear-gradient(var(--line-strong),var(--line-strong)) left top / 1px 100% no-repeat}li.svelte-1jwypqy{--active-path: repeating-linear-gradient( 180deg, color-mix(in srgb, var(--group-accent) 54%, var(--line-strong)) 0 3px, transparent 3px 6px );position:relative;margin:0;padding-left:var(--detail-x)}li.svelte-1jwypqy:before{content:"";position:absolute;left:var(--tree-x);top:var(--branch-y);width:calc(var(--detail-x) - var(--tree-x) - .7rem);height:1px;background:var(--line-strong)}li.svelte-1jwypqy:last-child:after{content:"";position:absolute;left:var(--tree-x);top:calc(var(--branch-y) + 1px);bottom:0;width:1px;background:var(--bg)}.node-row.svelte-1jwypqy{width:100%;min-height:2.35rem;display:grid;grid-template-columns:max-content minmax(2rem,1fr) max-content;gap:.65rem;align-items:center;padding:.45rem 0;color:var(--text)}.node-dot.svelte-1jwypqy{position:absolute;left:calc(var(--detail-x) - .72rem);top:calc(var(--branch-y) - .19rem);width:.38rem;height:.38rem;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg)}.rule.svelte-1jwypqy{border-bottom:1px solid var(--line)}.repo-placeholder.svelte-1jwypqy,.tag-placeholder.svelte-1jwypqy{display:inline-flex;gap:.22rem;align-items:center;align-self:center;color:color-mix(in srgb,var(--group-accent) 72%,var(--subtle))}.repo-placeholder.svelte-1jwypqy span:where(.svelte-1jwypqy){width:.38rem;height:.38rem;border:1px solid currentColor;border-radius:50%;background:var(--bg);opacity:.34;animation:svelte-1jwypqy-dot-pulse 1.35s ease-in-out infinite;animation-delay:calc(var(--dot-delay, 0ms) + var(--i, 0) * .11s)}.repo-placeholder.svelte-1jwypqy span:where(.svelte-1jwypqy):nth-child(2){--i: 1}.repo-placeholder.svelte-1jwypqy span:where(.svelte-1jwypqy):nth-child(3){--i: 2}.tag-placeholder.svelte-1jwypqy{min-width:2.8rem}@keyframes svelte-1jwypqy-dot-pulse{0%,80%,to{opacity:.24;transform:translateY(0)}35%{opacity:.82;transform:translateY(-.04rem)}}@keyframes svelte-1jwypqy-draw-path-to-branch{0%{background-size:1px 0}to{background-size:1px var(--branch-y)}}@keyframes svelte-1jwypqy-draw-path-across{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.repo-placeholder.svelte-1jwypqy span:where(.svelte-1jwypqy){animation:none}}@media(max-width:640px){.project-tree-skeleton.svelte-1jwypqy{--tree-x: .75rem;--detail-x: 2.35rem}.node-row.svelte-1jwypqy{grid-template-columns:max-content 1fr}.rule.svelte-1jwypqy{display:none}.tag-placeholder.svelte-1jwypqy{grid-column:1 / -1}}.lede.svelte-ljcr89{margin-top:2.25rem;color:var(--muted)}
