six-degrees 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +4 -4
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import.html +1 -1
- package/.next/standalone/.next/server/app/import.rsc +1 -1
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.html +1 -1
- package/.next/standalone/.next/server/app/launch.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths.html +1 -1
- package/.next/standalone/.next/server/app/paths.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/profile.html +1 -1
- package/.next/standalone/.next/server/app/profile.rsc +1 -1
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.html +1 -1
- package/.next/standalone/.next/server/app/queue.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/scores.html +1 -1
- package/.next/standalone/.next/server/app/scores.rsc +1 -1
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +2 -2
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ezj4e0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_14iv_zy._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_212xw8q._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_217nddo._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_0i3fw_m._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +17 -4
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/0y1yms5kez2f3.js +1 -0
- package/.next/standalone/.next/static/chunks/14m1zu-8warte.js +1 -0
- package/.next/standalone/.next/static/chunks/1e1n0kkz-psdb.js +1 -0
- package/.next/standalone/.next/static/chunks/2_zu7rmb8flzl.js +2 -0
- package/.next/standalone/.next/static/chunks/38wwtni5e1ec1.js +31 -0
- package/.next/standalone/CHANGELOG.md +29 -0
- package/.next/standalone/app/components/FilterPanel.js +6 -0
- package/.next/standalone/app/components/ForceGraph.js +257 -39
- package/.next/standalone/app/components/GalaxyLab.js +275 -0
- package/.next/standalone/app/social/page.js +4 -16
- package/.next/standalone/lib/galaxy-export.js +152 -0
- package/.next/standalone/lib/galaxy-lab.js +296 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/static/chunks/0y1yms5kez2f3.js +1 -0
- package/.next/static/chunks/14m1zu-8warte.js +1 -0
- package/.next/static/chunks/1e1n0kkz-psdb.js +1 -0
- package/.next/static/chunks/2_zu7rmb8flzl.js +2 -0
- package/.next/static/chunks/38wwtni5e1ec1.js +31 -0
- package/CHANGELOG.md +29 -0
- package/lib/galaxy-export.js +152 -0
- package/lib/galaxy-lab.js +296 -0
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_08_03wh._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_08cfj2b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +0 -3
- package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +0 -1
- package/.next/standalone/.next/static/chunks/1ra4cwcp75tfa.js +0 -1
- package/.next/standalone/.next/static/chunks/2hvcevue9aro4.js +0 -1
- package/.next/standalone/.next/static/chunks/2p5yt1o9tnxjn.js +0 -2
- package/.next/standalone/.next/static/chunks/2uo9i03_05rqi.js +0 -18
- package/.next/standalone/.next/static/chunks/3yc3rzp4dxvyo.js +0 -1
- package/.next/static/chunks/0l1568qff0efj.js +0 -1
- package/.next/static/chunks/1ra4cwcp75tfa.js +0 -1
- package/.next/static/chunks/2hvcevue9aro4.js +0 -1
- package/.next/static/chunks/2p5yt1o9tnxjn.js +0 -2
- package/.next/static/chunks/2uo9i03_05rqi.js +0 -18
- package/.next/static/chunks/3yc3rzp4dxvyo.js +0 -1
- /package/.next/standalone/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_ssgManifest.js +0 -0
- /package/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_buildManifest.js +0 -0
- /package/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{VE8LeJXfD2H0_OgJxuJcm → -QUFjmCQWXW5PCoTA1G12}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81694,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(18566),i=e.i(40996),o=e.i(30215),l=e.i(28867),a=e.i(86106),s=e.i(19821);e.i(47716);var d=e.i(23685),c=e.i(57161),h=e.i(48708),p=e.i(21972),p=p,g=e.i(7394),g=g,u=e.i(36755),u=u,f=g,x=e.i(43079),y=e.i(77899),m=e.i(17983),b=e.i(52048),j=e.i(47560),w=e.i(36534),v=e.i(23731);function S(e,t,r){var n,i,o,l=(0,v.default)(.1);function a(e){for(var l=0,a=n.length;l<a;++l){var s=n[l],d=s.x-t||1e-6,c=s.y-r||1e-6,h=Math.sqrt(d*d+c*c),p=(o[l]-h)*i[l]*e/h;s.vx+=d*p,s.vy+=c*p}}function s(){if(n){var t,r=n.length;for(i=Array(r),o=Array(r),t=0;t<r;++t)o[t]=+e(n[t],t,n),i[t]=isNaN(o[t])?0:+l(n[t],t,n)}}return"function"!=typeof e&&(e=(0,v.default)(+e)),null==t&&(t=0),null==r&&(r=0),a.initialize=function(e){n=e,s()},a.strength=function(e){return arguments.length?(l="function"==typeof e?e:(0,v.default)(+e),s(),a):l},a.radius=function(t){return arguments.length?(e="function"==typeof t?t:(0,v.default)(+t),s(),a):e},a.x=function(e){return arguments.length?(t=+e,a):t},a.y=function(e){return arguments.length?(r=+e,a):r},a}var k=e.i(91889),z=e.i(561),C=e.i(90273),_=e.i(36377);let M=e=>()=>e;function R(e,{sourceEvent:t,subject:r,target:n,identifier:i,active:o,x:l,y:a,dx:s,dy:d,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:c}})}function $(e){return!e.ctrlKey&&!e.button}function F(){return this.parentNode}function B(e,t){return null==t?{x:e.x,y:e.y}:t}function W(){return navigator.maxTouchPoints||"ontouchstart"in this}function T(){var e,t,r,n,i=$,o=F,l=B,a=W,s={},c=(0,k.dispatch)("start","drag","end"),h=0,p=0;function g(e){e.on("mousedown.drag",u).filter(a).on("touchstart.drag",y).on("touchmove.drag",m,_.nonpassive).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(l,a){if(!n&&i.call(this,l,a)){var s=j(this,o.call(this,l,a),l,a,"mouse");s&&((0,d.select)(l.view).on("mousemove.drag",f,_.nonpassivecapture).on("mouseup.drag",x,_.nonpassivecapture),(0,C.default)(l.view),(0,_.nopropagation)(l),r=!1,e=l.clientX,t=l.clientY,s("start",l))}}function f(n){if((0,_.default)(n),!r){var i=n.clientX-e,o=n.clientY-t;r=i*i+o*o>p}s.mouse("drag",n)}function x(e){(0,d.select)(e.view).on("mousemove.drag mouseup.drag",null),(0,C.yesdrag)(e.view,r),(0,_.default)(e),s.mouse("end",e)}function y(e,t){if(i.call(this,e,t)){var r,n,l=e.changedTouches,a=o.call(this,e,t),s=l.length;for(r=0;r<s;++r)(n=j(this,a,e,t,l[r].identifier,l[r]))&&((0,_.nopropagation)(e),n("start",e,l[r]))}}function m(e){var t,r,n=e.changedTouches,i=n.length;for(t=0;t<i;++t)(r=s[n[t].identifier])&&((0,_.default)(e),r("drag",e,n[t]))}function b(e){var t,r,i=e.changedTouches,o=i.length;for(n&&clearTimeout(n),n=setTimeout(function(){n=null},500),t=0;t<o;++t)(r=s[i[t].identifier])&&((0,_.nopropagation)(e),r("end",e,i[t]))}function j(e,t,r,n,i,o){var a,d,p,u=c.copy(),f=(0,z.pointer)(o||r,t);if(null!=(p=l.call(e,new R("beforestart",{sourceEvent:r,target:g,identifier:i,active:h,x:f[0],y:f[1],dx:0,dy:0,dispatch:u}),n)))return a=p.x-f[0]||0,d=p.y-f[1]||0,function r(o,l,c){var x,y=f;switch(o){case"start":s[i]=r,x=h++;break;case"end":delete s[i],--h;case"drag":f=(0,z.pointer)(c||l,t),x=h}u.call(o,e,new R(o,{sourceEvent:l,subject:p,target:g,identifier:i,active:x,x:f[0]+a,y:f[1]+d,dx:f[0]-y[0],dy:f[1]-y[1],dispatch:u}),n)}}return g.filter=function(e){return arguments.length?(i="function"==typeof e?e:M(!!e),g):i},g.container=function(e){return arguments.length?(o="function"==typeof e?e:M(e),g):o},g.subject=function(e){return arguments.length?(l="function"==typeof e?e:M(e),g):l},g.touchable=function(e){return arguments.length?(a="function"==typeof e?e:M(!!e),g):a},g.on=function(){var e=c.on.apply(c,arguments);return e===c?g:e},g.clickDistance=function(e){return arguments.length?(p=(e*=1)*e,g):Math.sqrt(p)},g}R.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var E=e.i(36774);function I({x:e,y:t,k:r},n,i){return{x:e+(i.width-n.width)/2,y:t+(i.height-n.height)/2,k:r}}var A=e.i(48235);function D(e){let t=(2*Math.PI-1.6)/5;return Array.from({length:5},(r,n)=>{let i=-Math.PI/2+.16+n*(t+.32),o=t=>`${(e*Math.cos(t)).toFixed(2)} ${(e*Math.sin(t)).toFixed(2)}`;return{i:n,d:`M${o(i)} A${e} ${e} 0 0 1 ${o(i+t)}`}})}let L="#1abc9c",O="rgba(255,255,255,0.16)";var P=e.i(39160);let N=null,H=`
|
|
2
|
+
.lab-focus .gn:not(.lit), .lab-focus .gl:not(.lit) { opacity: 0.06; }
|
|
3
|
+
.lab-focus .gl.lit { stroke-opacity: 0.7; }
|
|
4
|
+
.lab-focus .dot-rings, .lab-focus .catalyst-ring { opacity: 0.15; }
|
|
5
|
+
.lab-find .gn:not(.found), .lab-find .gl:not(.found) { opacity: 0.07; }
|
|
6
|
+
.lab-find .gn.found { stroke: #fff; stroke-width: 2px; }
|
|
7
|
+
`;async function q(e,t,r){var n;let i,o,l,a,s=await ((i=(n=N.svg).cloneNode(!0)).setAttribute("xmlns","http://www.w3.org/2000/svg"),i.setAttribute("font-family",getComputedStyle(n).fontFamily||"system-ui, sans-serif"),(o=document.createElementNS("http://www.w3.org/2000/svg","style")).textContent=H,i.insertBefore(o,i.firstChild),l=new XMLSerializer().serializeToString(i),(a=new Image).src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(l)}`,a.decode().then(()=>a));e.fillStyle="#0a0a1a",e.fillRect(0,0,t,r),e.drawImage(s,0,0,t,r);let d=t/N.svg.clientWidth;e.save(),e.scale(d,d);let c=t/d,h=r/d,p=N.stamp();if(p){e.font="600 15px -apple-system, system-ui, sans-serif";let t=e.measureText(p).width;e.fillStyle="rgba(10,15,30,0.85)",e.beginPath(),e.roundRect?.(c/2-t/2-16,h-52,t+32,32,16),e.fill(),e.fillStyle="#e6edf5",e.textAlign="center",e.fillText(p,c/2,h-31)}e.textAlign="left",e.font="11px -apple-system, system-ui, sans-serif";let g=20;for(let[t,r]of N.legend())e.fillStyle=r,e.beginPath(),e.arc(g+4,h-24,4,0,2*Math.PI),e.fill(),e.fillStyle="#9aa",e.fillText(t,g+12,h-20),g+=20+e.measureText(t).width;e.textAlign="right",e.fillStyle="rgba(255,255,255,0.35)",e.fillText("Six Degrees",c-16,24),e.restore()}function Y(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(r),6e4)}let U=()=>new Date().toISOString().slice(0,10);function X(e){let t=Math.round(N.svg.clientWidth*e),r=Math.round(N.svg.clientHeight*e),n=document.createElement("canvas");return n.width=t,n.height=r,{canvas:n,ctx:n.getContext("2d"),w:t,h:r}}async function G(){if(!N)throw Error("Open the Galaxy first.");let{canvas:e,ctx:t,w:r,h:n}=X(2);await q(t,r,n),Y(await new Promise(t=>e.toBlob(t,"image/png")),`six-degrees-galaxy-${U()}.png`)}let V=()=>void 0!==window.MediaRecorder&&"u">typeof HTMLCanvasElement&&"function"==typeof HTMLCanvasElement.prototype.captureStream;async function K(){if(!N)throw Error("Open the Galaxy first.");if(!V())throw Error("This window can’t record video.");let{canvas:e,ctx:t,w:r,h:n}=X(1),i=["video/mp4;codecs=avc1","video/webm;codecs=vp9","video/webm","video/mp4"].find(e=>MediaRecorder.isTypeSupported(e));if(!i)throw Error("This window can’t record video.");await q(t,r,n);let o=new MediaRecorder(e.captureStream(12),{mimeType:i,videoBitsPerSecond:6e6}),l=[];o.ondataavailable=e=>{e.data.size&&l.push(e.data)};let a=new Promise(e=>{o.onstop=e});o.start(250),(0,P.pause)(),(0,P.setClock)({at:(0,P.clockNow)().min}),(0,P.play)();let s=!1;await new Promise(e=>{let i=setInterval(async()=>{if(!s){s=!0;try{await q(t,r,n)}finally{s=!1}(0,P.clockNow)().playing||(clearInterval(i),setTimeout(e,600))}},1e3/12)}),await q(t,r,n),o.stop(),await a;let d=i.startsWith("video/mp4")?"mp4":"webm";Y(new Blob(l,{type:i.split(";")[0]}),`six-degrees-replay-${U()}.${d}`)}function J(e){return String(e??"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}let Z="__center__";function Q(){return window.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1}let ee=`
|
|
8
|
+
@keyframes galaxy-ring-pulse {
|
|
9
|
+
0%, 100% { opacity: 0.5; transform: scale(1); }
|
|
10
|
+
50% { opacity: 1; transform: scale(1.12); }
|
|
11
|
+
}
|
|
12
|
+
.galaxy-ring-pulse { animation: galaxy-ring-pulse 1.8s ease-in-out infinite; }
|
|
13
|
+
.lab-focus .gn:not(.lit), .lab-focus .gl:not(.lit) { opacity: 0.06; }
|
|
14
|
+
.lab-focus .gl.lit { stroke-opacity: 0.7; }
|
|
15
|
+
.lab-focus .dot-rings, .lab-focus .catalyst-ring { opacity: 0.15; }
|
|
16
|
+
.lab-find .gn:not(.found), .lab-find .gl:not(.found) { opacity: 0.07; }
|
|
17
|
+
.lab-find .gn.found { stroke: #fff; stroke-width: 2px; }
|
|
18
|
+
@keyframes lab-pop { from { opacity: 0; } }
|
|
19
|
+
@media (prefers-reduced-motion: no-preference) { .lab-pop .gn, .lab-pop .gl { animation: lab-pop 0.5s ease-out; } }
|
|
20
|
+
@media (prefers-reduced-motion: reduce) {
|
|
21
|
+
.galaxy-ring-pulse { animation: none; opacity: 0.8; }
|
|
22
|
+
}`;function et(e,t){let r=d.select(e);Q()?r.interrupt("hover").attr("r",t):r.transition("hover").duration(150).ease(p.cubicOut).attr("r",t)}var u=u,g=g,f=g,er=e.i(5258);function en(e){return String(e??"").replace(/[&<>"']/g,e=>"&"===e?"&":"<"===e?"<":">"===e?">":'"'===e?""":"'")}let ei=(0,r.forwardRef)(function({connections:e=[],degree2:n=[],onSelect:i,userName:o="You",userImage:s=null,selectedId:c=null,mode:h="network"},p){let b=(0,r.useRef)(null),j=(0,r.useRef)(null),v=(0,r.useRef)(null),k=(0,r.useRef)(i),z=(0,r.useRef)(c),C=(0,r.useRef)(1),_=(0,r.useRef)(null),M=(0,r.useRef)(()=>{}),R=(0,r.useRef)(()=>{}),$=(0,r.useRef)(()=>{}),[F,B]=(0,r.useState)({w:0,h:0}),W=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),I=(0,r.useMemo)(()=>`${e.length}:${n.length}:${e.map(e=>e.id).join(",")}|${n.map(e=>e.id).join(",")}`,[e,n]),A=(0,r.useRef)({connections:e,degree2:n});(0,r.useImperativeHandle)(p,()=>({focusNode:e=>$.current(e)}),[]),(0,r.useEffect)(()=>{k.current=i},[i]),(0,r.useEffect)(()=>{A.current={connections:e,degree2:n}},[e,n]),(0,r.useEffect)(()=>{let e=b.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();B(e=>{let r=Math.round(t.width),n=Math.round(t.height);return e.w===r&&e.h===n?e:{w:r,h:n}})};t();let r=new ResizeObserver(t);return r.observe(e),window.addEventListener("resize",t),()=>{r.disconnect(),window.removeEventListener("resize",t)}},[]),(0,r.useEffect)(()=>{z.current=c,M.current(c)},[c]);let D=(0,l.default)(),L=(0,r.useRef)(D);return(0,r.useEffect)(()=>{L.current=D,R.current(D)},[D]),(0,r.useEffect)(()=>{let e=j.current;if(!e||F.w<40||F.h<40)return;let t=F.w,r=F.h,{connections:n,degree2:i}=A.current,l="degrees"===h,c=new Set(i.map(e=>e.source_connection_id).filter(Boolean)),p=l?n.filter(e=>c.has(e.id)):n,B=new Map(p.map(e=>[e.id,e])),I=i.filter(e=>e.source_connection_id&&B.has(e.source_connection_id)),D=new Set(p.map(e=>e.tier).filter(Boolean)),O=new Set(i.map(e=>e.source_connection_id).filter(Boolean)),P=new Set(O.size?p.filter(e=>O.has(e.id)).map(e=>e.id):[...p].sort((e,t)=>(Number(t.power_score)||0)-(Number(e.power_score)||0)).slice(0,14).map(e=>e.id)),N={id:"__user__",kind:"user",tier:null,r:26,targetRadius:0,connection:null,x:0,y:0,fx:0,fy:0},H={S:0,A:0,B:0,C:0,D:0},q=[],Y=new Map,U=new Map;for(let e of p){let t=e.tier||"D",r=(H[t]=(H[t]||0)+1,(H[t]-1)*2.399963),n=er.TIER_RING_RADIUS[t]||er.TIER_RING_RADIUS.D,i=P.has(e.id),o={id:e.id,kind:"d1",hub:i,tier:t,r:i?7+1.1*Number(e.power_score||0):4.5,targetRadius:n,connection:e,x:Math.cos(r)*n,y:Math.sin(r)*n};q.push(o),Y.set(e.id,o),U.set(e.id,r)}let X=new Map;for(let e of I){let t=e.source_connection_id,r=X.get(t);r?r.push(e):X.set(t,[e])}let G=[],V=[],K=er.TIER_RING_RADIUS.B+70;if(l){let e=new Map,t=new Set;for(let r of q){let n=r.connection?.unlocked_from_bridge_id;if(null==n||n===r.id||!Y.has(n))continue;t.add(r.id);let i=e.get(n);i?i.push(r):e.set(n,[r])}let r=q.filter(e=>!t.has(e.id)),n=new Set,i=t=>{for(let r of e.get(t.id)||[])n.has(r.id)||(n.add(r.id),i(r))};for(let e of(r.forEach(i),q))t.has(e.id)&&!n.has(e.id)&&r.push(e);let o=new Map,l=(t,r=new Set)=>{if(o.has(t.id))return o.get(t.id);if(r.has(t.id))return 0;r.add(t.id);let n=X.get(t.id)?.length||0;for(let i of e.get(t.id)||[])n+=1+l(i,r);return r.delete(t.id),o.set(t.id,n),n},a=[...r].sort((e,t)=>l(t)-l(e)),s=Math.max(140,9*Math.max(1,a.length)),d=e=>Math.sqrt(l(e)+4),c=a.reduce((e,t)=>e+d(t),0)||1,h=(t,r,i,o,a)=>{let s=[...(X.get(t.id)||[]).map(e=>({c:e})),...(e.get(t.id)||[]).filter(e=>n.has(e.id)).map(e=>({added:e,c:e.connection}))].sort((e,t)=>(Number(t.c?.power_score)||0)-(Number(e.c?.power_score)||0)),d=a>2,c=d?8:9,p=[],g=0,u=o;for(;g<s.length;){let e=Math.max(1,Math.floor(u*i/c)),n=s.slice(g,g+e);n.forEach((e,o)=>{let s=r+(1===n.length?0:(o/(n.length-1)-.5)*i),c=Math.cos(s)*u,h=Math.sin(s)*u;if(e.added){let t=e.added;t.x=t.fx=c,t.y=t.fy=h,t.hub=!1,t.added=!0,t.r=5+Math.min(5,l(t)/60),p.push({d:t,a:s});return}let g={id:e.c.id,kind:"d2",depth:a,tier:e.c.tier||"D",r:(d?1.3:1.8)+Math.min(10,Number(e.c.power_score)||0)*(d?.24:.32),connection:e.c,x:c,y:h};g.fx=g.x,g.fy=g.y,G.push(g),t.added&&V.push({source:t,target:g,faint:!0})}),g+=n.length,u+=c}let f=u,x=p.filter(({d:e})=>a<6&&l(e)).sort((e,t)=>e.a-t.a);if(x.length){let e=u+24,t=10/e,n=x.map(({d:t})=>Math.max(.12,8*Math.min(l(t),60)/e)),o=n.reduce((e,t)=>e+t,0)+t*(x.length-1),s=o>i?i/o:1,d=r-o*s/2;x.forEach(({d:r},i)=>{let o=n[i]*s;f=Math.max(f,h(r,d+o/2,o,e,a+1)),d+=o+t*s})}return f},p=-Math.PI/2;a.forEach(e=>{let t=d(e)/c*Math.PI*2,r=p+t/2;p+=t;let n=Math.min(.88*t,1.6);e.x=e.fx=Math.cos(r)*s,e.y=e.fy=Math.sin(r)*s,e.hub=!0,e.r=9+Math.min(10,(X.get(e.id)?.length||0)/40),K=Math.max(K,h(e,r,n,s+e.r+16,2)+10)})}for(let[e,t]of l?[]:X){let r=Y.get(e);if(!r)continue;let n=U.get(e)??0,i=r.targetRadius,o=Math.min(.15,1.5/Math.max(1,t.length));t.forEach((e,l)=>{let a=n+(l-(t.length-1)/2)*o,s=i+46+l%3*13,d={id:e.id,kind:"d2",tier:e.tier||"D",r:3.5,targetRadius:i+60,connection:e,x:Math.cos(a)*s,y:Math.sin(a)*s};G.push(d),V.push({source:d,target:r})})}let J=[N,...q,...G],Z=[...G,...q,N],Q=(0,d.select)(e);Q.selectAll("*").remove();let ee=Q.append("defs"),et=ee.append("radialGradient").attr("id","og-user-grad");et.append("stop").attr("offset","0%").attr("stop-color","#f8fafc"),et.append("stop").attr("offset","55%").attr("stop-color","#c7d2fe"),et.append("stop").attr("offset","100%").attr("stop-color","#818cf8"),ee.append("filter").attr("id","og-blur").attr("x","-75%").attr("y","-75%").attr("width","250%").attr("height","250%").append("feGaussianBlur").attr("stdDeviation",6);let ei=Q.append("g").attr("class","viewport"),eo=ei.append("g"),el=ei.append("g"),ea=ei.append("g"),es=ei.append("g"),ed=q.filter(e=>e.hub),ec=el.selectAll("line").data(ed,e=>e.id).join("line").attr("stroke",e=>er.TIER_COLORS[e.tier]||er.TIER_COLORS.D).attr("stroke-opacity",.09).attr("stroke-width",.5);if(l&&q.length){let e=Math.hypot(q[0].x,q[0].y);eo.append("circle").attr("r",e).attr("fill","none").attr("stroke","#FF6B35").attr("stroke-opacity",.18).attr("stroke-width",1).attr("stroke-dasharray","3 7")}for(let e of l?[]:er.TIER_ORDER)D.has(e)&&eo.append("circle").attr("r",er.TIER_RING_RADIUS[e]).attr("fill","none").attr("stroke",er.TIER_COLORS[e]).attr("stroke-opacity",.14).attr("stroke-width",1).attr("stroke-dasharray","3 7");let eh=ea.selectAll("line").data(V).join("line").attr("stroke",e=>e.faint?"rgba(0,255,136,0.12)":"rgba(255,255,255,0.08)").attr("stroke-width",e=>e.faint?.5:1),ep=es.selectAll("g").data(Z,e=>e.id).join("g").attr("cursor","pointer");ep.each(function(e){let t=(0,d.select)(this);if("d2"===e.kind){t.attr("opacity",l?e.depth>2?.6:.85:.55),t.append("circle").attr("class","og-base").attr("r",e.r).attr("fill",er.TIER_COLORS[e.tier]||er.TIER_COLORS.D);return}let r="user"===e.kind,n=e.connection,i=r?"#818cf8":er.TIER_COLORS[e.tier]||er.TIER_COLORS.D;if(!r&&!e.hub){t.attr("opacity",e.added?1:.75),t.append("circle").attr("class","og-base").attr("r",e.r).attr("fill",i).attr("stroke",e.added?"#00ff88":"none").attr("stroke-width",1.5*!!e.added);return}(r||"S"===e.tier||"A"===e.tier)&&t.append("circle").attr("r",1.8*e.r).attr("fill",i).attr("opacity",.25).attr("filter","url(#og-blur)"),n&&n.is_catalyst&&(t.append("circle").attr("r",e.r+3).attr("fill","none").attr("stroke",er.TIER_COLORS.S).attr("stroke-width",1).attr("stroke-opacity",.9),t.append("text").text("⚡").attr("x",.85*e.r).attr("y",-(.7*e.r)).attr("font-size",9).attr("text-anchor","middle").style("pointer-events","none")),t.append("circle").attr("class","og-base").attr("r",e.r).attr("fill",r?"url(#og-user-grad)":i);let a=r?o:n?.name??"";t.append("text").attr("class","og-initials").text((0,er.initialsFor)(a)).attr("text-anchor","middle").attr("dy","0.35em").attr("font-size",.8*e.r).attr("font-weight",700).attr("fill","#0b0b16").style("pointer-events","none");let c=(0,E.localPhoto)(r?s:n?.profile_image_url);if(c){let r=`og-clip-${String(e.id).replace(/[^a-zA-Z0-9_-]/g,"_")}`;ee.append("clipPath").attr("id",r).append("circle").attr("r",e.r),t.append("image").attr("href",c).attr("x",-e.r).attr("y",-e.r).attr("width",2*e.r).attr("height",2*e.r).attr("clip-path",`url(#${r})`).attr("preserveAspectRatio","xMidYMid slice").on("error",function(){(0,d.select)(this).remove()})}t.append("circle").attr("class","og-sel").attr("r",e.r+5).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.5).style("opacity",0),r?t.append("text").text(o).attr("y",e.r+18).attr("text-anchor","middle").attr("font-size",12).attr("font-weight",600).attr("fill","#e2e8f0").attr("paint-order","stroke").attr("stroke","rgba(5,5,16,0.85)").attr("stroke-width",3).style("pointer-events","none"):t.append("text").attr("class","og-label").text(n?.name??"").attr("y",e.r+13).attr("text-anchor","middle").attr("font-size",10).attr("fill","#cbd5e1").attr("paint-order","stroke").attr("stroke","rgba(5,5,16,0.8)").attr("stroke-width",3).style("pointer-events","none").style("opacity",0).style("transition","opacity 160ms ease")});let eg=ep.select("text.og-label"),eu=null,ef=()=>{eg.style("opacity",e=>+(!0===e.hub||C.current>1.1||e.id===eu||e.id===z.current))};ep.on("click",(e,t)=>{e.defaultPrevented||(e.stopPropagation(),k.current?.(t.connection))}),Q.on("click",()=>k.current?.(null));let ex=v.current,ey=e=>{let t=b.current;if(!ex||!t)return;let r=t.getBoundingClientRect();ex.style.left=`${Math.min(e.clientX-r.left+14,r.width-190)}px`,ex.style.top=`${Math.max(e.clientY-r.top-8,8)}px`};W||ep.on("mouseenter",(e,t)=>{eu=t.id,ef(),((e,t)=>{if(!ex||!t.connection)return;let r=t.connection,n=[r.role||r.headline,r.company].filter(Boolean).map(String);ex.innerHTML=`<div style="font-weight:600;color:#f1f5f9">${en(r.name)}</div>`+(n.length?`<div style="color:#94a3b8;margin-top:1px">${en(n.join(" · "))}</div>`:"")+`<div style="margin-top:3px;color:${er.TIER_COLORS[r.tier]||er.TIER_COLORS.D}">`+`${en(r.tier||"?")} \xb7 power ${Number(r.power_score||0).toFixed(1)}`+`${r.is_catalyst?" · ⚡ catalyst":""}</div>`,ex.style.opacity="1",ey(e)})(e,t)}).on("mousemove",e=>ey(e)).on("mouseleave",()=>{eu=null,ef(),ex&&(ex.style.opacity="0")});let em=()=>{eh.attr("x1",e=>e.source.x??0).attr("y1",e=>e.source.y??0).attr("x2",e=>e.target.x??0).attr("y2",e=>e.target.y??0),ec.attr("x1",0).attr("y1",0).attr("x2",e=>e.x??0).attr("y2",e=>e.y??0),ep.attr("transform",e=>`translate(${e.x??0},${e.y??0})`)},eb=null;if(W||l)em();else{let e=(0,x.forceSimulation)(J).force("radial",S(e=>e.targetRadius,0,0).strength(e=>.9*("d1"===e.kind))).force("collide",(0,w.forceCollide)(e=>e.r+2.5)).force("charge",(0,m.forceManyBody)().strength(-18)).on("tick",em);V.length>0&&e.force("link",(0,y.forceLink)(V).distance(26).strength(.7)),eb=e,em();let t=T().on("start",(t,r)=>{t.active||e.alphaTarget(.3).restart(),r.fx=r.x,r.fy=r.y}).on("drag",(e,t)=>{t.fx=e.x,t.fy=e.y}).on("end",(t,r)=>{t.active||e.alphaTarget(0),(r.connection?.circle_power===null||r.connection?.circle_power===void 0)&&(r.fx=null,r.fy=null)});ep.filter(e=>"d1"===e.kind).call(t),ep.on("dblclick",(t,r)=>{"d1"===r.kind&&(t.stopPropagation(),r.fx=null,r.fy=null,e.alphaTarget(.2).restart(),window.setTimeout(()=>e.alphaTarget(0),400))})}let ej=(0,u.default)().scaleExtent([.15,3]).on("zoom",e=>{ei.attr("transform",e.transform.toString()),e.sourceEvent&&(_.current=e.transform),e.transform.k!==C.current&&(C.current=e.transform.k,ef())});Q.call(ej).on("dblclick.zoom",null);let ew=Math.max(.15,Math.min(3,Math.min(t,r)/(2*K))),ev=_.current??g.identity.translate(t/2,r/2).scale(ew);Q.call(ej.transform,ev),M.current=e=>{es.selectAll("circle.og-sel-temp").remove(),ep.select("circle.og-sel").style("opacity",t=>+(t.id===e)),ep.select("circle.og-base").attr("r",t=>t.id===e&&"user"!==t.kind?t.r+1.5:t.r),e&&ep.filter(t=>t.id===e&&!t.hub&&"user"!==t.kind).append("circle").attr("class","og-sel-temp").attr("r",e=>e.r+3).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.2),ef()},M.current(z.current),R.current=e=>{es.selectAll("circle.og-asked").remove(),ep.filter(t=>"d2"===t.kind&&(0,a.hasRequest)(t.connection,e)).append("circle").attr("class","og-asked").attr("r",e=>e.r+2.2).attr("fill","none").attr("stroke","#FFD700").attr("stroke-width",1).attr("stroke-dasharray","2 1.6").style("pointer-events","none")},R.current(L.current);let eS=new Map(Z.map(e=>[e.id,e]));return $.current=n=>{let i=eS.get(n);if(!i)return;let o=i.x??0,l=i.y??0,a=(0,f.default)(e),s=g.identity.translate(t/2,r/2).scale(2.5).translate(-o,-l),d=performance.now(),c=e=>{let t=Math.min(1,(e-d)/650),r=1-Math.pow(1-t,3);ej.transform(Q,g.identity.translate(a.x+(s.x-a.x)*r,a.y+(s.y-a.y)*r).scale(a.k+(s.k-a.k)*r)),t<1&&requestAnimationFrame(c)};requestAnimationFrame(c),window.setTimeout(()=>ej.transform(Q,s),730),k.current?.(i.connection),z.current=n,M.current(n);let h=es.append("circle").attr("cx",o).attr("cy",l).attr("r",i.r+2).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",2).attr("opacity",.9),p=performance.now(),u=e=>{let t=Math.min(1,(e-p)/700);h.attr("r",i.r+2+26*t).attr("opacity",.9*(1-t)),t<1?requestAnimationFrame(u):h.remove()};requestAnimationFrame(u),window.setTimeout(()=>h.remove(),800)},()=>{eb?.stop(),M.current=()=>{},R.current=()=>{},$.current=()=>{},Q.on(".zoom",null),Q.on("click",null),Q.selectAll("*").remove()}},[I,o,s,W,F,h]),(0,t.jsxs)("div",{ref:b,style:{position:"relative",flex:1,minHeight:0,width:"100%"},children:[(0,t.jsx)("svg",{ref:j,style:{display:"block",height:"100%",width:"100%",touchAction:"none",userSelect:"none"},role:"img","aria-label":"Your network as an orbital galaxy — closer orbits are higher-leverage tiers"}),(0,t.jsx)("div",{ref:v,"aria-hidden":!0,style:{position:"absolute",zIndex:20,maxWidth:190,pointerEvents:"none",padding:"6px 10px",fontSize:11.5,lineHeight:1.45,borderRadius:8,background:"rgba(10,10,26,0.92)",border:"1px solid rgba(255,255,255,0.12)",backdropFilter:"blur(8px)",opacity:0,transition:"opacity 150ms ease",left:0,top:0}})]})});var eo=e.i(22016),el=e.i(7214);let ea=e=>e?.unlock_status==="pending";function es(e=[],t=[]){let r=new Map;for(let e of t||[]){let t=e?.source_connection_id;if(null==t)continue;let n=r.get(t);n||r.set(t,n=[]),n.push(e)}let n=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let r=n.get(e);r||n.set(e,r=[]),r.push(t)}return{circles:r,introduced:n}}let ed={connected:0,requested:1},ec=(e,t)=>(ed[e.state]??2)-(ed[t.state]??2)||(0,el.score1)(t.row)-(0,el.score1)(e.row)||String(e.row.name||"").localeCompare(String(t.row.name||"")),eh=(e,t,r)=>Math.min(r,Math.max(t,e)),ep=2*Math.PI;function eg(e,t,r){if(e<=0)return 1;let n=r*e;return Math.max(1,r>=ep-1e-9?Math.floor(n/t):Math.floor(n/t)+1)}function eu(e,t,r,n){let i=[],o=0;for(let l=t;o<e;l+=r)i.push(l),o+=eg(l,r,n);return i}let ef=(e,t,r,n)=>{let i=eu(e,t,r,n);return i[i.length-1]};function ex(e,{inner:t,outer:r,spacing:n,minSpacing:i=n/3,innerMin:o=t,start:l=-Math.PI/2,sweep:a=ep}={}){let s=Math.max(0,Math.floor(e)||0);if(!s)return{spacing:n,inner:t,rings:[],points:[]};let d=n,c=t;if(ef(s,c,d,a)>r)if(ef(s,o,d,a)<=r){let e=o,n=t;for(let t=0;t<24;t++){let t=(e+n)/2;ef(s,t,d,a)<=r?e=t:n=t}c=e}else{let e=i,t=n;if(ef(s,c=o,e,a)<=r)for(let n=0;n<24;n++){let n=(e+t)/2;ef(s,c,n,a)<=r?e=n:t=n}d=e}let h=eu(s,c,d,a),p=h.map(e=>eg(e,d,a)),g=p.reduce((e,t)=>e+t,0),u=p.map(e=>Math.min(e,Math.floor(s*e/g))),f=s-u.reduce((e,t)=>e+t,0);for(;f>0;){let e=-1;for(let t=0;t<p.length;t++)u[t]<p[t]&&(e<0||p[t]-u[t]>p[e]-u[e])&&(e=t);u[e]++,f--}let x=a>=ep-1e-9,y=[],m=[];return h.forEach((e,t)=>{let r=u[t];if(!r)return;m.push({radius:e,count:r});let n=x?ep/r:r>1?a/(r-1):0,i=x?l+(t%2?n/2:0):r>1?l:l+a/2,o=x?null:function(e){let t=Math.floor((e-1)/2),r=t+1,n=[t--];for(;n.length<e;)r<e&&n.push(r++),n.length<e&&t>=0&&n.push(t--);return n}(r);for(let t=0;t<r;t++){let r=i+(o?o[t]:t)*n;y.push({x:e*Math.cos(r),y:e*Math.sin(r),angle:r,ring:m.length-1})}}),{spacing:d,inner:c,rings:m,points:y}}function ey(e,t){return Math.max(1.4,Math.min(7,.42*e*("S"===t?1:"A"===t?.86:"B"===t?.72:.6)))}let em=["S","A","B","C","D"];var eb=e.i(64666);let ej={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ew={1:"#FFD700",2:"#FF6B35",3:"#3498DB",4:"#9B59B6",5:"#00ff88",6:"#ff5050"},ev={S:0,A:1,B:2,C:3,D:4},eS="#00ff88",ek="#5a5a66",ez=(e,t)=>(ev[e.tier]??9)-(ev[t.tier]??9)||(0,el.score)(t)-(0,el.score)(e)||String(e.name||"").localeCompare(String(t.name||"")),eC=e=>String(e?.name||"").trim().split(/\s+/)[0]||"them",e_=e=>`/setup?scan=${encodeURIComponent(e.id)}`,eM=e=>`${e}${e%10==1&&11!==e?"st":e%10==2&&12!==e?"nd":e%10==3&&13!==e?"rd":"th"}`,eR=()=>{let e=(0,i.scannerNow)();return e.running&&(0,i.isCircleScan)(e)?e.target?.id??null:null},e$=()=>null,eF=()=>()=>{},eB="(prefers-reduced-motion: reduce)";function eW(e){let t=window.matchMedia?window.matchMedia(eB):null;return t?.addEventListener?.("change",e),()=>t?.removeEventListener?.("change",e)}let eT=()=>!!window.matchMedia?.(eB).matches,eE=()=>!0;function eI(e,t){let r=new Set([(0,el.keyFor)(e)]),n=e=>{let t=[];for(let n of e||[]){let e=(0,el.keyFor)(n);r.has(e)||(r.add(e),t.push(n))}return t.sort(ez)};return[...n(t.introduced.get(e.id)),...n(t.circles.get(e.id))]}function eA(e,t){if(!e)return[];let r=t.find(t=>t.id===e);if(!r)return[];let n=r.unlocked_from_bridge_id;return null!=n&&t.some(e=>e.id===n)?[n,e]:[e]}function eD({bridge:e,members:r,reach:n,cx:i,cy:o,maxR:l,still:a,band:s}){let d=r.filter(e=>1===e.degree||"S"===e.tier||"A"===e.tier||"B"===e.tier),{inner:c,outer:h}=s,p=Math.min(.9*Math.PI,Math.max(.2*Math.PI,11*d.length/c)),g=ex(d.length,{inner:c,outer:h,spacing:11,minSpacing:3.5,start:e.angle-p/2,sweep:p});return(0,t.jsxs)("g",{children:[(0,t.jsx)("circle",{cx:i,cy:o,r:c,fill:"none",stroke:`${ew[2]}06`,strokeWidth:1}),d.map((r,l)=>{let s=g.points[l],c=i+s.x,h=o+s.y,p=(0,A.reachState)(r,n),u=Math.min(ey(g.spacing,r.tier),5)*(p?1.3:1),f="hidden"===p?ek:ej[r.tier]||"#555";return(0,t.jsxs)("g",{children:[(p||d.length<=40)&&(0,t.jsx)("line",{x1:e.x,y1:e.y,x2:c,y2:h,stroke:p?eS:f,strokeWidth:.5,strokeOpacity:p?.35:.15}),"ready"===p&&(0,t.jsx)(eL,{x:c,y:h,r:2.3*u,still:a}),(0,t.jsx)("circle",{cx:c,cy:h,r:u,fill:f,fillOpacity:p?.95:.45,stroke:p&&"hidden"!==p?eS:f,strokeWidth:p?1:.5,strokeOpacity:p?1:.25}),("S"===r.tier||p)&&d.length<=60&&(0,t.jsx)("text",{x:c,y:h+u+9,textAnchor:"middle",fill:p&&"hidden"!==p?eS:"#aaa",fontSize:7,children:eC(r)})]},"pv-"+r.id)})]})}function eL({x:e,y:r,r:n,still:i}){return(0,t.jsxs)("circle",{cx:e,cy:r,r:n,fill:eS,fillOpacity:.16,stroke:eS,strokeWidth:.8,strokeOpacity:.45,pointerEvents:"none",children:[!i&&(0,t.jsx)("animate",{attributeName:"fill-opacity",values:"0.06;0.24;0.06",dur:"2.8s",repeatCount:"indefinite"}),!i&&(0,t.jsx)("animate",{attributeName:"stroke-opacity",values:"0.25;0.7;0.25",dur:"2.8s",repeatCount:"indefinite"})]})}function eO({x:e,y:r,s:n}){return(0,t.jsxs)("g",{transform:`translate(${e} ${r}) scale(${n})`,pointerEvents:"none",children:[(0,t.jsx)("path",{d:"M-1.9 -0.6 V-1.8 A1.9 1.9 0 0 1 1.9 -1.8 V-0.6",fill:"none",stroke:"#d6d6de",strokeWidth:.9}),(0,t.jsx)("rect",{x:-2.6,y:-.7,width:5.2,height:3.9,rx:.8,fill:"#d6d6de"})]})}function eP({onIn:e,onReset:r,onOut:n}){let i=e=>({width:32,height:32,borderRadius:"50%",border:"none",cursor:"pointer",background:e?"rgba(255,255,255,0.06)":"rgba(255,255,255,0.1)",color:e?"#666":"#fff",fontSize:e?10:18,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)"});return(0,t.jsxs)("div",{style:{position:"absolute",bottom:64,right:20,zIndex:20,display:"flex",flexDirection:"column",gap:4},children:[(0,t.jsx)("button",{type:"button",onClick:e,"aria-label":"Zoom in",style:i(!1),children:"+"}),(0,t.jsx)("button",{type:"button",onClick:r,"aria-label":"Fit to the window",style:i(!0),children:"⊙"}),(0,t.jsx)("button",{type:"button",onClick:n,"aria-label":"Zoom out",style:i(!1),children:"−"})]})}function eN({trail:e,index:i,reach:o,dims:l,requests:s,scanningId:d,still:c,canScan:h,onOpen:p,onBack:g,onSelect:u}){var f,x,y,m,b;let j,w,v,S=e[e.length-1],k=e.length,z=(0,r.useMemo)(()=>eI(S,i),[S,i]),[C,_]=(0,r.useState)(null),[M,R]=(0,r.useState)({k:1,x:0,y:0}),$=(0,r.useRef)(null),F=(0,r.useRef)(null),B=(0,n.useRouter)(),W=l.w/2,T=l.h/2,I=Math.min(W,T)-30,D=(0,r.useMemo)(()=>z.map(e=>1===e.degree?eI(e,i):[]),[z,i]),L=D.some(e=>e.length>0),O=(0,r.useMemo)(()=>(function(e,{inner:t,outer:r,spacing:n,minSpacing:i=n/3,gap:o=n}){let l=em.map(e=>({tier:e,idx:[]}));e.forEach((e,t)=>{let r=em.indexOf(e?.tier);l[r<0?4:r].idx.push(t)});let a=l.filter(e=>e.idx.length),s=r=>{let i=Array(e.length),l=[],s=t;for(let e of a){let t=ex(e.idx.length,{inner:s,outer:1/0,spacing:r,minSpacing:r});e.idx.forEach((e,r)=>{let n=t.points[r];i[e]={x:n.x,y:n.y,angle:n.angle,slot:ep/t.rings[n.ring].count}});let a=Math.max(s,...t.rings.map(e=>e.radius));l.push({tier:e.tier,inner:s,outer:a}),s=a+r/n*o}return{spacing:r,points:i,bands:l,edge:l.length?l[l.length-1].outer:t}},d=s(n);if(d.edge<=r)return d;let c=i,h=n;if((d=s(c)).edge>r)return d;for(let e=0;e<20;e++){let e=(c+h)/2,t=s(e);t.edge<=r?(c=e,d=t):h=e}return d})(z,{inner:Math.max(62,.3*I),outer:I*(L?.72:.94),spacing:Math.max(14,Math.min(24,.085*I)),minSpacing:4,gap:Math.max(10,.04*I)}),[z,I,L]),P=(0,r.useMemo)(()=>L?(function(e,{from:t,spacing:r=7,cap:n=40,total:i=1200}={}){let o=Math.max(6,Math.min(n,Math.floor(i/Math.max(1,e.filter(e=>e?.count>0).length))));return e.map(e=>{if(!(e?.count>0))return null;let n=Math.min(e.count,o),i=Math.min(Math.min(e.slot||ep,ep/6),Math.max(3*r/t,n*r/t));return{points:ex(n,{inner:t,outer:1/0,spacing:r,minSpacing:r,start:e.angle-i/2,sweep:i}).points.map(({x:e,y:t})=>({x:e,y:t})),more:e.count-n}})})(z.map((e,t)=>({angle:O.points[t].angle,slot:O.points[t].slot,count:D[t].length})),{from:O.edge+1.5*O.spacing}).map((e,t)=>e&&{...e,i:t,people:D[t].slice(0,e.points.length)}).filter(Boolean):[],[z,D,L,O]),N=(0,r.useMemo)(()=>z.map(e=>{let t=(0,A.reachState)(e,o);return{reached:t,requested:!t&&2===e.degree&&(0,a.hasRequest)(e,s),own:1===e.degree?(i.circles.get(e.id)?.length||0)+(i.introduced.get(e.id)?.length||0):0}}),[z,o,s,i]),H=e=>h&&"ready"===N[e].reached&&z[e].id!==d,q=M.k,Y=(0,r.useMemo)(()=>{let e=z.length<=60,r=O.spacing*q>=26;return z.map((n,i)=>{let o=O.points[i],l=N[i],a=ey(O.spacing,n.tier)*(l.reached?1.4:1),s="hidden"===l.reached?ek:ej[n.tier]||"#555";return(0,t.jsxs)("g",{children:[(e||l.reached)&&(0,t.jsx)("line",{x1:0,y1:0,x2:o.x,y2:o.y,stroke:l.reached?eS:s,strokeWidth:.6/q,strokeOpacity:l.reached?.3:.12}),"ready"===l.reached&&(0,t.jsx)(eL,{x:o.x,y:o.y,r:2.3*a,still:c}),l.requested?(0,t.jsx)("circle",{cx:o.x,cy:o.y,r:1.2*a,fill:"none",stroke:s,strokeWidth:Math.max(.6,.45*a),strokeDasharray:`${Math.max(.8,.55*a)} ${Math.max(.6,.45*a)}`}):(0,t.jsx)("circle",{cx:o.x,cy:o.y,r:a,fill:s,fillOpacity:l.reached?1:.85,stroke:l.reached&&"hidden"!==l.reached?eS:"none",strokeWidth:l.reached?Math.max(.8,.3*a):0}),"hidden"===l.reached&&(0,t.jsx)(eO,{x:o.x,y:o.y-.1*a,s:a/4.2}),n.id===d&&(0,t.jsx)("circle",{cx:o.x,cy:o.y,r:2*a,fill:"none",stroke:ew[3],strokeWidth:1/q,strokeDasharray:`${3/q} ${2/q}`}),(l.reached||r&&"S"===n.tier)&&(0,t.jsx)("text",{x:o.x,y:o.y+a+10/q,textAnchor:"middle",fontSize:8.5/q,fontWeight:l.reached?700:400,fill:"hidden"===l.reached?"#999":l.reached?eS:"#aaa",pointerEvents:"none",stroke:"#0a0a1a",strokeWidth:2.4/q,paintOrder:"stroke",children:eC(n)})]},n.id)})},[z,O,N,q,c,d]),U=(e,t)=>{let r=F.current;if(!r)return null;let n=r.getBoundingClientRect(),i=(e-n.left-W-M.x)/q,o=(t-n.top-T-M.y)/q;if(30>=Math.hypot(i,o))return"center";let l=Math.max(.6*O.spacing,10/q),a=null,s=l;return O.points.forEach((e,t)=>{let r=Math.hypot(e.x-i,e.y-o);r<s&&(s=r,a=t)}),a},X=(e,t={x:0,y:0})=>R(r=>{let n=Math.max(.5,Math.min(6,r.k*e));return{k:n,x:t.x-(t.x-r.x)*n/r.k,y:t.y-(t.y-r.y)*n/r.k}}),G=N.filter(e=>"ready"===e.reached).length,V=N.filter(e=>"hidden"===e.reached).length,K=N.filter(e=>e.reached).length,J=N.filter(e=>e.requested).length,Z=["S","A","B","C","D"].map(e=>[e,z.filter(t=>t.tier===e).length]).filter(([,e])=>e),Q=null!=d&&d===S.id,ee="number"==typeof C?z[C]:null,et="number"==typeof C?O.points[C]:null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{ref:F,width:l.w,height:l.h,style:{display:"block",touchAction:"none",cursor:null!=C?"pointer":"grab"},onPointerDown:e=>{$.current={x:e.clientX,y:e.clientY,vx:M.x,vy:M.y,moved:!1},e.currentTarget.setPointerCapture?.(e.pointerId)},onPointerMove:e=>{let t=$.current;if(t){let r=e.clientX-t.x,n=e.clientY-t.y;if(!t.moved&&Math.hypot(r,n)>5&&(t.moved=!0),t.moved)return void R(e=>({...e,x:t.vx+r,y:t.vy+n}))}let r=U(e.clientX,e.clientY);_(e=>e===r?e:r)},onPointerUp:e=>{let t=$.current;if($.current=null,!t||t.moved)return;let r=U(e.clientX,e.clientY);"center"===r?u?.(S):null!=r&&H(r)?B.push(e_(z[r])):null!=r&&p(z[r].id)},onPointerLeave:()=>{$.current||_(null)},onWheel:e=>{let t=F.current?.getBoundingClientRect();t&&X(Math.exp(-(.0015*e.deltaY)),{x:e.clientX-t.left-W,y:e.clientY-t.top-T})},role:"img","aria-label":`${S.name}’s circle: ${z.length} ${1===z.length?"person":"people"}`,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("filter",{id:"focusGlow",children:[(0,t.jsx)("feGaussianBlur",{stdDeviation:"4",result:"blur"}),(0,t.jsxs)("feMerge",{children:[(0,t.jsx)("feMergeNode",{in:"blur"}),(0,t.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})}),(0,t.jsxs)("g",{transform:`translate(${W+M.x} ${T+M.y}) scale(${q})`,children:[O.bands.map(e=>(0,t.jsx)("circle",{r:(e.inner+e.outer)/2,fill:"none",stroke:ej[e.tier]||"#555",strokeOpacity:.07,strokeWidth:Math.max(1/q,e.outer-e.inner+O.spacing),pointerEvents:"none"},e.tier)),P.map(e=>{let r=O.points[e.i],n=e.points[e.points.length-1];return(0,t.jsxs)("g",{pointerEvents:"none",children:[e.points.map((e,n)=>(0,t.jsx)("line",{x1:r.x,y1:r.y,x2:e.x,y2:e.y,stroke:eS,strokeOpacity:.12,strokeWidth:.5/q},"l"+n)),e.points.map((r,n)=>(0,t.jsx)("circle",{cx:r.x,cy:r.y,r:2.2,fill:ej[e.people[n]?.tier]||"#555",fillOpacity:.75},"d"+n)),e.more>0&&n&&(0,t.jsxs)("text",{x:1.06*n.x,y:1.06*n.y,textAnchor:"middle",fontSize:8/q,fill:"#8b9a9a",stroke:"#0a0a1a",strokeWidth:2.4/q,paintOrder:"stroke",children:["+",e.more.toLocaleString()]})]},"fan-"+z[e.i].id)}),Y,et&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("line",{x1:0,y1:0,x2:et.x,y2:et.y,stroke:ej[ee.tier]||"#888",strokeWidth:1.6/q,strokeOpacity:.8}),(0,t.jsx)("circle",{cx:et.x,cy:et.y,r:ey(O.spacing,ee.tier)*(N[C].reached?1.4:1)+2/q,fill:"none",stroke:"#fff",strokeWidth:1.6/q})]}),"ready"===(0,A.reachState)(S,o)&&(0,t.jsx)(eL,{x:0,y:0,r:40,still:c}),(0,t.jsx)("circle",{r:28,fill:"#0a0a1a",stroke:ej[S.tier]||"#888",strokeWidth:"center"===C?4:3,filter:"url(#focusGlow)"}),(0,E.localPhoto)(S.profile_image_url)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("clipPath",{id:"focus-clip",children:(0,t.jsx)("circle",{r:24})}),(0,t.jsx)("image",{href:(0,E.localPhoto)(S.profile_image_url),x:-24,y:-24,width:48,height:48,clipPath:"url(#focus-clip)"})]}):(0,t.jsx)("text",{y:5,textAnchor:"middle",fill:ej[S.tier]||"#888",fontSize:16,fontWeight:800,children:S.name?.charAt(0)}),(0,t.jsx)("text",{y:40,textAnchor:"middle",fill:"#fff",fontSize:11,fontWeight:700,pointerEvents:"none",children:S.name})]}),ee&&(0,t.jsx)(eH,{x:W+M.x+et.x*q,y:T+M.y+et.y*q,w:l.w,lines:(f=ee,x=N[C],y=d,m=k,b=H(C),j=eC(f),w=f.id===y?"Their circle is being scanned now":"ready"===x.reached?"You added them · their circle is ready to scan":"hidden"===x.reached?"You added them · their list is hidden":"scanned"===x.reached?`You added them \xb7 ${x.own.toLocaleString("en-US")} in their circle`:x.requested?"Request sent":"Not connected yet",v=b?`Click to scan ${j}’s circle on the Scan page`:x.own>0?`Click to open ${j}’s circle (${eM(m+2)} degree)`:`Click to open ${j}’s circle`,[f.name,`${f.tier}-tier \xb7 ${(0,el.score)(f).toFixed(1)}`,w,v]),accent:N[C].reached?eS:ej[ee.tier]}),"center"===C&&(0,t.jsx)(eH,{x:W+M.x,y:T+M.y-28*q,w:l.w,lines:[S.name,"Open their card"],accent:ej[S.tier]})]}),(0,t.jsxs)("div",{style:{position:"absolute",top:14,left:64,right:64,pointerEvents:"none",display:"flex",flexDirection:"column",gap:8,alignItems:"flex-start"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",pointerEvents:"auto"},children:[(0,t.jsxs)("button",{type:"button",onClick:()=>g(k-1),style:{padding:"8px 16px",borderRadius:8,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#ddd",fontSize:12,fontWeight:700},children:["← ",1===k?"All bridges":`${eC(e[k-2])}’s circle`]}),(0,t.jsxs)("nav",{"aria-label":"Trail",style:{fontSize:11,color:"#777",display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[(0,t.jsx)("button",{type:"button",onClick:()=>g(0),style:eY,children:"All bridges"}),e.map((e,r)=>(0,t.jsxs)("span",{style:{display:"inline-flex",gap:6,alignItems:"center"},children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"›"}),r===k-1?(0,t.jsx)("span",{style:{color:"#fff",fontWeight:700},children:e.name}):(0,t.jsx)("button",{type:"button",onClick:()=>g(r+1),style:eY,children:e.name})]},e.id))]})]}),(0,t.jsxs)("div",{style:{fontSize:11,color:"#999"},children:[eC(S),"’s circle · ",z.length.toLocaleString("en-US")," ",1===z.length?"person":"people"," · ",eM(k+1)," degree",k>1?", counted along this chain":""]}),Q&&z.length>0&&(0,t.jsxs)("div",{role:"status",style:{...eU,borderColor:"rgba(52,152,219,0.4)",color:"#cfe6f7"},children:["Scanning ",eC(S),"’s circle now. More people appear here as it saves, every 10 pages."]})]}),0===z.length&&(0,t.jsx)(eq,{person:S,depth:k,reach:o,requests:s,scanning:Q,canScan:h,onSelect:u,top:T+64}),z.length>0&&(0,t.jsxs)("div",{style:{position:"absolute",bottom:20,left:20,maxWidth:"calc(100% - 110px)",background:"rgba(0,0,0,0.75)",borderRadius:10,padding:"10px 14px",backdropFilter:"blur(8px)",fontSize:10,color:"#888",lineHeight:1.6},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1,marginBottom:6},children:"IN THIS CIRCLE"}),Z.map(([e,r])=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:ej[e]}}),(0,t.jsxs)("span",{style:{color:ej[e],fontWeight:600,width:40},children:[e,"-Tier"]}),(0,t.jsx)("span",{children:r.toLocaleString("en-US")})]},e)),(K>0||J>0)&&(0,t.jsxs)("div",{style:{marginTop:6},children:[K>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{style:{color:eS},children:"● "}),"you added ",K,G?`, ${G} ready to scan`:"",V?`, ${V} hidden`:""]}),J>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{style:{color:"#FFD700"},children:"◌ "}),J," ",1===J?"request":"requests"," out"]})]}),(0,t.jsxs)("div",{style:{marginTop:6,color:"#555"},children:["Click anyone for their circle",G>0&&h?", or someone ready to scan theirs":""," · drag to move · scroll to zoom"]})]}),(0,t.jsx)(eP,{onIn:()=>X(1.35),onReset:()=>R({k:1,x:0,y:0}),onOut:()=>X(1/1.35)})]})}function eH({x:e,y:r,w:n,lines:i,accent:o}){let l=Math.max(150,Math.min(240,5.6*Math.max(...i.map(e=>String(e).length))+20)),a=12+12*i.length,s=Math.max(6,Math.min(n-l-6,e-l/2)),d=Math.max(6,r-a-12);return(0,t.jsxs)("g",{pointerEvents:"none",children:[(0,t.jsx)("rect",{x:s,y:d,width:l,height:a,rx:6,fill:"rgba(0,0,0,0.92)",stroke:o||"#555",strokeWidth:.6}),i.map((e,r)=>(0,t.jsx)("text",{x:s+l/2,y:d+16+12*r,textAnchor:"middle",fill:0===r?"#fff":2===r?o||"#aaa":"#999",fontSize:0===r?10.5:9,fontWeight:0===r?700:400,children:e},r))]})}function eq({person:e,depth:r,reach:n,requests:i,scanning:o,canScan:l,onSelect:s,top:d}){let c,h,p=eC(e),g=eM(r+1),u=1===e.degree,f=u?(0,A.circleState)(e,n):null,x=(0,A.circleScanCost)(),y=null;return o?(c=`Scanning ${p}’s circle now`,h="Their people appear here as the scan saves them, every 10 pages."):"hidden"===f?(c=`${p} keeps their connections hidden`,h="LinkedIn doesn’t show their list, so there is no circle to scan."):"scanned"===f?(c=`${p}’s list has been read`,h="Everyone on it was already one of your connections, so nobody new is here."):u?(c=`${p}’s circle isn’t scanned yet`,h=`${p} is your connection, so their circle can be scanned. That brings in the people they know: ${g} degree${r>1?", counted along this chain":""}.`,l&&(y=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(eo.default,{href:e_(e),style:eX,children:["Scan ",p,"’s circle →"]}),(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#888",marginTop:8},children:[x.profileViews," profile view, then one LinkedIn search per page of their list (up to ",x.searches,", about ",x.minutes," min). It starts only once you confirm it on the Scan page."]})]}))):(0,a.hasRequest)(e,i)?(c=`Request sent to ${p}`,h=`Once ${p} accepts, ↻ Check for new brings them into your connections. Then their circle can be scanned, and the people they know fill in here: ${g} degree.`):(c=`Nobody from ${p}’s circle yet`,h=`LinkedIn only shows the connections of people you’re connected to. Connect with ${p}; once they accept and their circle is scanned, the people they know fill in here: ${g} degree.`,y=(0,t.jsxs)("button",{type:"button",onClick:()=>s?.(e),style:eG,children:["Open ",p,"’s card"]})),(0,t.jsxs)("div",{role:"status",style:{position:"absolute",left:"50%",top:d,transform:"translateX(-50%)",width:"min(360px, calc(100% - 32px))",background:"rgba(10,10,26,0.94)",border:`1px solid ${"hidden"===f?"rgba(255,255,255,0.12)":"rgba(0,255,136,0.25)"}`,borderRadius:12,padding:"14px 16px",textAlign:"center"},children:[(0,t.jsxs)("div",{style:{fontSize:13,fontWeight:800,color:"hidden"===f?"#aaa":"#fff",marginBottom:6},children:["hidden"===f&&(0,t.jsx)("span",{"aria-hidden":"true",children:"🔒 "}),c]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#9aa",lineHeight:1.55,marginBottom:12*!!y},children:h}),y]})}let eY={background:"none",border:"none",color:"#8fb8d6",fontSize:11,fontWeight:600,cursor:"pointer",padding:0},eU={fontSize:11,padding:"6px 10px",borderRadius:8,border:"1px solid",background:"rgba(0,0,0,0.6)",pointerEvents:"auto"},eX={display:"inline-block",padding:"9px 16px",borderRadius:8,textDecoration:"none",fontSize:12.5,fontWeight:800,color:"#0a0a1a",background:"linear-gradient(135deg, #00ff88, #3498DB)"},eG={padding:"8px 14px",borderRadius:8,cursor:"pointer",fontSize:12,fontWeight:700,border:"1px solid rgba(255,255,255,0.18)",background:"rgba(255,255,255,0.06)",color:"#ddd"},eV={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},eK=["S","A","B","C","D"],eJ={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},eZ={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},eQ=["S","A","B","C","D"],e0=[{key:"only",label:"Only way in",range:"1",max:1,color:"#00E5FF"},{key:"rare",label:"Rare",range:"2–3",max:3,color:"#4FC3F7"},{key:"uncommon",label:"Uncommon",range:"4–10",max:10,color:"#B0BEC5"},{key:"common",label:"Common",range:"11–30",max:30,color:"#FFB74D"},{key:"warm",label:"Warm",range:"31+",max:1/0,color:"#FF7043"}],e1=new Map(e0.map(e=>[e.key,e]));function e5(e){return e1.get(e)??null}function e2(e,t=1){let r,n=function(e,t=1){let r=Number(e?.mutual_count);return Number.isFinite(r)&&r>=1?{count:Math.floor(r),from:"linkedin"}:{count:Math.max(1,Math.floor(Number(t)||1)),from:"scans"}}(e,t);return{key:(r=Math.max(1,Math.floor(Number(n.count)||1)),e0.find(e=>r<=e.max).key),...n}}function e6({tier:e,rarity:t},{tiers:r=new Set,rarities:n=new Set}={}){return(!r.size||!!r.has(e))&&(!n.size||!!(t&&n.has(t)))}function e8(e,t){let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r}let e3={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function e4({person:e,size:r=32,tierColors:n=e3}){let i=n[e?.tier]||"#666",o=(0,E.localPhoto)(e?.profile_image_url);return(0,t.jsxs)("span",{style:{position:"relative",display:"inline-block",width:r,height:r,flexShrink:0,borderRadius:"50%",boxShadow:`0 0 0 ${r>=24?2:1}px ${i}`},children:[(0,t.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:`${i}2e`,color:i,fontWeight:800,fontSize:Math.max(7,Math.round(.36*r)),lineHeight:1},children:(0,er.initialsFor)(e?.name)}),o&&(0,t.jsx)("img",{src:o,alt:"",loading:"lazy",decoding:"async",onError:e=>{e.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:r,height:r,borderRadius:"50%",objectFit:"cover"}})]})}let e7="#FF6B35",e9={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},te="a connection we can’t name",tt=e=>Number(e||0).toLocaleString("en-US"),tr=(e,t,r)=>`${tt(e)} ${1===e?t:r}`;function tn(e){return e.role&&e.company?`${e.role} @ ${e.company}`:e.headline||e.role||e.company||""}let ti=`
|
|
23
|
+
.sepmap .sp { cursor: pointer; transition: opacity .12s; }
|
|
24
|
+
.sepmap .ppl:hover .sp { opacity: .28; }
|
|
25
|
+
.sepmap .ppl:hover .sp:hover, .sepmap .ppl:hover .sp.sel { opacity: 1; }
|
|
26
|
+
.sepmap .sp:hover .rt, .sepmap .sp.sel .rt { stroke-opacity: 1; stroke-width: 2px; }
|
|
27
|
+
.sepmap .br { cursor: pointer; }
|
|
28
|
+
.sepmap .br:hover text { text-decoration: underline; }
|
|
29
|
+
.sepmap .rt { pointer-events: none; }
|
|
30
|
+
`,to={paintOrder:"stroke",stroke:"#0a0a1a",strokeWidth:3,strokeLinejoin:"round"},tl=(0,r.memo)(function({layout:e,selectedKey:n,tierColors:i,youLabel:o,isMobile:l,onPick:a,onPickBridge:s}){let{width:d,height:c,you:h,people:p,bridges:g,links:u,spokes:f}=e,x=(0,r.useMemo)(()=>{let e=new Map;for(let t of u)e.has(t.key)||e.set(t.key,[]),e.get(t.key).push(t);return e},[u]),y=l?36:26,m=l?12:11;return(0,t.jsxs)("svg",{className:"sepmap",width:d,height:c,"aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[(0,t.jsx)("style",{children:ti}),(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"sepYouGrad",x1:"0",y1:"0",x2:"1",y2:"1",children:[(0,t.jsx)("stop",{offset:"0",stopColor:"#FFD700"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#FF6B35"})]})}),f.map(e=>(0,t.jsx)("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:"#fff",strokeOpacity:.12,strokeWidth:1},`s-${e.id??"unresolved"}`)),(0,t.jsx)("g",{className:"ppl",children:p.map(e=>{let{p:r}=e,o=i[r.tier]||"#888",l=e.key===n,s=r.routes.map(e=>e.bridge?e.bridge.name:te).join(", ");return(0,t.jsxs)("g",{className:l?"sp sel":"sp",onClick:()=>a(r),children:[(0,t.jsx)("title",{children:`${r.person.name} \xb7 #${r.rank}${r.tied?"=":""} \xb7 ${r.tier} \xb7 ${r.score.toFixed(1)} \xb7 via ${s}`}),(x.get(e.key)||[]).map(r=>{let n=(r.x1+r.x2)/2,o=r.unresolved?"#777":r.primary?e7:i[r.tier]||"#888";return(0,t.jsx)("path",{className:"rt",d:`M${r.x1+5},${r.y1} C${n},${r.y1} ${n},${r.y2} ${r.x2-e.r},${r.y2}`,fill:"none",stroke:o,strokeWidth:r.primary?1.5:1,strokeOpacity:r.primary?.8:.35,strokeDasharray:r.primary?void 0:"3 3"},`${r.key}-${r.bridgeId??"u"}`)}),(0,t.jsx)("rect",{x:e.x-12,y:e.y-y/2,width:Math.max(0,d-e.x+12),height:y,fill:"transparent"}),l&&(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:e.r+3.5,fill:"none",stroke:"#fff",strokeWidth:1.5}),(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:e.r,fill:o}),(0,t.jsxs)("text",{x:e.x+14,y:e.y,dy:"0.35em",fontSize:m,fill:"#ddd",style:to,children:[e.label,(0,t.jsx)("tspan",{dx:6,fill:o,fontWeight:700,children:r.score.toFixed(1)})]})]},e.key)})}),g.map(e=>{let r=e.unresolved?"#777":i[e.bridge.tier]||"#888";return(0,t.jsxs)("g",{className:e.unresolved?void 0:"br",onClick:e.unresolved?void 0:()=>s(e.bridge),children:[(0,t.jsx)("title",{children:e.unresolved?"Routes whose connection record doesn’t match anyone in your 1st-degree list, so who introduces you can’t be named":`${e.bridge.name} \xb7 ${e.bridge.tier}-tier \xb7 a way in to ${e.count} of these \xb7 click to open`}),(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:e.r,fill:e.unresolved?"none":r,stroke:e.unresolved?"#777":"#0a0a1a",strokeWidth:e.unresolved?1:1.5,strokeDasharray:e.unresolved?"2 2":void 0}),(0,t.jsx)("text",{x:e.x-9,y:e.y,dy:"0.35em",textAnchor:"end",fontSize:m-1,fill:r,fontStyle:e.unresolved?"italic":void 0,fontWeight:e.unresolved?400:600,style:to,children:e.label})]},`b-${e.id??"unresolved"}`)}),(0,t.jsxs)("g",{children:[(0,t.jsx)("circle",{cx:h.x,cy:h.y,r:h.r,fill:"url(#sepYouGrad)"}),(0,t.jsx)("text",{x:h.x,y:h.y,dy:"0.35em",textAnchor:"middle",fontSize:o.length>2?9:10,fontWeight:800,fill:"#000",children:o})]})]})}),ta={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function ts({p:e,route:r,tierColors:n,compact:i}){if(!r?.bridge)return(0,t.jsxs)("span",{style:{...ta,color:"#777",fontStyle:"italic",fontSize:i?11:12},children:["via ",te]});let o=r.bridge,l=e.waysIn-1;return(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:i?11:12},children:[(0,t.jsx)("span",{style:{color:"#666",flexShrink:0},children:"via"}),!i&&(0,t.jsx)(e4,{person:o,size:16,tierColors:n}),(0,t.jsx)("span",{style:{...ta,color:n[o.tier]||"#aaa",fontWeight:600,minWidth:0},children:i?(0,el.shortName)(o.name):o.name}),l>0&&(0,t.jsxs)("span",{title:`Every way in:
|
|
31
|
+
${e.routes.map(e=>e.bridge?`${e.bridge.name} (${e.bridge.tier})`:te).join("\n")}`,style:{flexShrink:0,padding:"1px 6px",borderRadius:8,fontSize:10,fontWeight:800,color:e7,background:"rgba(255,107,53,0.15)"},children:["+",l]})]})}function td({status:e,rarity:r}){let n=r?e5(r.key):null;return(0,t.jsxs)(t.Fragment,{children:["asked"===e&&(0,t.jsx)("span",{title:"You sent a request. It shows everywhere in the app.",style:{flexShrink:0,fontSize:9,fontWeight:800,color:"#FFD700",border:"1px dashed rgba(255,215,0,0.6)",borderRadius:4,padding:"0 4px"},children:"Request sent"}),"connected"===e&&(0,t.jsx)("span",{title:"Already one of your connections",style:{flexShrink:0,fontSize:9,fontWeight:800,color:"#00ff88",border:"1px solid rgba(0,255,136,0.5)",borderRadius:4,padding:"0 4px"},children:"Connected"}),n&&"connected"!==e&&(0,t.jsx)("span",{title:`${r.count} mutual connection${1===r.count?"":"s"}${"scans"===r.from?" (from your scans, so it can only go up)":""}. ${tc}`,style:{flexShrink:0,fontSize:9,fontWeight:700,color:n.color,border:`1px solid ${n.color}55`,borderRadius:4,padding:"0 4px"},children:n.label})]})}let tc="Rarity is how many mutual connections lead to them: few is a rare way in, many is warm (likely to accept). It never changes a score or a tier.",th=(0,r.memo)(function({p:e,top:r,height:n,isMobile:i,selected:o,tierColors:l,onPick:a,q:s,status:d,rarity:c}){let{person:h}=e,p=l[e.tier]||"#888",g=function(e,t){if(t){let r=e.routes.find(e=>e.bridge&&String(e.bridge.name||"").toLowerCase().includes(t));if(r)return r}return e.routes[0]||null}(e,s),u=e.rank<=3,f=o?"rgba(255,107,53,0.08)":u?`${p}08`:"transparent",x="LinkedIn Member"===h.name,y=`#${e.rank}${e.tied?"=":""}`,m=e.waysIn-1,b=g?.bridge?`via ${g.bridge.name}${m>0?` and ${m} other${m>1?"s":""}`:""}`:`via ${te}${m>0?` and ${m} other${m>1?"s":""}`:""}`;return(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-label":`Rank ${e.rank}${e.tied?", tied":""}, ${h.name}, ${e.tier} tier, ${e.score.toFixed(1)}, ${e.waysIn} way${1===e.waysIn?"":"s"} in, ${b}`,"aria-pressed":o,onClick:()=>a(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(e))},onMouseEnter:e=>{o||(e.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:e=>{e.currentTarget.style.background=f},style:{position:"absolute",top:r,left:0,right:0,height:n,boxSizing:"border-box",display:"grid",alignItems:"center",gap:10,padding:"0 12px",gridTemplateColumns:i?"44px 36px 1fr 44px":"64px 36px minmax(0,1.4fr) minmax(0,1fr) 96px 44px",borderLeft:`3px solid ${o?e7:"transparent"}`,borderBottom:"1px solid rgba(255,255,255,0.04)",background:f,cursor:"pointer"},children:[(0,t.jsx)("span",{style:{fontSize:i?11:12,fontWeight:800,color:u?p:"#555",whiteSpace:"nowrap"},children:y}),(0,t.jsx)(e4,{person:h,size:32,tierColors:l}),i?(0,t.jsxs)("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,minWidth:0},children:[(0,t.jsxs)("span",{style:{...ta,fontSize:13,fontWeight:600,color:x?"#888":"#fff",minWidth:0},children:[h.name,x&&(0,t.jsx)("span",{style:{fontSize:10,color:"#666",fontWeight:400},children:" · out of network"})]}),(0,t.jsx)(td,{status:d,rarity:c})]}),(0,t.jsx)(ts,{p:e,route:g,tierColors:l,compact:!0}),(0,t.jsx)("span",{style:{...ta,fontSize:10,color:"#666"},children:tn(h)})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0},children:[(0,t.jsx)("span",{style:{...ta,fontSize:13,fontWeight:600,color:x?"#888":"#fff"},children:h.name}),(0,t.jsx)("span",{style:{flexShrink:0,fontSize:9,fontWeight:800,color:p,border:`1px solid ${p}55`,borderRadius:4,padding:"0 4px"},children:e.tier}),(0,t.jsx)(td,{status:d,rarity:c}),x&&(0,t.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"#666"},children:"out of network"})]}),(0,t.jsx)("div",{style:{...ta,fontSize:10,color:"#777",marginTop:2},children:tn(h)})]}),(0,t.jsx)(ts,{p:e,route:g,tierColors:l}),(0,t.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:3,background:p,width:`${100*Math.max(0,Math.min(1,e.score/10))}%`}})})]}),(0,t.jsxs)("div",{style:{textAlign:"right"},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:800,color:p},children:e.score.toFixed(1)}),i&&(0,t.jsx)("div",{style:{fontSize:9,color:"#666",fontWeight:700},children:e.tier})]})]})}),tp={galaxy:{component:function({connections:e,onSelect:n,tierColors:i,focusNodeRef:o,userName:l,selectedId:a=null,scanNotes:s,fullDegree1:p,fullDegree2:v}){let k=(0,r.useMemo)(()=>{let t=(0,A.reachIndex)(p||e,v||[],s||{}),r=(0,A.readyByCircle)(t),n=new Map;for(let i of e){if(1!==(i.degree||1))continue;let e=(0,A.scanBars)(i,t),o=r.get(i.id)||0;(null!=e||o)&&n.set(i.id,{bars:e,ready:o})}return n},[e,p,v,s]),z=(0,r.useRef)(null),C=(0,r.useRef)(null),_=(0,r.useRef)(null),M=(0,r.useRef)({transform:null,size:null}),R=(0,r.useRef)(null),[$,F]=(0,r.useState)(null),B=(0,r.useRef)(null),W=(0,r.useSyncExternalStore)(P.watchLab,P.labNow,()=>P.LAB_DEFAULTS),H=(0,r.useRef)(W);(0,r.useEffect)(()=>{H.current=W,_.current?.setLab((0,P.effectiveLab)(W));let e=(0,P.clockNow)();_.current?.setFind(e.find,e.fly),W.on&&(0,P.loadSocial)()},[W]),(0,r.useEffect)(()=>(0,P.watchClock)(()=>{let e=(0,P.clockNow)();_.current?.setTime(e.at),_.current?.setFind(e.find,e.fly)}),[]),(0,r.useEffect)(()=>()=>(0,P.stopReplay)(),[]);let q=(0,r.useSyncExternalStore)(P.watchClock,()=>(0,P.clockNow)().social,()=>void 0),Y=(0,P.effectiveLab)(W).colourBy,U=(0,r.useMemo)(()=>(0,P.colourScheme)(Y,e,i,q),[Y,e,i,q]),X=(0,r.useRef)(U);(0,r.useEffect)(()=>{X.current=U,_.current?.setColours(U)},[U]);let G=(0,r.useRef)(n);(0,r.useEffect)(()=>{G.current=n});let V=(0,r.useRef)(a);(0,r.useEffect)(()=>{let e=z.current?.parentElement;if(!e)return;let t=()=>{let t=Math.round(e.clientWidth),r=Math.round(e.clientHeight);R.current={width:t,height:r},F(e=>e&&e.width===t&&e.height===r?e:{width:t,height:r})};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[]),(0,r.useEffect)(()=>{V.current=a,_.current?.select(a)},[a]),(0,r.useEffect)(()=>{$&&_.current?.resize($)},[$]);let K=null!==$;return(0,r.useEffect)(()=>{var t;if(!K||!z.current||!e.length)return;let r=d.select(z.current);r.selectAll("*").remove();let n=R.current,{transform:a,size:s}=M.current,p=a?I(a,s,n):null,v=function(e,t,r,n,i,o,l,a,s,c,h=new Map,p=P.LAB_DEFAULTS,v=null,k=null){var z,C,_;let M=k?.of??(e=>o[e.tier]||"#666"),R=[{id:Z,name:c||"You",tier:"center",degree:0,power_score:10,fx:0,fy:0},...n.map(e=>({id:e.id,name:e.name,tier:e.tier,degree:e.degree||1,source_connection_id:e.source_connection_id,unlocked_from_bridge_id:e.unlocked_from_bridge_id,power_score:parseFloat(e.power_score)||1,company:e.company,role:e.role,headline:e.headline,profile_url:e.profile_url,profile_image_url:(0,E.localPhoto)(e.profile_image_url),connected_date:e.connected_date,seniority_score:e.seniority_score,company_prestige_score:e.company_prestige_score,influence_signals:e.influence_signals,is_catalyst:e.is_catalyst,catalyst_score:e.catalyst_score,circle_power:e.circle_power,circle_s_count:e.circle_s_count,circle_a_count:e.circle_a_count}))],$=new Map(R.map(e=>[e.id,e])),F=new Set(n.filter(e=>1===(e.degree||1)).map(e=>e.id)),B=n.some(e=>(e.degree||1)>1),W=new Map;for(let e of R){if(e.id===Z)continue;let t=e.unlocked_from_bridge_id;1===e.degree&&B&&null!=t&&t!==e.id&&F.has(t)?W.set(e.id,t):2===e.degree&&F.has(e.source_connection_id)&&W.set(e.id,e.source_connection_id)}let A=new Map,N=(e,t=new Set)=>{if(e.id===Z)return 0;if(A.has(e.id))return A.get(e.id);let r=W.get(e.id),n=e.degree>=3?3:e.degree;return null==r||t.has(e.id)||(t.add(e.id),n=N($.get(r),t)+1),n=Math.min(n,6),A.set(e.id,n),n},H=n.map(e=>{let t=W.get(e.id)??Z;return{source:t,target:e.id,near:t!==Z}}),q=e=>{switch(e){case"S":return 150;case"A":return 250;case"B":return 350;case"C":return 450;default:return 520}},Y=["S","A","B","C","D"],U=[[115,135,155,175,192],[265,300,335,370,398],[465,500,535,565,590],[660,690,720,745,765]],X=[...new Set(R.filter(e=>e.id!==Z).map(e=>N(e)))].sort((e,t)=>e-t),G=B&&X.length>1,V=e=>{if(!G)return q(e.tier);let t=Math.min(X.indexOf(N(e)),U.length-1),r=Y.indexOf(e.tier);return U[t][r<0?4:r]},K=window.innerWidth<768,ee=K?{...P.LAB_DEFAULTS,labels:p.labels}:p,er=(0,P.reachCounts)(R,W),en=e=>{if(e.id===Z)return 18;if("reach"===ee.sizeBy)return Math.min(28,2.5+1.6*Math.sqrt(er.get(e.id)||0))*ee.dotSize;let t=Math.max(3,Math.min(12,1.3*(e.power_score||1)));return(e.degree>1?Math.max(2.5,.75*t):t)*ee.dotSize},ei=e.append("g"),eo=new Map,el=null;if(!K&&G){let e=el=ei.append("g").attr("class","degree-guides").style("pointer-events","none"),t=["","1st","2nd","3rd","4th","5th","6th"];X.slice(0,U.length).forEach((r,n)=>{let i=U[n][2];e.append("circle").attr("r",i).attr("fill","none").attr("stroke","#8899aa").attr("stroke-opacity",.12).attr("stroke-width",1).attr("stroke-dasharray","2 4"),e.append("text").attr("x",0).attr("y",-U[n][4]-8).attr("text-anchor","middle").attr("font-size",10).attr("font-weight",700).attr("fill","#8899aa").attr("fill-opacity",.55).text(t[r]||`${r}th`)})}else if(!K){let e=el=ei.append("g").attr("class","tier-guides").style("pointer-events","none");for(let t of["S","A","B","C","D"]){let r=q(t),n=e.append("circle").attr("r",r).attr("fill","none").attr("stroke",o[t]||"#666").attr("stroke-opacity",.16).attr("stroke-width",1).attr("stroke-dasharray","2 4"),i=e.append("text").attr("x",0).attr("y",-r-4).attr("text-anchor","middle").attr("font-size",10).attr("font-weight",700).attr("fill",o[t]||"#666").attr("fill-opacity",.5).text(t);eo.set(t,{ring:n,label:i})}}let ea=null,es=u.default().scaleExtent([.3,4]).on("zoom",e=>{ei.attr("transform",e.transform),s.current={transform:ea??e.transform,size:r},ep()});e.call(es);let ed=(t,n)=>{if(Q()){ea=null,e.interrupt().call(es.transform,t);return}ea=t,s.current={transform:t,size:r},e.transition().duration(n).call(es.transform,t).on("end interrupt cancel",()=>{ea===t&&(ea=null)})},ec=t.firstChild,eh=null,ep=()=>{if(!eh)return;let r=f.default(e.node());t.style.transform=`translate(${r.applyX(eh.x)}px, ${r.applyY(eh.y)}px) scale(${r.k})`},eg=e=>{if(eh=null!=e&&e!==Z?$.get(e)??null:null,t.style.display=eh?"block":"none",!eh)return;let r=en(eh)+8;ec.style.width=ec.style.height=`${2*r+2.5}px`,ec.style.margin=`${-(r+1.25)}px`,ec.style.borderColor=M(eh)||"#FFD700",ep()};if(a)e.call(es.transform,g.identity.translate(a.x,a.y).scale(a.k));else{let t=K&&r.width>0&&r.height>0?Math.min(r.width/1248,r.height/1248):1;e.call(es.transform,g.identity.translate(r.width/2,r.height/2).scale(t))}if(l&&(l.current=e=>{let t=$.get(e);t&&(ed(g.identity.translate(r.width/2-2.5*t.x,r.height/2-2.5*t.y).scale(2.5),750),eg(e))}),K){let e={};R.forEach(t=>{let r=t.tier||"D";e[r]||(e[r]=[]),e[r].push(t)}),Object.entries(e).forEach(([e,t])=>{t.forEach((r,n)=>{if(r.id===Z){r.x=0,r.y=0,r.fx=r.x,r.fy=r.y;return}let i=q(e),o=n/t.length*Math.PI*2-Math.PI/2;r.x=i*Math.cos(o),r.y=i*Math.sin(o),r.fx=r.x,r.fy=r.y})})}let eu=K?0:G?.06:.1,ef=G?.45:.3,ex=e=>(e.near?Math.max(40,V(e.target)-V(e.source)):V(e.target))*ee.distance,ey=e=>(e.id===Z?-20:-1)*ee.push,em=x.forceSimulation(R).force("link",y.forceLink(H).id(e=>e.id).distance(ex).strength(Math.min(1,eu*ee.pull))).force("charge",m.forceManyBody().strength(K?0:ey)).force("center",K?null:function(e,t){var r,n=1;function i(){var i,o,l=r.length,a=0,s=0;for(i=0;i<l;++i)a+=(o=r[i]).x,s+=o.y;for(a=(a/l-e)*n,s=(s/l-t)*n,i=0;i<l;++i)o=r[i],o.x-=a,o.y-=s}return null==e&&(e=0),null==t&&(t=0),i.initialize=function(e){r=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(n=+e,i):n},i}(0,0)).force("gravityX",K?null:b.forceX(0).strength(.15*ee.gravity)).force("gravityY",K?null:j.forceY(0).strength(.15*ee.gravity)).force("collision",K?null:w.forceCollide().radius(e=>en(e)+2)).force("radial",K?null:S(e=>e.id===Z?0:V(e),0,0).strength(ef*ee.rings));el?.attr("opacity",Math.min(1,ee.rings)),em.on("end.guides",()=>{for(let[e,{ring:t,label:r}]of eo){let n=R.filter(t=>t.tier===e&&t.id!==Z).map(e=>Math.hypot(e.x||0,e.y||0)).sort((e,t)=>e-t);if(!n.length){t.attr("opacity",0),r.attr("opacity",0);continue}let i=n[Math.floor(n.length/2)];t.attr("r",i).attr("opacity",1),r.attr("y",-i-4).attr("opacity",1)}});let eb=ei.append("g").selectAll("line").data(H).join("line").attr("class","gl").attr("stroke",e=>M(e.target)||"#333").attr("stroke-opacity",.15).attr("stroke-width",.5*ee.lines),ej=R.filter(e=>e.is_catalyst&&h.get(e.id)?.bars==null);if(ej.length){let t=e.select("defs").size()?e.select("defs"):e.append("defs");if(!t.select("#catalyst-glow-nm").size()){let e=t.append("filter").attr("id","catalyst-glow-nm").attr("x","-60%").attr("y","-60%").attr("width","220%").attr("height","220%");e.append("feGaussianBlur").attr("stdDeviation","5").attr("result","blur"),e.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>')}ei.append("g").selectAll("circle").data(ej).join("circle").attr("r",e=>en(e)+6).attr("fill","none").attr("stroke","#00ff88").attr("stroke-width",2).attr("stroke-dasharray","3,3").attr("filter","url(#catalyst-glow-nm)").attr("cx",e=>e.x||0).attr("cy",e=>e.y||0).attr("class","catalyst-ring")}let ew=R.filter(e=>h.has(e.id)),ev=ei.append("g").attr("class","dot-rings").style("pointer-events","none").selectAll("g").data(ew).join("g").attr("transform",e=>`translate(${e.x||0},${e.y||0})`);function eS(e){let{bars:t,ready:r}=h.get(e.id),n=en(e)+3.5,i=d.select(this);if(i.selectAll("*").remove(),null!=t)for(let e of D(n))i.append("path").attr("d",e.d).attr("fill","none").attr("stroke-linecap","round").attr("stroke-width",1.6).attr("stroke",e.i<t?L:O);if(r>0){let e=.72*n;i.append("circle").attr("cx",e).attr("cy",e).attr("r",5.5).attr("fill","#7F77DD"),i.append("text").attr("x",e).attr("y",e+2.5).attr("text-anchor","middle").attr("font-size",7).attr("font-weight",700).attr("fill","#fff").text(r>9?"9+":r)}}ev.each(eS);let ek=ei.append("g").selectAll("circle").data(R).join("circle").attr("class","gn").attr("r",en).attr("fill",e=>e.id===Z?"#fff":M(e)).attr("fill-opacity",e=>e.degree>=3?.55:2===e.degree?.75:1).attr("stroke",e=>e.id===Z?"#FFD700":e.is_catalyst?"#00ff88":"none").attr("stroke-width",e=>e.id===Z?3:2.5*!!e.is_catalyst).style("cursor","pointer").on("click",(e,t)=>{t.id!==Z&&(eg(t.id),i(t))}),ez=d.select("body").append("div").attr("class","graph-tooltip").style("position","fixed").style("top","0px").style("left","0px").style("background","rgba(0,0,0,0.92)").style("color","#fff").style("padding","8px 12px").style("border-radius","6px").style("font-size","12px").style("pointer-events","none").style("opacity",0).style("z-index",1e3).style("border","1px solid rgba(255,255,255,0.2)").style("max-width","280px"),eC=d.select("body").append("div").attr("class","graph-tooltip").style("position","fixed").style("top","0px").style("left","0px").style("pointer-events","none").style("opacity",0).style("z-index",1001).style("transition","opacity 0.15s"),e_=new Map;for(let[e,t]of W)e_.has(t)||e_.set(t,[]),e_.get(t).push(e);ek.on("mouseover",function(e,t){if(et(this,1.5*en(t)),ee.on&&ee.branch&&t.id!==Z&&(e=>{let t=new Set([Z,e.id]),r=[e.id];for(;r.length;)for(let e of e_.get(r.pop())||[])t.has(e)||(t.add(e),r.push(e));for(let r=W.get(e.id),n=0;null!=r&&n<7;r=W.get(r),n++)t.add(r);ek.classed("lit",e=>t.has(e.id)),eb.classed("lit",e=>t.has(e.source.id)&&t.has(e.target.id)),ei.classed("lab-focus",!0)})(t),t.profile_image_url&&t.id!==Z){var r;let n,i=Math.max(48,5*en(t));eC.style("opacity",1),r=o[t.tier]||"#555",eC.selectAll("*").remove(),(n=(0,E.localPhoto)(t.profile_image_url))?eC.append("img").attr("src",n).style("width",i+"px").style("height",i+"px").style("border-radius","50%").style("object-fit","cover").style("border",`2px solid ${r}`).style("display","block").on("error",function(){this.parentElement.style.display="none"}):eC.style("opacity",0),eC.style("left",e.clientX-i/2+"px").style("top",e.clientY-i-8+"px"),ez.style("opacity",1).html(`<strong>${J(t.name)}</strong>`).style("left",e.clientX-40+"px").style("top",e.clientY+12+"px").style("text-align","center").style("min-width","80px")}else ez.style("opacity",1).html(`<strong>${J(t.name)}</strong>${t.company?"<br/>"+J(t.company):""}${t.tier?"<br/>Tier: "+J(t.tier):""}`).style("left",e.clientX+12+"px").style("top",e.clientY-10+"px")}).on("mousemove",function(e,t){if(t.profile_image_url&&t.id!==Z){let r=Math.max(48,5*en(t));eC.style("left",e.clientX-r/2+"px").style("top",e.clientY-r-8+"px"),ez.style("left",e.clientX-40+"px").style("top",e.clientY+12+"px")}else ez.style("left",e.clientX+12+"px").style("top",e.clientY-10+"px")}).on("mouseout",function(e,t){et(this,en(t)),ei.classed("lab-focus",!1),ez.style("opacity",0),eC.style("opacity",0)}),z=ek,C=em,_=Z,z.call(T().on("start",(e,t)=>{e.active||C.alphaTarget(.3).restart(),t.fx=t.x,t.fy=t.y}).on("drag",(e,t)=>{t.fx=e.x,t.fy=e.y}).on("end",(e,t)=>{e.active||C.alphaTarget(0),t.id!==_&&(t.fx=null,t.fy=null)}));let eM=null,eR=e=>!!(eM&&eM.size<=40&&eM.has(e.id))||!!ee.labels&&(e.id===Z||1===e.degree&&("all"===ee.names||"S"===e.tier||e.is_catalyst)),e$=ei.append("g"),eF=e$.selectAll("text"),eB=()=>{eF=e$.selectAll("text").data(R.filter(eR),e=>e.id).join("text").text(e=>e.is_catalyst&&"S"!==e.tier?e.name+" ⚡":e.name).attr("font-size",e=>e.id===Z?14:10).attr("font-weight",e=>e.id===Z?700:500).attr("fill",e=>e.id===Z?"#fff":e.is_catalyst?"#00ff88":M(e)).attr("text-anchor","middle").attr("dy",e=>en(e)+14).attr("x",e=>e.x||0).attr("y",e=>e.y||0).style("pointer-events","none")};eB();let eW=ei.selectAll(".catalyst-ring");em.on("tick",()=>{eb.attr("x1",e=>e.source.x).attr("y1",e=>e.source.y).attr("x2",e=>e.target.x).attr("y2",e=>e.target.y),ek.attr("cx",e=>e.x).attr("cy",e=>e.y),eW.attr("cx",e=>e.x).attr("cy",e=>e.y),ev.attr("transform",e=>`translate(${e.x},${e.y})`),eF.attr("x",e=>e.x).attr("y",e=>e.y),ep()}),ei.classed("lab-pop",ee.on&&R.length<5e3);let eT=(0,P.bornTimes)(R,W),eE=new Map(R.map((e,t)=>[e.id,eT[t]])),eI=ek.nodes(),eA=eb.nodes(),eD=new Map;ev.each(function(e){eD.set(e.id,[this])}),eW.each(function(e){eD.set(e.id,[...eD.get(e.id)||[],this])});let eL=new Uint8Array(R.length).fill(1),eO=R.filter(e=>1===e.degree),eP=eO.map(e=>eE.get(e.id)).filter(Number.isFinite),eN={min:eP.length?eP.reduce((e,t)=>Math.min(e,t)):null,max:eP.length?eP.reduce((e,t)=>Math.max(e,t)):null,of:eO.length},eH=null,eq=()=>eF.style("display",e=>null==eH||eE.get(e.id)<=eH?null:"none"),eY="",eU=(0,P.clockNow)().fly;return{simulation:em,resize:t=>{let n=I(ea??f.default(e.node()),r,t);r=t,ed(g.identity.translate(n.x,n.y).scale(n.k),250)},select:eg,setLab:e=>{if(K){e.labels!==ee.labels&&(ee={...ee,labels:e.labels},eB(),eq());return}let t=ee;ee=e;let r=t.dotSize!==ee.dotSize||t.sizeBy!==ee.sizeBy;r&&(ek.attr("r",en),eW.attr("r",e=>en(e)+6),ev.each(eS),em.force("collision").radius(e=>en(e)+2),eh&&eg(eh.id)),t.lines!==ee.lines&&eb.attr("stroke-width",.5*ee.lines),(r||t.names!==ee.names||t.labels!==ee.labels)&&(eB(),eq()),ee.on&&ee.branch||ei.classed("lab-focus",!1),ei.classed("lab-pop",ee.on&&R.length<5e3),(["gravity","rings","push","pull","distance"].some(e=>t[e]!==ee[e])||r)&&(em.force("link").distance(ex).strength(Math.min(1,eu*ee.pull)),em.force("charge").strength(ey),em.force("gravityX").strength(.15*ee.gravity),em.force("gravityY").strength(.15*ee.gravity),em.force("radial").strength(ef*ee.rings),el?.attr("opacity",Math.min(1,ee.rings)),em.alpha(Math.max(em.alpha(),.5)).restart())},setTime:e=>{ee.on||(e=null),eH=e;let t=0;for(let r=1;r<R.length;r++){let n=+(null==e||eT[r]<=e);if(n&&1===R[r].degree&&t++,n===eL[r])continue;eL[r]=n;let i=n?"":"none";for(let e of(eI[r].style.display=i,eA[r-1]&&(eA[r-1].style.display=i),eD.get(R[r].id)||[]))e.style.display=i}if(eq(),v&&(v.style.display=null==e?"none":"block",null!=e)){let r=new Date(e).toLocaleDateString(void 0,{month:"short",year:"numeric"}),n=(0,P.chapterAt)((0,P.clockNow)().social,e);v.textContent=`${r} \xb7 ${t.toLocaleString()} of ${eN.of.toLocaleString()} connections${n?` \xb7 at ${n.company}`:""}`}},setColours:e=>{M=e.of,ek.attr("fill",e=>e.id===Z?"#fff":M(e)),eb.attr("stroke",e=>M(e.target)||"#333"),eB(),eq(),eh&&eg(eh.id)},setFind:(e,t)=>{let n=ee.on?String(e||""):"";if(n!==eY&&(eY=n,eM=(0,P.findMatches)(R.filter(e=>e.id!==Z),n),ek.classed("found",e=>!!eM?.has(e.id)),eb.classed("found",e=>!!eM?.has(e.target.id)),ei.classed("lab-find",!!eM),eB(),eq(),(0,P.setClock)({found:eM?eM.size:0})),t!==eU){eU=t;let e=eM&&R.filter(e=>eM.has(e.id)).sort((e,t)=>(t.power_score||0)-(e.power_score||0))[0];e&&(ed(g.identity.translate(r.width/2-2.5*e.x,r.height/2-2.5*e.y).scale(2.5),750),eg(e.id),i(e))}},range:eN}}(r,C.current,n,e,e=>G.current?.(e),i,o,p,M,l,k,(0,P.effectiveLab)(H.current),B.current,X.current);_.current=v,v.select(V.current),(0,P.setClock)({min:v.range.min,max:v.range.max,of:v.range.of}),v.setTime((0,P.clockNow)().at),v.setFind((0,P.clockNow)().find,(0,P.clockNow)().fly);let $=(N=t={svg:z.current,stamp:()=>B.current?.style.display==="block"?B.current.textContent:null,legend:()=>X.current.legend},()=>{N===t&&(N=null)});return()=>{var e;v.simulation.stop(),$(),r.interrupt(),_.current=null,("string"==typeof(e=".graph-tooltip")?new h.Selection([document.querySelectorAll(e)],[document.documentElement]):new h.Selection([(0,c.default)(e)],h.root)).remove()}},[e,i,K,k]),(0,t.jsxs)("div",{style:{flex:1,position:"relative",overflow:"hidden"},children:[(0,t.jsx)("style",{children:ee}),(0,t.jsx)("svg",{ref:z,width:$?.width??800,height:$?.height??600,style:{background:"#0a0a1a"}}),(0,t.jsx)("div",{ref:C,className:"galaxy-ring",style:{position:"absolute",left:0,top:0,display:"none",pointerEvents:"none",transformOrigin:"0 0"},children:(0,t.jsx)("div",{className:"galaxy-ring-pulse",style:{boxSizing:"border-box",border:"2.5px solid",borderRadius:"50%"}})}),(0,t.jsx)("div",{ref:B,style:{position:"absolute",bottom:56,left:"50%",transform:"translateX(-50%)",display:"none",padding:"6px 14px",borderRadius:16,background:"rgba(10,15,30,0.8)",border:"1px solid rgba(255,255,255,0.12)",color:"#e6edf5",fontSize:13,fontWeight:600,pointerEvents:"none",fontVariantNumeric:"tabular-nums"}}),(0,t.jsx)("div",{style:{position:"absolute",bottom:20,left:20,right:20,display:"flex",flexWrap:"wrap",gap:"4px 12px",fontSize:11,color:"#888",pointerEvents:"none"},children:U.legend.map(([e,r])=>(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,whiteSpace:"nowrap"},children:[(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:r,display:"inline-block"}}),e]},e))})]})},modes:["network"],label:"Galaxy",icon:"🌌",desc:"Force-directed layout"},orbit:{component:ei,modes:["degrees"],label:"Orbit",icon:"🪐",desc:"Tier orbits + circle dots; in Degrees, every mapped circle fanned out",allDegree2:!0},separation:{component:function({connections:e=[],degree2:n=[],fullDegree1:i=e,fullDegree2:o=n,onSelect:s,userName:d,selectedId:c,tierColors:h=e9,preset:p=null}){let g=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),u=g?68:56,f=g?5:10,x=g?8:16,[y,m]=(0,r.useState)(""),b=(0,r.useDeferredValue)(y.trim().toLowerCase()),[j,w]=(0,r.useState)("power"),[v,S]=(0,r.useState)("all"),[k,z]=(0,r.useState)(()=>new Set),[C,_]=(0,r.useState)(null);p&&p.id!==C&&(_(p.id),m(p.query||""),S(p.tier||"all"),z(new Set(p.rarity?[p.rarity]:[])));let M=(0,l.default)(),[R,$]=(0,r.useState)(0),[F,B]=(0,r.useState)({w:0,h:800}),[W,T]=(0,r.useState)(null),E=(0,r.useRef)(null),I=(0,r.useCallback)(e=>{E.current=e,T(e)},[]),A=(0,r.useRef)(null),D=(0,r.useMemo)(()=>(0,el.separationPeople)(n,e),[n,e]),L=(0,r.useMemo)(()=>"ways"===j?[...D.people].sort(el.compareWaysIn):D.people,[D,j]),O=(0,r.useMemo)(()=>(0,el.routeIndex)(o),[o]),P=(0,r.useMemo)(()=>{let e=new Map;for(let t of D.people)e.set(t.key,e2(t.person,O.get(t.key)?.size||t.waysIn));return e},[D,O]),N=(0,r.useMemo)(()=>{let e=Object.fromEntries(e0.map(e=>[e.key,0]));for(let t of P.values())e[t.key]++;return e},[P]),H=(0,r.useCallback)((e,t)=>("all"===v||e.tier===v)&&(!k.size||k.has(P.get(e.key)?.key))&&(!t||e.haystack.includes(t)),[v,k,P]),q=(0,r.useMemo)(()=>b||"all"!==v||k.size?L.filter(e=>H(e,b)):L,[L,b,v,k,H]),Y=(0,r.useMemo)(()=>new Set(i.map(el.keyFor)),[i]),U=(0,r.useCallback)(e=>Y.has(e.key)?"connected":(0,a.hasRequest)(e.person,M)?"asked":null,[Y,M]),X=(0,r.useMemo)(()=>q.filter(e=>!U(e)).slice(0,f),[q,f,U]),G=(0,r.useMemo)(()=>q.reduce((e,t)=>e+ +!!U(t),0),[q,U]),V=null!=c?D.rowToKey.get(c)??null:null,K=(0,r.useRef)(s);(0,r.useEffect)(()=>{K.current=s});let J=(0,r.useCallback)(e=>K.current?.(e.person),[]),Z=(0,r.useCallback)(e=>{e&&K.current?.(e)},[]);(0,r.useEffect)(()=>{if(!W)return;let e=new ResizeObserver(()=>{let e=Math.round(W.clientWidth),t=Math.round(W.clientHeight);B(r=>r.w===e&&r.h===t?r:{w:e,h:t})});return e.observe(W),()=>e.disconnect()},[W]);let Q=Math.max(0,Math.min(980,F.w-2*x)),ee=(0,r.useMemo)(()=>(0,el.summitLayout)(X,Q||800,g),[X,Q,g]),et=g?58:40,en=X.length?et+ee.height+12:0,ei=en+28,eo=ei+q.length*u+72,ea=Math.max(0,Math.floor((R-ei)/u)-8),es=Math.min(q.length,ea+Math.ceil(F.h/u)+16),ed=(0,r.useCallback)(e=>{let t=16*Math.floor(e.currentTarget.scrollTop/16);$(e=>e===t?e:t)},[]),ec=(0,r.useCallback)(()=>{E.current&&(E.current.scrollTop=0),$(0)},[]);(0,r.useEffect)(()=>{let e=e=>{if("/"!==e.key||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;t&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.isContentEditable)||(e.preventDefault(),A.current?.focus())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let eh=e=>{m(e),ec()},{summary:ep}=D,eg=!!b||"all"!==v||k.size>0,eu=!d||/^you$/i.test(String(d).trim())?"You":(0,er.initialsFor)(d),ef=q.slice(ea,es);return(0,t.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",background:"#0a0a1a",color:"#fff",overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{padding:"10px 56px 8px",flexShrink:0},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:800,background:"linear-gradient(135deg, #FFD700, #FF6B35)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Separation"}),(0,t.jsx)("span",{style:{fontSize:12,color:"#aaa"},children:g?`${tr(ep.people,"person","people")} \xb7 ${tt(ep.byTier.S)} S \xb7 ${tt(ep.multi)} with 2+ ways`:`${tr(ep.people,"person","people")} two steps away \xb7 ${tt(ep.byTier.S)} S-tier \xb7 ${tt(ep.multi)} reachable 2+ ways \xb7 through ${tt(ep.bridges)} of your connections`})]}),(0,t.jsx)("div",{"aria-hidden":"true",style:{display:"flex",gap:1,height:6,borderRadius:3,overflow:"hidden",margin:"8px 0 6px",background:"rgba(255,255,255,0.04)"},children:el.TIERS.filter(e=>ep.byTier[e]>0).map(e=>(0,t.jsx)("div",{style:{flex:ep.byTier[e],background:h[e]||"#555"}},e))}),(0,t.jsx)("div",{style:{fontSize:11,color:"#777",lineHeight:1.4},children:g?"Ranks reachability, not people · lists scanned so far":"Ranked by each person’s own score (title, company, headline). It ranks reachability, not people. From the lists scanned so far."}),ep.peopleOnlyUnresolved>0&&(0,t.jsxs)("div",{style:{marginTop:8,padding:"8px 10px",borderRadius:8,fontSize:11.5,lineHeight:1.5,color:"#e8d9a0",background:"rgba(255,215,0,0.06)",border:"1px solid rgba(255,215,0,0.25)"},children:[tr(ep.peopleOnlyUnresolved,"of these people","of these people")," ","came only through ",tr(ep.onlyUnresolvedVia,"connection record","connection records")," ","that ",1===ep.onlyUnresolvedVia?"doesn’t":"don’t"," match anyone in your 1st-degree list, so who introduces you can’t be named. They’re still ranked."]})]}),(0,t.jsxs)("div",{style:{padding:"0 56px 10px",flexShrink:0,display:"flex",gap:8,flexDirection:g?"column":"row",alignItems:g?"stretch":"center",flexWrap:g?"nowrap":"wrap",borderBottom:"1px solid rgba(255,255,255,0.06)"},children:[(0,t.jsx)("input",{ref:A,type:"search",value:y,onChange:e=>eh(e.target.value),onKeyDown:e=>{if("Enter"===e.key){let e=y.trim().toLowerCase(),t=L.find(t=>H(t,e));t&&J(t)}else"Escape"===e.key&&(y?eh(""):e.currentTarget.blur())},placeholder:"Search people, companies, or who knows them","aria-label":"Search people, companies, or who knows them",style:{flex:g?"none":"1 1 260px",minWidth:0,height:g?44:34,boxSizing:"border-box",padding:"0 12px",borderRadius:8,outline:"none",color:"#fff",fontSize:g?16:13,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)"}}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flexWrap:g?"nowrap":"wrap",overflowX:g?"auto":"visible",scrollbarWidth:"thin",flexShrink:+!g},children:[(0,t.jsx)("div",{role:"group","aria-label":"Order",style:{display:"flex",flexShrink:0,background:"rgba(255,255,255,0.06)",borderRadius:8,padding:2},children:[["power","Power"],["ways","Ways in"]].map(([e,r])=>(0,t.jsx)("button",{type:"button","aria-pressed":j===e,onClick:()=>{w(e),ec()},style:{height:g?40:30,padding:"0 12px",border:"none",borderRadius:6,cursor:"pointer",fontSize:12,fontWeight:700,whiteSpace:"nowrap",background:j===e?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:j===e?"#000":"#999"},children:r},e))}),(0,t.jsx)("span",{style:{fontSize:10,color:"#666",whiteSpace:"nowrap",flexShrink:0,textTransform:"uppercase",letterSpacing:.5},children:"Their tier"}),["all",...el.TIERS].map(e=>{let r=v===e,n="all"===e?"#fff":h[e]||"#888",i="all"===e?ep.people:ep.byTier[e];return(0,t.jsxs)("button",{type:"button","aria-pressed":r,onClick:()=>{S(e),ec()},style:{height:g?40:30,padding:"0 10px",borderRadius:15,cursor:"pointer",flexShrink:0,fontSize:12,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${r?n:"rgba(255,255,255,0.1)"}`,background:r?`${"#fff"===n?"#ffffff":n}22`:"rgba(255,255,255,0.03)",color:r?n:"#999"},children:["all"===e?"All":e,(0,t.jsx)("span",{style:{marginLeft:5,fontWeight:500,color:r?n:"#666",opacity:.85},children:tt(i)})]},e)}),(0,t.jsx)("span",{title:tc,style:{fontSize:10,color:"#666",whiteSpace:"nowrap",flexShrink:0,textTransform:"uppercase",letterSpacing:.5,marginLeft:6,cursor:"help"},children:"Rarity"}),e0.map(e=>{let r=k.has(e.key);return(0,t.jsxs)("button",{type:"button","aria-pressed":r,onClick:()=>{var t;return t=e.key,void(z(e=>e8(e,t)),ec())},title:`${e.label}: ${e.range} mutual connection${"1"===e.range?"":"s"}. ${tc}`,style:{height:g?40:30,padding:"0 10px",borderRadius:15,cursor:"pointer",flexShrink:0,fontSize:12,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${r?e.color:"rgba(255,255,255,0.1)"}`,background:r?`${e.color}22`:"rgba(255,255,255,0.03)",color:r?e.color:"#999"},children:[e.label,(0,t.jsx)("span",{style:{marginLeft:5,fontWeight:500,color:r?e.color:"#666",opacity:.85},children:tt(N[e.key])})]},e.key)})]})]}),(0,t.jsx)("div",{ref:I,onScroll:ed,style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",position:"relative",padding:`0 ${x}px`},children:(0,t.jsxs)("div",{style:{position:"relative",maxWidth:980,margin:"0 auto",height:eo},children:[X.length>0&&(0,t.jsxs)("div",{style:{height:en,boxSizing:"border-box",paddingTop:10},children:[(0,t.jsxs)("div",{style:{height:et-10,overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:"#ddd",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["Top ",tt(X.length)," you haven’t asked, of ",tt(q.length),eg?" shown":""," · every way in drawn"]}),(0,t.jsxs)("div",{style:{fontSize:10,color:"#777",marginTop:2,whiteSpace:g?"normal":"nowrap",overflow:"hidden",textOverflow:"ellipsis",lineHeight:1.35},children:[G>0&&(0,t.jsxs)("span",{style:{color:"#FFD700"},children:[tt(G)," asked or connected, so it moved on · "]}),(0,t.jsx)("span",{style:{color:e7},children:"solid orange"})," = top-scored bridge · dashed = other routes · dot size = ways in"]})]}),Q>0&&(0,t.jsx)(tl,{layout:ee,selectedKey:V,tierColors:h,youLabel:eu,isMobile:g,onPick:J,onPickBridge:Z})]}),q.length>0&&(0,t.jsxs)("div",{style:{height:28,display:"grid",alignItems:"center",gap:10,padding:"0 12px 0 15px",gridTemplateColumns:g?"44px 36px 1fr 44px":"64px 36px minmax(0,1.4fr) minmax(0,1fr) 96px 44px",fontSize:9,fontWeight:700,color:"#555",textTransform:"uppercase",letterSpacing:.5,borderBottom:"1px solid rgba(255,255,255,0.08)",boxSizing:"border-box"},children:[(0,t.jsx)("span",{title:"Rank by score, then ways in. = means tied",children:"#"}),(0,t.jsx)("span",{}),g?(0,t.jsx)("span",{children:"Person · way in"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Person"}),(0,t.jsx)("span",{children:"Way in"}),(0,t.jsx)("span",{children:"Power"})]}),(0,t.jsx)("span",{style:{textAlign:"right"},children:g?"Score":""})]}),ef.map((e,r)=>(0,t.jsx)(th,{p:e,top:ei+(ea+r)*u,height:u,isMobile:g,selected:e.key===V,tierColors:h,onPick:J,q:b,status:U(e),rarity:P.get(e.key)},e.key)),0===q.length&&(0,t.jsxs)("div",{style:{position:"absolute",top:40,left:0,right:0,textAlign:"center",color:"#888",fontSize:13,padding:"0 16px"},children:[b?(0,t.jsxs)(t.Fragment,{children:["No one matches ‘",y.trim(),"’. Search covers names, headlines, companies and who knows them."]}):(0,t.jsx)(t.Fragment,{children:"No one here with those filters."}),(0,t.jsx)("div",{style:{marginTop:12},children:(0,t.jsx)("button",{type:"button",onClick:()=>{m(""),S("all"),z(new Set),ec()},style:{padding:"8px 16px",borderRadius:8,cursor:"pointer",fontSize:12,fontWeight:700,border:"1px solid rgba(255,255,255,0.15)",background:"rgba(255,255,255,0.06)",color:"#fff"},children:"Clear"})})]})]})})]})},modes:["degrees"],label:"Separation",icon:"🏆",desc:"Every 2nd degree, ranked · every way in"},chain:{component:function({connections:e,degree2:n=[],onSelect:o,userName:a,fullDegree1:s,fullDegree2:d,scanNotes:c,canScan:h=!0,chainOpen:p=null,onChainOpened:g}){let u=(0,r.useRef)(null),[f,x]=(0,r.useState)(null),[y,m]=(0,r.useState)(1.3),[b,j]=(0,r.useState)({w:800,h:600}),w=s||e,v=d||n,[S,k]=(0,r.useState)(()=>eA(p,w)),[z,C]=(0,r.useState)(p);if(p&&p!==z){C(p);let e=eA(p,w);e.length&&k(e)}(0,r.useEffect)(()=>{p&&g?.()},[p,g]);let _=(0,r.useSyncExternalStore)(h?i.watchScanner:eF,eR,e$),M=(0,r.useSyncExternalStore)(eW,eT,eE),R=(0,l.default)();(0,r.useEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=Math.round(e.clientWidth),r=Math.round(e.clientHeight);j(e=>e.w===t&&e.h===r?e:{w:t,h:r})},r=new ResizeObserver(t);return r.observe(e),t(),()=>r.disconnect()},[]);let $=(0,r.useMemo)(()=>es(w,v),[w,v]),F=(0,r.useMemo)(()=>(0,A.reachIndex)(w,v,c),[w,v,c]),B=(0,r.useMemo)(()=>(0,A.readyByCircle)(F),[F]),W=(0,r.useMemo)(()=>(0,eb.redundancy)(d||n,s||e),[d,n,s,e]),T=(0,r.useMemo)(()=>{let e=new Map;for(let t of v)e.set(t.id,t);for(let t of w)e.set(t.id,t);return e},[w,v]),I=[];for(let e of S){let t=T.get(e);if(!t)break;I.push(t)}let P=I.length>0;(0,r.useEffect)(()=>{if(!P)return;let e=e=>{"Escape"!==e.key||/^(INPUT|TEXTAREA|SELECT)$/.test(e.target?.tagName||"")||document.querySelector('[role="dialog"][aria-modal="true"]')||k(e=>e.slice(0,-1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[P]);let N={};n.forEach(e=>{e.source_connection_id&&(N[e.source_connection_id]||(N[e.source_connection_id]=[]),N[e.source_connection_id].push(e))});let H=e.filter(e=>N[e.id]&&N[e.id].length>0).sort((e,t)=>(N[t.id]?.length||0)-(N[e.id]?.length||0)),q=b.w/2,Y=b.h/2,U=Math.min(q,Y)-30,X=ex(H.length,{inner:.55*U,innerMin:.4*U,outer:.62*U,spacing:46,minSpacing:20}),G=H.map((e,t)=>{let r=X.points[t];return{...e,x:q+r.x,y:Y+r.y,angle:r.angle,clusterSize:(N[e.id]||[]).length}}),V=(0,r.useRef)([]);(0,r.useEffect)(()=>{V.current=G.map(e=>({id:e.id,angle:e.angle}))});let K=(0,r.useRef)(0);if((0,r.useEffect)(()=>{let e=u.current;if(!e||P)return;let t=(t,r)=>{let n=e.getBoundingClientRect(),i=t-n.left,o=Math.atan2(r-n.top-b.h/2,i-b.w/2),l=null,a=1/0;return V.current.forEach(e=>{let t=Math.abs(o-e.angle)%(2*Math.PI);t>Math.PI&&(t=2*Math.PI-t),t<a&&(a=t,l=e.id)}),l},r=e=>{if(e.touches[0]){let r=t(e.touches[0].clientX,e.touches[0].clientY);r&&x(r)}},n=e=>{e.preventDefault();let r=Date.now();if(!(r-K.current<16)&&(K.current=r,e.touches[0])){let r=t(e.touches[0].clientX,e.touches[0].clientY);r&&x(r)}};return e.addEventListener("touchstart",r,{passive:!1}),e.addEventListener("touchmove",n,{passive:!1}),()=>{e.removeEventListener("touchstart",r),e.removeEventListener("touchmove",n)}},[b,y,P]),P)return(0,t.jsx)("div",{ref:u,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},children:(0,t.jsx)(eN,{trail:I,index:$,reach:F,dims:b,requests:R,scanningId:_,still:M,canScan:h,onOpen:e=>k(I.map(e=>e.id).concat(e)),onBack:e=>k(I.slice(0,e).map(e=>e.id)),onSelect:o},I.map(e=>e.id).join(">"))});let J=n.length,Z=n.filter(e=>"S"===e.tier).length,Q=n.filter(e=>"A"===e.tier).length,ee=f?G.find(e=>e.id===f):null;return(0,t.jsxs)("div",{ref:u,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},children:[(0,t.jsx)("svg",{width:b.w,height:b.h,children:(0,t.jsxs)("g",{transform:`translate(${q*(1-y)}, ${Y*(1-y)}) scale(${y})`,children:[(0,t.jsx)("circle",{cx:q,cy:Y,r:.55*U,fill:"none",stroke:`${ew[1]}10`,strokeWidth:1}),ee&&(0,t.jsx)(eD,{bridge:ee,members:eI(ee,$),reach:F,cx:q,cy:Y,maxR:U,still:M,band:function(e,t=[],r=34){let n=Math.max(0,...t.map(e=>e.radius)),i=Math.max(.66*e,n?n+r:0);return{inner:i,outer:Math.max(.8*e,i+.14*e)}}(U,X.rings)}),G.map(e=>{let r,n=f===e.id,i=(N[e.id]||[]).filter(e=>"S"===e.tier).length,o=(N[e.id]||[]).filter(e=>"A"===e.tier).length,l=B.get(e.id)||0;return(0,t.jsxs)("g",{onClick:()=>{x(null),k([e.id])},onMouseEnter:()=>x(e.id),onMouseLeave:()=>x(null),style:{cursor:"pointer"},children:[(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:n?20:16,fill:`${ej[e.tier]}08`,stroke:`${ej[e.tier]}${n?"60":"25"}`,strokeWidth:1}),null==(r=(0,A.scanBars)(e,F))?null:(0,t.jsxs)("g",{transform:`translate(${e.x} ${e.y})`,pointerEvents:"none",children:[D((n?20:16)+3.5).map(e=>(0,t.jsx)("path",{d:e.d,fill:"none",strokeLinecap:"round",strokeWidth:1.6,stroke:e.i<r?L:O},e.i)),(0,t.jsx)("title",{children:5===r?"Their whole list is scanned":`About ${20*r}% of their list is scanned`})]}),(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:n?13:11,fill:(0,E.localPhoto)(e.profile_image_url)?"#1a1a2e":ej[e.tier],stroke:n?"#fff":ej[e.tier],strokeWidth:n?2.5:2}),(0,E.localPhoto)(e.profile_image_url)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("clipPath",{id:"bc-"+e.id,children:(0,t.jsx)("circle",{cx:e.x,cy:e.y,r:n?11:9})}),(0,t.jsx)("image",{href:(0,E.localPhoto)(e.profile_image_url),x:e.x-(n?11:9),y:e.y-(n?11:9),width:n?22:18,height:n?22:18,clipPath:`url(#bc-${e.id})`})]}),!(0,E.localPhoto)(e.profile_image_url)&&(0,t.jsx)("text",{x:e.x,y:e.y+4,textAnchor:"middle",fill:"S"===e.tier?"#000":"#fff",fontSize:11,fontWeight:700,children:e.name?.charAt(0)}),l>0&&(0,t.jsxs)("g",{children:[(0,t.jsx)("title",{children:`${l} you reached through ${eC(e)}’s circle ${1===l?"is":"are"} ready for a scan`}),(0,t.jsx)("rect",{x:e.x+7,y:e.y-21,width:l>9?40:34,height:11,rx:5.5,fill:"rgba(0,255,136,0.16)",stroke:eS,strokeWidth:.6}),(0,t.jsxs)("text",{x:e.x+7+(l>9?20:17),y:e.y-13,textAnchor:"middle",fill:eS,fontSize:7,fontWeight:800,children:[l," ready"]})]}),(0,t.jsx)("text",{x:e.x,y:e.y+(n?24:22),textAnchor:"middle",fill:"#fff",fontSize:9,fontWeight:600,children:e.name?.split(" ")[0]}),(0,t.jsxs)("text",{x:e.x,y:e.y+(n?34:32),textAnchor:"middle",fill:"#888",fontSize:7,children:[e.clusterSize," · ",i>0?i+"S ":"",o>0?o+"A":""]})]},"b-"+e.id)}),(0,t.jsx)("circle",{cx:q,cy:Y,r:22,fill:"#0a0a1a",stroke:"#FFD700",strokeWidth:3}),(0,t.jsx)("text",{x:q,y:Y+4,textAnchor:"middle",fill:"#FFD700",fontSize:11,fontWeight:800,children:a?.split(" ")[0]||"YOU"})]})}),(0,t.jsx)(eP,{onIn:()=>m(e=>Math.min(3,e+.3)),onReset:()=>m(1.3),onOut:()=>m(e=>Math.max(.4,e-.3))}),(0,t.jsxs)("div",{style:{position:"absolute",bottom:16,left:12,background:"rgba(0,0,0,0.75)",borderRadius:10,padding:"10px 14px",backdropFilter:"blur(12px)",border:"1px solid rgba(255,255,255,0.06)",maxWidth:"calc(100vw - 80px)"},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1.5,marginBottom:8},children:"DEGREES OF SEPARATION"}),(0,t.jsx)("div",{style:{display:"flex",gap:8},children:[1,2,3,4,5,6].map(r=>(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsxs)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:11,fontWeight:800,display:"flex",alignItems:"center",justifyContent:"center",background:r<=2?ew[r]:"rgba(255,255,255,0.04)",color:r<=2?"#000":"#333",border:r<=2?"none":"1px solid rgba(255,255,255,0.08)",boxShadow:r<=2?`0 0 6px ${ew[r]}30`:"none"},children:["D",r]}),(0,t.jsx)("div",{style:{fontSize:7,color:r<=2?"#aaa":"#333",marginTop:3},children:1===r?e.length:2===r?J:"—"})]},r))}),(0,t.jsxs)("div",{style:{fontSize:9,color:"#555",marginTop:8},children:[H.length," bridges · ",Z," S + ",Q," A at 2nd degree"]}),W>0&&(0,t.jsxs)("div",{style:{fontSize:9,color:"#555",marginTop:4},title:"The share of everyone you reach through a circle that more than one of your connections reaches",children:[Math.round(100*W),"% of your 2nd degree you reach two or more ways"]}),(0,t.jsx)("div",{style:{fontSize:8,color:"#444",marginTop:4},children:"Click a bridge to open their circle, then anyone in it to open theirs"})]})]})},modes:["degrees"],label:"Bridge Chains",icon:"🔗",desc:"Degree paths"},rings:{component:function({connections:e,degree2:n=[],onSelect:i,mode:o}){let[l,a]=(0,r.useState)(null);if("degrees"===o&&n.length>0){let r={};n.forEach(e=>{e.source_connection_id&&(r[e.source_connection_id]||(r[e.source_connection_id]=[]),r[e.source_connection_id].push(e))});let o=Object.entries(r).map(([t,r])=>{let n=e.find(e=>e.id===t);if(!n)return null;let i=r.filter(e=>"S"===e.tier).length,o=r.filter(e=>"A"===e.tier).length;return{bridge:n,members:r,sCount:i,aCount:o,total:r.length,value:3*i+2*o+r.length}}).filter(Boolean).sort((e,t)=>t.value-e.value),s={S:36,A:28,B:22,C:16,D:12};return(0,t.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,t.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:o.map((e,r)=>{let n={};return eQ.forEach(e=>{n[e]=[]}),e.members.forEach(e=>{(n[e.tier]||n.D).push(e)}),eQ.forEach(e=>{n[e].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0))}),(0,t.jsxs)("div",{style:{marginBottom:30},children:[(0,t.jsx)("div",{style:{textAlign:"center",marginBottom:12},children:(0,t.jsxs)("div",{onClick:()=>i&&i(e.bridge),onMouseEnter:()=>a(e.bridge.id),onMouseLeave:()=>a(null),style:{display:"inline-block",cursor:"pointer",position:"relative"},children:[(0,t.jsx)("div",{style:{width:56,height:56,borderRadius:"50%",margin:"0 auto",border:`3px solid ${eZ[e.bridge.tier]}`,overflow:"hidden",background:"#1a1a2e",boxShadow:l===e.bridge.id?`0 0 20px ${eZ[e.bridge.tier]}60`:`0 0 10px ${eZ[e.bridge.tier]}20`,transition:"box-shadow 0.2s"},children:(0,E.localPhoto)(e.bridge.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.bridge.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):(0,t.jsx)("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:eZ[e.bridge.tier],color:"S"===e.bridge.tier?"#000":"#fff",fontSize:20,fontWeight:800},children:e.bridge.name?.charAt(0)})}),(0,t.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"#fff",marginTop:4},children:e.bridge.name}),(0,t.jsxs)("div",{style:{fontSize:9,color:eZ[e.bridge.tier],fontWeight:600},children:[e.bridge.tier,"-Tier · ",e.total," connections · ",e.sCount>0?e.sCount+"S ":"",e.aCount>0?e.aCount+"A":""]})]})}),eQ.map(e=>{let r=n[e];if(0===r.length)return null;let o=s[e],d="S"===e?10:"A"===e?6:4;return(0,t.jsxs)("div",{style:{marginBottom:6},children:[(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:d},children:r.map(r=>{let n=l===r.id;return(0,t.jsxs)("div",{onClick:()=>i&&i(r),onMouseEnter:()=>a(r.id),onMouseLeave:()=>a(null),style:{position:"relative",cursor:"pointer"},children:[(0,t.jsx)("div",{style:{width:o,height:o,borderRadius:"50%",border:`2px solid ${eZ[e]}`,overflow:"hidden",background:(0,E.localPhoto)(r.profile_image_url)?"#111":eZ[e],transition:"transform 0.15s, box-shadow 0.15s",transform:n?"scale(1.3)":"scale(1)",boxShadow:n?`0 0 12px ${eZ[e]}60`:"none"},children:(0,E.localPhoto)(r.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(r.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:t=>{t.target.style.display="none",t.target.parentElement.style.background=eZ[e]}}):(0,t.jsx)("span",{style:{display:"flex",width:"100%",height:"100%",alignItems:"center",justifyContent:"center",fontSize:.4*o,fontWeight:700,color:"S"===e?"#000":"#fff"},children:r.name?.charAt(0)})}),("S"===e||n)&&(0,t.jsx)("div",{style:{position:"absolute",top:o+2,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:(0,t.jsxs)("div",{style:{fontSize:n?10:8,fontWeight:600,color:n?"#fff":"#aaa",background:n?"rgba(0,0,0,0.85)":"transparent",padding:n?"3px 8px":0,borderRadius:4},children:[r.name?.split(" ")[0],n&&(0,t.jsx)("span",{style:{color:eZ[e],marginLeft:4},children:parseFloat(r.power_score||0).toFixed(1)})]})})]},r.id)})}),(0,t.jsx)("div",{style:{height:1,margin:"6px auto 0",width:`${40+10*eQ.indexOf(e)}%`,background:`linear-gradient(90deg, transparent, ${eZ[e]}20, transparent)`}})]},e)})]},e.bridge.id)})})})}let s={};eQ.forEach(e=>{s[e]=[]}),e.forEach(e=>{let t=e.tier||"D";s[t]&&s[t].push(e)}),eQ.forEach(e=>{s[e].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0))});let d={S:44,A:34,B:26,C:20,D:16};return(0,t.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,t.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:eQ.map((e,r)=>{let n=s[e];if(0===n.length)return null;let o=d[e],c="S"===e?12:"A"===e?8:"B"===e?6:4;return(0,t.jsxs)("div",{style:{marginBottom:"S"===e?20:"A"===e?16:10},children:[(0,t.jsxs)("div",{style:{textAlign:"center",marginBottom:8,fontSize:"S"===e?14:11,fontWeight:700,color:eZ[e],opacity:"S"===e?1:.7},children:["S"===e&&"👑 ",e,"-Tier (",n.length,")"]}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:c,padding:"0 20px"},children:n.map(r=>{let n=l===r.id;return(0,t.jsxs)("div",{onClick:()=>i&&i(r),onMouseEnter:()=>a(r.id),onMouseLeave:()=>a(null),style:{position:"relative",cursor:"pointer"},children:[(0,t.jsx)("div",{style:{width:o,height:o,borderRadius:"50%",border:`2px solid ${eZ[e]}`,overflow:"hidden",background:(0,E.localPhoto)(r.profile_image_url)?"#111":eZ[e],display:"flex",alignItems:"center",justifyContent:"center",transition:"transform 0.15s, box-shadow 0.15s",transform:n?"scale(1.3)":"scale(1)",boxShadow:n?`0 0 16px ${eZ[e]}60`:"none",zIndex:n?10:1,position:"relative"},children:(0,E.localPhoto)(r.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(r.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:t=>{t.target.style.display="none",t.target.parentElement.style.background=eZ[e]}}):(0,t.jsx)("span",{style:{fontSize:.4*o,fontWeight:700,color:"S"===e?"#000":"#fff"},children:r.name?.charAt(0)})}),("S"===e||n)&&(0,t.jsxs)("div",{style:{position:"absolute",top:o+4,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:[(0,t.jsxs)("div",{style:{fontSize:"S"===e?9:10,fontWeight:600,color:n?"#fff":"#aaa",background:n?"rgba(0,0,0,0.85)":"transparent",padding:n?"3px 8px":0,borderRadius:4},children:[r.name?.split(" ")[0],n&&(0,t.jsx)("span",{style:{color:eZ[e],marginLeft:4,fontWeight:800},children:parseFloat(r.power_score||0).toFixed(1)})]}),n&&r.headline&&(0,t.jsx)("div",{style:{fontSize:8,color:"#888",marginTop:2,background:"rgba(0,0,0,0.85)",padding:"2px 6px",borderRadius:3,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},children:r.headline.substring(0,40)})]})]},r.id)})}),r<eQ.length-1&&(0,t.jsx)("div",{style:{height:1,margin:"12px auto 0",width:`${50+12*r}%`,background:`linear-gradient(90deg, transparent, ${eZ[e]}30, transparent)`}})]},e)})})})},modes:["network","degrees"],label:"Pyramid",icon:"🔺",desc:"Tier hierarchy"},list:{component:function({connections:e,degree2:r=[],onSelect:n,mode:i}){if("degrees"===i){let i={};r.forEach(e=>{e.source_connection_id&&(i[e.source_connection_id]||(i[e.source_connection_id]=[]),i[e.source_connection_id].push(e))});let o=Object.entries(i).map(([t,r])=>{let n=e.find(e=>e.id===t);if(!n)return null;let i=r.filter(e=>"S"===e.tier).length,o=r.filter(e=>"A"===e.tier).length,l=3*i+2*o+r.length;return{bridge:n,members:r,sCount:i,aCount:o,total:r.length,value:l}}).filter(Boolean).sort((e,t)=>t.value-e.value);return(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,t.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"40px 1fr 50px 50px 50px 80px",gap:8,padding:"8px 12px",fontSize:9,fontWeight:700,color:"#555",borderBottom:"1px solid rgba(255,255,255,0.1)",textTransform:"uppercase",letterSpacing:.5},children:[(0,t.jsx)("span",{children:"#"}),(0,t.jsx)("span",{children:"Bridge"}),(0,t.jsx)("span",{children:"S"}),(0,t.jsx)("span",{children:"A"}),(0,t.jsx)("span",{children:"Total"}),(0,t.jsx)("span",{children:"Value"})]}),o.map((e,r)=>(0,t.jsxs)("div",{onClick:()=>n&&n(e.bridge),style:{display:"grid",gridTemplateColumns:"40px 1fr 50px 50px 50px 80px",gap:8,padding:"10px 12px",alignItems:"center",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.04)",transition:"background 0.1s"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,t.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"#444"},children:r+1}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,E.localPhoto)(e.bridge.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.bridge.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${eJ[e.bridge.tier]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:eJ[e.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:e.bridge.name?.charAt(0)}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.bridge.name}),(0,t.jsxs)("div",{style:{fontSize:9,color:eJ[e.bridge.tier],fontWeight:600},children:[e.bridge.tier,"-Tier"]})]})]}),(0,t.jsx)("span",{style:{fontSize:13,fontWeight:800,color:"#FFD700"},children:e.sCount}),(0,t.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"#9B59B6"},children:e.aCount}),(0,t.jsx)("span",{style:{fontSize:12,color:"#888"},children:e.total}),(0,t.jsx)("div",{children:(0,t.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:3,background:`linear-gradient(90deg, ${eJ[e.bridge.tier]}, #FF6B35)`,width:`${Math.min(100,e.value/Math.max(o[0]?.value||1,1)*100)}%`}})})})]},e.bridge.id))]})})}let o=[...e].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0)),l=parseFloat(o[0]?.power_score)||10;return(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,t.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"40px 36px 1fr 60px 120px",gap:8,padding:"8px 12px",fontSize:9,fontWeight:700,color:"#555",borderBottom:"1px solid rgba(255,255,255,0.1)",textTransform:"uppercase",letterSpacing:.5},children:[(0,t.jsx)("span",{children:"#"}),(0,t.jsx)("span",{}),(0,t.jsx)("span",{children:"Name"}),(0,t.jsx)("span",{children:"Score"}),(0,t.jsx)("span",{children:"Power"})]}),o.map((e,r)=>(0,t.jsxs)("div",{onClick:()=>n&&n(e),style:{display:"grid",gridTemplateColumns:"40px 36px 1fr 60px 120px",gap:8,padding:"8px 12px",alignItems:"center",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.04)",background:r<3?`${eJ[e.tier]}08`:"transparent",transition:"background 0.1s"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:t=>t.currentTarget.style.background=r<3?`${eJ[e.tier]}08`:"transparent",children:[(0,t.jsx)("span",{style:{fontSize:12,fontWeight:700,color:r<3?eJ[e.tier]:"#444"},children:r+1}),(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",border:`2px solid ${eJ[e.tier]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:10,fontWeight:700,background:eJ[e.tier],color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,45)})]}),(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsx)("span",{style:{fontSize:13,fontWeight:800,color:eJ[e.tier]},children:parseFloat(e.power_score||0).toFixed(1)}),(0,t.jsx)("div",{style:{fontSize:8,color:"#555"},children:e.tier})]}),(0,t.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:3,background:eJ[e.tier],width:`${parseFloat(e.power_score||0)/l*100}%`}})})]},e.id))]})})},modes:["network","degrees"],label:"List",icon:"☰",desc:"Ranked power list"},grid:{component:function({connections:e,degree2:r=[],onSelect:n,mode:i}){if("degrees"===i){let i={};r.forEach(e=>{e.source_connection_id&&(i[e.source_connection_id]||(i[e.source_connection_id]=[]),i[e.source_connection_id].push(e))});let o=Object.entries(i).map(([t,r])=>{let n=e.find(e=>e.id===t);if(!n)return null;let i=r.filter(e=>"S"===e.tier).length,o=r.filter(e=>"A"===e.tier).length;return{bridge:n,members:r,sCount:i,aCount:o,total:r.length}}).filter(Boolean).sort((e,t)=>3*t.sCount+2*t.aCount+t.total-(3*e.sCount+2*e.aCount+e.total));return(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))",gap:12,maxWidth:1200,margin:"0 auto"},children:o.map(e=>(0,t.jsxs)("div",{onClick:()=>n&&n(e.bridge),style:{padding:16,borderRadius:12,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${eV[e.bridge.tier]||"#333"}30`,borderLeft:`4px solid ${eV[e.bridge.tier]||"#555"}`,transition:"all 0.15s"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:e=>e.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,E.localPhoto)(e.bridge.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.bridge.profile_image_url),alt:"",style:{width:40,height:40,borderRadius:"50%",objectFit:"cover",border:`2px solid ${eV[e.bridge.tier]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:40,height:40,borderRadius:"50%",fontSize:16,fontWeight:700,background:eV[e.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:e.bridge.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:e.bridge.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.bridge.headline?.substring(0,40)})]}),(0,t.jsx)("span",{style:{fontSize:12,fontWeight:800,color:eV[e.bridge.tier]},children:e.bridge.tier})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:6,fontSize:10},children:[e.sCount>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[e.sCount,"S"]}),e.aCount>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[e.aCount,"A"]}),(0,t.jsxs)("span",{style:{color:"#666"},children:[e.total," total"]})]}),(0,t.jsxs)("div",{style:{display:"flex",marginTop:8},children:[e.members.slice(0,8).map((e,r)=>(0,t.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:8,fontWeight:700,background:(0,E.localPhoto)(e.profile_image_url)?"transparent":eV[e.tier]||"#333",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid #0a0a1a",marginLeft:r>0?-6:0,position:"relative",zIndex:8-r,overflow:"hidden"},children:(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):e.name?.charAt(0)},e.id)),e.total>8&&(0,t.jsxs)("span",{style:{fontSize:9,color:"#555",marginLeft:4,alignSelf:"center"},children:["+",e.total-8]})]})]},e.bridge.id))})})}let o={};return eK.forEach(e=>{o[e]=[]}),e.forEach(e=>{let t=e.tier||"D";o[t]&&o[t].push(e)}),eK.forEach(e=>{o[e].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0))}),(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,t.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:eK.map(e=>{let r=o[e];return 0===r.length?null:(0,t.jsxs)("div",{style:{marginBottom:24},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 0 10px",borderBottom:`2px solid ${eV[e]}30`,marginBottom:10},children:[(0,t.jsx)("div",{style:{width:10,height:10,borderRadius:"50%",background:eV[e]}}),(0,t.jsxs)("span",{style:{fontSize:15,fontWeight:800,color:eV[e]},children:[e,"-Tier"]}),(0,t.jsx)("span",{style:{fontSize:12,color:"#555"},children:r.length})]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(180px, 1fr))",gap:8},children:r.map(r=>(0,t.jsxs)("div",{onClick:()=>n&&n(r),style:{padding:10,borderRadius:8,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${eV[e]}20`,transition:"all 0.15s"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:e=>e.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,E.localPhoto)(r.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(r.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",border:`2px solid ${eV[e]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",fontSize:12,fontWeight:700,background:eV[e],color:"S"===e?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:r.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r.headline?.substring(0,30)})]})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:6,alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontSize:10,fontWeight:700,color:eV[e]},children:parseFloat(r.power_score||0).toFixed(1)}),(0,t.jsx)("div",{style:{flex:1,marginLeft:8,height:3,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:2,background:eV[e],width:`${Math.min(100,10*(parseFloat(r.power_score)||0))}%`}})})]})]},r.id))})]},e)})})})},modes:["network","degrees"],label:"Grid",icon:"▦",desc:"Cards"}},tg=["galaxy","chain","separation","orbit","rings","list"];function tu(e){return tg.filter(t=>tp[t]?.modes.includes(e)).map(e=>({key:e,...tp[e]}))}var tf=e.i(68792);function tx({isMobile:e=!1}){let n=(0,r.useSyncExternalStore)(tf.watchAllDay,tf.allDayNow,()=>!1),[o,l]=(0,r.useState)(()=>(0,i.scannerNow)()),[a,s]=(0,r.useState)(!1);if((0,r.useEffect)(()=>(0,i.watchScanner)(()=>{l((0,i.scannerNow)()),s(!1)}),[]),!n)return null;let d=o?.running&&String(o.action||"").startsWith("auto-bridge"),c={padding:e?"8px 12px":"8px 16px",borderRadius:6,fontSize:13,fontWeight:600,textDecoration:"none",display:"flex",alignItems:"center",gap:6,whiteSpace:"nowrap"};if(d)return(0,t.jsxs)(eo.default,{href:"/setup",title:"Auto scan is running: see it on the Scan page",style:{...c,background:"rgba(0,255,136,0.15)",color:"#00ff88",border:"1px solid rgba(0,255,136,0.45)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#00ff88"}}),"Auto scan"]});let h=o?.running||a;return(0,t.jsxs)("button",{onClick:()=>{s(!0),(0,tf.startAutoScan)().catch(()=>s(!1))},disabled:h,title:h?"The scanner is busy: one scan at a time":"Start the all-day Auto-Bridge (experimental)",style:{...c,cursor:h?"default":"pointer",background:"rgba(255,255,255,0.04)",color:h?"#555":"#8b9a9a",border:"1px solid rgba(255,215,0,0.25)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#556"}}),"Auto scan"]})}var ty=e.i(74080),tm=e.i(90179);let tb=/\/10, (your|sample) score\)/,tj=/^(?:Former )?(?:Student · )?(.+?) \([\d.]+\) · (no company found|.+?) \(\d+(?:\.\d+)?\/10(?:[:,][^)]*)?\)/,tw={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},tv=["S","A","B","C","D"],tS="#00ff88";function tk({person:e,connections:n=[],degree2:i=[],tierColors:o=tw,onSelect:l,isRequested:a=ea,canScan:s=!0}){let d=(0,r.useMemo)(()=>es(n,i),[n,i]),c=(0,r.useMemo)(()=>(0,el.routeIndex)(i),[i]),{rings:h,totals:p}=(0,r.useMemo)(()=>(function(e,t,{maxDegree:r=6,isRequested:n=ea}={}){let i=[],o={people:0,connected:0,requested:0};if(!e||!t)return{rings:i,totals:o};let l=new Set([(0,el.keyFor)(e)]),a=[e];for(let e=2;e<=r&&a.length;e++){let r=[],s=[];for(let e of a){let i=[];for(let r of t.introduced.get(e.id)||[]){let t=(0,el.keyFor)(r);l.has(t)||(l.add(t),i.push({row:r,key:t,parentId:e.id,state:"connected"}),s.push(r))}for(let r of t.circles.get(e.id)||[]){let t=(0,el.keyFor)(r);l.has(t)||(l.add(t),i.push({row:r,key:t,parentId:e.id,state:n(r)?"requested":null}))}i.sort(ec),r.push(...i)}if(!r.length)break;for(let e of r)o.people++,"connected"===e.state?o.connected++:"requested"===e.state&&o.requested++;i.push({degree:e,people:r}),a=s}return{rings:i,totals:o}})(e,d,{isRequested:a}),[e,d,a]),[g,u]=(0,r.useState)(()=>new Set),[f,x]=(0,r.useState)(()=>new Set),[y,m]=(0,r.useState)(!1),b=(0,r.useMemo)(()=>h.flatMap(e=>e.people.map(e=>{let t="connected"===e.state||1===e.row.degree?null:e2(e.row,c.get((0,el.keyFor)(e.row))?.size||1);return{key:e.key,tier:e.row.tier,rarity:t?.key??null,mutuals:t}})),[h,c]),j=(0,r.useMemo)(()=>new Map(b.map(e=>[e.key,e])),[b]),w=(0,r.useMemo)(()=>({tiers:g,rarities:f}),[g,f]),v=(0,r.useMemo)(()=>b.filter(e=>e6(e,w)).length,[b,w]),S=(0,r.useMemo)(()=>n.filter(e=>d.circles.has(e.id)).length,[n,d]),k=b.some(e=>e.mutuals?.from==="linkedin"),z=(0,r.useMemo)(()=>(function(e){let t,r,n,i;if(!e)return null;if(null==e.power_score||""===e.power_score||!e.tier)return{title:!1,company:!1,never:!0,companyName:null,reason:"They haven’t been scored yet."};let o=String(e.score_why||"").match(tj);if(o)t=o[1],n=!(r="no company found"===o[2]?null:o[2])||!tb.test(e.score_why)&&!["known","data"].includes((0,tm.companyScore)(r).source);else{let i=(0,tm.scorePerson)(e);t=i.title.label,r=i.company||null,n=["none","default","network"].includes(i.companySource)}let l=t.startsWith("Audience of"),a="Title unclear"===t||t.includes("Works there");return(l&&(n=!1),a||n)?(i=a&&n?r?`Their headline doesn’t say their title, and the app doesn’t know ${r}.`:"Their headline names no title or company the app can read.":a?"Their headline doesn’t say their title.":r?`The app doesn’t know ${r}, so it counts as the middle of the scale.`:"The app couldn’t find where they work.",{title:a,company:n,never:!1,companyName:r,reason:i}):null})(e),[e]);if(!e)return null;if(!h.length){let r=e.name?.split(" ")[0]||"them";return(0,t.jsxs)("div",{style:z?{...tB,borderColor:"rgba(255,215,0,0.28)"}:tB,children:[(0,t.jsx)(tF,{children:"Their circle"}),z?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#d8ccb0",lineHeight:1.5,marginBottom:9*!!s},children:[(0,t.jsx)("b",{style:{color:"#FFD700"},children:"Their score is a guess."})," ",z.reason,s&&(0,t.jsxs)(t.Fragment,{children:[" Scanning ",r,"'s circle shows who you can reach through them, and a strong circle adds up to +2 to their score."]})]}),s&&(0,t.jsx)("button",{type:"button",onClick:t$,style:{width:"100%",padding:"8px 10px",borderRadius:8,cursor:"pointer",fontSize:12,fontWeight:700,border:"1px solid rgba(255,215,0,0.4)",background:"rgba(255,215,0,0.08)",color:"#FFD700"},children:"Scan their circle ↓"})]}):s?(0,t.jsxs)("div",{style:{fontSize:11,color:"#999",lineHeight:1.5},children:["Not scanned yet. Scan ",r,"'s circle below to see who they know, and everyone you reach through them after that."]}):(0,t.jsx)("div",{style:{fontSize:11,color:"#999",lineHeight:1.5},children:"Not scanned."})]})}let C=Object.fromEntries(tv.map(e=>[e,b.filter(t=>t.tier===e).length])),_=function(e=[]){let t=Object.fromEntries(e0.map(e=>[e.key,0]));for(let r of e)r?.rarity&&void 0!==t[r.rarity]&&t[r.rarity]++;return t}(b),M=g.size>0||f.size>0,R=(0,t.jsx)(t_,{tierColors:o,byTier:C,byRarity:_,tiers:g,rarities:f,onTier:e=>u(t=>e8(t,e)),onRarity:e=>x(t=>e8(t,e)),onClear:()=>{u(new Set),x(new Set)}}),$=(0,t.jsxs)("div",{style:{fontSize:9.5,color:"#777",lineHeight:1.45,marginTop:6},children:["Rarity is how many mutual connections lead to someone. It never changes a score."," ",k?"LinkedIn’s own count where a scan saved it; otherwise the ways in from your scans.":`Counted from the ${S} ${1===S?"circle":"circles"} you’ve scanned, so it can only go up as you scan more.`]});return(0,t.jsxs)("div",{style:tB,children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8},children:[(0,t.jsx)(tF,{children:"Their circle"}),(0,t.jsx)("button",{type:"button",onClick:()=>m(!0),style:tT,"aria-label":"Open the large map",children:"Enlarge ⤢"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>m(!0),"aria-label":`${e.name}'s circle: open the large map`,style:{display:"block",width:"100%",padding:0,border:"none",background:"none",cursor:"zoom-in"},children:(0,t.jsx)(tz,{person:e,rings:h,facts:j,filter:w,tierColors:o,size:240})}),(0,t.jsx)(tC,{rings:h,totals:p,shown:M?v:null}),R,$,y&&(0,t.jsxs)(tR,{onClose:()=>m(!1),title:`${e.name}’s circle`,children:[(0,t.jsx)(tz,{person:e,rings:h,facts:j,filter:w,tierColors:o,size:640,labels:!0,onPick:e=>{m(!1),l?.(e)}}),(0,t.jsx)(tC,{rings:h,totals:p,shown:M?v:null}),R,(0,t.jsx)(tM,{}),$]})]})}function tz({person:e,rings:n,facts:i,filter:o,tierColors:l,size:a,labels:s=!1,onPick:d}){let c=(0,r.useMemo)(()=>(function(e=[],t=240){let r=t/2,n=e.length,i=e=>r*(1===n?.78:.4+e/(n-1)*.52),o=e.map(e=>{let t=new Map;for(let r of e.people)t.has(r.parentId)||t.set(r.parentId,[]),t.get(r.parentId).push(r);return t}),l=(e,t)=>o[e+1]?.get(t)||[],a=new Map;for(let t=n-1;t>=0;t--)for(let r of e[t].people){let e="connected"===r.state?l(t,r.row.id).reduce((e,t)=>e+a.get(t),0):0;a.set(r,Math.max(1,e))}let s=[],d=[],c=new Map,h=-Math.PI/2;for(let p=0;p<n;p++){let g=i(p);e[p].people;let u=Math.max(2.4,t/100),f=p===n-1&&n>1,x=(f?g-i(p-1):(p+1<n?i(p+1):.97*r)-g)*.45,y=Math.max(1,Math.floor(x/u)+1),m=y>1?(f?-1:1)*Math.min(1.2*u,x/(y-1)):0,b=(e,t)=>eh(Math.ceil(e*u/Math.max(1e-9,g*t)),1,y),j=1,w=1/0,v=[];for(let[e,t]of o[p]){let[n,i]=0===p?[h,h+2*Math.PI]:c.get(e)||[h,h+2*Math.PI],o=t.reduce((e,t)=>e+a.get(t),0),l=b(t.length,i-n);j=Math.max(j,l),w=Math.min(w,g*(i-n)*l/Math.max(1,t.length));let s=0,d=n;for(let e of t){let t=(i-n)*a.get(e)/o,h=d+t/2,p=g+s++%l*m,u=r+p*Math.cos(h),f=r+p*Math.sin(h);v.push({...e,angle:h,x:u,y:f}),"connected"===e.state&&c.set(e.row.id,[d,d+t]),d+=t}}if(p+1<n){let e=i(p+1);for(let t of v){if("connected"!==t.state||!l(p,t.row.id).length)continue;let[n,i]=c.get(t.row.id),o=(n+i)/2;d.push({x1:t.x,y1:t.y,x2:r+e*Math.cos(o),y2:r+e*Math.sin(o)})}}let S=eh(Math.min(.32*w,j>1?.42*Math.abs(m):1/0),.8,t/60);s.push({degree:e[p].degree,radius:g,dotR:S,rows:j,items:v})}return{size:t,center:{x:r,y:r},rings:s,spokes:d}})(n,a),[n,a]),h=c.center,p=a/240;return(0,t.jsxs)("svg",{viewBox:`0 0 ${a} ${a}`,width:"100%",style:{display:"block",maxWidth:a,margin:"0 auto"},role:"img","aria-label":`${e.name}'s circle, ${n.length} ${1===n.length?"ring":"rings"}`,children:[c.rings.map(e=>(0,t.jsxs)("g",{children:[(0,t.jsx)("circle",{cx:h.x,cy:h.y,r:e.radius,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:.6*p}),(0,t.jsxs)("text",{x:h.x,y:h.y-e.radius-e.dotR-3*p,textAnchor:"middle",fontSize:6.5*p,fill:"#666",fontWeight:700,children:["D",e.degree]})]},e.degree)),c.spokes.map((e,r)=>(0,t.jsx)("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:"rgba(0,255,136,0.35)",strokeWidth:.7*p},r)),c.rings.map(e=>e.items.map(r=>{let n=i.get(r.key),a=e6(n,o),c=l[r.row.tier]||"#888",h="connected"===r.state?1.7*e.dotR:e.dotR,p=[`${r.row.name} \xb7 ${r.row.tier}-tier${null!=r.row.power_score?` \xb7 ${Number(r.row.power_score).toFixed(1)}`:""}`,"connected"===r.state?"You added them":"requested"===r.state?"Request sent":null,n?.mutuals?`${e5(n.rarity)?.label}: ${n.mutuals.count} mutual${1===n.mutuals.count?"":"s"}${"scans"===n.mutuals.from?" (from your scans)":""}`:null].filter(Boolean).join("\n");return(0,t.jsxs)("g",{opacity:a?1:.12,style:d?{cursor:"pointer"}:void 0,onClick:d?e=>{e.stopPropagation(),d(r.row)}:void 0,children:[(0,t.jsx)("title",{children:p}),"requested"===r.state?(0,t.jsx)("circle",{cx:r.x,cy:r.y,r:1.25*h,fill:"none",stroke:c,strokeWidth:Math.max(.5,.45*h),strokeDasharray:`${Math.max(.6,.55*h)} ${Math.max(.5,.45*h)}`}):(0,t.jsx)("circle",{cx:r.x,cy:r.y,r:h,fill:c,stroke:"connected"===r.state?tS:"none",strokeWidth:Math.max(.6,.3*h)}),s&&"connected"===r.state&&(0,t.jsx)("text",{x:r.x,y:r.y-h-3,textAnchor:"middle",fontSize:9,fill:tS,fontWeight:700,children:String(r.row.name||"").split(" ")[0]})]},r.key)})),(0,t.jsx)("circle",{cx:h.x,cy:h.y,r:7*p,fill:l[e.tier]||"#888",stroke:"#fff",strokeWidth:.8*p}),(0,t.jsx)("text",{x:h.x,y:h.y+2.4*p,textAnchor:"middle",fontSize:6.5*p,fontWeight:800,fill:"S"===e.tier?"#000":"#fff",children:String(e.name||"?").charAt(0)})]})}function tC({rings:e,totals:r,shown:n}){return(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#aaa",marginTop:6,lineHeight:1.5},children:[e.map(e=>`D${e.degree} ${e.people.length.toLocaleString("en-US")}`).join(" · "),r.connected>0&&(0,t.jsxs)("span",{style:{color:tS},children:[" · you added ",r.connected]}),r.requested>0&&(0,t.jsxs)("span",{style:{color:"#FFD700"},children:[" · ",r.requested," ",1===r.requested?"request":"requests"," out"]}),null!=n&&(0,t.jsxs)("span",{style:{color:"#fff"},children:[" · ",n.toLocaleString("en-US")," shown"]})]})}function t_({tierColors:e,byTier:r,byRarity:n,tiers:i,rarities:o,onTier:l,onRarity:a,onClear:s}){let d=(e,t)=>({height:22,padding:"0 7px",borderRadius:11,cursor:"pointer",fontSize:10,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${e?t:"rgba(255,255,255,0.1)"}`,background:e?`${t}22`:"rgba(255,255,255,0.03)",color:e?t:"#999"});return(0,t.jsxs)("div",{style:{marginTop:8,display:"flex",flexDirection:"column",gap:5},children:[(0,t.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[(0,t.jsx)("span",{style:tW,children:"Tier"}),tv.map(n=>(0,t.jsxs)("button",{type:"button","aria-pressed":i.has(n),onClick:()=>l(n),style:d(i.has(n),e[n]||"#888"),children:[n," ",(0,t.jsx)("span",{style:{fontWeight:500,opacity:.8},children:r[n]})]},n))]}),(0,t.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[(0,t.jsx)("span",{style:tW,children:"Rarity"}),e0.map(e=>(0,t.jsxs)("button",{type:"button","aria-pressed":o.has(e.key),onClick:()=>a(e.key),title:`${e.label}: ${e.range} mutual connection${"1"===e.range?"":"s"}`,style:d(o.has(e.key),e.color),children:[e.label," ",(0,t.jsx)("span",{style:{fontWeight:500,opacity:.8},children:n[e.key]})]},e.key)),(i.size>0||o.size>0)&&(0,t.jsx)("button",{type:"button",onClick:s,style:tT,children:"Clear"})]})]})}function tM(){let e=(e,r)=>(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,marginRight:12,whiteSpace:"nowrap"},children:[e,r]});return(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#999",marginTop:8,lineHeight:1.8},children:[e((0,t.jsx)("svg",{width:"10",height:"10",children:(0,t.jsx)("circle",{cx:"5",cy:"5",r:"4",fill:"#FFD700"})}),"colour = tier"),e((0,t.jsx)("svg",{width:"12",height:"12",children:(0,t.jsx)("circle",{cx:"6",cy:"6",r:"4",fill:"#9B59B6",stroke:tS,strokeWidth:"1.5"})}),"you added them"),e((0,t.jsx)("svg",{width:"12",height:"12",children:(0,t.jsx)("circle",{cx:"6",cy:"6",r:"4.2",fill:"none",stroke:"#3498DB",strokeWidth:"1.4",strokeDasharray:"2 1.6"})}),"request sent")]})}function tR({title:e,onClose:n,children:i}){return(0,r.useEffect)(()=>{let e=e=>{"Escape"===e.key&&n()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[n]),(0,ty.createPortal)((0,t.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":e,onClick:n,style:{position:"fixed",inset:0,zIndex:300,background:"rgba(0,0,0,0.78)",display:"flex",alignItems:"center",justifyContent:"center",padding:16},children:(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{width:"min(720px, 100%)",maxHeight:"100%",overflowY:"auto",boxSizing:"border-box",background:"#0f0c05",border:"1px solid rgba(255,215,0,0.18)",borderRadius:14,padding:16},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,t.jsx)("div",{style:{fontSize:14,fontWeight:800,color:"#fff"},children:e}),(0,t.jsx)("button",{type:"button",onClick:n,style:{...tT,fontSize:12},children:"Close ✕"})]}),(0,t.jsx)("div",{style:{fontSize:10.5,color:"#888",marginBottom:8},children:"Click a dot to open that person."}),i]})}),document.body)}function t$(){let e=document.getElementById("scan-box");e&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e.animate?.([{boxShadow:"0 0 0 3px rgba(255,215,0,0.75)"},{boxShadow:"0 0 0 0 rgba(255,215,0,0)"}],{duration:1600}),e.querySelector("button:not([disabled])")?.focus({preventScroll:!0}))}function tF({children:e}){return(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#FF6B35",letterSpacing:1,textTransform:"uppercase",marginBottom:6},children:e})}let tB={background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.07)",borderRadius:10,padding:10,marginBottom:16},tW={fontSize:9,color:"#666",textTransform:"uppercase",letterSpacing:.5,width:38,flexShrink:0},tT={background:"none",border:"none",color:"#888",fontSize:10.5,fontWeight:600,cursor:"pointer",padding:0};var tE=e.i(15812);let tI=["S","A","B","C","D"];function tA({selected:e,stats:n,tierColors:i,connections:o,degree2:s=[],mode:d,collapsed:c,filter:h,pending:p=[],onToggle:g,onSelect:u,onSwitchMode:f,onFocusNode:x,onMarkSent:y,onUndoPending:m,scanNotes:b,csvSource:j=null,onOpenCircle:w,onShowInSeparation:v}){let S,k,z="degrees"===d,C=!j,{userId:_,userProfile:M}=(0,tE.useUser)(),[R,$]=(0,r.useState)(""),F=(0,r.useMemo)(()=>{let e={};return s.forEach(t=>{t.source_connection_id&&(e[t.source_connection_id]||(e[t.source_connection_id]=[]),e[t.source_connection_id].push(t))}),e},[s]),B=(0,r.useMemo)(()=>(0,el.routeIndex)(s),[s]),W=(0,r.useMemo)(()=>(0,eb.exclusiveReach)(s,o),[s,o]),T=(0,r.useMemo)(()=>(0,eb.bridgeOverlap)(s,o),[s,o]),I=(0,r.useMemo)(()=>(0,A.reachIndex)(o,s,b),[o,s,b]),[D,L]=(0,r.useState)(!1),O=(0,r.useMemo)(()=>new Map(o.map(e=>[e.id,e])),[o]),P=(0,l.default)(),N=(0,r.useCallback)(e=>(0,a.hasRequest)(e,P),[P]);if(e){let r,n,l,d,h=1===e.degree&&F[e.id],p=F[e.id]||[],x=2===e.degree?(0,el.routesFor)(e,B,O):[];return(0,t.jsxs)(tD,{collapsed:c,onToggle:g,children:[(0,t.jsxs)("button",{onClick:()=>u&&u(null),style:{display:"flex",alignItems:"center",gap:6,background:"none",border:"none",color:"#888",fontSize:12,cursor:"pointer",padding:"0 0 10px",fontWeight:600},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Back to list"]}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8,letterSpacing:1,textTransform:"uppercase"},children:2===e.degree?"Degree 2 Connection":"Degree 1 Connection"}),(0,t.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,flexWrap:"wrap"},children:[(0,t.jsx)("div",{style:{background:2===e.degree?"#FF6B35":i[e.tier],color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:700},children:2===e.degree?`DEGREE 2 \xb7 TIER ${e.tier}`:`TIER ${e.tier}`}),e.unlocked_from_name&&(0,t.jsxs)("div",{style:{background:"rgba(52,152,219,0.08)",border:"1px solid rgba(52,152,219,0.28)",borderRadius:8,padding:"9px 11px",marginBottom:10,fontSize:11.5,color:"#8fb8d6",lineHeight:1.5},children:[1===e.degree?"You met them through ":"Reachable through ",(0,t.jsx)("b",{style:{color:"#cfe6f7"},children:e.unlocked_from_name})]}),e.is_catalyst&&(0,t.jsx)("div",{style:{background:"#00ff88",color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:800,letterSpacing:.5},children:"CATALYST"})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"center",marginBottom:16},children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:e.name,style:{width:52,height:52,borderRadius:"50%",objectFit:"cover",border:`2px solid ${i[e.tier]||"#555"}`,flexShrink:0},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:52,height:52,borderRadius:"50%",flexShrink:0,background:i[e.tier]||"#555",display:(0,E.localPhoto)(e.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,color:"S"===e.tier?"#000":"#fff"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("h2",{style:{fontSize:18,fontWeight:700,margin:0},children:e.name}),(0,t.jsx)("p",{style:{color:"#aaa",fontSize:11,margin:"3px 0 0",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,60)}),e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"#0077B5",textDecoration:"none",fontWeight:600},children:"View on LinkedIn"})]})]}),1===e.degree&&(0,t.jsx)(tk,{person:e,connections:o,degree2:s,tierColors:i,onSelect:u,isRequested:N,canScan:C}),2!==e.degree&&(()=>{let r,n,l=function(e,{degree2:t=[],exclusive:r,overlap:n,reach:i}={}){if(!e||2===e.degree)return null;let o=new Set,l={S:0,A:0,B:0,C:0,D:0},a=new Map;for(let r of t){if(r?.source_connection_id!==e.id)continue;let t=(0,el.keyFor)(r);if(o.has(t))continue;o.add(t),l[tI.includes(r.tier)?r.tier:"D"]+=1;let n=String(r.company||"").trim();n&&a.set(n,(a.get(n)||0)+1)}let s=[...a.entries()].filter(([,e])=>e>=2).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,2).map(([e,t])=>({name:e,count:t})),d=o.size,c=r?.get(e.id)||{reach:0,only:0,total:0},h=n?.get(e.id),p=h&&h.share>=.15&&h.shared>=3?{id:h.with,share:h.share,shared:h.shared}:null,g=[...r?.entries()||[]].sort((e,t)=>t[1].reach-e[1].reach||String(e[0]).localeCompare(String(t[0]))),u=g.findIndex(([t])=>t===e.id);return{circle:d,only:c.only,onlyShare:d?c.only/d:0,twin:p,mix:l,bars:i?(0,A.scanBars)(e,i):null,rank:u>=0?u+1:null,of:g.length,companies:s}}(e,{degree2:s,exclusive:W,overlap:T,reach:I});if(!l)return null;let d=e.name?.split(" ")[0]||"them",c=l.twin&&o.find(e=>e.id===l.twin.id),h={display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:10,padding:"7px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},p={fontSize:10.5,color:"#8b9a9a",minWidth:92},g={background:"none",border:"none",padding:0,color:"#3498DB",cursor:"pointer",fontSize:11.5,whiteSpace:"nowrap"},f=null==l.bars?"Not scanned yet":5===l.bars?"Their whole list":`About ${20*l.bars}% of their list`;return(0,t.jsxs)("div",{style:{border:"1px solid rgba(52,152,219,0.25)",borderRadius:8,marginBottom:16,background:"rgba(52,152,219,0.04)"},children:[(0,t.jsxs)("button",{onClick:()=>L(e=>!e),"aria-expanded":D,style:{width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",padding:"9px 12px",background:"none",border:"none",cursor:"pointer",color:"#cfe6f7"},children:[(0,t.jsx)("span",{style:{fontSize:11,fontWeight:700,letterSpacing:1},children:"INSIGHTS"}),(0,t.jsxs)("span",{style:{fontSize:11,color:"#8b9a9a"},children:[!D&&l.circle>0&&`${l.circle.toLocaleString()} in their circle${l.only?` \xb7 ${l.only.toLocaleString()} only through ${d}`:""} `,D?"▲":"▼"]})]}),D&&(0,t.jsxs)("div",{style:{padding:"0 12px 8px",fontSize:12,color:"#ccc"},children:[(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Their circle"}),(0,t.jsx)("span",{style:{flex:1},children:l.circle?`${l.circle.toLocaleString()} people`:"None scanned yet"}),l.circle>0&&w&&(0,t.jsx)("button",{style:g,onClick:()=>w(e.id),children:"Explore →"})]}),(0,t.jsxs)("div",{style:h,children:[(0,t.jsxs)("span",{style:p,children:["Only through ",d]}),(0,t.jsx)("span",{style:{flex:1},children:l.circle?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("b",{style:{color:"#00ff88"},children:l.only.toLocaleString()})," (",Math.round(100*l.onlyShare),"%): none of your other connections reach them"]}):"—"}),l.only>0&&v&&(0,t.jsx)("button",{style:g,onClick:()=>v({query:e.name,rarity:"only"}),children:"Show them →"})]}),(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Closest overlap"}),(0,t.jsx)("span",{style:{flex:1},children:c?(0,t.jsxs)(t.Fragment,{children:["Opens the same doors as ",(0,t.jsx)("b",{style:{color:"#fff"},children:c.name})," (",Math.round(100*l.twin.share),"%, ",l.twin.shared.toLocaleString()," people)"]}):"No one opens the same doors"}),c&&(0,t.jsx)("button",{style:g,onClick:()=>u?.(c),children:"Open →"})]}),(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Tier mix"}),(0,t.jsx)("span",{style:{flex:1,display:"flex",height:8,borderRadius:4,overflow:"hidden",background:"rgba(255,255,255,0.05)",alignSelf:"center"},children:l.circle>0&&["S","A","B","C","D"].map(e=>l.mix[e]>0&&(0,t.jsx)("span",{title:`${e}: ${l.mix[e]}`,style:{width:`${100*l.mix[e]/l.circle}%`,background:i[e]}},e))}),(0,t.jsx)("span",{style:{fontSize:10.5,color:"#8b9a9a"},children:l.circle?`${l.mix.S} S \xb7 ${l.mix.A} A`:""}),l.mix.S>0&&v&&(0,t.jsx)("button",{style:g,onClick:()=>v({query:e.name,tier:"S"}),children:"S only →"})]}),l.companies.length>0&&(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Where they work"}),(0,t.jsx)("span",{style:{flex:1},children:l.companies.map(e=>`${e.count} at ${e.name}`).join(" · ")})]}),(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Scanned"}),(0,t.jsx)("span",{style:{flex:1},children:f}),5!==l.bars&&C&&(0,t.jsx)("a",{href:`/setup?scan=${encodeURIComponent(e.id)}`,style:g,children:null==l.bars?"Scan →":"Finish →"})]}),(r=e.connected_date?new Date(e.connected_date):null,n=(F[e.id]||[]).filter(e=>(0,a.hasRequest)(e,P)).length,r&&!Number.isNaN(r.getTime())||n?(0,t.jsxs)("div",{style:h,children:[(0,t.jsxs)("span",{style:p,children:["You and ",d]}),(0,t.jsxs)("span",{style:{flex:1},children:[r&&!Number.isNaN(r.getTime())?`Connected ${r.toLocaleDateString(void 0,{month:"short",year:"numeric"})}`:"",n?`${r?" · ":""}${n} request${1===n?"":"s"} out through them`:""]})]}):null),(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("span",{style:p,children:"Rank"}),(0,t.jsx)("span",{style:{flex:1},children:l.rank?`#${l.rank} of ${l.of} by who only they reach`:"Ranked once their circle is scanned"})]})]})]})})(),e.is_catalyst&&(0,t.jsxs)("div",{style:{background:"rgba(0,255,136,0.08)",border:"1px solid rgba(0,255,136,0.3)",borderRadius:8,padding:12,marginBottom:16},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#00ff88",fontWeight:700,marginBottom:4,letterSpacing:1},children:"CATALYST NODE"}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#ccc"},children:["This person's network power exceeds their own tier. They connect to"," ",(0,t.jsxs)("strong",{style:{color:"#00ff88"},children:[e.catalyst_score," S+A tier"]})," ","people — making them a high-value stepping stone to reach elite connections."]})]}),2===e.degree&&x.length>0&&(0,t.jsx)(tP,{routes:x,selected:e,tierColors:i,onSelect:u},e.id),(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:8,padding:12,marginBottom:16},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:8},children:[(0,t.jsx)("span",{style:{fontSize:11,color:"#888",fontWeight:600,letterSpacing:1,textTransform:"uppercase"},children:"Score"}),(0,t.jsx)("span",{style:{fontSize:28,fontWeight:800,color:i[e.tier]||"#fff"},children:parseFloat(e.power_score).toFixed(1)})]}),e.score_why&&(0,t.jsx)("div",{style:{fontSize:11,color:"#aab7b7",lineHeight:1.5,marginBottom:10},children:e.score_why}),(0,t.jsxs)("div",{style:{marginBottom:6},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,t.jsx)("span",{children:"Title"}),(0,t.jsxs)("span",{children:[e.seniority_score||0,"/10"]})]}),(0,t.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",width:`${10*(e.seniority_score||0)}%`,background:i[e.tier]||"#FFD700",borderRadius:2}})})]}),(0,t.jsxs)("div",{style:{marginBottom:6*(e.circle_power>0)},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,t.jsx)("span",{children:"Company"}),(0,t.jsxs)("span",{children:[e.company_prestige_score||0,"/10"]})]}),(0,t.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",width:`${10*(e.company_prestige_score||0)}%`,background:"#3498DB",borderRadius:2}})})]}),e.circle_power>0&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,t.jsx)("span",{children:"Circle Power"}),(0,t.jsxs)("span",{style:{color:"#FF6B35"},children:[e.circle_s_count||0,"S · ",e.circle_a_count||0,"A"]})]}),(0,t.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",width:`${Math.min(parseFloat(e.circle_power)/70*100,100)}%`,background:"#FF6B35",borderRadius:2}})})]})]}),(0,t.jsxs)("div",{style:{marginBottom:16},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#FFD700",letterSpacing:1,marginBottom:6,textTransform:"uppercase"},children:"Why This Matters"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:11,color:"#ccc"},children:(function(e,t,r,n=[]){let i=[],o=(e.headline||"").toLowerCase(),l=(e.role||"").toLowerCase(),a=(e.company||"").toLowerCase(),s=t.sectors.map(e=>e.toLowerCase());l.match(/ceo|chief|founder|president|chairman/i)?i.push({icon:"👑",text:`${e.role} — C-suite executive, highest leverage contact`,color:"#FFD700"}):l.match(/vp|vice president|svp|evp|managing director/i)?i.push({icon:"⚡",text:`${e.role} — VP-level, strong decision-making authority`,color:"#FFD700"}):l.match(/director|head of|senior director/i)?i.push({icon:"🎯",text:`${e.role} — Senior leadership, controls team/budget`,color:"#FF6B35"}):l.match(/manager|lead|principal/i)&&i.push({icon:"📊",text:`${e.role} — Mid-senior, operational influence`,color:"#3498DB"});let{now:d,before:c}=(0,tm.topCompanies)(e);d&&i.push({icon:"🏢",text:`At ${d.name} (${d.score}/10) — top-tier company network access`,color:"#9B59B6"}),c&&i.push({icon:"📜",text:`Former ${c.name} (${c.score}/10) — carries network from previous role`,color:"#95A5A6"});let h=s.filter(e=>o.includes(e)||a.includes(e));h.length>0&&i.push({icon:"🔗",text:`Shared sector: ${h.join(", ")} — direct industry relevance to you`,color:"#2ECC71"});let p=r.filter(t=>t.source_connection_id===e.id).length;if(p>0){let t=r.filter(t=>t.source_connection_id===e.id&&"S"===t.tier).length;i.push({icon:"🌐",text:`Gateway to ${p} degree-2 connections${t>0?` (${t} S-tier)`:""}`,color:"#FF6B35"})}if(e.is_catalyst&&i.push({icon:"⚡",text:"Catalyst — network power exceeds personal tier, high stepping-stone value",color:"#00ff88"}),2===e.degree&&n.length>0){let e=n.filter(e=>e.bridge);if(1===n.length)i.push(e.length?{icon:"🤝",text:`Reachable via ${e[0].bridge.name} (${e[0].bridge.tier}-tier)`,color:"#3498DB"}:{icon:"🤝",text:"Reachable through a connection we can’t name",color:"#888"});else{let t=e.slice(0,2).map(e=>`${String(e.bridge.name||"").trim().split(/\s+/)[0]} (${e.bridge.tier})`),r=n.length-t.length,o=0===t.length?"connections we can’t name":r>0?`${t.join(", ")} and ${r} more`:t.join(" and ");i.push({icon:"🤝",text:`Reachable ${n.length} ways — via ${o}`,color:"#3498DB"})}}return 0===i.length&&i.push({icon:"📌",text:`${e.tier}-tier connection with ${parseFloat(e.power_score).toFixed(1)} power score`,color:"#888"}),i.slice(0,5)})(e,M||{name:"User",sectors:[],goals:[]},s,x).map((e,r)=>(0,t.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{color:e.color||"#888",fontSize:13,lineHeight:1},children:e.icon}),(0,t.jsx)("span",{children:e.text})]},r))})]}),e.company&&(0,t.jsxs)("div",{style:{marginBottom:8},children:[(0,t.jsx)("div",{style:{color:"#666",fontSize:10},children:"Company"}),(0,t.jsx)("div",{style:{fontWeight:600,fontSize:12},children:e.company})]}),e.role&&(0,t.jsxs)("div",{style:{marginBottom:12},children:[(0,t.jsx)("div",{style:{color:"#666",fontSize:10},children:"Role"}),(0,t.jsx)("div",{style:{fontSize:12},children:e.role})]}),h&&p.length>0&&(r=p.filter(e=>"S"===e.tier),n=p.filter(e=>"A"===e.tier),l=[...p].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0)).slice(0,8),(0,t.jsxs)("div",{style:{marginBottom:16},children:[(0,t.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:"#FF6B35",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:["Cluster Overview — ",p.length," connections"]}),(0,t.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,fontSize:10},children:[r.length>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[r.length," S-tier"]}),n.length>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[n.length," A-tier"]})]}),(0,t.jsxs)("a",{href:`/queue?bridge=${e.id}&groupBy=bridge`,style:{display:"block",textAlign:"center",padding:"8px 12px",marginBottom:10,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000",borderRadius:6,textDecoration:"none",fontWeight:700,fontSize:11},children:["Outlink Bridge → Add ",p.filter(e=>"S"===e.tier||"A"===e.tier||"B"===e.tier).length," People"]}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8},children:"Most valuable in this cluster:"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:l.map(e=>(0,t.jsxs)("div",{onClick:()=>u&&u(e),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 6px",borderRadius:4,cursor:"pointer",borderLeft:`2px solid ${i[e.tier]||"#555"}`,background:"rgba(255,255,255,0.03)"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:e=>e.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",flexShrink:0,fontSize:9,fontWeight:700,background:i[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:(0,E.localPhoto)(e.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,40)})]}),(0,t.jsx)("span",{style:{fontSize:9,color:i[e.tier],fontWeight:600,flexShrink:0},children:parseFloat(e.power_score).toFixed(1)})]},e.id))})]})),h&&p.length>0&&(0,t.jsxs)("div",{style:{marginTop:16},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["Gateway to ",p.length," degree-2 connections:"]}),p.sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0)).slice(0,10).map(e=>(0,t.jsxs)("div",{style:{padding:"6px 8px",background:"rgba(255,107,53,0.08)",borderRadius:6,borderLeft:"3px solid #FF6B35",marginBottom:4,fontSize:12},children:[(0,t.jsx)("div",{style:{fontWeight:600},children:e.name}),(0,t.jsxs)("div",{style:{color:"#888",fontSize:11},children:[e.role,e.company?` @ ${e.company}`:""]}),(0,t.jsxs)("div",{style:{color:"#FF6B35",fontSize:10},children:["Score: ",parseFloat(e.power_score).toFixed(1)]})]},e.id))]}),!z&&h&&p.length>0&&f&&(0,t.jsxs)("button",{onClick:()=>{f("degrees")},style:{width:"100%",padding:"12px",borderRadius:8,border:"none",cursor:"pointer",background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000",fontWeight:700,fontSize:13,marginTop:12},children:["View Bridge → ",p.length," connections"]}),(2===e.degree||e.source_connection_id)&&1!==e.degree&&"unlocked"!==e.unlock_status&&(d=N(e),(0,t.jsxs)("div",{style:{background:"rgba(255,215,0,0.06)",border:`1px ${d?"dashed":"solid"} rgba(255,215,0,${d?.45:.25})`,borderRadius:10,padding:16,marginTop:16,textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#FFD700",fontWeight:700,letterSpacing:1,marginBottom:6},children:d?"REQUEST SENT":"LOCKED PATH"}),(0,t.jsx)("div",{style:{fontSize:13,color:"#ccc",marginBottom:12},children:d?`Waiting for ${e.name} to accept. The next scan of your own connections notices when they do.`:`Connect with ${e.name} to unlock their network and extend your six degrees.`}),(0,t.jsx)("div",{style:{width:"100%",height:60,background:"rgba(255,255,255,0.03)",borderRadius:8,border:"1px dashed rgba(255,255,255,0.1)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,color:"#444",marginBottom:12},children:d?"[ Cluster Pending... ]":"[ Hidden Network ]"}),d?(0,t.jsx)("button",{onClick:()=>{(0,a.undoRequest)(e).catch(()=>{})},style:{background:"none",border:"none",color:"#888",fontSize:11,fontWeight:600,cursor:"pointer"},children:"Didn't send it? Undo"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:{display:"block",padding:"10px 16px",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",borderRadius:8,textDecoration:"none",fontWeight:700,fontSize:13},onClick:()=>{(0,a.markRequested)(e,{bridgeId:e.source_connection_id}).catch(()=>{})},children:"Connect to Unlock Path"})]})),(1===e.degree||"accepted"===e.outreach_status)&&(C?(0,t.jsx)(tN,{selected:e,degree2:s},e.id):(0,t.jsx)(tH,{csvSource:j,style:{marginTop:16}})),e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:{display:"block",textAlign:"center",padding:10,marginTop:16,background:"#0077B5",color:"#fff",borderRadius:8,textDecoration:"none",fontWeight:600,fontSize:13},children:"View LinkedIn Profile"})]})}if(z){let e,r,l,a;return(0,t.jsxs)(tD,{collapsed:c,onToggle:g,children:[(0,t.jsxs)("button",{onClick:g,style:{display:"flex",alignItems:"center",gap:6,background:"none",border:"none",color:"#888",fontSize:12,cursor:"pointer",padding:"0 0 10px",fontWeight:600},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,t.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0,color:"#FF6B35"},children:"Degrees"}),(0,t.jsx)("p",{style:{fontSize:12,color:"#888",marginBottom:12},children:"Your bridge connections and who they unlock."}),C?(0,t.jsx)(tX,{connections:o,degree2:s,scanNotes:b,tierColors:i}):(0,t.jsx)(tH,{csvSource:j,style:{marginBottom:16}}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:12},children:[(0,t.jsx)(tL,{label:"Degree-2 Found",value:s.length}),(0,t.jsx)(tL,{label:"D2 S-Tier",value:n?.d2Tiers?.S||0}),(0,t.jsx)(tL,{label:"D2 A-Tier",value:n?.d2Tiers?.A||0}),(0,t.jsx)(tL,{label:"Bridges Used",value:Object.keys(F).length})]}),(0,t.jsxs)("div",{style:{position:"relative",marginBottom:16},children:[(0,t.jsx)("input",{type:"text",placeholder:"Search bridges or d2...",value:R,onChange:e=>$(e.target.value),style:{width:"100%",padding:"8px 12px",borderRadius:8,fontSize:12,border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.05)",color:"#fff",outline:"none",boxSizing:"border-box"}}),R.length>=2&&(e=R.toLowerCase(),r=o.filter(t=>s.some(e=>e.source_connection_id===t.id)&&t.name.toLowerCase().includes(e)).slice(0,5),l=s.filter(t=>t.name?.toLowerCase().includes(e)).slice(0,5),0===(a=[...r.map(e=>({...e,_matchType:"bridge"})),...l.map(e=>({...e,_matchType:"d2"}))]).length?null:(0,t.jsx)("div",{style:{position:"absolute",top:"100%",left:0,right:0,zIndex:50,background:"rgba(10,10,26,0.98)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:8,overflow:"hidden",maxHeight:200,overflowY:"auto",boxShadow:"0 8px 24px rgba(0,0,0,0.5)"},children:a.map(e=>(0,t.jsxs)("div",{onClick:()=>{u(e),$(""),x&&"bridge"===e._matchType&&x(e.id)},style:{padding:"8px 12px",cursor:"pointer",display:"flex",alignItems:"center",gap:8,borderBottom:"1px solid rgba(255,255,255,0.05)"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover"}}):(0,t.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",background:i[e.tier]||"#555",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666"},children:"bridge"===e._matchType?"Bridge":"Degree-2"})]}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:i[e.tier]},children:e.tier})]},e.id))}))]}),"pending"===h&&p.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["⏳ Pending Requests (",p.length,")"]}),(0,t.jsx)("p",{style:{fontSize:10,color:"#666",marginBottom:10,lineHeight:1.4},children:"Friend requests you've sent. When accepted, their cluster unlocks for bridging."}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:p.map(e=>{let r=2===e.degree?o.find(t=>t.id===e.source_connection_id):null;return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",background:"rgba(255,107,53,0.06)",borderRadius:8,border:"1px solid rgba(255,107,53,0.12)"},children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:i[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,40)}),r&&(0,t.jsxs)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:1},children:["via ",r.name?.split(" ")[0]]})]}),(0,t.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:800,color:i[e.tier]||"#888"},children:e.tier}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666"},children:parseFloat(e.power_score||0).toFixed(1)})]}),(0,t.jsx)("button",{onClick:()=>m&&m(e),title:"Remove from pending",style:{background:"none",border:"none",color:"#555",cursor:"pointer",fontSize:12,padding:2,flexShrink:0},children:"✕"})]},e.id)})})]}),"pending"!==h&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:"Most Valuable Clusters"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:Object.entries(F).map(([e,t])=>{let r=o.find(t=>t.id===e);if(!r)return null;let n=t.length;if(0===n)return null;let i=t.filter(e=>"S"===e.tier),l=t.filter(e=>"A"===e.tier),a=t.filter(e=>"B"===e.tier),s=i.length,d=l.length,c=a.length,h=s>0?i.reduce((e,t)=>e+(parseFloat(t.power_score)||0),0)/s:0,p=d>0?l.reduce((e,t)=>e+(parseFloat(t.power_score)||0),0)/d:0,g=a.filter(e=>(parseFloat(e.power_score)||0)>=5).length,u=(s+d)/n,f=h/7*s*15+p/5.5*d*6+3*g+25*u+2*Math.log2(n+1)+10*!!r.is_catalyst,x=t.reduce((e,t)=>e+(parseFloat(t.power_score)||0),0)/n;return{bridge:r,members:n,sCount:s,aCount:d,bCount:c,risingCount:g,sAvgPower:h,avgPower:x,elitePct:u,clusterValue:f,sTier:i,aTier:l,topMembers:[...t].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0))}}).filter(Boolean).sort((e,t)=>t.clusterValue-e.clusterValue).map((e,r)=>(0,t.jsx)(tU,{cs:e,rank:r+1,tierColors:i,onSelect:u},e.bridge.id))})]})]})}let H=[...o||[]].sort((e,t)=>(parseFloat(t.power_score)||0)-(parseFloat(e.power_score)||0)),q=R.length>=2?H.filter(e=>e.name.toLowerCase().includes(R.toLowerCase())).slice(0,8):[];return(0,t.jsxs)(tD,{collapsed:c,onToggle:g,children:[(0,t.jsxs)("button",{onClick:g,style:{display:"flex",alignItems:"center",gap:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:6,color:"#aaa",fontSize:12,cursor:"pointer",padding:"6px 12px",marginBottom:12,fontWeight:600},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,t.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0},children:"Network Circle"}),n&&(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:16},children:[(0,t.jsx)(tL,{label:"Total Connections",value:n.total}),(0,t.jsx)(tL,{label:"S-Tier",value:n.tiers?.S||0}),(0,t.jsx)(tL,{label:"A-Tier",value:n.tiers?.A||0}),(0,t.jsx)(tL,{label:"B-Tier",value:n.tiers?.B||0})]}),(0,t.jsxs)("div",{style:{position:"relative",marginBottom:12},children:[(0,t.jsx)("input",{type:"text",placeholder:"Search connections...",value:R,onChange:e=>$(e.target.value),style:{width:"100%",padding:"8px 12px",borderRadius:8,boxSizing:"border-box",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(0,0,0,0.3)",color:"#fff",fontSize:12,outline:"none"}}),q.length>0&&(0,t.jsx)("div",{style:{position:"absolute",top:"100%",left:0,right:0,zIndex:10,background:"rgba(10,10,26,0.98)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:8,marginTop:4,overflow:"hidden",boxShadow:"0 8px 24px rgba(0,0,0,0.5)"},children:q.map(e=>(0,t.jsxs)("div",{onClick:()=>{u&&u(e),x&&x(e.id),$("")},style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.04)"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:i[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666"},children:e.headline?.substring(0,35)})]}),(0,t.jsx)("span",{style:{fontSize:10,color:i[e.tier],fontWeight:700},children:e.tier})]},e.id))})]}),(0,t.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FFD700",marginBottom:8},children:["Power Rankings (",H.length,")"]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:(S={},k={},H.forEach(e=>{k[e.tier]=(k[e.tier]||0)+1}),H.map((e,r)=>{let n=r>0?H[r-1].tier:null,o=e.tier!==n;o&&(S[e.tier]=0),S[e.tier]=(S[e.tier]||0)+1;let l=S[e.tier];return(0,t.jsxs)("div",{children:[o&&(0,t.jsxs)("div",{style:{padding:"8px 10px",marginTop:8*(r>0),marginBottom:4,background:`${i[e.tier]||"#555"}15`,borderLeft:`3px solid ${i[e.tier]||"#555"}`,borderRadius:4,fontSize:11,fontWeight:700,color:i[e.tier]||"#888",display:"flex",justifyContent:"space-between"},children:[(0,t.jsx)("span",{children:{S:"S-Tier — Elite",A:"A-Tier — High Value",B:"B-Tier — Notable",C:"C-Tier — Standard",D:"D-Tier — Entry"}[e.tier]||e.tier}),(0,t.jsx)("span",{style:{fontWeight:400,opacity:.7},children:k[e.tier]||0})]}),(0,t.jsxs)("div",{onClick:()=>{u&&u(e),x&&x(e.id)},style:{padding:"6px 8px",background:"rgba(255,255,255,0.03)",borderRadius:6,borderLeft:`3px solid ${i[e.tier]||"#555"}`,cursor:"pointer",display:"flex",alignItems:"center",gap:8,transition:"background 0.15s"},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.1)",onMouseLeave:e=>e.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,t.jsxs)("span",{style:{color:"#555",fontSize:10,fontWeight:600,minWidth:22,textAlign:"right"},children:["#",l]}),(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,background:i[e.tier]||"#555",display:(0,E.localPhoto)(e.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,color:"S"===e.tier?"#000":"#fff"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,t.jsx)("div",{style:{fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,45)})]}),(0,t.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:i[e.tier]||"#555"},children:parseFloat(e.power_score).toFixed(1)}),(0,t.jsx)("div",{style:{fontSize:8,color:"#555"},children:e.tier})]})]})]},e.id)}))})]})}function tD({children:e,collapsed:n,onToggle:i}){let[o,l]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{let e=()=>l(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),n)?(0,t.jsxs)("div",{onClick:i,style:{position:"fixed",right:16,top:140,zIndex:30,cursor:"pointer",display:"flex",alignItems:"center",flexDirection:"row-reverse",gap:0,height:36,borderRadius:18,background:"rgba(255,215,0,0.15)",border:"2px solid rgba(255,215,0,0.5)",color:"#FFD700",fontWeight:700,boxShadow:"0 0 12px rgba(255,215,0,0.3)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",overflow:"hidden",transition:"width 0.25s ease",width:36,padding:"0 10px"},onMouseEnter:e=>{e.currentTarget.style.width="120px"},onMouseLeave:e=>{e.currentTarget.style.width="36px"},children:[(0,t.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"‹"}),(0,t.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginRight:6,opacity:.9},children:"Details"})]}):(0,t.jsxs)("div",{style:o?{position:"fixed",top:0,right:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[o&&(0,t.jsx)("div",{onClick:i,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,t.jsx)("div",{style:{width:o?"80vw":320,minWidth:320*!o,maxWidth:o?300:320,height:"100%",borderLeft:"1px solid rgba(255,215,0,0.12)",padding:o?"12px 10px":"16px 16px",overflowY:"auto",overflowX:"hidden",background:o?"rgba(15,12,5,0.98)":"rgba(15,12,5,0.65)",fontSize:13,backdropFilter:"blur(24px) saturate(1.4)",WebkitBackdropFilter:"blur(24px) saturate(1.4)",boxShadow:"inset 0 0 60px rgba(255,215,0,0.03), -4px 0 24px rgba(0,0,0,0.3)",marginLeft:o?"auto":0},children:e})]})}function tL({label:e,value:r}){return(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",padding:"10px 12px",borderRadius:8},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:2},children:e}),(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700},children:r})]})}function tO(){return(0,t.jsx)("span",{style:{color:"#555",fontSize:16},children:"→"})}function tP({routes:e,selected:n,tierColors:i,onSelect:o}){let[l,a]=(0,r.useState)(!1),s=e.length,d=l?e:e.slice(0,4),c={display:"flex",alignItems:"center",gap:6,fontSize:13,flexWrap:"wrap"};return(0,t.jsxs)("div",{style:{background:"rgba(255,107,53,0.1)",border:"1px solid rgba(255,107,53,0.3)",borderRadius:8,padding:12,marginBottom:16},children:[(0,t.jsxs)("div",{style:{fontSize:10,color:"#FF6B35",fontWeight:600,marginBottom:8},children:["PATH TO THIS PERSON",s>1?` \xb7 ${s} WAYS IN`:""]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:d.map((e,r)=>{if(!e.bridge)return(0,t.jsxs)("div",{title:"This route came from a scanned list whose connection record doesn’t match anyone in your 1st-degree list, so who introduces you can’t be named. The person is real, and still reachable.",style:{...c,color:"#888",fontStyle:"italic"},children:[(0,t.jsx)("span",{style:{fontWeight:700,fontStyle:"normal",color:"#fff"},children:"You"}),(0,t.jsx)(tO,{}),(0,t.jsx)("span",{children:"a connection we can’t name"}),(0,t.jsx)(tO,{}),(0,t.jsx)("span",{children:"them"})]},`unnamed-${e.id}`);let l=e.bridge,a=i[l.tier]||"#ccc",d=[[l.role,l.company].filter(Boolean).join(" @ "),l.tier?`${l.tier}-tier`:""].filter(Boolean).join(" · ");return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:c,children:[(0,t.jsx)("span",{style:{fontWeight:700},children:"You"}),(0,t.jsx)(tO,{}),(0,t.jsxs)("button",{onClick:()=>o&&o(l),title:`Open ${l.name}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:0,border:"none",background:"none",cursor:"pointer",color:a,fontWeight:600,fontSize:13,textAlign:"left"},children:[(0,t.jsx)(e4,{person:l,size:18,tierColors:i}),l.name]}),(0,t.jsx)(tO,{}),(0,t.jsx)("span",{style:{color:"#FF6B35",fontWeight:600},children:n.name}),0===r&&s>1&&(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:"#FF6B35",padding:"1px 6px",borderRadius:8,background:"rgba(255,107,53,0.15)",whiteSpace:"nowrap"},children:"top-scored bridge"})]}),d&&(0,t.jsx)("div",{style:{fontSize:11,color:"#888",marginTop:3},children:d})]},e.id)})}),s>4&&(0,t.jsx)("button",{onClick:()=>a(e=>!e),style:{marginTop:10,padding:"4px 10px",borderRadius:6,cursor:"pointer",fontSize:11,fontWeight:600,border:"1px solid rgba(255,107,53,0.35)",background:"transparent",color:"#FF6B35"},children:l?"Show fewer":`Show all ${s}`})]})}function tN({selected:e,degree2:n}){let l=(0,o.default)(),[a,s]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),[h,p]=(0,r.useState)(void 0),g=n?.filter(t=>t.source_connection_id===e.id).length||0,u=g>0,f=l.running&&(0,i.scansCircleOf)(l,e),x=l.running&&!f?(0,i.busyReason)(l):null,y=l.finished.find(t=>(0,i.scansCircleOf)(t,e)),m=l.finished[0]?.startedAt??null;async function b(t){c(null),s(!0);let r=(0,i.notReadyMessage)(await (0,i.scraperStatus)().catch(()=>null));if(s(!1),r)return void c({text:r,offline:!0});try{await (0,i.beginScrape)(t,"resume"===t?{id:e.id}:{name:e.name,id:e.id})}catch(e){c({text:e.message||"Could not start the scan."})}}(0,r.useEffect)(()=>{let t=!0;return(0,i.resumePoint)(e.id).then(e=>{t&&p(e)},()=>{t&&p(null)}),()=>{t=!1}},[e.id,m]);let j=u||!!h,w=u?"#00ff88":"#9B59B6",v=!!x||a,S=e=>({flex:1,padding:"11px 8px",borderRadius:8,fontWeight:700,fontSize:e?13:12,cursor:v?"not-allowed":"pointer",opacity:v?.45:1,...e?{border:"none",background:"linear-gradient(135deg, #9B59B6, #3498DB)",color:"#fff"}:{border:`1px solid ${w}55`,background:`${w}14`,color:w}});return(0,t.jsxs)("div",{id:"scan-box",style:{background:u?"rgba(0,255,136,0.06)":"rgba(155,89,182,0.08)",border:`1px solid ${u?"rgba(0,255,136,0.2)":"rgba(155,89,182,0.3)"}`,borderRadius:10,padding:16,marginTop:16},children:[(0,t.jsx)("div",{style:{fontSize:10,color:w,fontWeight:700,letterSpacing:1,marginBottom:4,textAlign:"center"},children:u?"CLUSTER ACTIVE":"CREATE CLUSTER"}),(0,t.jsx)("div",{style:{fontSize:12,color:"#aaa",marginBottom:12,textAlign:"center"},children:u?`${g} connections mapped in Six Degrees`:(0,t.jsxs)(t.Fragment,{children:["Scan ",e.name,"'s connections to map their network"]})}),f?(0,t.jsx)(tq,{title:l.pending?"Starting…":`Scanning ${e.name}’s circle…`,log:l.log}):d?.offline?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{padding:"10px",borderRadius:8,background:"rgba(255,80,80,0.1)",border:"1px solid rgba(255,80,80,0.3)",color:"#ff5050",fontSize:12,marginBottom:8,textAlign:"center"},children:"Scanner offline"}),(0,t.jsxs)("div",{style:{fontSize:10,color:"#888",textAlign:"center",marginBottom:8},children:[d.text," Open the ",(0,t.jsx)("strong",{children:"Scan"})," page to finish setting the scanner up."]}),(0,t.jsx)("button",{onClick:()=>c(null),style:{width:"100%",padding:"10px",borderRadius:8,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#aaa",fontWeight:600,fontSize:12},children:"Retry"})]}):(0,t.jsxs)(t.Fragment,{children:[y&&(0,t.jsx)(tY,{job:y}),(0,t.jsxs)("div",{style:{display:"flex",gap:8},children:[h&&(0,t.jsxs)("button",{onClick:()=>b("resume"),disabled:v,style:S(!0),children:["Resume from page ",h.nextPage]}),(0,t.jsx)("button",{onClick:()=>b("bridge"),disabled:v,style:S(!h&&!u),children:j?"Rescan from the start":(0,t.jsxs)(t.Fragment,{children:["Scan ",e.name,"'s Network"]})})]}),h&&(0,t.jsxs)("div",{style:{fontSize:10,color:"#888",marginTop:8,lineHeight:1.45,textAlign:"center"},children:["Read to page ",h.pagesRead," so far. Resume carries on from page ",h.nextPage,". LinkedIn lists their connections in its own order, not by date, so Rescan reads them all again from page 1."]}),u&&null===h&&(0,t.jsx)("div",{style:{fontSize:10,color:"#888",marginTop:8,lineHeight:1.45,textAlign:"center"},children:"Their whole list has been read. LinkedIn doesn't date other people's connections, so a rescan reads it all again to find anyone new."}),x&&(0,t.jsxs)("div",{style:{fontSize:10,color:"#bbb",marginTop:8,textAlign:"center"},children:[x,". One scan at a time: this one can start when it finishes."]}),d&&(0,t.jsx)("div",{style:{fontSize:11,color:"#ff8080",marginTop:8,textAlign:"center"},children:d.text})]})]})}function tH({csvSource:e,style:r}){return(0,t.jsx)("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:11,color:"#999",lineHeight:1.5,textAlign:"center",background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.08)",...r},children:"sample"===e?"Scanning needs your own network: everyone in the sample is invented.":"Scanning needs your own network: a CSV import lives only in this window. Close it (× at the top) and open Scan."})}function tq({title:e,log:r,small:n=!1}){return(0,t.jsxs)("div",{style:{padding:"10px",borderRadius:8,background:"rgba(155,89,182,0.1)",border:"1px solid rgba(155,89,182,0.3)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,t.jsx)("div",{style:{width:n?6:8,height:n?6:8,borderRadius:"50%",background:"#9B59B6",animation:"pulse 1s infinite"}}),(0,t.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"#9B59B6"},children:e})]}),(0,t.jsx)("div",{style:{fontFamily:"monospace",fontSize:n?9:10,color:"#888",maxHeight:n?80:100,overflow:"auto"},children:r.slice(-40).map((e,r)=>(0,t.jsx)("div",{children:e},r))})]})}function tY({job:e,who:r=null}){let n=0===e.exitCode,i=!n&&Array.isArray(e.failure)&&e.failure.length?e.failure[e.failure.length-1]:null;return(0,t.jsx)("div",{style:{padding:"8px 10px",borderRadius:8,marginBottom:10,fontSize:11,textAlign:"center",lineHeight:1.4,background:n?"rgba(0,255,136,0.08)":"rgba(255,80,80,0.08)",border:`1px solid ${n?"rgba(0,255,136,0.25)":"rgba(255,80,80,0.25)"}`,color:n?"#00ff88":"#ff8080"},children:n?`${r?`${r}’s circle`:"The scan"} finished. What it found is on the map.`:`${r?`${r}’s scan`:"The scan"} stopped before the end${i?`: ${i}`:"."}`})}function tU({cs:e,rank:n,tierColors:i,onSelect:o}){let[l,a]=(0,r.useState)(!1);return(0,t.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:6,borderLeft:`3px solid ${i[e.bridge.tier]||"#FF6B35"}`,overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{padding:"10px 10px"},children:[(0,t.jsxs)("div",{onClick:()=>o&&o(e.bridge),style:{cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:4},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,E.localPhoto)(e.bridge.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.bridge.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${i[e.bridge.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:11,fontWeight:700,background:i[e.bridge.tier]||"#555",color:"S"===e.bridge.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.bridge.name?.charAt(0)}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontWeight:600,fontSize:12},children:[(0,t.jsxs)("span",{style:{color:"#555",marginRight:4},children:["#",n]}),e.bridge.name]}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666"},children:e.bridge.headline?.substring(0,40)})]})]}),(0,t.jsx)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:4,background:i[e.bridge.tier],color:"S"===e.bridge.tier?"#000":"#fff"},children:e.bridge.tier})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:6,marginTop:6,fontSize:10},children:[e.sCount>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[e.sCount,"S",e.sAvgPower>0?` (${e.sAvgPower.toFixed(1)})`:""]}),e.aCount>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[e.aCount,"A"]}),e.bCount>0&&(0,t.jsxs)("span",{style:{color:"#3498DB"},children:[e.bCount,"B"]}),e.risingCount>0&&(0,t.jsxs)("span",{style:{color:"#2ECC71"},children:[e.risingCount," rising"]}),(0,t.jsxs)("span",{style:{color:"#555"},children:[e.members," total"]})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:4,fontSize:10},children:[(0,t.jsxs)("span",{style:{color:"#666"},children:["Elite: ",(100*e.elitePct).toFixed(0),"% · Avg: ",e.avgPower.toFixed(1)]}),(0,t.jsx)("span",{style:{color:"#FF6B35",fontWeight:700},children:e.clusterValue.toFixed(1)})]}),(e.sTier.length>0||e.aTier.length>0)&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginTop:8},children:[[...e.sTier,...e.aTier].slice(0,4).map(e=>(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:e.name,style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",border:`1.5px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"},title:e.name},e.id):(0,t.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:9,fontWeight:700,background:i[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},title:e.name,children:e.name?.charAt(0)},e.id)),e.sCount+e.aCount>4&&(0,t.jsxs)("span",{style:{fontSize:9,color:"#666"},children:["+",e.sCount+e.aCount-4," more"]})]}),(0,t.jsxs)("button",{onClick:()=>a(!l),style:{marginTop:6,background:"none",border:"none",color:"#888",fontSize:10,cursor:"pointer",padding:0,display:"flex",alignItems:"center",gap:4},children:[(0,t.jsx)("span",{style:{fontSize:12},children:l?"▾":"▸"}),l?"Hide members":`View all ${e.members} members`]})]}),l&&(0,t.jsx)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",padding:"6px 10px 10px",maxHeight:250,overflowY:"auto"},children:e.topMembers.map(e=>(0,t.jsxs)("div",{onClick:()=>o&&o(e),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 2px",cursor:"pointer",borderRadius:4},onMouseEnter:e=>e.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,E.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,E.localPhoto)(e.profile_image_url),alt:"",style:{width:20,height:20,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${i[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:20,height:20,borderRadius:"50%",flexShrink:0,fontSize:8,fontWeight:700,background:i[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:(0,E.localPhoto)(e.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsx)("div",{style:{minWidth:0,flex:1},children:(0,t.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})}),(0,t.jsxs)("span",{style:{fontSize:9,color:i[e.tier]||"#555",fontWeight:600,flexShrink:0},children:[e.tier," ",parseFloat(e.power_score).toFixed(1)]})]},e.id))})]})}function tX({connections:e,degree2:n,scanNotes:l,tierColors:a}){let s=(0,o.default)(),[d,c]=(0,r.useState)(!1),h=(0,r.useMemo)(()=>(0,A.reachIndex)(e,n,l),[e,n,l]),p=(0,r.useMemo)(()=>(0,A.readyToScan)(e,h),[e,h]),g=(0,r.useMemo)(()=>e.filter(e=>"hidden"===(0,A.reachState)(e,h)),[e,h]),u=(0,r.useMemo)(()=>e.filter(e=>null===(0,A.reachState)(e,h)&&"todo"===(0,A.circleState)(e,h)).length,[e,h]),f=(0,r.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),x=(0,A.circleScanCost)(),y=s.running&&(0,i.isCircleScan)(s),m=s.running&&!y?(0,i.busyReason)(s):null,b=s.finished.find(i.isCircleScan),j=d?p:p.slice(0,5);return(0,t.jsxs)("div",{style:{background:"rgba(0,255,136,0.05)",border:"1px solid rgba(0,255,136,0.2)",borderRadius:10,padding:14,marginBottom:16},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:800,color:"#00ff88",marginBottom:4},children:["Ready to scan (",p.length,")"]}),(0,t.jsx)("div",{style:{fontSize:10.5,color:"#999",lineHeight:1.5,marginBottom:10},children:"People you added through a circle whose own circle isn't scanned yet. Scanning one brings in who they know: 3rd degree, through the circle you found them in."}),y?(0,t.jsx)("div",{style:{marginBottom:10},children:(0,t.jsx)(tq,{small:!0,title:s.pending?"Starting…":`Scanning ${s.target?.name||"a circle"}…`,log:s.log})}):b&&(0,t.jsx)(tY,{job:b,who:b.target?.name}),0===p.length?(0,t.jsxs)("div",{style:{fontSize:11,color:"#aaa",lineHeight:1.5},children:["Nobody yet. When someone you asked from a circle accepts, ↻ ",(0,t.jsx)("b",{children:"Check for new"})," brings them into your connections, and they show here."]}):(0,t.jsxs)("div",{role:"list",style:{display:"flex",flexDirection:"column",gap:6},children:[j.map(e=>{let r=y&&(0,i.scansCircleOf)(s,e),n=f.get(e.unlocked_from_bridge_id)?.name||e.unlocked_from_name;return(0,t.jsxs)(eo.default,{role:"listitem",href:`/setup?scan=${encodeURIComponent(e.id)}`,"aria-label":`Scan ${e.name}’s circle: opens the Scan page to confirm`,style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderRadius:8,textDecoration:"none",color:"#fff",background:"rgba(255,255,255,0.04)",border:"1px solid rgba(0,255,136,0.18)"},children:[(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",flexShrink:0,background:a[e.tier]||"#888",boxShadow:"0 0 0 2px rgba(0,255,136,0.45)"}}),(0,t.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("span",{style:{fontSize:12,fontWeight:700},children:e.name}),(0,t.jsx)("span",{style:{fontSize:10,color:a[e.tier]||"#888",fontWeight:700,marginLeft:6},children:e.tier}),n&&(0,t.jsxs)("span",{style:{display:"block",fontSize:10,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["was in ",String(n||"").trim().split(/\s+/)[0],"'s circle"]})]}),(0,t.jsx)("span",{style:{fontSize:10.5,fontWeight:700,color:"#00ff88",whiteSpace:"nowrap"},children:r?"Scanning…":"Scan… →"})]},e.id)}),p.length>5&&(0,t.jsx)("button",{type:"button",onClick:()=>c(e=>!e),style:{background:"none",border:"none",color:"#888",fontSize:10.5,fontWeight:600,cursor:"pointer",padding:"2px 0",textAlign:"left"},children:d?"Show fewer":`Show all ${p.length}`})]}),p.length>0&&(0,t.jsxs)("div",{style:{fontSize:10,color:"#888",lineHeight:1.5,marginTop:8},children:["Each scan: ",x.profileViews," profile view, then one LinkedIn search for every page of their list, up to ",x.searches," pages (about ",x.minutes," min for a whole list). Nothing starts until you confirm it on the Scan page."]}),g.length>0&&(0,t.jsxs)("div",{style:{marginTop:10,fontSize:10.5,color:"#777",lineHeight:1.6},children:[g.slice(0,3).map(e=>(0,t.jsxs)("div",{style:{opacity:.7},children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"🔒"})," ",e.name," ",(0,t.jsx)("span",{style:{color:"#666"},children:"· their list is hidden"})]},e.id)),g.length>3&&(0,t.jsxs)("div",{style:{opacity:.7},children:["🔒 and ",g.length-3," more with hidden lists"]})]}),u>0&&(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#888",lineHeight:1.5,marginTop:10},children:[u.toLocaleString("en-US")," of your other connections aren't scanned yet."," ",(0,t.jsx)(eo.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"Map them in batches on the Scan page →"})]}),m&&(0,t.jsxs)("div",{style:{fontSize:10,color:"#bbb",marginTop:8},children:[m,". One scan at a time."]})]})}let tG=[],tV=[{key:"gravity",label:"Gravity",min:0,max:3,step:.01,fmt:e=>e.toFixed(2),hint:"Pulls every dot in towards you."},{key:"rings",label:"Rings",min:0,max:5,step:.05,fmt:e=>`${e.toFixed(2)}\xd7`,hint:"How hard each tier holds its ring. At 0 the Galaxy finds its own shape."},{key:"push",label:"Push",min:0,max:300,step:1,fmt:e=>String(e),hint:"How hard dots push each other apart."},{key:"pull",label:"Pull",min:0,max:15,step:.05,fmt:e=>`${e.toFixed(2)}\xd7`,hint:"How hard each person pulls the people who came through them."},{key:"distance",label:"Distance",min:.05,max:6,step:.05,fmt:e=>`${e.toFixed(2)}\xd7`,hint:"How far out those people sit."}],tK=[{key:"dotSize",label:"Dot size",min:.2,max:8,step:.05,fmt:e=>`${e.toFixed(2)}\xd7`},{key:"lines",label:"Lines",min:0,max:20,step:.1,fmt:e=>`${e.toFixed(1)}\xd7`}],tJ={fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,margin:"12px 0 6px",textTransform:"uppercase"},tZ={fontSize:10,color:"#667",lineHeight:1.4};function tQ({spec:e,value:r}){return(0,t.jsxs)("label",{title:e.hint,style:{display:"block",marginBottom:7},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"#aab"},children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("span",{style:{color:r===P.LAB_DEFAULTS[e.key]?"#556":"#cfe6f7",fontVariantNumeric:"tabular-nums"},children:e.fmt(r)})]}),(0,t.jsx)("input",{type:"range",min:e.min,max:e.max,step:e.step,value:r,onChange:t=>(0,P.setLab)({[e.key]:Number(t.target.value)}),style:{width:"100%",accentColor:"#3498DB"}})]})}function t0({options:e,value:r,onPick:n}){return(0,t.jsx)("div",{style:{display:"flex",gap:4,marginBottom:8},children:e.map(([e,i])=>(0,t.jsx)("button",{onClick:()=>n(e),"aria-pressed":r===e,style:{flex:1,padding:"5px 4px",borderRadius:6,fontSize:10.5,fontWeight:600,cursor:"pointer",border:r===e?"1px solid rgba(52,152,219,0.6)":"1px solid rgba(255,255,255,0.08)",background:r===e?"rgba(52,152,219,0.18)":"rgba(255,255,255,0.03)",color:r===e?"#cfe6f7":"#888"},children:i},e))})}function t1(){let e=(0,r.useSyncExternalStore)(P.watchLab,P.labNow,()=>P.LAB_DEFAULTS);return(0,t.jsxs)("div",{style:{marginBottom:18},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Names"}),(0,t.jsx)(t0,{value:e.labels,options:[[!0,"On"],[!1,"Off"]],onPick:e=>(0,P.setLab)({labels:e})})]})}let t5=e=>new Date(e).toLocaleDateString(void 0,{month:"short",year:"numeric"});function t2(){let e=(0,r.useSyncExternalStore)(P.watchLab,P.labNow,()=>P.LAB_DEFAULTS),n=(0,r.useSyncExternalStore)(P.watchClock,P.clockNow,P.clockNow),i=(0,r.useSyncExternalStore)(P.watchLayouts,P.layoutsNow,()=>tG),[o,l]=(0,r.useState)(""),[a,s]=(0,r.useState)(null),[d,c]=(0,r.useState)(null),h=(0,r.useSyncExternalStore)(()=>()=>{},V,()=>!1),p=null!=n.min&&n.max>n.min?(0,P.milestones)(n.social).filter(e=>e.t>=n.min&&e.t<=n.max):[],g=async(e,t)=>{s(e),c(null);try{await t()}catch(e){c(e.message||"That didn’t work.")}finally{s(null)}},u=null!=n.min&&null!=n.max&&n.max>n.min,f=tV.every(t=>e[t.key]===P.LAB_DEFAULTS[t.key])?"rings":Object.entries(P.CLUSTERS).every(([t,r])=>e[t]===r)?"clusters":null;return(0,t.jsxs)("div",{style:{marginBottom:18,padding:"10px 10px 8px",borderRadius:8,border:"1px solid rgba(212,175,55,0.25)",background:"rgba(212,175,55,0.04)"},children:[(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:e.on,onChange:e=>{e.target.checked||((0,P.stopReplay)(),(0,P.setClock)({find:""})),(0,P.setLab)({on:e.target.checked})},style:{accentColor:"#D4AF37"}}),(0,t.jsx)("span",{style:{fontSize:11.5,fontWeight:700,color:"#e6d7a0"},children:"Physics lab"}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:"#D4AF37",border:"1px solid rgba(212,175,55,0.4)",borderRadius:4,padding:"0 4px"},children:"EXPERIMENTAL"})]}),!e.on&&(0,t.jsx)("div",{style:{...tZ,marginTop:6},children:"Sliders for the forces that lay the Galaxy out, colours by company or warmth, find, a branch that lights up on hover, and a replay of your network growing that you can save as a video."}),e.on&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:tJ,children:"Find"}),(0,t.jsx)("input",{type:"search",value:n.find,placeholder:"A name, company or role",onChange:e=>(0,P.setClock)({find:e.target.value}),onKeyDown:e=>{"Enter"===e.key&&(0,P.setClock)({fly:n.fly+1})},style:{width:"100%",boxSizing:"border-box",padding:"6px 9px",borderRadius:6,fontSize:11.5,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),n.find.trim().length>=2&&(0,t.jsx)("div",{style:{...tZ,marginTop:4},children:n.found?`${n.found.toLocaleString()} found \xb7 Enter flies to the best one`:"No one on screen matches."}),(0,t.jsx)("div",{style:tJ,children:"Layout"}),(0,t.jsx)(t0,{value:f,options:[["rings","Rings"],["clusters","Clusters"]],onPick:e=>(0,P.setLab)("rings"===e?{...Object.fromEntries(tV.map(e=>[e.key,P.LAB_DEFAULTS[e.key]])),sizeBy:"power"}:P.CLUSTERS)}),(0,t.jsx)("div",{style:{...tZ,marginBottom:6},children:"clusters"===f?"No rings: each connection pulls their circle round them, and a dot grows with everyone behind it.":"Drag a dot to see what it pulls with it. Try Rings at 0 and Pull up."}),(0,t.jsx)("div",{style:tJ,children:"Forces"}),tV.map(r=>(0,t.jsx)(tQ,{spec:r,value:e[r.key]},r.key)),(0,t.jsx)("div",{style:tJ,children:"Display"}),tK.map(r=>(0,t.jsx)(tQ,{spec:r,value:e[r.key]},r.key)),(0,t.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Size dots by"}),(0,t.jsx)(t0,{value:e.sizeBy,options:[["power","Power score"],["reach","Who hangs off them"]],onPick:e=>(0,P.setLab)({sizeBy:e})}),(0,t.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Colour by"}),(0,t.jsx)(t0,{value:e.colourBy,options:[["tier","Tier"],["degree","Degree"],["company","Company"],["warmth","Warmth"]],onPick:e=>(0,P.setLab)({colourBy:e})}),"warmth"===e.colourBy&&null===n.social&&(0,t.jsx)("div",{style:{...tZ,marginTop:-4,marginBottom:8},children:"Warmth comes from the Social tab: import your LinkedIn export there first. Until then it’s by tier."}),(0,t.jsxs)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:["Which names",e.labels?"":" (Names is off)"]}),(0,t.jsx)(t0,{value:"all"===e.names?"all":"key",options:[["key","S + catalysts"],["all","All 1st"]],onPick:e=>(0,P.setLab)({names:e})}),(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:e.branch,onChange:e=>(0,P.setLab)({branch:e.target.checked}),style:{accentColor:"#3498DB"}}),"Light up a branch on hover"]}),(0,t.jsx)("div",{style:tJ,children:"Replay"}),u?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",marginBottom:6},children:[(0,t.jsx)("button",{onClick:()=>n.playing?(0,P.pause)():(0,P.play)(),style:{padding:"5px 12px",borderRadius:6,fontSize:11,fontWeight:700,cursor:"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:n.playing?"❚❚ Pause":"▶ Replay"}),null!=n.at&&(0,t.jsx)("button",{onClick:P.stopReplay,style:{padding:"5px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Show all"}),(0,t.jsx)("span",{style:{marginLeft:"auto",fontSize:10.5,color:"#aab",fontVariantNumeric:"tabular-nums"},children:t5(n.at??n.max)})]}),(0,t.jsxs)("div",{style:{position:"relative"},children:[(0,t.jsx)("input",{type:"range",min:n.min,max:n.max,step:864e5,value:n.at??n.max,onChange:e=>{(0,P.pause)(),(0,P.setClock)({at:Number(e.target.value)})},style:{width:"100%",accentColor:"#3498DB"},"aria-label":"Time"}),(0,t.jsx)("div",{style:{position:"absolute",left:7,right:7,top:-3,height:6,pointerEvents:"none"},children:p.map(e=>(0,t.jsx)("span",{title:`${e.label} \xb7 ${t5(e.t)}`,style:{position:"absolute",left:`${(e.t-n.min)/(n.max-n.min)*100}%`,width:"job"===e.kind?3:2,height:"job"===e.kind?8:5,borderRadius:1,transform:"translateX(-50%)",background:"job"===e.kind?"#D4AF37":"#74B9FF",opacity:"job"===e.kind?.95:.7}},`${e.kind}-${e.t}`))})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",...tZ},children:[(0,t.jsx)("span",{children:t5(n.min)}),(0,t.jsx)("span",{children:t5(n.max)})]}),(0,t.jsx)("div",{style:{fontSize:11,color:"#aab",margin:"8px 0 4px"},children:"Length"}),(0,t.jsx)(t0,{value:e.speed,options:[[5,"5 s"],[15,"15 s"],[30,"30 s"],[60,"1 min"]],onPick:e=>(0,P.setLab)({speed:e})}),(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:e.loop,onChange:e=>(0,P.setLab)({loop:e.target.checked}),style:{accentColor:"#3498DB"}}),"Loop"]}),(0,t.jsxs)("div",{style:{...tZ,marginTop:4},children:["Your connections appear on the day you connected; their circles come with them.",p.length>0?" Gold marks are your job starts and blue ones your posts, from the Social tab.":""]}),h&&(0,t.jsx)("button",{disabled:!!a,onClick:()=>g("video",K),style:{marginTop:8,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:a?"default":"pointer",border:"1px solid rgba(231,76,60,0.5)",background:"rgba(231,76,60,0.12)",color:"#f5b7b1"},children:"video"===a?"● Recording…":"● Record the replay as a video"})]}):(0,t.jsx)("div",{style:tZ,children:"Nothing to replay: the connections on screen have no “connected on” dates. A LinkedIn CSV or a network scan has them; the sample network doesn’t."}),(0,t.jsx)("div",{style:tJ,children:"Saved layouts"}),i.length>0&&(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:6},children:i.map(e=>(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",borderRadius:12,border:"1px solid rgba(52,152,219,0.4)",background:"rgba(52,152,219,0.1)"},children:[(0,t.jsx)("button",{onClick:()=>(0,P.applyLayout)(e.name),style:{padding:"3px 4px 3px 9px",border:"none",background:"none",color:"#cfe6f7",fontSize:10.5,cursor:"pointer"},children:e.name}),(0,t.jsx)("button",{onClick:()=>(0,P.forgetLayout)(e.name),"aria-label":`Forget ${e.name}`,title:"Forget this layout",style:{padding:"3px 8px 3px 3px",border:"none",background:"none",color:"#667",fontSize:11,cursor:"pointer"},children:"×"})]},e.name))}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),(0,P.saveLayout)(o),l("")},style:{display:"flex",gap:4},children:[(0,t.jsx)("input",{value:o,onChange:e=>l(e.target.value),placeholder:"Name this layout",maxLength:40,style:{flex:1,minWidth:0,padding:"5px 8px",borderRadius:6,fontSize:11,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),(0,t.jsx)("button",{type:"submit",disabled:!o.trim(),style:{padding:"5px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:o.trim()?"pointer":"default",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:o.trim()?"#cfe6f7":"#667"},children:"Save"})]}),(0,t.jsx)("div",{style:tJ,children:"Share"}),(0,t.jsx)("button",{disabled:!!a,onClick:()=>g("picture",G),style:{width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:a?"default":"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:"picture"===a?"Saving…":"Save a picture of the Galaxy"}),(0,t.jsx)("div",{style:{...tZ,marginTop:4},children:"A PNG of what’s on screen, at twice the size. It shows real names, so check it before you post it."}),d&&(0,t.jsx)("div",{style:{...tZ,color:"#e67e73",marginTop:4},children:d}),(0,t.jsx)("button",{onClick:()=>{(0,P.stopReplay)(),(0,P.setClock)({find:""}),(0,P.setLab)(null)},style:{marginTop:10,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Reset to today’s layout"})]})]})}let t6={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function t8({collapsed:e,onToggle:n,mode:i,filter:o,onFilterChange:l,visualMode:a,onVisualModeChange:s,tierCounts:d,bridgeTierCounts:c,degrees:h=[1],onDegreesChange:p,degreeCounts:g={},hiddenTiers:u=[],onHiddenTiersChange:f}){let x=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),y="degrees"===i,m=!y&&!!f,b=tu(y?"degrees":"network"),j=y?c||{}:d||{},w=y?Object.values(c||{}).reduce((e,t)=>e+t,0):Object.values(d||{}).reduce((e,t)=>e+t,0);return e?(0,t.jsxs)("div",{onClick:n,style:{position:"fixed",left:16,top:140,zIndex:30,cursor:"pointer",display:"flex",alignItems:"center",gap:0,height:36,borderRadius:18,background:"rgba(52,152,219,0.15)",border:"2px solid rgba(52,152,219,0.5)",color:"#3498DB",fontWeight:700,boxShadow:"0 0 12px rgba(52,152,219,0.3)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",overflow:"hidden",transition:"width 0.25s ease",width:36,padding:"0 10px"},onMouseEnter:e=>{e.currentTarget.style.width="120px"},onMouseLeave:e=>{e.currentTarget.style.width="36px"},children:[(0,t.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"›"}),(0,t.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginLeft:6,opacity:.9},children:"Filters"})]}):(0,t.jsxs)("div",{style:x?{position:"fixed",top:0,left:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[x&&(0,t.jsx)("div",{onClick:n,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,t.jsxs)("div",{style:{width:x?"80vw":320,minWidth:320*!x,maxWidth:x?300:320,height:"100%",borderRight:"1px solid rgba(52,152,219,0.15)",padding:x?"12px 10px":"16px 14px",overflowY:"auto",overflowX:"hidden",background:x?"rgba(10,15,30,0.98)":"rgba(10,15,30,0.65)",fontSize:13,backdropFilter:"blur(24px) saturate(1.4)",WebkitBackdropFilter:"blur(24px) saturate(1.4)",boxShadow:"inset 0 0 60px rgba(52,152,219,0.04), 4px 0 24px rgba(0,0,0,0.3)"},children:[(0,t.jsxs)("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:6,color:"#aaa",fontSize:12,cursor:"pointer",padding:"6px 12px",marginBottom:14,fontWeight:600,width:"100%"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),(0,t.jsxs)("div",{style:{marginBottom:18},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Visual"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:b.map(e=>(0,t.jsxs)("button",{onClick:()=>s&&s(e.key),style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",textAlign:"left",background:a===e.key?"rgba(52,152,219,0.15)":"rgba(255,255,255,0.03)",color:a===e.key?"#3498DB":"#888",transition:"all 0.15s"},children:[(0,t.jsx)("span",{style:{fontSize:14,width:20,textAlign:"center"},children:e.icon}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600},children:e.label}),(0,t.jsx)("div",{style:{fontSize:8,color:"#555",marginTop:1},children:e.desc})]})]},e.key))})]}),!y&&p&&(0,t.jsxs)("div",{style:{marginBottom:18},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Degree"}),(0,t.jsx)("div",{style:{display:"flex",gap:6},children:[[1,"1st","Your connections"],[2,"2nd","In a scanned circle"],[3,"3rd","Found by a company scan"]].map(([e,r,n])=>{let i=h.includes(e),o=g[e]||0,l=i&&1===h.length;return(0,t.jsxs)("button",{title:`${n}: ${o.toLocaleString()}${l?" (keep at least one)":""}`,"aria-pressed":i,disabled:l||!i&&!o,onClick:()=>p(i?h.filter(t=>t!==e):[...h,e].sort()),style:{flex:1,padding:"7px 4px",borderRadius:8,fontSize:11.5,fontWeight:700,cursor:!l&&(i||o)?"pointer":"default",border:i?"1px solid rgba(52,152,219,0.6)":"1px solid rgba(255,255,255,0.08)",background:i?"rgba(52,152,219,0.18)":"rgba(255,255,255,0.03)",color:i?"#cfe6f7":o?"#888":"#444"},children:[r,(0,t.jsx)("div",{style:{fontSize:9.5,fontWeight:500,opacity:.8,marginTop:2},children:o.toLocaleString()})]},e)})})]}),!y&&"galaxy"===a&&(0,t.jsx)(t1,{}),(0,t.jsxs)("div",{style:{marginBottom:18},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:y?"Filter by bridge tier":"Filter"}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[(0,t.jsxs)("button",{onClick:()=>m?f([]):l&&l("all"),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:(m?u.length:"all"!==o)?"rgba(255,255,255,0.03)":"rgba(255,255,255,0.12)",color:(m?u.length:"all"!==o)?"#888":"#fff"},children:[(0,t.jsx)("span",{style:{fontSize:11,fontWeight:600},children:"All"}),(0,t.jsx)("span",{style:{fontSize:10,color:"#555"},children:w})]}),m&&(0,t.jsx)("div",{style:{fontSize:10,color:"#667",margin:"2px 2px 4px"},children:"Click a tier to hide or show it"}),m&&["S","A","B","C","D"].map(e=>{let r=!u.includes(e),n=r&&u.length>=4;return(0,t.jsxs)("button",{"aria-pressed":r,title:n?"Keep at least one tier showing":r?`Hide ${e}-Tier`:`Show ${e}-Tier`,onClick:()=>!n&&f(r?[...u,e]:u.filter(t=>t!==e)),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:n?"default":"pointer",width:"100%",background:r?`${t6[e]}14`:"rgba(255,255,255,0.02)",color:r?t6[e]:"#555",borderLeft:r?`3px solid ${t6[e]}`:"3px solid transparent"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:t6[e],opacity:r?1:.2}}),(0,t.jsxs)("span",{style:{fontSize:11,fontWeight:600,textDecoration:r?"none":"line-through"},children:[e,"-Tier"]}),!r&&(0,t.jsx)("span",{style:{fontSize:9.5,color:"#667"},children:"hidden"})]}),(0,t.jsx)("span",{style:{fontSize:10,color:"#555"},children:j[e]||0})]},e)}),!m&&["S","A","B","C","D"].map(e=>(0,t.jsxs)("button",{onClick:()=>l&&l(e),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:o===e?`${t6[e]}20`:"rgba(255,255,255,0.03)",color:o===e?t6[e]:"#888",borderLeft:o===e?`3px solid ${t6[e]}`:"3px solid transparent"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,t.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:t6[e],opacity:o===e?1:.4}}),(0,t.jsxs)("span",{style:{fontSize:11,fontWeight:600},children:[e,"-Tier"]})]}),(0,t.jsx)("span",{style:{fontSize:10,color:"#555"},children:j[e]||0})]},e))]})]}),!y&&"galaxy"===a&&!x&&(0,t.jsx)(t2,{}),(0,t.jsxs)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",paddingTop:12},children:[(0,t.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Stats"}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[Object.entries(j).filter(([e])=>["S","A","B"].includes(e)).map(([e,r])=>(0,t.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:`${t6[e]}10`,textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:16,fontWeight:800,color:t6[e]},children:r}),(0,t.jsxs)("div",{style:{fontSize:8,color:"#555"},children:[e,"-Tier"]})]},e)),(0,t.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:"rgba(255,255,255,0.04)",textAlign:"center"},children:[(0,t.jsx)("div",{style:{fontSize:16,fontWeight:800,color:"#fff"},children:w}),(0,t.jsx)("div",{style:{fontSize:8,color:"#555"},children:"Total"})]})]})]})]})]})}var t3=e.i(2776),t4=e.i(64745);function t7(){let[e,n]=(0,r.useState)(!1),[i,o]=(0,r.useState)("");async function l(){n(!0),o("");try{await (0,t4.loadSampleIntoSession)(),window.location.reload()}catch(e){o(e.message||"Could not load the sample network."),n(!1)}}return(0,t.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,overflowY:"auto"},children:(0,t.jsxs)("div",{style:{maxWidth:520,width:"100%",textAlign:"center"},children:[(0,t.jsx)("div",{style:{width:68,height:68,borderRadius:"50%",margin:"0 auto 22px",border:"2px solid rgba(255,215,0,0.35)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:26},children:"✦"}),(0,t.jsx)("h2",{style:{fontSize:28,fontWeight:800,margin:"0 0 10px",background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Welcome to Six Degrees"}),(0,t.jsx)("p",{style:{color:"rgba(255,255,255,0.5)",fontSize:14.5,lineHeight:1.7,margin:"0 0 28px"},children:"Your network, drawn as a galaxy. Everything stays on this computer. Pick how to bring it in — you can switch later."}),(0,t.jsx)(t9,{href:"/setup",primary:!0,badge:"Recommended",title:"Scan my LinkedIn",body:"A few guided steps: set up the scanner, sign into LinkedIn yourself, and watch your galaxy fill in. The only way to see who your connections know."}),(0,t.jsx)(t9,{href:"/import",title:"Import my LinkedIn CSV",body:"LinkedIn’s official export, read in your browser. Takes about ten minutes to arrive by email. Shows the people you know, not who they know."}),(0,t.jsx)(t9,{onClick:l,disabled:e,title:e?"Loading…":"Explore a sample network",body:"150 invented connections and the 598 people they know. Every view except Outlink and Scan, which need your own scan. Nothing about you is used."}),i&&(0,t.jsx)("div",{style:{color:"#ff6b6b",fontSize:13,marginTop:18},children:i}),(0,t.jsxs)("p",{style:{color:"rgba(255,255,255,0.45)",fontSize:13,lineHeight:1.6,margin:"18px 0 0"},children:["Moving from another computer?"," ",(0,t.jsx)("a",{href:"/settings#data",style:{color:"rgba(255,255,255,0.75)"},children:"Import your saved copy in Settings → Your data."})]})]})})}function t9({href:e,onClick:r,disabled:n,primary:i,badge:o,title:l,body:a}){let s={display:"block",width:"100%",boxSizing:"border-box",textAlign:"left",padding:"16px 18px",borderRadius:12,marginBottom:12,textDecoration:"none",cursor:n?"default":"pointer",font:"inherit",border:i?"1px solid rgba(255,215,0,0.45)":"1px solid rgba(255,255,255,0.12)",background:i?"linear-gradient(135deg, rgba(255,215,0,0.12), rgba(155,89,182,0.14))":"rgba(255,255,255,0.03)",color:"#fff"},d=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:5},children:[(0,t.jsx)("span",{style:{fontSize:15.5,fontWeight:750},children:l}),o&&(0,t.jsx)("span",{style:{fontSize:10.5,fontWeight:800,letterSpacing:.5,textTransform:"uppercase",padding:"3px 8px",borderRadius:20,background:"#FFD700",color:"#0a0a1a"},children:o}),(0,t.jsx)("span",{style:{marginLeft:"auto",color:"rgba(255,255,255,0.4)"},children:"→"})]}),(0,t.jsx)("div",{style:{fontSize:13,color:"rgba(255,255,255,0.5)",lineHeight:1.6},children:a})]});return e?(0,t.jsx)("a",{href:e,style:s,children:d}):(0,t.jsx)("button",{onClick:r,disabled:n,style:s,children:d})}var re=e.i(7837);let rt=[],rr=e=>!!e&&!["install","setup","login"].includes(e.action);function rn(e,t){let r={};e.forEach(e=>{r[e.tier]=(r[e.tier]||0)+1});let n={};return t.forEach(e=>{n[e.tier]=(n[e.tier]||0)+1}),{total:e.length,tiers:r,d2Total:t.length,d2Tiers:n}}let ri={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function ro(){let e,o,d,c,{userId:h,userName:p}=(0,tE.useUser)(),g=function(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>t(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),[u,f]=(0,r.useState)([]),[x,y]=(0,r.useState)([]),[m,b]=(0,r.useState)([]),[j,w]=(0,r.useState)([1]),[v,S]=(0,r.useState)([]),[k,z]=(0,r.useState)(null),C=(0,r.useRef)(null),[_,M]=(0,r.useState)("all"),R=(0,n.useSearchParams)().get("chain"),[$,F]=(0,r.useState)(R),[B,W]=(0,r.useState)(()=>$?"degrees":"network"),[T,E]=(0,r.useState)(!0),[I,A]=(0,r.useState)(null),[D,L]=(0,r.useState)(!0),[O,P]=(0,r.useState)(!0),[N,H]=(0,r.useState)(()=>$?"chain":"galaxy"),[q,Y]=(0,r.useState)([]),[U,X]=(0,r.useState)(!1),[G,V]=(0,r.useState)(!1),[K,J]=(0,r.useState)("csv"),[Z,Q]=(0,r.useState)(i.NO_SCAN_NOTES),ee=(0,r.useRef)(""),et=(0,a.requestCount)((0,l.default)());(0,r.useEffect)(()=>{h&&(e(),t4.IS_DEMO||(0,re.hasCsvNetwork)()||((0,i.loadScanNotes)().then(Q),fetch(`/api/notifications?userId=${h}`).then(e=>e.json()).then(e=>Y(e.notifications||[])).catch(()=>{})));async function e(){let e=(0,re.hasCsvNetwork)()?(0,re.loadCsvNetwork)():null;e&&(V(!0),J(e.source||"csv"));let{degree1:t,degree2:r,degree3:n=[]}=t4.IS_DEMO?await (0,t4.loadDemoNetwork)():e||await (async()=>await (0,s.loadNetwork)(h))();f(t),y(r),b(n||[]),ee.current=rl(t,r),A(rn(t,r)),E(!1)}},[h]);let er=(0,r.useCallback)(async()=>{if(!(t4.IS_DEMO||(0,re.hasCsvNetwork)())&&h)try{let[{degree1:e,degree2:t,degree3:r=[]},n]=await Promise.all([(0,s.loadNetwork)(h),(0,i.loadScanNotes)()]);Q(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),b(e=>e.length===(r||[]).length?e:r||[]);let o=rl(e,t);if(o===ee.current)return;ee.current=o,f(e),y(t),A(rn(e,t))}catch{}},[h]),[en,ei]=(0,r.useState)(null),ea=(0,r.useCallback)(e=>{ei({...e,id:`${e.query}|${e.tier||""}|${e.rarity||""}|${Math.random()}`}),W("degrees"),H("separation")},[]),es=(0,r.useCallback)(e=>{F(e),W("degrees"),H("chain")},[]),ed=(0,r.useCallback)(()=>{F(null);try{window.history.replaceState(null,"",window.location.pathname)}catch{}},[]),ec="degrees"===B,eh=(0,r.useMemo)(()=>(function(e=[],t=[],r=[]){let n=new Set,i=(e,t)=>{let r=[];for(let i of e||[]){let e=(0,el.keyFor)(i);n.has(e)||(n.add(e),r.push(i.degree===t?i:{...i,degree:t}))}return r};return{1:i(e,1),2:i(t,2),3:i(r,3)}})(u,x,m),[u,x,m]),ep=(0,r.useMemo)(()=>ec?u:j.flatMap(e=>eh[e]||[]),[ec,u,j,eh]),eg=(0,r.useMemo)(()=>ec?"all"===_?ep:ep.filter(e=>e.tier===_):v.length?ep.filter(e=>!v.includes(e.tier)):ep,[ec,ep,_,v]),eu=(0,r.useMemo)(()=>new Map(u.map(e=>[e.id,e])),[u]),ef=(0,r.useMemo)(()=>new Set(x.map(e=>e.source_connection_id).filter(Boolean)),[x]),ex=(0,r.useMemo)(()=>{let e={};return u.forEach(t=>{ef.has(t.id)&&(e[t.tier]=(e[t.tier]||0)+1)}),e},[u,ef]),ey=(0,r.useMemo)(()=>ec?"all"===_?x:x.filter(e=>eu.get(e.source_connection_id)?.tier===_):rt,[ec,_,eu,x]),em=(0,r.useCallback)(e=>{z(e),e&&L(!1)},[]);if(T)return(0,t.jsxs)("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:700},children:"Loading Six Degrees…"}),(0,t.jsx)("div",{style:{fontSize:14,color:"#888",marginTop:8},children:"Mapping your LinkedIn network"})]});let eb=(e=tp[N])&&e.modes.includes(B)?{key:N,...e}:tu(B)[0]??{key:"list",...tp.list},ej=!t4.IS_DEMO&&!G;return(0,t.jsxs)("div",{"data-map":!0,style:{height:"100vh",overflow:"hidden",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,t.jsxs)("header",{style:{padding:g?"10px 12px":"20px 30px",borderBottom:"1px solid rgba(255,255,255,0.1)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:g?4:8,flexWrap:g?"wrap":"nowrap",gap:6*!!g},children:[(0,t.jsx)("h1",{style:{fontSize:g?16:28,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Six Degrees"}),(0,t.jsxs)("div",{style:{display:"flex",gap:g?2:4,background:"rgba(255,255,255,0.08)",borderRadius:8,padding:g?2:3,flexWrap:g?"wrap":"nowrap"},children:[(0,t.jsx)("button",{onClick:()=>{W("network"),z(null),M("all"),H("galaxy")},style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,cursor:"pointer",background:"network"===B?"#fff":"transparent",color:"network"===B?"#000":"#888"},children:g?"Circle":"Network Circle"}),(0,t.jsx)("button",{onClick:()=>{W("degrees"),z(null),M("all"),H("chain")},style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,cursor:"pointer",background:"degrees"===B?"linear-gradient(135deg, #FFD700, #FF6B35)":"rgba(255,255,255,0.12)",color:"degrees"===B?"#000":"#fff"},children:"Degrees"}),G&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginLeft:g?4:10,padding:g?"4px 8px":"5px 10px",borderRadius:999,background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.12)"},children:[(0,t.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"sample"===K?"#9B59B6":"#2ecc71"}}),(0,t.jsx)("span",{style:{fontSize:g?10:12,color:"rgba(255,255,255,0.65)",whiteSpace:"nowrap"},children:"sample"===K?"Sample network":"Your CSV"}),(0,t.jsx)("button",{onClick:()=>{(0,re.clearCsvNetwork)(),window.location.href="/"},title:"sample"===K?"Leave the sample network":"Clear this import",style:{border:"none",background:"transparent",cursor:"pointer",color:"#888",fontSize:g?13:15,lineHeight:1,padding:"0 0 0 2px"},children:"×"})]}),!t4.IS_DEMO&&(0,t.jsx)(eo.default,{href:"/paths",style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#00ff88",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Paths"}),!t4.IS_DEMO&&(0,t.jsxs)(eo.default,{href:"/social",title:"Experimental: what your own LinkedIn data says about your relationships",style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FFD700",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:["Social",(0,t.jsx)("span",{style:{fontSize:9,opacity:.7,marginLeft:2},children:"beta"})]}),!t4.IS_DEMO&&!G&&(0,t.jsx)(eo.default,{href:"/scores",style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FFD700",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Scores"}),!t4.IS_DEMO&&!G&&(0,t.jsx)(eo.default,{href:"/queue",style:{padding:g?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:g?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FF6B35",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Outlink"}),!t4.IS_DEMO&&!G&&(0,t.jsx)(eo.default,{href:"/setup",style:{padding:g?"8px 12px":"8px 16px",borderRadius:6,border:"none",fontSize:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#666",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Scan"}),!t4.IS_DEMO&&!G&&(0,t.jsx)(tx,{isMobile:g})]}),!t4.IS_DEMO&&(0,t.jsx)(eo.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:g?28:32,height:g?28:32,borderRadius:"50%",flexShrink:0,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:g?14:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center",marginLeft:g?4:8},children:"⚙︎"}),!t4.IS_DEMO&&!G&&(0,t.jsxs)("div",{style:{position:"relative",marginLeft:g?4:8},children:[(0,t.jsxs)("button",{onClick:()=>X(!U),style:{width:g?28:32,height:g?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.06)",color:"#888",fontSize:g?12:14,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:["🔔",q.filter(e=>!e.seen).length>0&&(0,t.jsx)("span",{style:{position:"absolute",top:-2,right:-2,width:16,height:16,borderRadius:"50%",background:"#ff5050",color:"#fff",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},children:q.filter(e=>!e.seen).length})]}),U&&(0,t.jsxs)("div",{style:{position:"absolute",top:40,right:0,width:320,maxHeight:400,background:"rgba(10,10,26,0.98)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:12,overflow:"hidden",zIndex:100,backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",boxShadow:"0 8px 32px rgba(0,0,0,0.5)"},children:[(0,t.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.08)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontWeight:700,fontSize:14},children:"Notifications"}),q.filter(e=>!e.seen).length>0&&(0,t.jsx)("button",{onClick:()=>{fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-all-seen"})}),Y(e=>e.map(e=>({...e,seen:!0})))},style:{background:"none",border:"none",color:"#3498DB",fontSize:11,cursor:"pointer",fontWeight:600},children:"Mark all read"})]}),(0,t.jsx)("div",{style:{overflowY:"auto",maxHeight:340},children:0===q.length?(0,t.jsx)("div",{style:{padding:20,textAlign:"center",color:"#555",fontSize:12},children:"No notifications yet"}):q.slice(0,20).map(e=>(0,t.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid rgba(255,255,255,0.04)",background:e.seen?"transparent":"rgba(255,215,0,0.04)"},children:(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:e.icon||"📌"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,color:e.seen?"#888":"#fff"},children:e.title}),e.message&&(0,t.jsx)("div",{style:{fontSize:10,color:"#666",marginTop:2},children:e.message}),(0,t.jsx)("div",{style:{fontSize:9,color:"#444",marginTop:3},children:new Date(e.created_at).toLocaleDateString()})]})]})},e.id))})]})]}),!t4.IS_DEMO&&!G&&(0,t.jsx)(rs,{isMobile:g}),(0,t.jsx)("a",{href:t4.IS_DEMO?"/launch":G?"/import":"/profile",style:{width:g?30:36,height:g?30:36,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:g?11:14,textDecoration:"none",marginLeft:g?6:12,flexShrink:0},children:(o=u.filter(e=>"S"===e.tier).length,d=u.filter(e=>"A"===e.tier).length,c=u.filter(e=>"B"===e.tier).length,Math.floor(Math.sqrt((100*o+40*d+15*c+200*u.filter(e=>ef.has(e.id)).length+50*x.filter(e=>"S"===e.tier).length+u.length)/10)))})]}),ec&&!G&&et>0&&(0,t.jsxs)(eo.default,{href:"/queue",style:{padding:"5px 12px",borderRadius:16,fontSize:12,fontWeight:600,textDecoration:"none",background:"rgba(255,107,53,0.12)",color:"#FF6B35",border:"1px solid rgba(255,107,53,0.25)",display:"inline-flex",alignItems:"center",gap:5},children:[(0,t.jsx)("span",{style:{fontSize:10},children:"⏳"}),et," Pending"]})]}),(0,t.jsxs)("div",{style:{display:"flex",height:g?"calc(100vh - 70px)":"calc(100vh - 130px)",position:"relative"},children:[(0,t.jsx)(t8,{collapsed:O,onToggle:()=>P(!O),mode:B,filter:_,onFilterChange:M,visualMode:eb.key,onVisualModeChange:H,tierCounts:ec?I?.tiers||{}:function(e=[]){let t={};for(let r of e)t[r.tier]=(t[r.tier]||0)+1;return t}(ep),degrees:j,onDegreesChange:w,hiddenTiers:v,onHiddenTiersChange:S,degreeCounts:{1:eh[1].length,2:eh[2].length,3:eh[3].length},bridgeTierCounts:ex}),(()=>{if(0===u.length)return(0,t.jsx)(t7,{});if(ec&&0===x.length)return(0,t.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,textAlign:"center"},children:(0,t.jsxs)("div",{style:{maxWidth:440},children:[(0,t.jsx)("div",{style:{fontSize:40,marginBottom:16,opacity:.5},children:"🔗"}),(0,t.jsx)("h2",{style:{fontSize:22,fontWeight:800,margin:"0 0 12px",color:"#fff"},children:"Degrees need 2nd-degree data"}),(0,t.jsxs)("p",{style:{color:"rgba(255,255,255,0.45)",fontSize:14,lineHeight:1.7,margin:"0 0 20px"},children:["This view maps who ",(0,t.jsx)("em",{children:"your connections"})," ","know — the people you haven’t met yet. LinkedIn’s CSV export only covers your own 1st-degree list, so there are no circles to open here."]}),(0,t.jsxs)("p",{style:{color:"#666",fontSize:13,lineHeight:1.7,margin:0},children:["The local scanner maps those circles (and captures real photos)."," ",(0,t.jsx)(eo.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"Set up scanning →"})]})]})});let e=eb.component,r={connections:eg,degree2:eb.allDegree2?x:ey,onSelect:em,mode:B,userName:p,userImage:null,selectedId:k?.id??null,tierColors:ri,focusNodeRef:C,fullDegree1:u,fullDegree2:x,scanNotes:Z,canScan:ej,chainOpen:$,onChainOpened:ed,preset:en};return(0,t.jsx)(e,{...r})})(),(0,t.jsx)(tA,{selected:k,stats:I,tierColors:ri,connections:u,degree2:x,mode:B,collapsed:D,filter:_,onToggle:()=>L(!D),onSelect:e=>{z(e||null)},onSwitchMode:e=>{W(e),M("all")},onOpenCircle:es,onShowInSeparation:ea,onFocusNode:e=>{C.current&&C.current(e)},csvSource:t4.IS_DEMO?"sample":G?K:null,scanNotes:Z,canScan:ej}),ej&&(0,t.jsx)(ra,{onChange:er,live:"chain"===eb.key}),ec&&"separation"!==eb.key&&(0,t.jsxs)("div",{style:{position:"absolute",bottom:20,right:20,zIndex:20,display:"flex",alignItems:"center",gap:8,background:"rgba(0,0,0,0.7)",borderRadius:20,padding:"6px 14px",backdropFilter:"blur(8px)",border:"1px solid rgba(255,255,255,0.08)"},children:[(0,t.jsxs)("span",{style:{fontSize:10,color:"#666"},children:[tp.orbit.icon," ",tp.orbit.label]}),(0,t.jsx)("div",{onClick:()=>H("orbit"===eb.key?"chain":"orbit"),style:{width:32,height:18,borderRadius:9,cursor:"pointer",background:"orbit"===eb.key?"#FF6B35":"rgba(255,255,255,0.15)",position:"relative",transition:"background 0.2s"},children:(0,t.jsx)("div",{style:{width:14,height:14,borderRadius:"50%",background:"#fff",position:"absolute",top:2,left:"orbit"===eb.key?16:2,transition:"left 0.2s"}})})]})]})]})}function rl(e,t){let r=0x811c9dc5,n=e=>{for(let t=0;t<e.length;t++)r=Math.imul(r^e.charCodeAt(t),0x1000193)};for(let r of[...e,...t])n(`${r.id}|${r.degree}|${r.source_connection_id??""}|${r.unlocked_from_bridge_id??""}|${r.tier}|${r.power_score}|${r.unlock_status??""}|${r.profile_image_url??""};`);return`${e.length}:${t.length}:${r>>>0}`}function ra({onChange:e,live:t}){let n=(0,o.default)(),l=n.finished.find(rr)?.startedAt??null,a=t&&n.running&&(0,i.isCircleScan)(n);return(0,r.useEffect)(()=>{null!=l&&e()},[l,e]),(0,r.useEffect)(()=>{if(!a)return;let t=setInterval(e,2e4);return()=>clearInterval(t)},[a,e]),null}function rs({isMobile:e}){let r=(0,o.default)(),n=(0,i.busyReason)(r);return(0,t.jsx)("button",{onClick:async()=>{try{let e=(0,i.notReadyMessage)(await (0,i.scraperStatus)());if(e)return void alert(e);if(!window.confirm("Check for new connections?\n\nThis opens a Chrome window on your LinkedIn connections list and reads it from the newest, stopping once it reaches people already saved. It usually takes under a minute. It reads your own list, not a search, so it doesn’t use your search budget, but like any scan it is LinkedIn traffic from your account."))return;await (0,i.beginScrape)("refresh"),alert("Checking for new connections — watch it on the Scan page.")}catch(e){alert(e.message)}},disabled:!!n,title:n?`${n}. One scan at a time.`:"Check for new connections",style:{width:e?28:32,height:e?28:32,borderRadius:"50%",border:"none",cursor:n?"not-allowed":"pointer",opacity:n?.4:1,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:e?12:14,display:e?"none":"flex",alignItems:"center",justifyContent:"center",marginLeft:8},children:"↻"})}e.s(["default",0,function(){return(0,t.jsx)(t3.default,{children:(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(ro,{})})})}],81694)}]);
|