.app-shell{color:#e5edf7;background:#111827;flex-direction:column;min-height:100svh;display:flex}.project-nav{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07111ff5;border-bottom:1px solid #273248;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;top:0}.project-brand{color:#34d399;white-space:nowrap;align-items:center;gap:8px;font-size:.95rem;font-weight:850;text-decoration:none;display:inline-flex}.project-brand:hover{color:#6ee7b7}.project-links{align-items:center;gap:26px;font-size:.9rem;display:flex}.project-links a{color:#cbd5e1;text-decoration:none}.project-links a:hover{color:#34d399}.project-cta{color:#cbd5e1;white-space:nowrap;background:#161b22;border:1px solid #374151;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.8rem;font-weight:850;text-decoration:none;display:inline-flex}.project-cta:hover{color:#6ee7b7;border-color:#34d399}.app-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.toolbar{background:#111827;border-bottom:1px solid #263244;gap:10px;padding:14px 20px 12px;display:grid}.toolbar-copy{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.toolbar-copy h1{color:#fff;margin:0;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:900;line-height:1.1}.toolbar-copy p{color:#9ba8ba;max-width:62ch;margin:0;font-size:.88rem;font-weight:600}.toolbar-actions{align-items:center;gap:10px;display:flex}.toolbar-row{grid-template-columns:minmax(260px,1.2fr) minmax(320px,1fr);gap:10px;display:grid}.search-control{color:#93a4bb;background:#182235;border:1px solid #334158;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 10px 0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.search-control.compact{min-width:0}.search-control:disabled{cursor:not-allowed;opacity:.62}.search-control:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f629}.search-control input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font:.88rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.search-control input::placeholder{color:#77869a}.orientation-control{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.orientation-button{color:#9eb0c7;cursor:pointer;background:#152033;border:1px solid #314155;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 10px;font-size:.72rem;font-weight:850;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.orientation-button:hover{color:#eef5ff;background:#1a2740;border-color:#4b6385}.orientation-button.is-active{color:#fff;background:#21437d;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.orientation-button:active{transform:translateY(1px)}.orientation-button svg{flex:none}.orientation-button span{white-space:nowrap;min-width:0}.secondary-button-compact.is-active{color:#fff;background:#21437d;border-color:#3b82f6}.primary-button,.secondary-button,.icon-button{color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;line-height:1;transition:background-color .16s,transform .16s,border-color .16s;display:inline-flex}.primary-button,.secondary-button{white-space:nowrap;gap:8px;min-height:40px;padding:0 14px;font-size:.82rem}.primary-button{background:#2563eb;box-shadow:0 10px 20px #2563eb33}.primary-button:hover{background:#3b82f6}.secondary-button{background:#172133;border:1px solid #334158}.secondary-button:hover{background:#243047}.primary-button:active,.secondary-button:active,.icon-button:active{transform:translateY(1px)}.primary-button input,.secondary-button-file input{display:none}.icon-button{background:#273449;flex:none;width:30px;height:30px}.icon-button:hover{background:#37465e}.target-selector{gap:8px;min-width:0;display:grid}.target-selector-button{text-align:left;cursor:pointer;justify-content:flex-start;width:100%}.target-selector-button.is-active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f629}.target-selector-copy{text-align:left;min-width:0;display:grid}.target-selector-label{color:#9ba8ba;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:850}.target-selector-value{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:850;overflow:hidden}.toolbar-target-meta{color:#7f90a8;text-overflow:ellipsis;white-space:nowrap;min-height:18px;font:.76rem/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.target-switcher{align-content:start;gap:8px;min-width:0;display:grid}.target-switcher-label{color:#9ba8ba;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:850}.target-switcher-control,.target-switcher-current{background:#182235;border:1px solid #334158;border-radius:8px;align-items:center;min-height:40px;padding:0 12px;display:flex}.target-switcher-control select{color:#fff;background:0 0;border:0;outline:0;width:100%;font:.82rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.target-switcher-current{color:#fff;text-overflow:ellipsis;white-space:nowrap;font:.78rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.metrics-bar{background:#111827;border-bottom:1px solid #263244;flex:none;gap:clamp(18px,4vw,60px);padding:12px 20px;display:flex}.toolbar-scope{border-top:1px solid #243144;flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;display:flex}.toolbar-scope-label{color:#9ba8ba;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:850}.toolbar-scope-meta{color:#7f90a8;font-size:.76rem;font-weight:650}.scope-control{background:#152033;border:1px solid #314155;border-radius:8px;gap:6px;padding:4px;display:inline-flex}.scope-button{color:#9eb0c7;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:28px;padding:0 10px;font-size:.72rem;font-weight:850}.scope-button:hover{color:#eef5ff;background:#3b82f61f}.scope-button.is-active{color:#fff;background:#21437d}.folder-filter-popover{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a101cf5;border:1px solid #2e3a4e;border-radius:8px;width:min(420px,100vw - 32px);max-height:min(45vh,420px);position:absolute;top:12px;left:20px;overflow:hidden;box-shadow:0 18px 48px #00000059}.folder-filter-header{border-bottom:1px solid #243144;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 12px 10px;display:flex}.folder-filter-actions{border-bottom:1px solid #243144;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px;display:grid}.folder-filter-title{color:#fff;font-size:.82rem;font-weight:900}.folder-filter-subtitle{color:#9ba8ba;margin-top:3px;font-size:.72rem;line-height:1.4}.folder-filter-reset{color:#cbd5e1;cursor:pointer;background:#172133;border:1px solid #334158;border-radius:7px;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:850}.folder-filter-reset:disabled{opacity:.45;cursor:not-allowed}.folder-filter-action{color:#e5edf7;cursor:pointer;background:#172133;border:1px solid #334158;border-radius:7px;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:850}.folder-filter-action:hover:not(:disabled){background:#1a2740;border-color:#4b6385}.folder-filter-action:disabled{opacity:.45;cursor:not-allowed}.folder-filter-action-muted{color:#9ba8ba}.folder-filter-body{max-height:calc(min(45vh,420px) - 62px);padding:8px 6px 12px;overflow:auto}.link-position-popover{width:min(360px,100vw - 32px);max-height:min(48vh,420px)}.target-url-popover{width:min(540px,100vw - 32px)}.link-position-summary{color:#9ba8ba;border-bottom:1px solid #243144;padding:10px 12px 8px;font-size:.72rem;line-height:1.4}.filter-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.filter-option-grid-single{grid-template-columns:1fr}.filter-option-row{color:#d9e4f2;cursor:pointer;background:#172133c2;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:0 10px;display:grid}.filter-option-row:hover{background:#22334feb;border-color:#395071}.filter-option-row.is-active{background:#21437deb;border-color:#3b82f6}.filter-option-row input{accent-color:#3b82f6;width:14px;height:14px;margin:0}.filter-option-row span{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:750;overflow:hidden}.folder-filter-node{color:#d9e4f2}.folder-filter-row{border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:0 10px;display:grid}.folder-filter-row:hover{background:#3b82f614}.folder-filter-row.is-excluded{color:#7f90a8}.folder-filter-row.is-inherited{opacity:.72}.folder-filter-marker{color:#6b7d95;justify-content:center;align-items:center;width:14px;display:inline-flex}.folder-filter-label{align-items:center;gap:8px;min-width:0;font-size:.8rem;font-weight:750;display:inline-flex}.folder-filter-label input{accent-color:#3b82f6;width:14px;height:14px;margin:0}.folder-filter-label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.folder-filter-count{color:#9ba8ba;font-size:.7rem;font-weight:800}.folder-filter-children{margin-left:2px}.metric-label{letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:.65rem;font-weight:850}.metric-label-green{color:#2dd4bf}.metric-label-blue{color:#60a5fa}.metric-value{color:#fff;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:900;line-height:1}.canvas-panel{background-color:#111827;background-image:linear-gradient(#94a3b80b 1px,#0000 1px),linear-gradient(90deg,#94a3b80b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex:1;min-height:0;position:relative;overflow:hidden}.graph-canvas{cursor:grab;width:100%;height:100%;min-height:0;display:block}.graph-canvas:active{cursor:grabbing}.graph-node{cursor:pointer}.graph-node:hover .collapse-indicator{fill:#fff}.node-label{paint-order:stroke;pointer-events:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.node-label-halo{fill:none;stroke:#07111f;stroke-linejoin:round;stroke-width:5px}.label-name{fill:#eef5ff;font-size:14px;font-weight:800}.label-count{font-size:13px;font-weight:900}.label-count-tree{fill:#2dd4bf}.label-count-force{fill:#93c5fd}.collapse-indicator{fill:#dbe7f5;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;font-weight:900}.empty-state,.processing-overlay,.zero-state{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.empty-state{color:#66758a;text-align:center;flex-direction:column;gap:22px;padding:24px}.empty-state p{color:#7f8da1;max-width:620px;margin:0;font-size:1.12rem;font-weight:800}.processing-overlay{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#111827e6;font-size:1.35rem;font-weight:900}.processing-overlay div{animation:1s ease-in-out infinite pulse}.zero-state{pointer-events:none;color:#fecdd3;text-align:center;font-size:1.1rem;font-weight:850}.zero-state:before{content:"";background:#7f1d1d2e;border:1px solid #f43f5e47;border-radius:8px;width:min(540px,100% - 32px);height:72px;position:absolute}.zero-state{isolation:isolate;z-index:6}.tooltip{z-index:20;color:#fff;pointer-events:none;background:#172133;border:1px solid #475569;border-radius:8px;width:min(320px,100vw - 32px);padding:18px;position:fixed;box-shadow:0 24px 60px #00000057}.tooltip-kicker{letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:900}.tooltip-kicker-green{color:#2dd4bf}.tooltip-kicker-blue{color:#60a5fa}.tooltip-kicker-red{color:#fb7185}.tooltip-path{overflow-wrap:anywhere;color:#cbd5e1;margin-bottom:14px;font:800 .85rem/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tooltip-row{border-top:1px solid #303c50;justify-content:space-between;align-items:center;gap:18px;margin-top:11px;padding-top:11px;display:flex}.tooltip-row span{color:#9ba8ba;font-size:.86rem;font-weight:750}.tooltip-row strong{color:#fff;font:900 1.15rem/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.node-menu{z-index:40;background:#0a101cfa;border:1px solid #334155;border-radius:8px;min-width:240px;position:fixed;overflow:hidden;box-shadow:0 22px 60px #00000073}.node-menu-item{color:#e5edf7;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:.82rem;font-weight:800;display:flex}.node-menu-item:hover:not(:disabled){background:#3b82f629}.node-menu-item:disabled{color:#64748b;cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@media (width<=900px){.project-nav{padding:12px 16px}.project-links{display:none}.orientation-control{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{padding:12px 16px 10px}.toolbar-copy{flex-direction:column;align-items:flex-start}.toolbar-actions{flex-wrap:wrap}.toolbar-row,.filter-option-grid{grid-template-columns:1fr}.folder-filter-popover{width:calc(100vw - 32px);left:16px}.folder-filter-actions{grid-template-columns:1fr}.primary-button,.secondary-button{flex:220px}.metrics-bar{gap:16px;padding:10px 16px}}@media (width<=560px){.metrics-bar{flex-direction:column;align-items:stretch}.orientation-control{grid-template-columns:1fr}.toolbar-actions{flex-direction:column;align-items:stretch}.metric{justify-content:space-between;align-items:center;gap:18px;display:flex}.search-control{min-height:46px}}
