:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--panel:#f3f4f6;--fg:#1f2328;--muted:#6b7280;--edge:#8a94a3;--line:#d8dce2;--error:#d1242f;--warn:#c77700;--accent:#0969da;--shadow:0 4px 16px #0000002e}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171c;--panel:#1d2128;--fg:#e6e8eb;--muted:#9aa3b0;--edge:#6d7787;--line:#2d333c;--error:#ff6b6b;--warn:#f0a63c;--accent:#58a6ff;--shadow:0 4px 16px #0009}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:13px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}#app{flex-direction:column;height:100%;display:flex}header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 14px;display:flex}h1{letter-spacing:.02em;margin:0;font-size:15px}.tabs{gap:2px;display:flex}.tab,.btn,.crumb,.toolbar-select{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 10px}.tab.active{background:var(--panel);border-color:var(--line);font-weight:600}.tab:hover,.btn:hover,.crumb:not(:disabled):hover{background:var(--panel)}.btn,.toolbar-select{border-color:var(--line);background:var(--bg)}.crumb:disabled{cursor:default;font-weight:600}.crumb-sep{color:var(--muted)}.summary{gap:6px;margin-left:auto;display:flex}.chip{background:var(--panel);border-radius:999px;padding:2px 10px}.sev-error{color:var(--error)}.sev-warn{color:var(--warn)}main{flex:1;min-height:0;display:flex}.stage{flex:1;min-width:0;position:relative}.pane{flex-direction:column;display:flex;position:absolute;inset:0}.pane[hidden]{display:none}.graph-page,.violations{flex-direction:column;flex:1;min-height:0;display:flex}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.crumbs{flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.map-host{flex:1;min-width:0;min-height:0}.viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block}.viewport:active{cursor:grabbing}.scope-frame{fill:none;stroke:var(--line);stroke-width:1.2px;stroke-dasharray:6 5}.cycle-frame{fill:color-mix(in srgb, var(--error) 7%, transparent);stroke:var(--error);stroke-width:1.5px}.cycle-label{fill:var(--error);font-size:10px;font-weight:600}.box,.nb-item,.port,.pkg-chip{cursor:pointer;outline:none;transition:opacity .12s}.box-rect,.nb-rect{fill:var(--panel);stroke:var(--line);stroke-width:1.2px}.kind-mod .box-rect{fill:var(--bg)}.kind-files .box-rect,.kind-folders .box-rect,.kind-more .nb-rect,.kind-packages .nb-rect{stroke-dasharray:4 3}.box:hover .box-rect,.box:focus-visible .box-rect,.nb-item:hover .nb-rect,.nb-item:focus-visible .nb-rect{stroke:var(--accent)}.box.selected .box-rect,.nb-item.selected .nb-rect{stroke:var(--accent);stroke-width:2.5px;fill:color-mix(in srgb, var(--accent) 14%, var(--panel))}.box-name{fill:var(--fg);font-size:12.5px;font-weight:600}.box-sub{fill:var(--muted);font-size:11px}.badge{font-size:11px;font-weight:700}text.sev-error{fill:var(--error)}text.sev-warn{fill:var(--warn)}.link{transition:opacity .12s}.link .line{fill:none;stroke:var(--edge);opacity:.6}.link .hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:pointer}.link.bad .line{stroke:var(--error);opacity:.85}.link.warn .line{stroke:var(--warn);opacity:.85}.link.type-only .line{stroke-dasharray:5 4}.link:hover .line,.link.lit .line{opacity:1}.link.selected .line{stroke:var(--accent);opacity:1}.arrow{fill:var(--edge)}.arrow-error{fill:var(--error)}.arrow-warn{fill:var(--warn)}.port-rect,.pkg-rect{fill:var(--bg);stroke:var(--line);stroke-width:1.2px}.port.folded .port-rect{stroke-dasharray:3 2}.port:hover .port-rect,.port:focus-visible .port-rect,.pkg-chip:hover .pkg-rect,.port.selected .port-rect{stroke:var(--accent)}.port-text,.pkg-text{fill:var(--fg);font-size:11px}.port-line{fill:none;stroke:var(--edge);opacity:.3;transition:opacity .12s}.port-line.lit{opacity:.9}.pkg-rect{fill:var(--panel)}.lane-title{fill:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.empty{fill:var(--muted);font-size:13px}.nb-label{fill:var(--fg);font-size:12px}.kind-more .nb-label,.kind-packages .nb-label{fill:var(--muted);font-style:italic}.nb-header{fill:var(--muted);font-size:11px}.nb-item.kind-header{cursor:default}.nb-item.focus .nb-rect{fill:var(--accent);stroke:var(--accent)}.nb-item.focus .nb-label{fill:var(--bg);font-weight:600}.nb-item.cyclic .nb-rect{stroke:var(--error);stroke-width:2.4px}.hovering .box:not(.lit),.hovering .nb-item:not(.lit),.hovering .port:not(.lit),.hovering .pkg-chip{opacity:.25}.hovering .link:not(.lit){opacity:.1}.hovering .port-line:not(.lit){opacity:.05}@keyframes scene-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.scene.enter{transform-origin:50%;transform-box:fill-box;animation:.22s ease-out scene-in}@media (prefers-reduced-motion:reduce){.scene.enter{animation:none}}.side{border-left:1px solid var(--line);background:var(--panel);width:340px;padding:0 14px 12px;overflow:auto}.side h2{word-break:break-all;margin:0 0 2px;font-size:15px}.side h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:12px}.path{color:var(--muted);word-break:break-all;margin-bottom:10px}.kv{gap:8px;display:flex}.k{width:90px;color:var(--muted);flex:none}.btn{margin:10px 0 0}ul.plain{margin:0;padding:0;list-style:none}.side li{word-break:break-all;padding:2px 0}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}.unused{color:var(--warn)}.muted{color:var(--muted)}.small{font-size:12px}.violations{overflow:auto}.groups{padding:4px 16px 24px;overflow:auto}.groups h3{margin:16px 0 6px}.groups li{border-radius:6px;gap:8px;padding:6px 8px;display:flex}.groups li.clickable{cursor:pointer}.groups li.clickable:hover{background:var(--panel)}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.search-trigger{width:280px;font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:8px;padding:4px 8px 4px 10px;display:flex}.search-trigger:hover{border-color:var(--edge)}.search-trigger-text{flex:1}kbd{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:2px 5px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.icon{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.palette-backdrop{z-index:40;background:#00000059;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--bg);border:1px solid var(--line);width:640px;max-width:92vw;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.palette-field{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-input{font:inherit;color:var(--fg);background:0 0;border:0;outline:0;flex:1;padding:12px 0;font-size:15px}.palette-list{max-height:50vh;padding:6px;overflow:auto}.palette-item{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.palette-item.active{background:color-mix(in srgb, var(--accent) 16%, transparent)}.palette-item .icon{color:var(--muted)}.palette-name{flex:none;font-weight:600}.palette-dir{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette-item .dot{margin-top:0}.palette-kind{font-size:11px}.palette-empty{padding:14px 8px}.palette mark{background:color-mix(in srgb, var(--warn) 32%, transparent);color:inherit;border-radius:2px}.palette-foot{border-top:1px solid var(--line);gap:14px;padding:6px 14px;display:flex}.tooltip{z-index:20;pointer-events:none;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;max-width:420px;padding:6px 10px;position:fixed;top:0;left:0}.tooltip[hidden]{display:none}.tip-title{word-break:break-all;font-weight:600}.tip-line{color:var(--muted)}[hidden]{display:none!important}.graph-body{flex:1;min-height:0;display:flex}.graph-host{flex-direction:column;flex:1;min-width:0;display:flex}.tree-pane{background:var(--panel);border-right:1px solid var(--line);flex:none;width:240px;overflow:auto}.tree-grip{cursor:col-resize;z-index:1;flex:none;width:4px;margin-left:-2px}.tree-grip:hover{background:var(--accent);opacity:.4}.tree-head{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 8px 4px 10px;font-size:11px;display:flex;position:sticky;top:0;left:0}.tree-head .tree-action{visibility:visible;border-radius:4px;padding:2px 4px;display:flex}.tree-head .tree-action:hover{background:color-mix(in srgb, var(--fg) 8%, transparent)}.tree{min-width:max-content;padding:4px 0}.tree-row{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;height:22px;padding-right:6px;display:flex}.tree-row:hover{background:color-mix(in srgb, var(--fg) 8%, transparent)}.tree-row.selected{background:color-mix(in srgb, var(--accent) 22%, transparent)}.tree:focus{outline:none}.tree:focus .tree-row.selected{background:color-mix(in srgb, var(--accent) 34%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.tree-row.is-focus .tree-name{font-weight:700}.tree-row.is-hidden .tree-name,.tree-row.is-hidden .tree-count{color:var(--muted);text-decoration:line-through}.tree-chevron{text-align:center;width:14px;color:var(--muted);flex:none}.tree-name{flex:1}.tree-count{color:var(--muted);font-size:11px}.tree-row .dot{color:var(--error);margin-top:0}.tree-action{font:inherit;color:var(--muted);cursor:pointer;visibility:hidden;background:0 0;border:0;padding:0 3px}.tree-row:hover .tree-action,.tree-row.is-focus .tree-action{visibility:visible}.tree-action:hover{color:var(--accent)}.toggle{color:var(--muted);margin:0;text-decoration:line-through}.toggle.on{color:var(--fg);background:color-mix(in srgb, var(--accent) 16%, var(--bg));border-color:var(--accent);text-decoration:none}.toolbar .btn{margin:0}.buttons{flex-wrap:wrap;gap:6px;display:flex}.help-pop{z-index:15;background:var(--bg);border:1px solid var(--line);width:420px;max-width:90%;max-height:80%;box-shadow:var(--shadow);border-radius:6px;padding:4px 14px 12px;position:absolute;top:44px;right:10px;overflow:auto}.help-pop h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 4px;font-size:12px}.help-pop .k{width:110px}.graph-page{position:relative}.toast{z-index:30;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;align-items:center;gap:12px;padding:8px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .btn{margin:0}details.group{margin:2px 0}details.group>summary{cursor:pointer;word-break:break-all;border-radius:4px;align-items:center;gap:6px;padding:3px 4px;list-style:none;display:flex}details.group>summary::-webkit-details-marker{display:none}details.group>summary:before{content:"▸";width:10px;color:var(--muted);flex:none}details.group[open]>summary:before{content:"▾"}details.group>summary:hover{background:color-mix(in srgb, var(--fg) 7%, transparent)}details.group>summary .icon{color:var(--muted)}details.group>summary .pill{margin-left:auto}details.group>ul{border-left:1px solid var(--line);margin:2px 0 6px 9px;padding-left:10px}.head{align-items:center;gap:8px;display:flex}.head .icon{width:16px;height:16px;color:var(--muted)}.pill{text-align:center;min-width:20px;color:var(--muted);background:color-mix(in srgb, var(--fg) 9%, transparent);border-radius:999px;flex:none;padding:0 6px;font-size:11px;line-height:16px}.badge{color:var(--muted);border:1px solid var(--line);border-radius:4px;flex:none;padding:0 5px;font-size:10px;line-height:14px}.badge.bad{color:var(--error);border-color:color-mix(in srgb, var(--error) 50%, transparent)}.side>:first-child:not(.side-top){margin-top:12px}.side-top{z-index:2;box-shadow:0 1px 0 var(--line);background:var(--panel);margin:0 -14px;padding:12px 14px 10px;position:sticky;top:0}.side-top .buttons{margin-bottom:14px}.seg{background:color-mix(in srgb, var(--fg) 8%, transparent);border-radius:8px;gap:2px;padding:2px;display:flex}.seg-tab{white-space:nowrap;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:4px 8px;display:flex}.seg-tab:hover{color:var(--fg)}.seg-tab.active{color:var(--fg);background:var(--bg);font-weight:600;box-shadow:0 1px 2px #00000026}.dep-body{margin-top:8px}.dep-tools{gap:6px;margin-bottom:6px;display:flex}.dep-tools .btn{white-space:nowrap;margin:0;padding:3px 8px}.dep-filter{min-width:0;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:6px;flex:1;padding:3px 8px}.dep-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.dep-row .icon{color:var(--muted)}.dep-row .dot{margin-top:0}.pair{display:block}.pair-to{color:var(--muted);padding-left:2px;display:block}@media (max-width:800px){.tree-pane,.tree-grip,.side,.summary{display:none}}
/*$vite$:1*/