*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{color:#d1d5db;-webkit-font-smoothing:antialiased;background:#0f0f13;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a4f}.mobile-block[data-v-6230a059]{background:#0f0f13;justify-content:center;align-items:center;width:100%;height:100%;padding:32px 24px;display:flex}.content[data-v-6230a059]{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:320px;display:flex}.icon[data-v-6230a059]{color:#a78bfa;opacity:.9;margin-bottom:4px}.title[data-v-6230a059]{color:#f0f0f5;font-size:24px;font-weight:700}.message[data-v-6230a059]{color:#e0e0e0;font-size:17px;font-weight:500;line-height:1.7}.submessage[data-v-6230a059]{color:#6b7280;font-size:14px;line-height:1.7}.url-badge[data-v-6230a059]{color:#a78bfa;letter-spacing:.03em;background:#a78bfa1f;border:1px solid #a78bfa4d;border-radius:20px;margin-top:8px;padding:8px 20px;font-family:monospace;font-size:13px;font-weight:500}.tree-node[data-v-877d3e39]{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:baseline;gap:6px;padding:3px 4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;display:flex;overflow:hidden}.tree-node[data-v-877d3e39]:hover{background:#ffffff0a}.tree-node.has-line[data-v-877d3e39]{cursor:pointer}.comment-text[data-v-877d3e39]{color:#6b7280;font-style:italic}.tree-include[data-v-877d3e39]{gap:6px}.include-icon[data-v-877d3e39]{font-size:12px}.include-kw[data-v-877d3e39]{color:#f59e0b;font-weight:600}.include-pattern[data-v-877d3e39]{color:#fcd34d}.directive-name[data-v-877d3e39]{color:#60a5fa;font-weight:600}.directive-value[data-v-877d3e39]{color:#d1d5db}.missing-semi[data-v-877d3e39]{color:#f59e0b;font-size:12px}.tree-block-header[data-v-877d3e39]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:6px;display:flex}.toggle-icon[data-v-877d3e39]{color:#4b5563;flex-shrink:0;width:12px;font-size:11px}.block-name[data-v-877d3e39]{color:#a78bfa;font-weight:700}.block-params[data-v-877d3e39]{color:#c4b5fd}.block-brace[data-v-877d3e39]{color:#4b5563}.summary[data-v-a9f05fa9]{flex-direction:column;gap:14px;display:flex}.card[data-v-a9f05fa9]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;overflow:hidden}.card-title[data-v-a9f05fa9]{color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;background:#1c1c26;border-bottom:1px solid #2a2a3a;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:700;display:flex}.vhost-header[data-v-a9f05fa9]{gap:8px}.vhost-name[data-v-a9f05fa9]{color:#d1d5db;text-transform:none;letter-spacing:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.port-badges[data-v-a9f05fa9]{flex-wrap:wrap;gap:4px;margin-left:2px;display:flex}.port-badge[data-v-a9f05fa9]{color:#a78bfa;text-transform:none;letter-spacing:0;background:#2a2a3a;border:1px solid #3a3a4f;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;font-weight:600}.port-badge-ssl[data-v-a9f05fa9]{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b66}.card-body[data-v-a9f05fa9]{flex-direction:column;gap:6px;padding:10px 14px;display:flex}.row[data-v-a9f05fa9]{align-items:baseline;gap:10px;font-size:13px;line-height:1.5;display:flex}.row.sub[data-v-a9f05fa9]{padding-left:14px}.key[data-v-a9f05fa9]{color:#60a5fa;flex-shrink:0;min-width:140px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.key-has-doc[data-v-a9f05fa9]{cursor:help;border-bottom:1px dashed #4b5563}.key-has-doc[data-v-a9f05fa9]:hover{color:#93c5fd;border-bottom-color:#60a5fa}.val[data-v-a9f05fa9]{color:#d1d5db;word-break:break-all}.val.mono[data-v-a9f05fa9]{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.val.muted[data-v-a9f05fa9]{color:#4b5563}.val-on[data-v-a9f05fa9]{color:#4ade80}.val-off[data-v-a9f05fa9]{color:#f87171}.val-ssl[data-v-a9f05fa9]{color:#f59e0b}.card-ssl[data-v-a9f05fa9]{border-color:#f59e0b4d}.card-title-ssl[data-v-a9f05fa9]{color:#f59e0b;background:#f59e0b14;border-bottom-color:#f59e0b33}.upstream[data-v-a9f05fa9]{flex-direction:column;gap:4px;display:flex}.upstream-name[data-v-a9f05fa9]{color:#a78bfa;margin-bottom:2px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;font-weight:700}.details-divider[data-v-a9f05fa9]{background:#2a2a3a;height:1px;margin:4px 0}.details-label[data-v-a9f05fa9]{color:#4b5563;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px;font-weight:600}.inc-icon[data-v-a9f05fa9]{flex-shrink:0;font-size:12px}.val-include[data-v-a9f05fa9]{color:#7dd3fc}.empty[data-v-a9f05fa9]{text-align:center;color:#4b5563;padding:40px 0;font-size:14px;line-height:1.8}.loc-view[data-v-7a5a2fe3]{flex-direction:column;gap:16px;display:flex}.empty[data-v-7a5a2fe3]{color:#4b5563;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 0;font-size:14px;display:flex}.server-block[data-v-7a5a2fe3]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;overflow:hidden}.server-header[data-v-7a5a2fe3]{color:#9ca3af;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1c1c26;border-bottom:1px solid #2a2a3a;align-items:center;gap:8px;padding:9px 14px;font-size:12px;transition:background .1s;display:flex}.server-header[data-v-7a5a2fe3]:hover{background:#22222e}.expand-icon[data-v-7a5a2fe3]{color:#6b7280;flex-shrink:0;width:12px;font-size:11px}.server-name[data-v-7a5a2fe3]{color:#a78bfa;font-family:monospace;font-weight:700}.server-listen[data-v-7a5a2fe3]{color:#6b7280;font-family:monospace;font-size:11px}.loc-count-badge[data-v-7a5a2fe3]{color:#7c3aed;background:#a78bfa1a;border:1px solid #a78bfa33;border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:600}.match-tester[data-v-7a5a2fe3]{background:#0f0f13;border-bottom:1px solid #2a2a3a;padding:10px 14px}.match-input-row[data-v-7a5a2fe3]{align-items:center;gap:6px;display:flex}.match-prefix[data-v-7a5a2fe3]{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-size:11px;font-weight:600}.match-input[data-v-7a5a2fe3]{color:#d1d5db;background:#16161d;border:1px solid #2a2a3a;border-radius:5px;outline:none;flex:1;padding:5px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;transition:border-color .15s}.match-input[data-v-7a5a2fe3]:focus{border-color:#a78bfa}.btn-test[data-v-7a5a2fe3]{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:5px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.btn-test[data-v-7a5a2fe3]:hover{background:#6d28d9}.btn-clear[data-v-7a5a2fe3]{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #2a2a3a;border-radius:5px;flex-shrink:0;padding:4px 8px;font-size:13px}.match-result[data-v-7a5a2fe3]{border-radius:5px;align-items:center;gap:6px;margin-top:7px;padding:5px 10px;font-size:12px;font-weight:500;display:flex}.match-hit[data-v-7a5a2fe3]{color:#4ade80;background:#4ade801a;border:1px solid #4ade8040}.match-miss[data-v-7a5a2fe3]{color:#fca5a5;background:#ef444414;border:1px solid #ef444433}.extracted-path[data-v-7a5a2fe3]{opacity:.7;margin-left:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.no-locations[data-v-7a5a2fe3]{color:#4b5563;padding:12px 14px;font-size:13px}.location-list[data-v-7a5a2fe3]{flex-direction:column;display:flex}.location-row[data-v-7a5a2fe3]{border-bottom:1px solid #1e1e28;padding:8px 14px;transition:background .1s}.location-row[data-v-7a5a2fe3]:last-child{border-bottom:none}.location-row[data-v-7a5a2fe3]:hover{background:#ffffff06}.location-row.has-line[data-v-7a5a2fe3]{cursor:pointer}.location-row.loc-matched[data-v-7a5a2fe3]{background:#4ade8012;border-left:3px solid #4ade80;padding-left:11px}.location-row.loc-duplicate[data-v-7a5a2fe3]{background:#fb923c0d}.loc-main[data-v-7a5a2fe3]{align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;display:flex}.modifier-badge[data-v-7a5a2fe3]{text-align:center;border:1px solid;border-radius:4px;flex-shrink:0;min-width:22px;padding:1px 5px;font-size:11px;font-weight:700;display:inline-block}.loc-path[data-v-7a5a2fe3]{color:#e5e7eb;word-break:break-all}.matched-tag[data-v-7a5a2fe3]{color:#4ade80;background:#4ade8026;border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 7px;font-family:sans-serif;font-size:11px;font-weight:600}.dup-tag[data-v-7a5a2fe3]{color:#fb923c;background:#fb923c26;border-radius:4px;flex-shrink:0;padding:1px 7px;font-family:sans-serif;font-size:11px;font-weight:600}.loc-meta[data-v-7a5a2fe3]{align-items:center;gap:10px;margin-top:3px;font-family:sans-serif;font-size:11px;display:flex}.eval-note[data-v-7a5a2fe3]{color:#6b7280}.modifier-label[data-v-7a5a2fe3]{font-weight:500}.loc-type-icon[data-v-7a5a2fe3]{flex-shrink:0;align-items:center;display:flex}.loc-icon-proxy[data-v-7a5a2fe3]{color:#60a5fa}.loc-icon-alias[data-v-7a5a2fe3]{color:#34d399}.loc-expand-btn[data-v-7a5a2fe3]{color:#a78bfa;cursor:pointer;background:0 0;border:1px solid #a78bfa40;border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.6;transition:color .1s,border-color .1s,background .1s}.loc-expand-btn[data-v-7a5a2fe3]:hover,.loc-expand-btn.active[data-v-7a5a2fe3]{color:#c4b5fd;background:#a78bfa1a;border-color:#a78bfa80}.loc-delete-btn[data-v-7a5a2fe3]{color:#f87171;cursor:pointer;background:0 0;border:1px solid #f8717140;border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.6;transition:color .1s,border-color .1s,background .1s}.loc-delete-btn[data-v-7a5a2fe3]:hover{color:#fca5a5;background:#f871711a;border-color:#f8717180}.loc-detail[data-v-7a5a2fe3]{background:#0f0f13;border:1px solid #2a2a3a;border-radius:6px;flex-direction:column;gap:5px;margin-top:8px;padding:8px 10px;display:flex}.loc-detail-row[data-v-7a5a2fe3]{align-items:baseline;gap:10px;font-size:12px;line-height:1.5;display:flex}.loc-detail-key[data-v-7a5a2fe3]{color:#60a5fa;flex-shrink:0;min-width:140px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.key-has-doc[data-v-7a5a2fe3]{cursor:help;border-bottom:1px dashed #4b5563}.key-has-doc[data-v-7a5a2fe3]:hover{color:#93c5fd;border-bottom-color:#60a5fa}.loc-detail-val[data-v-7a5a2fe3]{color:#d1d5db;word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.search-bar[data-v-7a5a2fe3]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.search-input[data-v-7a5a2fe3]{color:#d1d5db;background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:JetBrains Mono,monospace;font-size:12px}.search-input[data-v-7a5a2fe3]::placeholder{color:#3a3a4f}.search-count[data-v-7a5a2fe3]{color:#a78bfa;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.global-test-panel[data-v-7a5a2fe3]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;overflow:hidden}.global-input-wrap[data-v-7a5a2fe3]{background:#0f0f13;border-bottom:1px solid #2a2a3a;padding:10px 14px}.global-test-header[data-v-7a5a2fe3]{color:#a78bfa;text-transform:uppercase;letter-spacing:.06em;background:#1c1c26;border-bottom:1px solid #2a2a3a;padding:8px 14px;font-size:11px;font-weight:700}.global-results[data-v-7a5a2fe3]{flex-direction:column;gap:10px;padding:10px 14px;display:flex}.global-miss[data-v-7a5a2fe3]{color:#fca5a5;background:#ef444414;border:1px solid #ef444433;border-radius:6px;padding:6px 10px;font-size:13px}.global-hit[data-v-7a5a2fe3]{background:#4ade8012;border:1px solid #4ade8033;border-radius:6px;flex-direction:column;gap:4px;padding:8px 12px;font-size:12px;display:flex}.global-hit.has-line[data-v-7a5a2fe3]{cursor:pointer}.global-hit.has-line[data-v-7a5a2fe3]:hover{background:#a78bfa0d;border-color:#a78bfa33}.global-hit-server[data-v-7a5a2fe3]{color:#4ade80;align-items:center;gap:6px;font-weight:600;display:flex}.hl-server-name[data-v-7a5a2fe3]{color:#a78bfa;font-family:JetBrains Mono,monospace}.hl-listen[data-v-7a5a2fe3]{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px}.global-hit-detail[data-v-7a5a2fe3]{color:#9ca3af;padding-left:18px;font-family:sans-serif}.hl-loc-path[data-v-7a5a2fe3]{color:#60a5fa;font-family:JetBrains Mono,monospace}.legend[data-v-7a5a2fe3]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px;font-size:12px;display:flex}.legend-title[data-v-7a5a2fe3]{color:#6b7280;flex-shrink:0;font-weight:600}.legend-item[data-v-7a5a2fe3]{white-space:nowrap;align-items:center;gap:4px;display:flex}.legend-item code[data-v-7a5a2fe3]{font-family:monospace;font-size:12px;font-weight:700}.dir-tooltip{z-index:9999;background:#1c1c26;border:1px solid #3a3a4f;border-radius:8px;max-width:300px;padding:10px 13px;position:fixed;box-shadow:0 8px 24px #00000080}.dir-tooltip-desc{color:#d1d5db;margin-bottom:6px;font-size:12px;line-height:1.6}.dir-tooltip-default{color:#6b7280;margin-bottom:6px;font-size:11px}.dir-tooltip-default code{color:#c4b5fd;background:#2a2a3a;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.dir-tooltip-na{color:#4b5563;font-size:11px}.dir-tooltip-link{color:#a78bfa;font-size:11px;text-decoration:none;display:inline-block}.dir-tooltip-link:hover{text-decoration:underline}.delete-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-modal{background:#1c1c26;border:1px solid #3a3a4f;border-radius:12px;width:360px;overflow:hidden;box-shadow:0 20px 60px #000000b3}.delete-modal-header{color:#f87171;letter-spacing:.02em;background:#16161d;border-bottom:1px solid #2a2a3a;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:700;display:flex}.delete-modal-body{flex-direction:column;gap:10px;padding:18px 18px 14px;display:flex}.delete-modal-desc{color:#9ca3af;margin:0;font-size:13px}.delete-modal-path{color:#60a5fa;word-break:break-all;background:#0f0f13;border:1px solid #2a2a3a;border-radius:6px;padding:8px 12px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.delete-modal-warn{color:#6b7280;margin:0;font-size:11px}.delete-modal-actions{border-top:1px solid #2a2a3a;justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.delete-modal-cancel{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #2a2a3a;border-radius:6px;padding:7px 18px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.delete-modal-cancel:hover{color:#d1d5db;background:#2a2a3a}.delete-modal-confirm{color:#f87171;cursor:pointer;background:#f8717126;border:1px solid #f8717166;border-radius:6px;padding:7px 18px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.delete-modal-confirm:hover{color:#fca5a5;background:#f8717140;border-color:#f8717199}.diagram-wrap[data-v-8dfa0306]{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;padding:14px;display:flex}.empty[data-v-8dfa0306]{color:#4b5563;flex-direction:column;align-items:center;gap:12px;padding:60px 0;font-size:14px;display:flex}.diagram-toolbar[data-v-8dfa0306]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.toolbar-stat[data-v-8dfa0306]{color:#6b7280}.toolbar-legend[data-v-8dfa0306]{color:#6b7280;align-items:center;gap:14px;display:flex}.leg[data-v-8dfa0306]{align-items:center;gap:5px;display:flex}.leg-dot[data-v-8dfa0306]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.diagram-viewport[data-v-8dfa0306]{cursor:grab;-webkit-user-select:none;user-select:none;background:#0f0f17;border:1px solid #2a2a3a;border-radius:8px;flex:1;min-height:0;position:relative;overflow:hidden}.diagram-viewport.is-panning[data-v-8dfa0306]{cursor:grabbing}.toolbar-zoom[data-v-8dfa0306]{align-items:center;gap:4px;display:flex}.zoom-btn[data-v-8dfa0306]{color:#9ca3af;cursor:pointer;background:#2a2a3a;border:1px solid #3a3a4f;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:14px;line-height:1;display:flex}.zoom-btn[data-v-8dfa0306]:hover{color:#d1d5db;background:#3a3a4f}.zoom-reset[data-v-8dfa0306]{font-size:13px}.zoom-pct[data-v-8dfa0306]{color:#6b7280;text-align:center;min-width:36px;font-family:JetBrains Mono,monospace;font-size:11px}.diagram-stage[data-v-8dfa0306]{flex-shrink:0;position:relative}.stage-svg[data-v-8dfa0306]{z-index:1;position:absolute;top:0;left:0;overflow:visible}.conn-g[data-v-8dfa0306]{cursor:default}.conn-g.dimmed[data-v-8dfa0306]{pointer-events:none}.col-hdr[data-v-8dfa0306]{color:#4b5563;text-transform:uppercase;letter-spacing:.08em;text-align:center;z-index:3;font-size:11px;font-weight:700;position:absolute;top:4px}.dg-node[data-v-8dfa0306]{box-sizing:border-box;z-index:2;cursor:pointer;background:#16161d;border:1px solid #2a2a3a;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;transition:opacity .15s,box-shadow .15s;display:flex;overflow:hidden}.dg-node.is-active[data-v-8dfa0306]{opacity:1;box-shadow:0 0 0 2px #4ade8099}.dg-node.is-dimmed[data-v-8dfa0306]{opacity:.2}.srv-node[data-v-8dfa0306]{border-left:3px solid #4ade80}.srv-node.is-ssl[data-v-8dfa0306]{border-left-color:#f59e0b}.node-ports[data-v-8dfa0306]{flex-wrap:wrap;gap:4px;display:flex}.port-tag[data-v-8dfa0306]{color:#4ade80;background:#2a2a3a;border:1px solid #3a3a4f;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.port-tag.ssl[data-v-8dfa0306]{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b66}.node-names[data-v-8dfa0306]{flex-direction:column;gap:1px;display:flex}.srv-name[data-v-8dfa0306]{color:#d1d5db;white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:12px;overflow:hidden}.node-badges[data-v-8dfa0306]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.nbadge[data-v-8dfa0306]{color:#6b7280;font-size:10px}.bk-node[data-v-8dfa0306]{border-left:3px solid}.bk-type[data-v-8dfa0306]{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.bk-host[data-v-8dfa0306]{color:#d1d5db;word-break:break-all;font-family:JetBrains Mono,monospace;font-size:12px}.bk-members[data-v-8dfa0306]{border-top:1px solid #2a2a3a;flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;display:flex}.bk-member[data-v-8dfa0306]{color:#6b7280;font-family:JetBrains Mono,monospace;font-size:11px}.detail-panel[data-v-8dfa0306]{background:#16161d;border:1px solid #2a2a3a;border-radius:8px;padding:14px 16px;font-size:12px;position:relative}.dp-close[data-v-8dfa0306]{color:#4b5563;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px;line-height:1;position:absolute;top:10px;right:12px}.dp-close[data-v-8dfa0306]:hover{color:#9ca3af}.dp-head[data-v-8dfa0306]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding-right:24px;display:flex}.dp-names[data-v-8dfa0306]{flex-wrap:wrap;gap:6px;display:flex}.dp-name[data-v-8dfa0306]{color:#d1d5db;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.dp-ports[data-v-8dfa0306]{flex-wrap:wrap;gap:4px;display:flex}.dp-bk-badge[data-v-8dfa0306]{text-transform:uppercase;letter-spacing:.06em;color:#4ade80;background:#4ade801a;border:1px solid #4ade8040;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.dp-bk-host[data-v-8dfa0306]{color:#d1d5db;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.dp-section[data-v-8dfa0306]{margin-top:4px}.dp-section+.dp-section[data-v-8dfa0306]{border-top:1px solid #2a2a3a;margin-top:10px;padding-top:10px}.dp-section-title[data-v-8dfa0306]{text-transform:uppercase;letter-spacing:.07em;color:#4b5563;margin-bottom:6px;font-size:10px;font-weight:700}.dp-loc-row[data-v-8dfa0306]{border-bottom:1px solid #1e1e2a;align-items:center;gap:8px;padding:3px 0;display:flex}.dp-loc-row[data-v-8dfa0306]:last-child{border-bottom:none}.dp-loc-path[data-v-8dfa0306]{color:#93c5fd;flex-shrink:0;min-width:120px;font-family:JetBrains Mono,monospace}.dp-loc-badge[data-v-8dfa0306]{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700}.loc-proxy[data-v-8dfa0306]{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033}.loc-alias[data-v-8dfa0306]{color:#a78bfa;background:#a78bfa1a;border:1px solid #a78bfa33}.loc-static[data-v-8dfa0306]{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433}.loc-return[data-v-8dfa0306]{color:#f87171;background:#f871711a;border:1px solid #f8717133}.loc-other[data-v-8dfa0306]{color:#6b7280;background:#2a2a3a;border:1px solid #3a3a4f}.dp-loc-target[data-v-8dfa0306]{color:#6b7280;word-break:break-all;font-family:JetBrains Mono,monospace;font-size:11px}.dp-member[data-v-8dfa0306]{color:#6b7280;padding:2px 0;font-family:JetBrains Mono,monospace;font-size:11px}.dp-usedby-row[data-v-8dfa0306]{align-items:center;gap:8px;padding:3px 0;display:flex}.dp-usedby-name[data-v-8dfa0306]{color:#d1d5db;font-family:JetBrains Mono,monospace;font-size:12px}.srv-node.has-no-conn[data-v-8dfa0306]{opacity:.75;border-left-color:#4b5563}.nbadge-standalone[data-v-8dfa0306]{color:#4b5563;font-style:italic}.bk-upstream-toggle[data-v-8dfa0306]{cursor:pointer;color:#6b7280;justify-content:space-between;align-items:center;padding:2px 0;font-size:11px;display:flex}.bk-upstream-toggle[data-v-8dfa0306]:hover{color:#9ca3af}.toggle-icon[data-v-8dfa0306]{font-size:9px}.dp-loc-modifier[data-v-8dfa0306]{border-radius:4px;flex-shrink:0;align-items:center;gap:4px;min-width:96px;padding:2px 6px;font-size:10px;line-height:1.4;display:inline-flex}.mod-sym[data-v-8dfa0306]{text-align:center;flex-shrink:0;min-width:14px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.mod-lbl[data-v-8dfa0306]{letter-spacing:.01em;font-weight:600}.mod-exact[data-v-8dfa0306]{color:#f87171;background:#f871711a;border:1px solid #f8717140}.mod-prefix_priority[data-v-8dfa0306]{color:#fb923c;background:#fb923c1a;border:1px solid #fb923c40}.mod-regex_cs[data-v-8dfa0306]{color:#facc15;background:#facc151a;border:1px solid #facc154d}.mod-regex_ci[data-v-8dfa0306]{color:#fde047;background:#facc1512;border:1px solid #facc1533}.mod-prefix[data-v-8dfa0306]{color:#60a5fa;background:#60a5fa1a;border:1px solid #60a5fa33}.mod-named[data-v-8dfa0306]{color:#9ca3af;background:#6b72801a;border:1px solid #6b728033}.dp-fade-enter-active,.dp-fade-leave-active{transition:opacity .18s,transform .18s}.dp-fade-enter-from,.dp-fade-leave-to{opacity:0;transform:translateY(-6px)}.conn-tooltip{z-index:9999;pointer-events:none;background:#1c1c26;border:1px solid #3a3a4f;border-radius:8px;max-width:320px;padding:10px 13px;position:fixed;box-shadow:0 8px 24px #00000080}.ct-title{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700}.ct-path{color:#d1d5db;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.7}.layout[data-v-757bfb95]{background:#0f0f13;flex-direction:column;height:100vh;display:flex;overflow:hidden}.header[data-v-757bfb95]{background:#16161d;border-bottom:1px solid #2a2a3a;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.header-left[data-v-757bfb95]{align-items:center;gap:8px;display:flex}.logo-link[data-v-757bfb95]{align-items:center;gap:6px;text-decoration:none;display:flex}.logo-text[data-v-757bfb95]{color:#f0f0f5;letter-spacing:-.02em;font-size:15px;font-weight:700}.header-sep[data-v-757bfb95]{color:#3a3a4f;font-size:16px}.header-title[data-v-757bfb95]{color:#a78bfa;font-size:15px;font-weight:600}.help-btn[data-v-757bfb95]{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #2a2a3a;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.help-btn[data-v-757bfb95]:hover{color:#d1d5db;border-color:#3a3a4f}.main[data-v-757bfb95]{flex:1;gap:0;display:flex;overflow:hidden}.pane[data-v-757bfb95]{flex-direction:column;display:flex;overflow:hidden}.pane-left[data-v-757bfb95]{border-right:1px solid #2a2a3a;width:40%;min-width:280px}.pane-right[data-v-757bfb95]{flex:1}.pane-header[data-v-757bfb95]{background:#16161d;border-bottom:1px solid #2a2a3a;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.pane-label[data-v-757bfb95]{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.input-area[data-v-757bfb95]{resize:none;color:#d1d5db;background:#0f0f13;border:none;outline:none;flex:1;min-width:0;padding:14px 14px 14px 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.7;overflow:auto}.input-area[data-v-757bfb95]::placeholder{color:#3a3a4f}.input-editor-wrap[data-v-757bfb95]{background:#0f0f13;flex:1;display:flex;overflow:hidden}.line-gutter[data-v-757bfb95]{-webkit-user-select:none;user-select:none;background:#0f0f13;border-right:1px solid #1e1e2e;flex-shrink:0;width:44px;padding:14px 0;overflow:hidden}.ln[data-v-757bfb95]{text-align:right;color:#3a3a4f;padding-right:10px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.7;display:block}.input-footer[data-v-757bfb95]{background:#16161d;border-top:1px solid #2a2a3a;flex-shrink:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.stat-text[data-v-757bfb95]{color:#6b7280;font-size:12px}.btn-primary[data-v-757bfb95]{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.btn-primary[data-v-757bfb95]:hover{background:#6d28d9}.btn-ghost[data-v-757bfb95]{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #2a2a3a;border-radius:6px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s}.btn-ghost[data-v-757bfb95]:hover{color:#d1d5db;border-color:#3a3a4f}.error-box[data-v-757bfb95]{color:#fca5a5;background:#ef444414;border:1px solid #ef44444d;border-radius:8px;align-items:flex-start;gap:10px;margin:16px;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.error-box svg[data-v-757bfb95]{color:#ef4444;flex-shrink:0;margin-top:1px}.tabs[data-v-757bfb95]{border-bottom:1px solid #2a2a3a;flex-shrink:0;align-items:center;gap:2px;padding:8px 14px 0;display:flex}.tab[data-v-757bfb95]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.tab[data-v-757bfb95]:hover{color:#d1d5db}.tab.active[data-v-757bfb95]{color:#a78bfa;border-bottom-color:#a78bfa}.tabs-spacer[data-v-757bfb95]{flex:1}.copy-btn[data-v-757bfb95]{margin-bottom:8px}.tab-badge[data-v-757bfb95]{border-radius:8px;justify-content:center;align-items:center;min-width:18px;height:16px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.tab-badge-error[data-v-757bfb95]{color:#fca5a5;background:#ef444433}.tab-badge-warning[data-v-757bfb95]{color:#fde68a;background:#eab30833}.placeholder[data-v-757bfb95]{color:#3a3a4f;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;font-size:14px;line-height:1.7;display:flex}.output-area[data-v-757bfb95]{flex:1;padding:14px;overflow:auto}.formatted-area[data-v-757bfb95]{padding:0}.code-with-lines[data-v-757bfb95]{min-height:100%;padding:14px 0}.code-line[data-v-757bfb95]{align-items:baseline;padding:0 14px 0 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.7;display:flex}.code-line[data-v-757bfb95]:hover{background:#ffffff06}.line-num[data-v-757bfb95]{text-align:right;color:#3a3a4f;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:42px;padding:0 12px 0 14px;font-size:12px}.line-content[data-v-757bfb95]{white-space:pre;flex:1}.tree-area[data-v-757bfb95]{padding:10px 14px}.summary-area[data-v-757bfb95]{padding:14px}.diagram-area[data-v-757bfb95]{flex-direction:column;padding:0;display:flex;overflow:hidden}.indent-selector[data-v-757bfb95]{border:1px solid #2a2a3a;border-radius:6px;align-items:center;margin-bottom:8px;display:flex;overflow:hidden}.indent-btn[data-v-757bfb95]{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-right:1px solid #2a2a3a;padding:4px 9px;font-size:11px;font-weight:500;transition:background .1s,color .1s}.indent-btn[data-v-757bfb95]:last-child{border-right:none}.indent-btn[data-v-757bfb95]:hover{color:#d1d5db;background:#1c1c26}.indent-btn.active[data-v-757bfb95]{color:#a78bfa;background:#2a2a3a;font-weight:600}.find-bar[data-v-757bfb95]{color:#6b7280;background:#16161d;border-bottom:1px solid #2a2a3a;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;display:flex}.find-input[data-v-757bfb95]{color:#d1d5db;background:#0f0f13;border:1px solid #3a3a4f;border-radius:5px;outline:none;flex:1;min-width:0;max-width:240px;padding:3px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;transition:border-color .15s}.find-input[data-v-757bfb95]:focus{border-color:#a78bfa}.find-input[data-v-757bfb95]::placeholder{color:#3a3a4f}.find-count[data-v-757bfb95]{color:#6b7280;white-space:nowrap;text-align:center;min-width:52px;font-size:11px}.find-count-empty[data-v-757bfb95]{color:#ef4444}.find-nav[data-v-757bfb95]{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #2a2a3a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;transition:color .15s,border-color .15s;display:flex}.find-nav[data-v-757bfb95]:hover:not(:disabled){color:#d1d5db;border-color:#4b5563}.find-nav[data-v-757bfb95]:disabled{opacity:.35;cursor:default}.find-close[data-v-757bfb95]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:13px;line-height:1;transition:color .15s}.find-close[data-v-757bfb95]:hover{color:#d1d5db}.find-enter-active[data-v-757bfb95],.find-leave-active[data-v-757bfb95]{transition:opacity .12s,transform .12s}.find-enter-from[data-v-757bfb95],.find-leave-to[data-v-757bfb95]{opacity:0;transform:translateY(-4px)}.modal-backdrop[data-v-757bfb95]{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-757bfb95]{background:#1c1c26;border:1px solid #2a2a3a;border-radius:10px;flex-direction:column;width:580px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 20px 60px #0009}.modal-header[data-v-757bfb95]{border-bottom:1px solid #2a2a3a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2[data-v-757bfb95]{color:#f0f0f5;margin:0;font-size:15px;font-weight:700}.modal-close[data-v-757bfb95]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;transition:color .15s}.modal-close[data-v-757bfb95]:hover{color:#d1d5db}.modal-body[data-v-757bfb95]{color:#9ca3af;flex-direction:column;gap:16px;padding:20px;font-size:13px;line-height:1.7;display:flex;overflow-y:auto}.modal-body section h3[data-v-757bfb95]{color:#a78bfa;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:12px;font-weight:700}.modal-body p[data-v-757bfb95]{margin:0}.modal-body ul[data-v-757bfb95]{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.modal-body code[data-v-757bfb95]{color:#c4b5fd;background:#2a2a3a;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:12px}.modal-body strong[data-v-757bfb95]{color:#d1d5db;font-weight:600}.sample-dropdown-wrap[data-v-757bfb95]{position:relative}.sample-btn[data-v-757bfb95]{white-space:nowrap}.sample-menu[data-v-757bfb95]{z-index:100;background:#1c1c26;border:1px solid #2a2a3a;border-radius:7px;min-width:160px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.sample-item[data-v-757bfb95]{color:#d1d5db;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #2a2a3a;width:100%;padding:9px 14px;font-size:13px;transition:background .1s;display:block}.sample-item[data-v-757bfb95]:last-child{border-bottom:none}.sample-item[data-v-757bfb95]:hover{color:#a78bfa;background:#2a2a3a}.code-with-lines .hl-block{color:#a78bfa;font-weight:700}.code-with-lines .hl-key{color:#60a5fa}.code-with-lines .hl-value{color:#d1d5db}.code-with-lines .hl-param{color:#c4b5fd}.code-with-lines .hl-punct{color:#4b5563}.code-with-lines .hl-comment{color:#6b7280;font-style:italic}.code-with-lines .hl-include-kw{color:#f59e0b;font-weight:700}.code-with-lines .hl-include-path{color:#fcd34d}.code-with-lines .hl-warn{color:#f59e0b;font-size:11px}.search-hl{background:#eab30859;border-radius:2px}.search-hl-cur{background:#eab308bf;outline:1px solid #eab308}
