.ne-wrapper{width:100%}.ne-search{position:relative;margin-bottom:12px}.ne-search input{width:100%;height:44px;padding:0 16px;font-size:.9375rem;font-family:inherit;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s ease;box-sizing:border-box}.ne-search input:focus{border-color:var(--accent)}.ne-search-results{position:absolute;top:50px;left:0;right:0;z-index:400;max-height:280px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.ne-search-results.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.ne-search-row{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border)}.ne-search-row:last-child{border-bottom:none}.ne-search-row:hover,.ne-search-row.is-active{background:var(--bg)}.ne-search-row-photo,.ne-search-row-badge{width:32px;height:32px;border-radius:50%;flex-shrink:0}.ne-search-row-photo{object-fit:cover}.ne-search-row-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.ne-search-row-text{min-width:0;flex:1}.ne-search-row-name{font-size:.875rem;font-weight:500;color:var(--text-primary);line-height:1.3}.ne-search-row-sub{font-size:.6875rem;color:var(--text-tertiary)}.ne-search-empty{padding:14px;font-size:.8125rem;color:var(--text-tertiary);text-align:center}.ne{position:relative;width:100%;height:600px;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);user-select:none;cursor:grab;touch-action:none}.ne.is-panning{cursor:grabbing}.ne-w{position:absolute;top:0;left:0;transform-origin:0 0}.ne-g{position:absolute;top:0;left:0;width:6000px;height:6000px;background-image:radial-gradient(circle,rgba(0,0,0,.06) 1px,transparent 1px);background-size:24px 24px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ne-g{background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px)}}:root[data-theme=dark] .ne-g{background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px)}.ne-svg{position:absolute;top:0;left:0;width:6000px;height:6000px;pointer-events:none;z-index:1}.ne-edge{fill:none;stroke-width:1.6;opacity:.35;transition:opacity .18s ease,stroke-width .18s ease}.ne-edge.is-hi{opacity:1;stroke-width:2.4}.ne-edge.is-faded{opacity:.05}.ne-node{position:absolute;z-index:10;width:96px;border-radius:14px;overflow:visible;cursor:pointer;background:var(--bg-card);border:2px solid transparent;box-shadow:var(--shadow-sm);transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;padding:10px 8px 8px;text-align:center}.ne-node:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ne-node.is-grab{cursor:grabbing;z-index:100}.ne-node.is-dim{opacity:.18}.ne-node.is-focused{border-color:var(--accent);box-shadow:0 0 0 4px #0071e32e,var(--shadow-md);z-index:50}.ne-node-avatar-wrap{position:relative;width:56px;height:56px;margin:0 auto 6px}.ne-node-photo,.ne-node-badge{width:56px;height:56px;border-radius:50%;display:block}.ne-node-photo{object-fit:cover;border:2px solid var(--bg-card)}.ne-node-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;letter-spacing:-.02em;border:2px solid var(--bg-card)}.ne-node-cat-dot{position:absolute;width:14px;height:14px;border-radius:50%;bottom:0;right:0;border:2px solid var(--bg-card)}.ne-node-name{font-size:.75rem;font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:1px;word-break:break-word}.ne-node-name-sub{font-size:.625rem;font-weight:500;color:var(--text-tertiary);line-height:1.2}.ne-node-company{border-style:dashed}.ne-node-logo-wrap{width:56px;height:56px;margin:0 auto 6px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:9px;border:2px solid var(--border)}.ne-node-logo-img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ne-node-logo-img{filter:invert(1)}}:root[data-theme=dark] .ne-node-logo-img{filter:invert(1)}.ne-node-wordmark{font-size:.6875rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;text-align:center;line-height:1.1;word-break:break-word}.ne-edge-label{position:absolute;font-size:.625rem;padding:2px 7px;border-radius:4px;pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .18s ease;z-index:150;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary)}.ne-edge-label.is-show{opacity:1}.ne-detail{position:absolute;z-index:300;border-radius:14px;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;transform:translateY(6px);width:300px;max-height:80%;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md)}.ne-detail.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.ne-detail-h{padding:14px 16px;font-size:.9375rem;font-weight:600;display:flex;justify-content:space-between;align-items:center;color:#fff;border-radius:14px 14px 0 0}.ne-detail-name-en{font-size:.75rem;font-weight:500;opacity:.85;margin-top:2px}.ne-detail-cls{width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;line-height:1;background:#ffffff2e;color:#fff;flex-shrink:0;border:none;font-family:inherit}.ne-detail-cls:hover{background:#ffffff4d}.ne-detail-b{padding:14px 16px 16px;font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.ne-detail-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:500;margin-bottom:10px}.ne-detail-sec{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:12px 0 6px}.ne-detail-rel{padding:4px 0;font-size:.75rem;display:flex;gap:8px;align-items:baseline}.ne-detail-rline{width:14px;height:2px;border-radius:1px;flex-shrink:0;margin-top:6px}.ne-detail-rname{font-weight:500;color:var(--text-primary)}.ne-detail-rlabel{margin-left:auto;font-size:.6875rem;color:var(--text-tertiary);text-align:right}.ne-detail-link{display:inline-block;margin-top:12px;color:var(--accent);font-weight:500;font-size:.8125rem;text-decoration:none}.ne-detail-link:hover{text-decoration:underline}.ne-detail-companies{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ne-detail-pill{font-size:.6875rem;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.ne-toolbar{position:absolute;bottom:12px;right:12px;display:flex;gap:6px;z-index:200}.ne-toolbar button{border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:.8125rem;font-weight:500;cursor:pointer;background:var(--bg-card);color:var(--text-secondary);font-family:inherit;transition:background .2s ease,color .2s ease}.ne-toolbar button:hover{background:var(--bg);color:var(--text-primary)}.ne-toolbar button:active{transform:scale(.96)}.ne-hint{position:absolute;top:12px;left:14px;font-size:.6875rem;color:var(--text-tertiary);pointer-events:none;z-index:200;max-width:60%}.ne-legend{position:absolute;top:12px;right:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:240px;font-size:.6875rem;color:var(--text-secondary);z-index:200}.ne-legend-item{display:flex;align-items:center;gap:4px}.ne-legend-dot{width:8px;height:8px;border-radius:50%}.ne-focus-banner{position:absolute;bottom:12px;left:14px;z-index:200;display:none;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer}.ne-focus-banner.is-visible{display:flex}.ne-focus-banner:hover{color:var(--text-primary)}@media(max-width:640px){.ne{height:520px}.ne-detail{width:auto!important;inset:auto 8px 60px!important;max-height:60%}.ne-legend{font-size:.625rem;max-width:160px}.ne-hint{font-size:.625rem;max-width:50%}}
