six-degrees 0.3.0 → 0.4.0

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.
Files changed (427) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +35 -7
  5. package/.next/standalone/.next/required-server-files.json +6 -1
  6. package/.next/standalone/.next/routes-manifest.json +18 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -10
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/network/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/outreach/route.js +3 -3
  47. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/users/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/import.html +1 -1
  68. package/.next/standalone/.next/server/app/import.rsc +13 -13
  69. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
  70. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +12 -12
  72. package/.next/standalone/.next/server/app/index.html +1 -1
  73. package/.next/standalone/.next/server/app/index.rsc +13 -13
  74. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +12 -12
  75. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
  76. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/launch.html +2 -2
  80. package/.next/standalone/.next/server/app/launch.rsc +13 -13
  81. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
  82. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +12 -12
  84. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/paths.html +1 -1
  89. package/.next/standalone/.next/server/app/paths.rsc +13 -13
  90. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
  91. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +12 -12
  93. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/profile.html +1 -1
  96. package/.next/standalone/.next/server/app/profile.rsc +13 -13
  97. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
  98. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +12 -12
  100. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/queue.html +1 -1
  103. package/.next/standalone/.next/server/app/queue.rsc +13 -13
  104. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
  105. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  106. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +12 -12
  107. package/.next/standalone/.next/server/app/scores/page/app-paths-manifest.json +3 -0
  108. package/.next/standalone/.next/server/app/scores/page/build-manifest.json +20 -0
  109. package/.next/standalone/.next/server/app/scores/page/next-font-manifest.json +11 -0
  110. package/.next/standalone/.next/server/app/scores/page/react-loadable-manifest.json +1 -0
  111. package/.next/standalone/.next/server/app/scores/page/server-reference-manifest.json +4 -0
  112. package/.next/standalone/.next/server/app/scores/page.js +13 -0
  113. package/.next/standalone/.next/server/app/scores/page.js.map +5 -0
  114. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -0
  115. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +3 -0
  116. package/.next/standalone/.next/server/app/scores.html +1 -0
  117. package/.next/standalone/.next/server/app/scores.meta +26 -0
  118. package/.next/standalone/.next/server/app/scores.rsc +24 -0
  119. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -0
  120. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +4 -0
  121. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +28 -0
  122. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/settings.html +1 -1
  125. package/.next/standalone/.next/server/app/settings.rsc +13 -13
  126. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  127. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +12 -12
  129. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/setup.html +1 -1
  132. package/.next/standalone/.next/server/app/setup.rsc +13 -13
  133. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
  134. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +12 -12
  136. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0i5hdu4._.js → [root-of-the-server]__03ydxxh._.js} +2 -2
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bat8nx._.js +8 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/_02twlca._.js +10 -0
  166. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/_1_fynia._.js +8 -6
  169. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +13 -8
  173. package/.next/standalone/.next/server/chunks/{lib_rpc_02ndsg2.js → lib_rpc_03i8xef.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_rpc_08q5vp6.js → lib_rpc_08fc3rp.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/{lib_rpc_00tx2sm.js → lib_rpc_08r2t_q.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/{lib_rpc_02-qa4d.js → lib_rpc_0btpv1t.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -5
  178. package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +3 -0
  179. package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +3 -0
  180. package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +3 -0
  181. package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +3 -0
  182. package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +3 -0
  183. package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +3 -0
  184. package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +3 -0
  185. package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +3 -0
  186. package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0an6blh._.js → [root-of-the-server]__0zzcbqg._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1194jps._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1z1j3ek._.js → [root-of-the-server]__19ip1qq._.js} +2 -2
  190. package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_0hw_qnj._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/_1cyxocj._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_scores_page_actions_0x-w58n.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +11 -9
  204. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +4 -0
  205. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
  207. package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_1bunoni._.js → node_modules_next_dist_1v8aef8._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
  214. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  215. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  216. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  217. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  218. package/.next/standalone/.next/server/pages/404.html +1 -1
  219. package/.next/standalone/.next/server/pages/500.html +1 -1
  220. package/.next/standalone/.next/server/prefetch-hints.json +14 -0
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  224. package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  225. package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +1 -0
  226. package/.next/standalone/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  227. package/.next/standalone/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  228. package/.next/standalone/.next/static/chunks/135n87ydxjrra.js +2 -0
  229. package/.next/standalone/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  230. package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  232. package/.next/standalone/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  233. package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  234. package/.next/standalone/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  235. package/.next/standalone/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  236. package/.next/standalone/CHANGELOG.md +286 -0
  237. package/.next/standalone/CONTRIBUTING.md +15 -4
  238. package/.next/standalone/README.md +50 -29
  239. package/.next/standalone/SECURITY.md +10 -0
  240. package/.next/standalone/app/api/company-scores/legacy/route.js +1 -1
  241. package/.next/standalone/app/api/company-scores/route.js +1 -1
  242. package/.next/standalone/app/api/ingest/route.js +23 -2
  243. package/.next/standalone/app/api/outreach/route.js +107 -44
  244. package/.next/standalone/app/api/scraper/route.js +146 -17
  245. package/.next/standalone/app/api/settings/sector-preview/route.js +3 -2
  246. package/.next/standalone/app/api/settings/sector-suggestions/route.js +1 -1
  247. package/.next/standalone/app/api/update-images/route.js +41 -7
  248. package/.next/standalone/app/avatars/[file]/route.js +6 -1
  249. package/.next/standalone/app/components/Avatar.js +5 -2
  250. package/.next/standalone/app/components/ChainView.js +659 -469
  251. package/.next/standalone/app/components/CompanyScores.js +16 -10
  252. package/.next/standalone/app/components/EmptyState.js +1 -1
  253. package/.next/standalone/app/components/FieldStep.js +94 -0
  254. package/.next/standalone/app/components/ForceGraph.js +183 -768
  255. package/.next/standalone/app/components/GridView.js +9 -7
  256. package/.next/standalone/app/components/LegacyScoresCard.js +1 -1
  257. package/.next/standalone/app/components/LinkedInLimits.js +22 -7
  258. package/.next/standalone/app/components/ListView.js +6 -4
  259. package/.next/standalone/app/components/MappingProgress.js +5 -6
  260. package/.next/standalone/app/components/OnboardingGate.js +1 -1
  261. package/.next/standalone/app/components/OrbitGraph.js +33 -1
  262. package/.next/standalone/app/components/OutlinkQuest.js +5 -4
  263. package/.next/standalone/app/components/PathsAnalyzer.js +1 -1
  264. package/.next/standalone/app/components/RingsView.js +9 -8
  265. package/.next/standalone/app/components/SeparationView.js +96 -14
  266. package/.next/standalone/app/components/Sidebar.js +366 -287
  267. package/.next/standalone/app/components/TheirCircle.js +300 -0
  268. package/.next/standalone/app/components/settings/SectorPicker.js +202 -0
  269. package/.next/standalone/app/components/settings/SectorSection.js +21 -195
  270. package/.next/standalone/app/components/settings/TierSection.js +99 -0
  271. package/.next/standalone/app/components/useRequests.js +12 -0
  272. package/.next/standalone/app/components/useScanner.js +13 -0
  273. package/.next/standalone/app/components/views.js +3 -5
  274. package/.next/standalone/app/globals.css +7 -0
  275. package/.next/standalone/app/launch/page.js +6 -3
  276. package/.next/standalone/app/page.js +183 -74
  277. package/.next/standalone/app/paths/page.js +20 -14
  278. package/.next/standalone/app/profile/page.js +3 -3
  279. package/.next/standalone/app/queue/page.js +56 -60
  280. package/.next/standalone/app/scores/page.js +72 -0
  281. package/.next/standalone/app/settings/page.js +15 -3
  282. package/.next/standalone/app/setup/page.js +423 -260
  283. package/.next/standalone/db/schema.js +2 -1
  284. package/.next/standalone/eslint.config.mjs +3 -3
  285. package/.next/standalone/install.sh +3 -3
  286. package/.next/standalone/lib/chain-layout.js +139 -0
  287. package/.next/standalone/lib/circle.js +169 -0
  288. package/.next/standalone/lib/companies.js +1 -1
  289. package/.next/standalone/lib/csv.js +21 -10
  290. package/.next/standalone/lib/data-export.js +2 -1
  291. package/.next/standalone/lib/data-folder.js +4 -2
  292. package/.next/standalone/lib/db-client.js +1 -0
  293. package/.next/standalone/lib/galaxy.js +12 -0
  294. package/.next/standalone/lib/ingest.js +27 -8
  295. package/.next/standalone/lib/legacy-offer.js +7 -6
  296. package/.next/standalone/lib/legacy-scores.js +2 -2
  297. package/.next/standalone/lib/linkedin-limits.js +30 -8
  298. package/.next/standalone/lib/photos.js +47 -0
  299. package/.next/standalone/lib/quest.js +8 -3
  300. package/.next/standalone/lib/rarity.js +80 -0
  301. package/.next/standalone/lib/reach.js +113 -0
  302. package/.next/standalone/lib/requests-client.js +113 -0
  303. package/.next/standalone/lib/rpc.js +26 -15
  304. package/.next/standalone/lib/scan-state.js +1 -0
  305. package/.next/standalone/lib/scanner-setup.js +20 -1
  306. package/.next/standalone/lib/score-guess.js +60 -0
  307. package/.next/standalone/lib/scoring.js +1761 -69
  308. package/.next/standalone/lib/scraper-client.js +235 -17
  309. package/.next/standalone/lib/sector-directory.js +1 -1
  310. package/.next/standalone/lib/sector-focus.js +17 -3
  311. package/.next/standalone/lib/separation.js +4 -2
  312. package/.next/standalone/lib/settings-client.js +21 -0
  313. package/.next/standalone/lib/settings-effects.js +19 -1
  314. package/.next/standalone/lib/settings.js +7 -2
  315. package/.next/standalone/next.config.mjs +25 -3
  316. package/.next/standalone/package-lock.json +2 -2
  317. package/.next/standalone/package.json +2 -2
  318. package/.next/standalone/public/demo-data.json +1 -1
  319. package/.next/standalone/scripts/build-app.mjs +11 -2
  320. package/.next/standalone/scripts/check-node.mjs +1 -1
  321. package/.next/standalone/scripts/gen-synthetic.mjs +1 -1
  322. package/.next/standalone/scripts/image_store.py +77 -21
  323. package/.next/standalone/scripts/scrape.py +305 -29
  324. package/.next/standalone/server.js +1 -1
  325. package/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  326. package/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  327. package/.next/static/chunks/0l1568qff0efj.js +1 -0
  328. package/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  329. package/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  330. package/.next/static/chunks/135n87ydxjrra.js +2 -0
  331. package/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  332. package/.next/static/chunks/28bu26ausqzmn.js +1 -0
  333. package/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  334. package/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  335. package/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  336. package/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  337. package/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  338. package/CHANGELOG.md +286 -0
  339. package/README.md +50 -29
  340. package/SECURITY.md +10 -0
  341. package/db/schema.js +2 -1
  342. package/lib/chain-layout.js +139 -0
  343. package/lib/circle.js +169 -0
  344. package/lib/companies.js +1 -1
  345. package/lib/csv.js +21 -10
  346. package/lib/data-export.js +2 -1
  347. package/lib/data-folder.js +4 -2
  348. package/lib/db-client.js +1 -0
  349. package/lib/galaxy.js +12 -0
  350. package/lib/ingest.js +27 -8
  351. package/lib/legacy-offer.js +7 -6
  352. package/lib/legacy-scores.js +2 -2
  353. package/lib/linkedin-limits.js +30 -8
  354. package/lib/photos.js +47 -0
  355. package/lib/quest.js +8 -3
  356. package/lib/rarity.js +80 -0
  357. package/lib/reach.js +113 -0
  358. package/lib/requests-client.js +113 -0
  359. package/lib/rpc.js +26 -15
  360. package/lib/scan-state.js +1 -0
  361. package/lib/scanner-setup.js +20 -1
  362. package/lib/score-guess.js +60 -0
  363. package/lib/scoring.js +1761 -69
  364. package/lib/scraper-client.js +235 -17
  365. package/lib/sector-directory.js +1 -1
  366. package/lib/sector-focus.js +17 -3
  367. package/lib/separation.js +4 -2
  368. package/lib/settings-client.js +21 -0
  369. package/lib/settings-effects.js +19 -1
  370. package/lib/settings.js +7 -2
  371. package/package.json +2 -2
  372. package/public/demo-data.json +1 -1
  373. package/scripts/check-node.mjs +1 -1
  374. package/scripts/image_store.py +77 -21
  375. package/scripts/scrape.py +305 -29
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +0 -3
  378. package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +0 -3
  379. package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +0 -3
  380. package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +0 -3
  381. package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +0 -3
  382. package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +0 -3
  383. package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +0 -3
  384. package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +0 -3
  385. package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +0 -3
  386. package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +0 -3
  387. package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +0 -3
  388. package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/ssr/_0942v8n._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/ssr/_0hl_t7r._.js +0 -3
  391. package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +0 -132
  392. package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/ssr/node_modules_16vay6l._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/node_modules_1kciwn4._.js +0 -3
  397. package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  398. package/.next/standalone/.next/static/chunks/08k1crid-05dt.js +0 -1
  399. package/.next/standalone/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  400. package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +0 -2
  401. package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +0 -1
  402. package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +0 -44
  403. package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  404. package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +0 -1
  405. package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  406. package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +0 -1
  407. package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  408. package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  409. package/.next/standalone/app/components/BridgeRing.js +0 -753
  410. package/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  411. package/.next/static/chunks/08k1crid-05dt.js +0 -1
  412. package/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  413. package/.next/static/chunks/0q-_khndfxubv.js +0 -2
  414. package/.next/static/chunks/1c79veqedvubt.js +0 -1
  415. package/.next/static/chunks/1chp3nx45meg5.js +0 -44
  416. package/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  417. package/.next/static/chunks/1uadqylrod5_v.js +0 -1
  418. package/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  419. package/.next/static/chunks/289ktj97di6zg.js +0 -1
  420. package/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  421. package/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  422. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  423. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  424. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
  425. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  426. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  427. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
@@ -1,4 +1,12 @@
1
- module.exports=[30100,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(37732),e=a.i(23310);a.i(75930);var f=a.i(71731),g=a.i(9782),h=a.i(14962),i=a.i(29873),i=i,j=a.i(89004),j=j,k=a.i(53877),l=a.i(72243),m=a.i(11366),n=a.i(74365),o=a.i(7656);function p(a,b,c){var d,e,f,g=(0,o.default)(.1);function h(a){for(var g=0,h=d.length;g<h;++g){var i=d[g],j=i.x-b||1e-6,k=i.y-c||1e-6,l=Math.sqrt(j*j+k*k),m=(f[g]-l)*e[g]*a/l;i.vx+=j*m,i.vy+=k*m}}function i(){if(d){var b,c=d.length;for(e=Array(c),f=Array(c),b=0;b<c;++b)f[b]=+a(d[b],b,d),e[b]=isNaN(f[b])?0:+g(d[b],b,d)}}return"function"!=typeof a&&(a=(0,o.default)(+a)),null==b&&(b=0),null==c&&(c=0),h.initialize=function(a){d=a,i()},h.strength=function(a){return arguments.length?(g="function"==typeof a?a:(0,o.default)(+a),i(),h):g},h.radius=function(b){return arguments.length?(a="function"==typeof b?b:(0,o.default)(+b),i(),h):a},h.x=function(a){return arguments.length?(b=+a,h):b},h.y=function(a){return arguments.length?(c=+a,h):c},h}function q(a){return function(){return a}}let r=Math.abs,s=Math.atan2,t=Math.cos,u=Math.max,v=Math.min,w=Math.sin,x=Math.sqrt,y=Math.PI,z=y/2,A=2*y;function B(a){return a>=1?z:a<=-1?-z:Math.asin(a)}let C=Math.PI,D=2*C,E=D-1e-6;function F(a){this._+=a[0];for(let b=1,c=a.length;b<c;++b)this._+=arguments[b]+a[b]}class G{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==a?F:function(a){let b=Math.floor(a);if(!(b>=0))throw Error(`invalid digits: ${a}`);if(b>15)return F;let c=10**b;return function(a){this._+=a[0];for(let b=1,d=a.length;b<d;++b)this._+=Math.round(arguments[b]*c)/c+a[b]}}(a)}moveTo(a,b){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,b){this._append`L${this._x1=+a},${this._y1=+b}`}quadraticCurveTo(a,b,c,d){this._append`Q${+a},${+b},${this._x1=+c},${this._y1=+d}`}bezierCurveTo(a,b,c,d,e,f){this._append`C${+a},${+b},${+c},${+d},${this._x1=+e},${this._y1=+f}`}arcTo(a,b,c,d,e){if(a*=1,b*=1,c*=1,d*=1,(e*=1)<0)throw Error(`negative radius: ${e}`);let f=this._x1,g=this._y1,h=c-a,i=d-b,j=f-a,k=g-b,l=j*j+k*k;if(null===this._x1)this._append`M${this._x1=a},${this._y1=b}`;else if(l>1e-6)if(Math.abs(k*h-i*j)>1e-6&&e){let m=c-f,n=d-g,o=h*h+i*i,p=Math.sqrt(o),q=Math.sqrt(l),r=e*Math.tan((C-Math.acos((o+l-(m*m+n*n))/(2*p*q)))/2),s=r/q,t=r/p;Math.abs(s-1)>1e-6&&this._append`L${a+s*j},${b+s*k}`,this._append`A${e},${e},0,0,${+(k*m>j*n)},${this._x1=a+t*h},${this._y1=b+t*i}`}else this._append`L${this._x1=a},${this._y1=b}`}arc(a,b,c,d,e,f){if(a*=1,b*=1,c*=1,f=!!f,c<0)throw Error(`negative radius: ${c}`);let g=c*Math.cos(d),h=c*Math.sin(d),i=a+g,j=b+h,k=1^f,l=f?d-e:e-d;null===this._x1?this._append`M${i},${j}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-j)>1e-6)&&this._append`L${i},${j}`,c&&(l<0&&(l=l%D+D),l>E?this._append`A${c},${c},0,1,${k},${a-g},${b-h}A${c},${c},0,1,${k},${this._x1=i},${this._y1=j}`:l>1e-6&&this._append`A${c},${c},0,${+(l>=C)},${k},${this._x1=a+c*Math.cos(e)},${this._y1=b+c*Math.sin(e)}`)}rect(a,b,c,d){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+b}h${c*=1}v${+d}h${-c}Z`}toString(){return this._}}function H(a){let b=3;return a.digits=function(c){if(!arguments.length)return b;if(null==c)b=null;else{let a=Math.floor(c);if(!(a>=0))throw RangeError(`invalid digits: ${c}`);b=a}return a},()=>new G(b)}function I(a){return a.innerRadius}function J(a){return a.outerRadius}function K(a){return a.startAngle}function L(a){return a.endAngle}function M(a){return a&&a.padAngle}function N(a,b,c,d,e,f,g){var h=a-c,i=b-d,j=(g?f:-f)/x(h*h+i*i),k=j*i,l=-j*h,m=a+k,n=b+l,o=c+k,p=d+l,q=(m+o)/2,r=(n+p)/2,s=o-m,t=p-n,v=s*s+t*t,w=e-f,y=m*p-o*n,z=(t<0?-1:1)*x(u(0,w*w*v-y*y)),A=(y*t-s*z)/v,B=(-y*s-t*z)/v,C=(y*t+s*z)/v,D=(-y*s+t*z)/v,E=A-q,F=B-r,G=C-q,H=D-r;return E*E+F*F>G*G+H*H&&(A=C,B=D),{cx:A,cy:B,x01:-k,y01:-l,x11:A*(e/w-1),y11:B*(e/w-1)}}function O(a){this._context=a}function P(a){return new O(a)}function Q(a){return a[0]}function R(a){return a[1]}function S(){}function T(a,b,c){a._context.bezierCurveTo(a._x1+a._k*(a._x2-a._x0),a._y1+a._k*(a._y2-a._y0),a._x2+a._k*(a._x1-b),a._y2+a._k*(a._y1-c),a._x2,a._y2)}function U(a,b){this._context=a,this._k=(1-b)/6}function V(a,b){this._context=a,this._k=(1-b)/6}G.prototype,Array.prototype.slice,O.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(a,b){switch(a*=1,b*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(a,b):this._context.moveTo(a,b);break;case 1:this._point=2;default:this._context.lineTo(a,b)}}},U.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:T(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(a,b){switch(a*=1,b*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(a,b):this._context.moveTo(a,b);break;case 1:this._point=2,this._x1=a,this._y1=b;break;case 2:this._point=3;default:T(this,a,b)}this._x0=this._x1,this._x1=this._x2,this._x2=a,this._y0=this._y1,this._y1=this._y2,this._y2=b}},function a(b){function c(a){return new U(a,b)}return c.tension=function(b){return a(+b)},c}(0),V.prototype={areaStart:S,areaEnd:S,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(a,b){switch(a*=1,b*=1,this._point){case 0:this._point=1,this._x3=a,this._y3=b;break;case 1:this._point=2,this._context.moveTo(this._x4=a,this._y4=b);break;case 2:this._point=3,this._x5=a,this._y5=b;break;default:T(this,a,b)}this._x0=this._x1,this._x1=this._x2,this._x2=a,this._y0=this._y1,this._y1=this._y2,this._y2=b}};let W=function a(b){function c(a){return new V(a,b)}return c.tension=function(b){return a(+b)},c}(0);var X=a.i(55379),Y=a.i(92544),Z=a.i(41063),$=a.i(20869);let _=a=>()=>a;function aa(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function ab(a){return!a.ctrlKey&&!a.button}function ac(){return this.parentNode}function ad(a,b){return null==b?{x:a.x,y:a.y}:b}function ae(){return navigator.maxTouchPoints||"ontouchstart"in this}function af(){var a,b,c,d,e=ab,g=ac,h=ad,i=ae,j={},k=(0,X.dispatch)("start","drag","end"),l=0,m=0;function n(a){a.on("mousedown.drag",o).filter(i).on("touchstart.drag",r).on("touchmove.drag",s,$.nonpassive).on("touchend.drag touchcancel.drag",t).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function o(h,i){if(!d&&e.call(this,h,i)){var j=u(this,g.call(this,h,i),h,i,"mouse");j&&((0,f.select)(h.view).on("mousemove.drag",p,$.nonpassivecapture).on("mouseup.drag",q,$.nonpassivecapture),(0,Z.default)(h.view),(0,$.nopropagation)(h),c=!1,a=h.clientX,b=h.clientY,j("start",h))}}function p(d){if((0,$.default)(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>m}j.mouse("drag",d)}function q(a){(0,f.select)(a.view).on("mousemove.drag mouseup.drag",null),(0,Z.yesdrag)(a.view,c),(0,$.default)(a),j.mouse("end",a)}function r(a,b){if(e.call(this,a,b)){var c,d,f=a.changedTouches,h=g.call(this,a,b),i=f.length;for(c=0;c<i;++c)(d=u(this,h,a,b,f[c].identifier,f[c]))&&((0,$.nopropagation)(a),d("start",a,f[c]))}}function s(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=j[d[b].identifier])&&((0,$.default)(a),c("drag",a,d[b]))}function t(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=j[e[b].identifier])&&((0,$.nopropagation)(a),c("end",a,e[b]))}function u(a,b,c,d,e,f){var g,i,m,o=k.copy(),p=(0,Y.pointer)(f||c,b);if(null!=(m=h.call(a,new aa("beforestart",{sourceEvent:c,target:n,identifier:e,active:l,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return g=m.x-p[0]||0,i=m.y-p[1]||0,function c(f,h,k){var q,r=p;switch(f){case"start":j[e]=c,q=l++;break;case"end":delete j[e],--l;case"drag":p=(0,Y.pointer)(k||h,b),q=l}o.call(f,a,new aa(f,{sourceEvent:h,subject:m,target:n,identifier:e,active:q,x:p[0]+g,y:p[1]+i,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return n.filter=function(a){return arguments.length?(e="function"==typeof a?a:_(!!a),n):e},n.container=function(a){return arguments.length?(g="function"==typeof a?a:_(a),n):g},n.subject=function(a){return arguments.length?(h="function"==typeof a?a:_(a),n):h},n.touchable=function(a){return arguments.length?(i="function"==typeof a?a:_(!!a),n):i},n.on=function(){var a=k.on.apply(k,arguments);return a===k?n:a},n.clickDistance=function(a){return arguments.length?(m=(a*=1)*a,n):Math.sqrt(m)},n}function ag(a){return String(a??"").replace(/[&<>"']/g,a=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[a])}aa.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a};let ah="__center__";function ai(a,b,c,d){let e;a.selectAll("*").remove();let f=(e=String(b.profile_image_url??""),/^\/avatars\/[A-Za-z0-9_-]+\.(webp|png|jpe?g)$/.test(e)||/^https:\/\/[^"'\s<>]+$/.test(e)?e:null);f?a.append("img").attr("src",f).style("width",c+"px").style("height",c+"px").style("border-radius","50%").style("object-fit","cover").style("border",`2px solid ${d}`).style("display","block").on("error",function(){this.parentElement.style.display="none"}):a.style("opacity",0)}function aj(){return f.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")}function ak(a,b,c){a.call(af().on("start",(a,c)=>{a.active||b.alphaTarget(.3).restart(),c.fx=c.x,c.fy=c.y}).on("drag",(a,b)=>{b.fx=a.x,b.fy=a.y}).on("end",(a,d)=>{a.active||b.alphaTarget(0),d.id!==c&&"bridge"!==d.nodeType&&(d.fx=null,d.fy=null)}))}var i=i,j=j,al=j,am=a.i(76939);function an(a){return String(a??"").replace(/[&<>"']/g,a=>"&"===a?"&amp;":"<"===a?"&lt;":">"===a?"&gt;":'"'===a?"&quot;":"&#39;")}let ao=(0,c.forwardRef)(function({connections:a=[],degree2:d=[],onSelect:e,userName:g="You",userImage:h=null,selectedId:o=null,mode:q="network"},r){let s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=(0,c.useRef)(null),v=(0,c.useRef)(e),w=(0,c.useRef)(o),x=(0,c.useRef)(1),y=(0,c.useRef)(null),z=(0,c.useRef)(()=>{}),A=(0,c.useRef)(()=>{}),[B,C]=(0,c.useState)({w:0,h:0}),D=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),E=(0,c.useMemo)(()=>`${a.length}:${d.length}:${a.map(a=>a.id).join(",")}|${d.map(a=>a.id).join(",")}`,[a,d]),F=(0,c.useRef)({connections:a,degree2:d});return(0,c.useImperativeHandle)(r,()=>({focusNode:a=>A.current(a)}),[]),(0,c.useEffect)(()=>{v.current=e},[e]),(0,c.useEffect)(()=>{F.current={connections:a,degree2:d}},[a,d]),(0,c.useEffect)(()=>{let a=s.current;if(!a)return;let b=()=>{let b=a.getBoundingClientRect();C(a=>{let c=Math.round(b.width),d=Math.round(b.height);return a.w===c&&a.h===d?a:{w:c,h:d}})};b();let c=new ResizeObserver(b);return c.observe(a),window.addEventListener("resize",b),()=>{c.disconnect(),window.removeEventListener("resize",b)}},[]),(0,c.useEffect)(()=>{w.current=o,z.current(o)},[o]),(0,c.useEffect)(()=>{let a=t.current;if(!a||B.w<40||B.h<40)return;let b=B.w,c=B.h,{connections:d,degree2:e}=F.current,o="degrees"===q,r=new Set(e.map(a=>a.source_connection_id).filter(Boolean)),C=o?d.filter(a=>r.has(a.id)):d,E=new Map(C.map(a=>[a.id,a])),G=e.filter(a=>a.source_connection_id&&E.has(a.source_connection_id)),H=new Set(C.map(a=>a.tier).filter(Boolean)),I=new Set(e.map(a=>a.source_connection_id).filter(Boolean)),J=new Set(I.size?C.filter(a=>I.has(a.id)).map(a=>a.id):[...C].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,14).map(a=>a.id)),K={id:"__user__",kind:"user",tier:null,r:26,targetRadius:0,connection:null,x:0,y:0,fx:0,fy:0},L={S:0,A:0,B:0,C:0,D:0},M=[],N=new Map,O=new Map;for(let a of C){let b=a.tier||"D",c=(L[b]=(L[b]||0)+1,(L[b]-1)*2.399963),d=am.TIER_RING_RADIUS[b]||am.TIER_RING_RADIUS.D,e=J.has(a.id),f={id:a.id,kind:"d1",hub:e,tier:b,r:e?7+1.1*Number(a.power_score||0):4.5,targetRadius:d,connection:a,x:Math.cos(c)*d,y:Math.sin(c)*d};M.push(f),N.set(a.id,f),O.set(a.id,c)}let P=new Map;for(let a of G){let b=a.source_connection_id,c=P.get(b);c?c.push(a):P.set(b,[a])}let Q=[],R=[],S=am.TIER_RING_RADIUS.B+70;if(o){let a=[...M].sort((a,b)=>(P.get(b.id)?.length||0)-(P.get(a.id)?.length||0)),b=Math.max(140,9*Math.max(1,a.length)),c=a=>Math.sqrt((P.get(a.id)?.length||0)+4),d=a.reduce((a,b)=>a+c(b),0)||1,e=-Math.PI/2;a.forEach(a=>{let f=c(a)/d*Math.PI*2,g=e+f/2;e+=f;let h=Math.min(.88*f,1.6);a.x=a.fx=Math.cos(g)*b,a.y=a.fy=Math.sin(g)*b,a.hub=!0,a.r=9+Math.min(10,(P.get(a.id)?.length||0)/40);let i=[...P.get(a.id)||[]].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)),j=0,k=b+a.r+16;for(;j<i.length;){let a=Math.max(1,Math.floor(k*h/9)),b=i.slice(j,j+a);b.forEach((a,c)=>{let d=g+(1===b.length?0:(c/(b.length-1)-.5)*h),e={id:a.id,kind:"d2",tier:a.tier||"D",r:1.8+.32*Math.min(10,Number(a.power_score)||0),connection:a,x:Math.cos(d)*k,y:Math.sin(d)*k};e.fx=e.x,e.fy=e.y,Q.push(e)}),j+=b.length,k+=9}S=Math.max(S,k+10)})}for(let[a,b]of o?[]:P){let c=N.get(a);if(!c)continue;let d=O.get(a)??0,e=c.targetRadius,f=Math.min(.15,1.5/Math.max(1,b.length));b.forEach((a,g)=>{let h=d+(g-(b.length-1)/2)*f,i=e+46+g%3*13,j={id:a.id,kind:"d2",tier:a.tier||"D",r:3.5,targetRadius:e+60,connection:a,x:Math.cos(h)*i,y:Math.sin(h)*i};Q.push(j),R.push({source:j,target:c})})}let T=[K,...M,...Q],U=[...Q,...M,K],V=(0,f.select)(a);V.selectAll("*").remove();let W=V.append("defs"),X=W.append("radialGradient").attr("id","og-user-grad");X.append("stop").attr("offset","0%").attr("stop-color","#f8fafc"),X.append("stop").attr("offset","55%").attr("stop-color","#c7d2fe"),X.append("stop").attr("offset","100%").attr("stop-color","#818cf8"),W.append("filter").attr("id","og-blur").attr("x","-75%").attr("y","-75%").attr("width","250%").attr("height","250%").append("feGaussianBlur").attr("stdDeviation",6);let Y=V.append("g").attr("class","viewport"),Z=Y.append("g"),$=Y.append("g"),_=Y.append("g"),aa=Y.append("g"),ab=M.filter(a=>a.hub),ac=$.selectAll("line").data(ab,a=>a.id).join("line").attr("stroke",a=>am.TIER_COLORS[a.tier]||am.TIER_COLORS.D).attr("stroke-opacity",.09).attr("stroke-width",.5);if(o&&M.length){let a=Math.hypot(M[0].x,M[0].y);Z.append("circle").attr("r",a).attr("fill","none").attr("stroke","#FF6B35").attr("stroke-opacity",.18).attr("stroke-width",1).attr("stroke-dasharray","3 7")}for(let a of o?[]:am.TIER_ORDER)H.has(a)&&Z.append("circle").attr("r",am.TIER_RING_RADIUS[a]).attr("fill","none").attr("stroke",am.TIER_COLORS[a]).attr("stroke-opacity",.14).attr("stroke-width",1).attr("stroke-dasharray","3 7");let ad=_.selectAll("line").data(R).join("line").attr("stroke","rgba(255,255,255,0.08)").attr("stroke-width",1),ae=aa.selectAll("g").data(U,a=>a.id).join("g").attr("cursor","pointer");ae.each(function(a){let b=(0,f.select)(this);if("d2"===a.kind){b.attr("opacity",o?.85:.55),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",am.TIER_COLORS[a.tier]||am.TIER_COLORS.D);return}let c="user"===a.kind,d=a.connection,e=c?"#818cf8":am.TIER_COLORS[a.tier]||am.TIER_COLORS.D;if(!c&&!a.hub){b.attr("opacity",.75),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",e);return}(c||"S"===a.tier||"A"===a.tier)&&b.append("circle").attr("r",1.8*a.r).attr("fill",e).attr("opacity",.25).attr("filter","url(#og-blur)"),d&&d.is_catalyst&&(b.append("circle").attr("r",a.r+3).attr("fill","none").attr("stroke",am.TIER_COLORS.S).attr("stroke-width",1).attr("stroke-opacity",.9),b.append("text").text("⚡").attr("x",.85*a.r).attr("y",-(.7*a.r)).attr("font-size",9).attr("text-anchor","middle").style("pointer-events","none")),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",c?"url(#og-user-grad)":e);let i=c?g:d?.name??"";b.append("text").attr("class","og-initials").text((0,am.initialsFor)(i)).attr("text-anchor","middle").attr("dy","0.35em").attr("font-size",.8*a.r).attr("font-weight",700).attr("fill","#0b0b16").style("pointer-events","none");let j=c?h:d?.profile_image_url??null;if(j){let c=`og-clip-${String(a.id).replace(/[^a-zA-Z0-9_-]/g,"_")}`;W.append("clipPath").attr("id",c).append("circle").attr("r",a.r),b.append("image").attr("href",j).attr("x",-a.r).attr("y",-a.r).attr("width",2*a.r).attr("height",2*a.r).attr("clip-path",`url(#${c})`).attr("preserveAspectRatio","xMidYMid slice").on("error",function(){(0,f.select)(this).remove()})}b.append("circle").attr("class","og-sel").attr("r",a.r+5).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.5).style("opacity",0),c?b.append("text").text(g).attr("y",a.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"):b.append("text").attr("class","og-label").text(d?.name??"").attr("y",a.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 ag=ae.select("text.og-label"),ah=null,ai=()=>{ag.style("opacity",a=>+(!0===a.hub||x.current>1.1||a.id===ah||a.id===w.current))};ae.on("click",(a,b)=>{a.defaultPrevented||(a.stopPropagation(),v.current?.(b.connection))}),V.on("click",()=>v.current?.(null));let aj=u.current,ak=a=>{let b=s.current;if(!aj||!b)return;let c=b.getBoundingClientRect();aj.style.left=`${Math.min(a.clientX-c.left+14,c.width-190)}px`,aj.style.top=`${Math.max(a.clientY-c.top-8,8)}px`};D||ae.on("mouseenter",(a,b)=>{ah=b.id,ai(),((a,b)=>{if(!aj||!b.connection)return;let c=b.connection,d=[c.role||c.headline,c.company].filter(Boolean).map(String);aj.innerHTML=`<div style="font-weight:600;color:#f1f5f9">${an(c.name)}</div>`+(d.length?`<div style="color:#94a3b8;margin-top:1px">${an(d.join(" · "))}</div>`:"")+`<div style="margin-top:3px;color:${am.TIER_COLORS[c.tier]||am.TIER_COLORS.D}">`+`${an(c.tier||"?")} \xb7 power ${Number(c.power_score||0).toFixed(1)}`+`${c.is_catalyst?" · ⚡ catalyst":""}</div>`,aj.style.opacity="1",ak(a)})(a,b)}).on("mousemove",a=>ak(a)).on("mouseleave",()=>{ah=null,ai(),aj&&(aj.style.opacity="0")});let ao=()=>{ad.attr("x1",a=>a.source.x??0).attr("y1",a=>a.source.y??0).attr("x2",a=>a.target.x??0).attr("y2",a=>a.target.y??0),ac.attr("x1",0).attr("y1",0).attr("x2",a=>a.x??0).attr("y2",a=>a.y??0),ae.attr("transform",a=>`translate(${a.x??0},${a.y??0})`)},ap=null;if(D||o)ao();else{let a=(0,k.forceSimulation)(T).force("radial",p(a=>a.targetRadius,0,0).strength(a=>.9*("d1"===a.kind))).force("collide",(0,n.forceCollide)(a=>a.r+2.5)).force("charge",(0,m.forceManyBody)().strength(-18)).on("tick",ao);R.length>0&&a.force("link",(0,l.forceLink)(R).distance(26).strength(.7)),ap=a,ao();let b=af().on("start",(b,c)=>{b.active||a.alphaTarget(.3).restart(),c.fx=c.x,c.fy=c.y}).on("drag",(a,b)=>{b.fx=a.x,b.fy=a.y}).on("end",(b,c)=>{b.active||a.alphaTarget(0),(c.connection?.circle_power===null||c.connection?.circle_power===void 0)&&(c.fx=null,c.fy=null)});ae.filter(a=>"d1"===a.kind).call(b),ae.on("dblclick",(b,c)=>{"d1"===c.kind&&(b.stopPropagation(),c.fx=null,c.fy=null,a.alphaTarget(.2).restart(),window.setTimeout(()=>a.alphaTarget(0),400))})}let aq=(0,i.default)().scaleExtent([.15,3]).on("zoom",a=>{Y.attr("transform",a.transform.toString()),a.sourceEvent&&(y.current=a.transform),a.transform.k!==x.current&&(x.current=a.transform.k,ai())});V.call(aq).on("dblclick.zoom",null);let ar=Math.max(.15,Math.min(3,Math.min(b,c)/(2*S))),as=y.current??j.identity.translate(b/2,c/2).scale(ar);V.call(aq.transform,as),z.current=a=>{aa.selectAll("circle.og-sel-temp").remove(),ae.select("circle.og-sel").style("opacity",b=>+(b.id===a)),ae.select("circle.og-base").attr("r",b=>b.id===a&&"user"!==b.kind?b.r+1.5:b.r),a&&ae.filter(b=>b.id===a&&!b.hub&&"user"!==b.kind).append("circle").attr("class","og-sel-temp").attr("r",a=>a.r+3).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.2),ai()},z.current(w.current);let at=new Map(U.map(a=>[a.id,a]));return A.current=d=>{let e=at.get(d);if(!e)return;let f=e.x??0,g=e.y??0,h=(0,al.default)(a),i=j.identity.translate(b/2,c/2).scale(2.5).translate(-f,-g),k=performance.now(),l=a=>{let b=Math.min(1,(a-k)/650),c=1-Math.pow(1-b,3);aq.transform(V,j.identity.translate(h.x+(i.x-h.x)*c,h.y+(i.y-h.y)*c).scale(h.k+(i.k-h.k)*c)),b<1&&requestAnimationFrame(l)};requestAnimationFrame(l),window.setTimeout(()=>aq.transform(V,i),730),v.current?.(e.connection),w.current=d,z.current(d);let m=aa.append("circle").attr("cx",f).attr("cy",g).attr("r",e.r+2).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",2).attr("opacity",.9),n=performance.now(),o=a=>{let b=Math.min(1,(a-n)/700);m.attr("r",e.r+2+26*b).attr("opacity",.9*(1-b)),b<1?requestAnimationFrame(o):m.remove()};requestAnimationFrame(o),window.setTimeout(()=>m.remove(),800)},()=>{ap?.stop(),z.current=()=>{},A.current=()=>{},V.on(".zoom",null),V.on("click",null),V.selectAll("*").remove()}},[E,g,h,D,B,q]),(0,b.jsxs)("div",{ref:s,style:{position:"relative",flex:1,minHeight:0,width:"100%"},children:[(0,b.jsx)("svg",{ref:t,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,b.jsx)("div",{ref:u,"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}})]})}),ap={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aq={1:"#FFD700",2:"#FF6B35",3:"#3498DB",4:"#9B59B6",5:"#00ff88",6:"#ff5050"},ar=-Math.PI/2;function as(a){let b=a%(2*Math.PI);return b>Math.PI&&(b-=2*Math.PI),b<-Math.PI&&(b+=2*Math.PI),b}function at(a){let b=String(a||"");if(b.length<=16)return b;let c=b.trim().split(/\s+/).filter(Boolean);return c.length<2?`${b.slice(0,15)}…`:`${c[0]} ${c[c.length-1].charAt(0)}.`}let au={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},av=["S","A","B","C","D"],aw={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ax={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ay=["S","A","B","C","D"],az={S:0,A:1,B:2,C:3,D:4},aA=["S","A","B","C","D"];function aB(a){let b=parseFloat(a?.power_score);return Number.isFinite(b)?b:0}function aC(a){return Math.round(10*aB(a))/10}function aD(a){return String(a?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${a?.id}`}let aE=(a,b)=>String(a??"").localeCompare(String(b??""),void 0,{numeric:!0});function aF(a,b){return(az[a.tier]??9)-(az[b.tier]??9)||aB(b)-aB(a)||String(a.name||"").localeCompare(String(b.name||""))||aE(a.id,b.id)}function aG(a,b){return a.bridge&&b.bridge?aF(a.bridge,b.bridge):a.bridge?-1:b.bridge?1:aE(a.id,b.id)}function aH(a,b){return b.score-a.score||b.waysIn-a.waysIn||aG(a.routes[0]||aI,b.routes[0]||aI)||String(a.person.name||"").localeCompare(String(b.person.name||""))||(a.key<b.key?-1:+(a.key>b.key))}let aI={id:null,bridge:null};function aJ(a,b){return b.waysIn-a.waysIn||aH(a,b)}function aK(a){let b=String(a||"").trim().split(/\s+/).filter(Boolean);return b.length<2?b[0]||"":`${b[0]} ${b[b.length-1].charAt(0)}.`}function aL(a,b){let c=String(a||"");return b<=1?c?"…":"":c.length>b?`${c.slice(0,b-1)}…`:c}let aM={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function aN({person:a,size:c=32,tierColors:d=aM}){let e=d[a?.tier]||"#666";return(0,b.jsxs)("span",{style:{position:"relative",display:"inline-block",width:c,height:c,flexShrink:0,borderRadius:"50%",boxShadow:`0 0 0 ${c>=24?2:1}px ${e}`},children:[(0,b.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:`${e}2e`,color:e,fontWeight:800,fontSize:Math.max(7,Math.round(.36*c)),lineHeight:1},children:(0,am.initialsFor)(a?.name)}),a?.profile_image_url&&(0,b.jsx)("img",{src:a.profile_image_url,alt:"",loading:"lazy",decoding:"async",onError:a=>{a.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:c,height:c,borderRadius:"50%",objectFit:"cover"}})]})}let aO="#FF6B35",aP={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aQ="a connection we can’t name",aR=a=>Number(a||0).toLocaleString("en-US"),aS=(a,b,c)=>`${aR(a)} ${1===a?b:c}`;function aT(a){return a.role&&a.company?`${a.role} @ ${a.company}`:a.headline||a.role||a.company||""}let aU=`
1
+ module.exports=[30100,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(37732),f=a.i(61782),g=a.i(76892),h=a.i(24475),i=a.i(23310);a.i(75930);var j=a.i(71731),k=a.i(9782),l=a.i(14962),m=a.i(13956),m=m,n=a.i(29873),n=n,o=a.i(89004),o=o,p=o,q=a.i(53877),r=a.i(72243),s=a.i(11366),t=a.i(74365),u=a.i(7656);function v(a,b,c){var d,e,f,g=(0,u.default)(.1);function h(a){for(var g=0,h=d.length;g<h;++g){var i=d[g],j=i.x-b||1e-6,k=i.y-c||1e-6,l=Math.sqrt(j*j+k*k),m=(f[g]-l)*e[g]*a/l;i.vx+=j*m,i.vy+=k*m}}function i(){if(d){var b,c=d.length;for(e=Array(c),f=Array(c),b=0;b<c;++b)f[b]=+a(d[b],b,d),e[b]=isNaN(f[b])?0:+g(d[b],b,d)}}return"function"!=typeof a&&(a=(0,u.default)(+a)),null==b&&(b=0),null==c&&(c=0),h.initialize=function(a){d=a,i()},h.strength=function(a){return arguments.length?(g="function"==typeof a?a:(0,u.default)(+a),i(),h):g},h.radius=function(b){return arguments.length?(a="function"==typeof b?b:(0,u.default)(+b),i(),h):a},h.x=function(a){return arguments.length?(b=+a,h):b},h.y=function(a){return arguments.length?(c=+a,h):c},h}var w=a.i(55379),x=a.i(92544),y=a.i(41063),z=a.i(20869);let A=a=>()=>a;function B(a,{sourceEvent:b,subject:c,target:d,identifier:e,active:f,x:g,y:h,dx:i,dy:j,dispatch:k}){Object.defineProperties(this,{type:{value:a,enumerable:!0,configurable:!0},sourceEvent:{value:b,enumerable:!0,configurable:!0},subject:{value:c,enumerable:!0,configurable:!0},target:{value:d,enumerable:!0,configurable:!0},identifier:{value:e,enumerable:!0,configurable:!0},active:{value:f,enumerable:!0,configurable:!0},x:{value:g,enumerable:!0,configurable:!0},y:{value:h,enumerable:!0,configurable:!0},dx:{value:i,enumerable:!0,configurable:!0},dy:{value:j,enumerable:!0,configurable:!0},_:{value:k}})}function C(a){return!a.ctrlKey&&!a.button}function D(){return this.parentNode}function E(a,b){return null==b?{x:a.x,y:a.y}:b}function F(){return navigator.maxTouchPoints||"ontouchstart"in this}function G(){var a,b,c,d,e=C,f=D,g=E,h=F,i={},k=(0,w.dispatch)("start","drag","end"),l=0,m=0;function n(a){a.on("mousedown.drag",o).filter(h).on("touchstart.drag",r).on("touchmove.drag",s,z.nonpassive).on("touchend.drag touchcancel.drag",t).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function o(g,h){if(!d&&e.call(this,g,h)){var i=u(this,f.call(this,g,h),g,h,"mouse");i&&((0,j.select)(g.view).on("mousemove.drag",p,z.nonpassivecapture).on("mouseup.drag",q,z.nonpassivecapture),(0,y.default)(g.view),(0,z.nopropagation)(g),c=!1,a=g.clientX,b=g.clientY,i("start",g))}}function p(d){if((0,z.default)(d),!c){var e=d.clientX-a,f=d.clientY-b;c=e*e+f*f>m}i.mouse("drag",d)}function q(a){(0,j.select)(a.view).on("mousemove.drag mouseup.drag",null),(0,y.yesdrag)(a.view,c),(0,z.default)(a),i.mouse("end",a)}function r(a,b){if(e.call(this,a,b)){var c,d,g=a.changedTouches,h=f.call(this,a,b),i=g.length;for(c=0;c<i;++c)(d=u(this,h,a,b,g[c].identifier,g[c]))&&((0,z.nopropagation)(a),d("start",a,g[c]))}}function s(a){var b,c,d=a.changedTouches,e=d.length;for(b=0;b<e;++b)(c=i[d[b].identifier])&&((0,z.default)(a),c("drag",a,d[b]))}function t(a){var b,c,e=a.changedTouches,f=e.length;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<f;++b)(c=i[e[b].identifier])&&((0,z.nopropagation)(a),c("end",a,e[b]))}function u(a,b,c,d,e,f){var h,j,m,o=k.copy(),p=(0,x.pointer)(f||c,b);if(null!=(m=g.call(a,new B("beforestart",{sourceEvent:c,target:n,identifier:e,active:l,x:p[0],y:p[1],dx:0,dy:0,dispatch:o}),d)))return h=m.x-p[0]||0,j=m.y-p[1]||0,function c(f,g,k){var q,r=p;switch(f){case"start":i[e]=c,q=l++;break;case"end":delete i[e],--l;case"drag":p=(0,x.pointer)(k||g,b),q=l}o.call(f,a,new B(f,{sourceEvent:g,subject:m,target:n,identifier:e,active:q,x:p[0]+h,y:p[1]+j,dx:p[0]-r[0],dy:p[1]-r[1],dispatch:o}),d)}}return n.filter=function(a){return arguments.length?(e="function"==typeof a?a:A(!!a),n):e},n.container=function(a){return arguments.length?(f="function"==typeof a?a:A(a),n):f},n.subject=function(a){return arguments.length?(g="function"==typeof a?a:A(a),n):g},n.touchable=function(a){return arguments.length?(h="function"==typeof a?a:A(!!a),n):h},n.on=function(){var a=k.on.apply(k,arguments);return a===k?n:a},n.clickDistance=function(a){return arguments.length?(m=(a*=1)*a,n):Math.sqrt(m)},n}B.prototype.on=function(){var a=this._.on.apply(this._,arguments);return a===this._?this:a};var H=a.i(56377);function I({x:a,y:b,k:c},d,e){return{x:a+(e.width-d.width)/2,y:b+(e.height-d.height)/2,k:c}}function J(a){return String(a??"").replace(/[&<>"']/g,a=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[a])}let K="__center__";function L(){return window.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1}let M=`
2
+ @keyframes galaxy-ring-pulse {
3
+ 0%, 100% { opacity: 0.5; transform: scale(1); }
4
+ 50% { opacity: 1; transform: scale(1.12); }
5
+ }
6
+ .galaxy-ring-pulse { animation: galaxy-ring-pulse 1.8s ease-in-out infinite; }
7
+ @media (prefers-reduced-motion: reduce) {
8
+ .galaxy-ring-pulse { animation: none; opacity: 0.8; }
9
+ }`;function N(a,b){let c=j.select(a);L()?c.interrupt("hover").attr("r",b):c.transition("hover").duration(150).ease(m.cubicOut).attr("r",b)}var n=n,p=o,o=o,O=a.i(76939);function P(a){return String(a??"").replace(/[&<>"']/g,a=>"&"===a?"&amp;":"<"===a?"&lt;":">"===a?"&gt;":'"'===a?"&quot;":"&#39;")}let Q=(0,c.forwardRef)(function({connections:a=[],degree2:d=[],onSelect:e,userName:f="You",userImage:i=null,selectedId:k=null,mode:l="network"},m){let u=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(null),y=(0,c.useRef)(e),z=(0,c.useRef)(k),A=(0,c.useRef)(1),B=(0,c.useRef)(null),C=(0,c.useRef)(()=>{}),D=(0,c.useRef)(()=>{}),E=(0,c.useRef)(()=>{}),[F,I]=(0,c.useState)({w:0,h:0}),J=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),K=(0,c.useMemo)(()=>`${a.length}:${d.length}:${a.map(a=>a.id).join(",")}|${d.map(a=>a.id).join(",")}`,[a,d]),L=(0,c.useRef)({connections:a,degree2:d});(0,c.useImperativeHandle)(m,()=>({focusNode:a=>E.current(a)}),[]),(0,c.useEffect)(()=>{y.current=e},[e]),(0,c.useEffect)(()=>{L.current={connections:a,degree2:d}},[a,d]),(0,c.useEffect)(()=>{let a=u.current;if(!a)return;let b=()=>{let b=a.getBoundingClientRect();I(a=>{let c=Math.round(b.width),d=Math.round(b.height);return a.w===c&&a.h===d?a:{w:c,h:d}})};b();let c=new ResizeObserver(b);return c.observe(a),window.addEventListener("resize",b),()=>{c.disconnect(),window.removeEventListener("resize",b)}},[]),(0,c.useEffect)(()=>{z.current=k,C.current(k)},[k]);let M=(0,g.default)(),N=(0,c.useRef)(M);return(0,c.useEffect)(()=>{N.current=M,D.current(M)},[M]),(0,c.useEffect)(()=>{let a=w.current;if(!a||F.w<40||F.h<40)return;let b=F.w,c=F.h,{connections:d,degree2:e}=L.current,g="degrees"===l,k=new Set(e.map(a=>a.source_connection_id).filter(Boolean)),m=g?d.filter(a=>k.has(a.id)):d,I=new Map(m.map(a=>[a.id,a])),K=e.filter(a=>a.source_connection_id&&I.has(a.source_connection_id)),M=new Set(m.map(a=>a.tier).filter(Boolean)),Q=new Set(e.map(a=>a.source_connection_id).filter(Boolean)),R=new Set(Q.size?m.filter(a=>Q.has(a.id)).map(a=>a.id):[...m].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,14).map(a=>a.id)),S={id:"__user__",kind:"user",tier:null,r:26,targetRadius:0,connection:null,x:0,y:0,fx:0,fy:0},T={S:0,A:0,B:0,C:0,D:0},U=[],V=new Map,W=new Map;for(let a of m){let b=a.tier||"D",c=(T[b]=(T[b]||0)+1,(T[b]-1)*2.399963),d=O.TIER_RING_RADIUS[b]||O.TIER_RING_RADIUS.D,e=R.has(a.id),f={id:a.id,kind:"d1",hub:e,tier:b,r:e?7+1.1*Number(a.power_score||0):4.5,targetRadius:d,connection:a,x:Math.cos(c)*d,y:Math.sin(c)*d};U.push(f),V.set(a.id,f),W.set(a.id,c)}let X=new Map;for(let a of K){let b=a.source_connection_id,c=X.get(b);c?c.push(a):X.set(b,[a])}let Y=[],Z=[],$=O.TIER_RING_RADIUS.B+70;if(g){let a=[...U].sort((a,b)=>(X.get(b.id)?.length||0)-(X.get(a.id)?.length||0)),b=Math.max(140,9*Math.max(1,a.length)),c=a=>Math.sqrt((X.get(a.id)?.length||0)+4),d=a.reduce((a,b)=>a+c(b),0)||1,e=-Math.PI/2;a.forEach(a=>{let f=c(a)/d*Math.PI*2,g=e+f/2;e+=f;let h=Math.min(.88*f,1.6);a.x=a.fx=Math.cos(g)*b,a.y=a.fy=Math.sin(g)*b,a.hub=!0,a.r=9+Math.min(10,(X.get(a.id)?.length||0)/40);let i=[...X.get(a.id)||[]].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)),j=0,k=b+a.r+16;for(;j<i.length;){let a=Math.max(1,Math.floor(k*h/9)),b=i.slice(j,j+a);b.forEach((a,c)=>{let d=g+(1===b.length?0:(c/(b.length-1)-.5)*h),e={id:a.id,kind:"d2",tier:a.tier||"D",r:1.8+.32*Math.min(10,Number(a.power_score)||0),connection:a,x:Math.cos(d)*k,y:Math.sin(d)*k};e.fx=e.x,e.fy=e.y,Y.push(e)}),j+=b.length,k+=9}$=Math.max($,k+10)})}for(let[a,b]of g?[]:X){let c=V.get(a);if(!c)continue;let d=W.get(a)??0,e=c.targetRadius,f=Math.min(.15,1.5/Math.max(1,b.length));b.forEach((a,g)=>{let h=d+(g-(b.length-1)/2)*f,i=e+46+g%3*13,j={id:a.id,kind:"d2",tier:a.tier||"D",r:3.5,targetRadius:e+60,connection:a,x:Math.cos(h)*i,y:Math.sin(h)*i};Y.push(j),Z.push({source:j,target:c})})}let _=[S,...U,...Y],aa=[...Y,...U,S],ab=(0,j.select)(a);ab.selectAll("*").remove();let ac=ab.append("defs"),ad=ac.append("radialGradient").attr("id","og-user-grad");ad.append("stop").attr("offset","0%").attr("stop-color","#f8fafc"),ad.append("stop").attr("offset","55%").attr("stop-color","#c7d2fe"),ad.append("stop").attr("offset","100%").attr("stop-color","#818cf8"),ac.append("filter").attr("id","og-blur").attr("x","-75%").attr("y","-75%").attr("width","250%").attr("height","250%").append("feGaussianBlur").attr("stdDeviation",6);let ae=ab.append("g").attr("class","viewport"),af=ae.append("g"),ag=ae.append("g"),ah=ae.append("g"),ai=ae.append("g"),aj=U.filter(a=>a.hub),ak=ag.selectAll("line").data(aj,a=>a.id).join("line").attr("stroke",a=>O.TIER_COLORS[a.tier]||O.TIER_COLORS.D).attr("stroke-opacity",.09).attr("stroke-width",.5);if(g&&U.length){let a=Math.hypot(U[0].x,U[0].y);af.append("circle").attr("r",a).attr("fill","none").attr("stroke","#FF6B35").attr("stroke-opacity",.18).attr("stroke-width",1).attr("stroke-dasharray","3 7")}for(let a of g?[]:O.TIER_ORDER)M.has(a)&&af.append("circle").attr("r",O.TIER_RING_RADIUS[a]).attr("fill","none").attr("stroke",O.TIER_COLORS[a]).attr("stroke-opacity",.14).attr("stroke-width",1).attr("stroke-dasharray","3 7");let al=ah.selectAll("line").data(Z).join("line").attr("stroke","rgba(255,255,255,0.08)").attr("stroke-width",1),am=ai.selectAll("g").data(aa,a=>a.id).join("g").attr("cursor","pointer");am.each(function(a){let b=(0,j.select)(this);if("d2"===a.kind){b.attr("opacity",g?.85:.55),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",O.TIER_COLORS[a.tier]||O.TIER_COLORS.D);return}let c="user"===a.kind,d=a.connection,e=c?"#818cf8":O.TIER_COLORS[a.tier]||O.TIER_COLORS.D;if(!c&&!a.hub){b.attr("opacity",.75),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",e);return}(c||"S"===a.tier||"A"===a.tier)&&b.append("circle").attr("r",1.8*a.r).attr("fill",e).attr("opacity",.25).attr("filter","url(#og-blur)"),d&&d.is_catalyst&&(b.append("circle").attr("r",a.r+3).attr("fill","none").attr("stroke",O.TIER_COLORS.S).attr("stroke-width",1).attr("stroke-opacity",.9),b.append("text").text("⚡").attr("x",.85*a.r).attr("y",-(.7*a.r)).attr("font-size",9).attr("text-anchor","middle").style("pointer-events","none")),b.append("circle").attr("class","og-base").attr("r",a.r).attr("fill",c?"url(#og-user-grad)":e);let h=c?f:d?.name??"";b.append("text").attr("class","og-initials").text((0,O.initialsFor)(h)).attr("text-anchor","middle").attr("dy","0.35em").attr("font-size",.8*a.r).attr("font-weight",700).attr("fill","#0b0b16").style("pointer-events","none");let k=(0,H.localPhoto)(c?i:d?.profile_image_url);if(k){let c=`og-clip-${String(a.id).replace(/[^a-zA-Z0-9_-]/g,"_")}`;ac.append("clipPath").attr("id",c).append("circle").attr("r",a.r),b.append("image").attr("href",k).attr("x",-a.r).attr("y",-a.r).attr("width",2*a.r).attr("height",2*a.r).attr("clip-path",`url(#${c})`).attr("preserveAspectRatio","xMidYMid slice").on("error",function(){(0,j.select)(this).remove()})}b.append("circle").attr("class","og-sel").attr("r",a.r+5).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.5).style("opacity",0),c?b.append("text").text(f).attr("y",a.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"):b.append("text").attr("class","og-label").text(d?.name??"").attr("y",a.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 an=am.select("text.og-label"),ao=null,ap=()=>{an.style("opacity",a=>+(!0===a.hub||A.current>1.1||a.id===ao||a.id===z.current))};am.on("click",(a,b)=>{a.defaultPrevented||(a.stopPropagation(),y.current?.(b.connection))}),ab.on("click",()=>y.current?.(null));let aq=x.current,ar=a=>{let b=u.current;if(!aq||!b)return;let c=b.getBoundingClientRect();aq.style.left=`${Math.min(a.clientX-c.left+14,c.width-190)}px`,aq.style.top=`${Math.max(a.clientY-c.top-8,8)}px`};J||am.on("mouseenter",(a,b)=>{ao=b.id,ap(),((a,b)=>{if(!aq||!b.connection)return;let c=b.connection,d=[c.role||c.headline,c.company].filter(Boolean).map(String);aq.innerHTML=`<div style="font-weight:600;color:#f1f5f9">${P(c.name)}</div>`+(d.length?`<div style="color:#94a3b8;margin-top:1px">${P(d.join(" · "))}</div>`:"")+`<div style="margin-top:3px;color:${O.TIER_COLORS[c.tier]||O.TIER_COLORS.D}">`+`${P(c.tier||"?")} \xb7 power ${Number(c.power_score||0).toFixed(1)}`+`${c.is_catalyst?" · ⚡ catalyst":""}</div>`,aq.style.opacity="1",ar(a)})(a,b)}).on("mousemove",a=>ar(a)).on("mouseleave",()=>{ao=null,ap(),aq&&(aq.style.opacity="0")});let as=()=>{al.attr("x1",a=>a.source.x??0).attr("y1",a=>a.source.y??0).attr("x2",a=>a.target.x??0).attr("y2",a=>a.target.y??0),ak.attr("x1",0).attr("y1",0).attr("x2",a=>a.x??0).attr("y2",a=>a.y??0),am.attr("transform",a=>`translate(${a.x??0},${a.y??0})`)},at=null;if(J||g)as();else{let a=(0,q.forceSimulation)(_).force("radial",v(a=>a.targetRadius,0,0).strength(a=>.9*("d1"===a.kind))).force("collide",(0,t.forceCollide)(a=>a.r+2.5)).force("charge",(0,s.forceManyBody)().strength(-18)).on("tick",as);Z.length>0&&a.force("link",(0,r.forceLink)(Z).distance(26).strength(.7)),at=a,as();let b=G().on("start",(b,c)=>{b.active||a.alphaTarget(.3).restart(),c.fx=c.x,c.fy=c.y}).on("drag",(a,b)=>{b.fx=a.x,b.fy=a.y}).on("end",(b,c)=>{b.active||a.alphaTarget(0),(c.connection?.circle_power===null||c.connection?.circle_power===void 0)&&(c.fx=null,c.fy=null)});am.filter(a=>"d1"===a.kind).call(b),am.on("dblclick",(b,c)=>{"d1"===c.kind&&(b.stopPropagation(),c.fx=null,c.fy=null,a.alphaTarget(.2).restart(),window.setTimeout(()=>a.alphaTarget(0),400))})}let au=(0,n.default)().scaleExtent([.15,3]).on("zoom",a=>{ae.attr("transform",a.transform.toString()),a.sourceEvent&&(B.current=a.transform),a.transform.k!==A.current&&(A.current=a.transform.k,ap())});ab.call(au).on("dblclick.zoom",null);let av=Math.max(.15,Math.min(3,Math.min(b,c)/(2*$))),aw=B.current??p.identity.translate(b/2,c/2).scale(av);ab.call(au.transform,aw),C.current=a=>{ai.selectAll("circle.og-sel-temp").remove(),am.select("circle.og-sel").style("opacity",b=>+(b.id===a)),am.select("circle.og-base").attr("r",b=>b.id===a&&"user"!==b.kind?b.r+1.5:b.r),a&&am.filter(b=>b.id===a&&!b.hub&&"user"!==b.kind).append("circle").attr("class","og-sel-temp").attr("r",a=>a.r+3).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",1.2),ap()},C.current(z.current),D.current=a=>{ai.selectAll("circle.og-asked").remove(),am.filter(b=>"d2"===b.kind&&(0,h.hasRequest)(b.connection,a)).append("circle").attr("class","og-asked").attr("r",a=>a.r+2.2).attr("fill","none").attr("stroke","#FFD700").attr("stroke-width",1).attr("stroke-dasharray","2 1.6").style("pointer-events","none")},D.current(N.current);let ax=new Map(aa.map(a=>[a.id,a]));return E.current=d=>{let e=ax.get(d);if(!e)return;let f=e.x??0,g=e.y??0,h=(0,o.default)(a),i=p.identity.translate(b/2,c/2).scale(2.5).translate(-f,-g),j=performance.now(),k=a=>{let b=Math.min(1,(a-j)/650),c=1-Math.pow(1-b,3);au.transform(ab,p.identity.translate(h.x+(i.x-h.x)*c,h.y+(i.y-h.y)*c).scale(h.k+(i.k-h.k)*c)),b<1&&requestAnimationFrame(k)};requestAnimationFrame(k),window.setTimeout(()=>au.transform(ab,i),730),y.current?.(e.connection),z.current=d,C.current(d);let l=ai.append("circle").attr("cx",f).attr("cy",g).attr("r",e.r+2).attr("fill","none").attr("stroke","#ffffff").attr("stroke-width",2).attr("opacity",.9),m=performance.now(),n=a=>{let b=Math.min(1,(a-m)/700);l.attr("r",e.r+2+26*b).attr("opacity",.9*(1-b)),b<1?requestAnimationFrame(n):l.remove()};requestAnimationFrame(n),window.setTimeout(()=>l.remove(),800)},()=>{at?.stop(),C.current=()=>{},D.current=()=>{},E.current=()=>{},ab.on(".zoom",null),ab.on("click",null),ab.selectAll("*").remove()}},[K,f,i,J,F,l]),(0,b.jsxs)("div",{ref:u,style:{position:"relative",flex:1,minHeight:0,width:"100%"},children:[(0,b.jsx)("svg",{ref:w,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,b.jsx)("div",{ref:x,"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 R=a.i(38246),S=a.i(90231);let T=a=>a?.unlock_status==="pending";function U(a=[],b=[]){let c=new Map;for(let a of b||[]){let b=a?.source_connection_id;if(null==b)continue;let d=c.get(b);d||c.set(b,d=[]),d.push(a)}let d=new Map;for(let b of a||[]){let a=b?.unlocked_from_bridge_id;if(null==a||1!==b.degree)continue;let c=d.get(a);c||d.set(a,c=[]),c.push(b)}return{circles:c,introduced:d}}let V={connected:0,requested:1},W=(a,b)=>(V[a.state]??2)-(V[b.state]??2)||(0,S.score1)(b.row)-(0,S.score1)(a.row)||String(a.row.name||"").localeCompare(String(b.row.name||"")),X=(a,b,c)=>Math.min(c,Math.max(b,a));var Y=a.i(91443);let Z=2*Math.PI;function $(a,b,c){if(a<=0)return 1;let d=c*a;return Math.max(1,c>=Z-1e-9?Math.floor(d/b):Math.floor(d/b)+1)}function _(a,b,c,d){let e=[],f=0;for(let g=b;f<a;g+=c)e.push(g),f+=$(g,c,d);return e}let aa=(a,b,c,d)=>{let e=_(a,b,c,d);return e[e.length-1]};function ab(a,{inner:b,outer:c,spacing:d,minSpacing:e=d/3,innerMin:f=b,start:g=-Math.PI/2,sweep:h=Z}={}){let i=Math.max(0,Math.floor(a)||0);if(!i)return{spacing:d,inner:b,rings:[],points:[]};let j=d,k=b;if(aa(i,k,j,h)>c)if(aa(i,f,j,h)<=c){let a=f,d=b;for(let b=0;b<24;b++){let b=(a+d)/2;aa(i,b,j,h)<=c?a=b:d=b}k=a}else{let a=e,b=d;if(aa(i,k=f,a,h)<=c)for(let d=0;d<24;d++){let d=(a+b)/2;aa(i,k,d,h)<=c?a=d:b=d}j=a}let l=_(i,k,j,h),m=l.map(a=>$(a,j,h)),n=m.reduce((a,b)=>a+b,0),o=m.map(a=>Math.min(a,Math.floor(i*a/n))),p=i-o.reduce((a,b)=>a+b,0);for(;p>0;){let a=-1;for(let b=0;b<m.length;b++)o[b]<m[b]&&(a<0||m[b]-o[b]>m[a]-o[a])&&(a=b);o[a]++,p--}let q=h>=Z-1e-9,r=[],s=[];return l.forEach((a,b)=>{let c=o[b];if(!c)return;s.push({radius:a,count:c});let d=q?Z/c:c>1?h/(c-1):0,e=q?g+(b%2?d/2:0):c>1?g:g+h/2,f=q?null:function(a){let b=Math.floor((a-1)/2),c=b+1,d=[b--];for(;d.length<a;)c<a&&d.push(c++),d.length<a&&b>=0&&d.push(b--);return d}(c);for(let b=0;b<c;b++){let c=e+(f?f[b]:b)*d;r.push({x:a*Math.cos(c),y:a*Math.sin(c),angle:c,ring:s.length-1})}}),{spacing:j,inner:k,rings:s,points:r}}function ac(a,b){return Math.max(1.4,Math.min(7,.42*a*("S"===b?1:"A"===b?.86:"B"===b?.72:.6)))}let ad={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ae={1:"#FFD700",2:"#FF6B35",3:"#3498DB",4:"#9B59B6",5:"#00ff88",6:"#ff5050"},af={S:0,A:1,B:2,C:3,D:4},ag="#00ff88",ah="#5a5a66",ai=(a,b)=>(af[a.tier]??9)-(af[b.tier]??9)||(0,S.score)(b)-(0,S.score)(a)||String(a.name||"").localeCompare(String(b.name||"")),aj=a=>String(a?.name||"").trim().split(/\s+/)[0]||"them",ak=a=>`/setup?scan=${encodeURIComponent(a.id)}`,al=a=>`${a}${a%10==1&&11!==a?"st":a%10==2&&12!==a?"nd":a%10==3&&13!==a?"rd":"th"}`,am=()=>{let a=(0,e.scannerNow)();return a.running&&(0,e.isCircleScan)(a)?a.target?.id??null:null},an=()=>null,ao=()=>()=>{};function ap(a){return()=>void 0}let aq=()=>!1,ar=()=>!0;function as(a,b){let c=new Set([(0,S.keyFor)(a)]),d=a=>{let b=[];for(let d of a||[]){let a=(0,S.keyFor)(d);c.has(a)||(c.add(a),b.push(d))}return b.sort(ai)};return[...d(b.introduced.get(a.id)),...d(b.circles.get(a.id))]}function at({bridge:a,members:c,reach:d,cx:e,cy:f,maxR:g,still:h}){let i=c.filter(a=>1===a.degree||"S"===a.tier||"A"===a.tier||"B"===a.tier),j=.66*g,k=Math.min(.9*Math.PI,Math.max(.2*Math.PI,11*i.length/(.75*g))),l=ab(i.length,{inner:j,outer:.8*g,spacing:11,minSpacing:3.5,start:a.angle-k/2,sweep:k});return(0,b.jsxs)("g",{children:[(0,b.jsx)("circle",{cx:e,cy:f,r:j,fill:"none",stroke:`${ae[2]}06`,strokeWidth:1}),i.map((c,g)=>{let j=l.points[g],k=e+j.x,m=f+j.y,n=(0,Y.reachState)(c,d),o=Math.min(ac(l.spacing,c.tier),5)*(n?1.3:1),p="hidden"===n?ah:ad[c.tier]||"#555";return(0,b.jsxs)("g",{children:[(n||i.length<=40)&&(0,b.jsx)("line",{x1:a.x,y1:a.y,x2:k,y2:m,stroke:n?ag:p,strokeWidth:.5,strokeOpacity:n?.35:.15}),"ready"===n&&(0,b.jsx)(au,{x:k,y:m,r:2.3*o,still:h}),(0,b.jsx)("circle",{cx:k,cy:m,r:o,fill:p,fillOpacity:n?.95:.45,stroke:n&&"hidden"!==n?ag:p,strokeWidth:n?1:.5,strokeOpacity:n?1:.25}),("S"===c.tier||n)&&i.length<=60&&(0,b.jsx)("text",{x:k,y:m+o+9,textAnchor:"middle",fill:n&&"hidden"!==n?ag:"#aaa",fontSize:7,children:aj(c)})]},"pv-"+c.id)})]})}function au({x:a,y:c,r:d,still:e}){return(0,b.jsxs)("circle",{cx:a,cy:c,r:d,fill:ag,fillOpacity:.16,stroke:ag,strokeWidth:.8,strokeOpacity:.45,pointerEvents:"none",children:[!e&&(0,b.jsx)("animate",{attributeName:"fill-opacity",values:"0.06;0.24;0.06",dur:"2.8s",repeatCount:"indefinite"}),!e&&(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.25;0.7;0.25",dur:"2.8s",repeatCount:"indefinite"})]})}function av({x:a,y:c,s:d}){return(0,b.jsxs)("g",{transform:`translate(${a} ${c}) scale(${d})`,pointerEvents:"none",children:[(0,b.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,b.jsx)("rect",{x:-2.6,y:-.7,width:5.2,height:3.9,rx:.8,fill:"#d6d6de"})]})}function aw({onIn:a,onReset:c,onOut:d}){let e=a=>({width:32,height:32,borderRadius:"50%",border:"none",cursor:"pointer",background:a?"rgba(255,255,255,0.06)":"rgba(255,255,255,0.1)",color:a?"#666":"#fff",fontSize:a?10:18,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)"});return(0,b.jsxs)("div",{style:{position:"absolute",bottom:64,right:20,zIndex:20,display:"flex",flexDirection:"column",gap:4},children:[(0,b.jsx)("button",{type:"button",onClick:a,"aria-label":"Zoom in",style:e(!1),children:"+"}),(0,b.jsx)("button",{type:"button",onClick:c,"aria-label":"Fit to the window",style:e(!0),children:"⊙"}),(0,b.jsx)("button",{type:"button",onClick:d,"aria-label":"Zoom out",style:e(!1),children:"−"})]})}function ax({trail:a,index:e,reach:f,dims:g,requests:i,scanningId:j,still:k,canScan:l,onOpen:m,onBack:n,onSelect:o}){var p,q,r,s,t;let u,v,w,x=a[a.length-1],y=a.length,z=(0,c.useMemo)(()=>as(x,e),[x,e]),[A,B]=(0,c.useState)(null),[C,D]=(0,c.useState)({k:1,x:0,y:0}),E=(0,c.useRef)(null),F=(0,c.useRef)(null),G=(0,d.useRouter)(),I=g.w/2,J=g.h/2,K=Math.min(I,J)-30,L=(0,c.useMemo)(()=>ab(z.length,{inner:.55*K,innerMin:62,outer:.94*K,spacing:Math.max(14,Math.min(24,.085*K)),minSpacing:4}),[z.length,K]),M=(0,c.useMemo)(()=>z.map(a=>{let b=(0,Y.reachState)(a,f);return{reached:b,requested:!b&&2===a.degree&&(0,h.hasRequest)(a,i),own:1===a.degree?(e.circles.get(a.id)?.length||0)+(e.introduced.get(a.id)?.length||0):0}}),[z,f,i,e]),N=a=>l&&"ready"===M[a].reached&&z[a].id!==j,O=C.k,P=(0,c.useMemo)(()=>{let a=z.length<=60,c=L.spacing*O>=26;return z.map((d,e)=>{let f=L.points[e],g=M[e],h=ac(L.spacing,d.tier)*(g.reached?1.4:1),i="hidden"===g.reached?ah:ad[d.tier]||"#555";return(0,b.jsxs)("g",{children:[(a||g.reached)&&(0,b.jsx)("line",{x1:0,y1:0,x2:f.x,y2:f.y,stroke:g.reached?ag:i,strokeWidth:.6/O,strokeOpacity:g.reached?.3:.12}),"ready"===g.reached&&(0,b.jsx)(au,{x:f.x,y:f.y,r:2.3*h,still:k}),g.requested?(0,b.jsx)("circle",{cx:f.x,cy:f.y,r:1.2*h,fill:"none",stroke:i,strokeWidth:Math.max(.6,.45*h),strokeDasharray:`${Math.max(.8,.55*h)} ${Math.max(.6,.45*h)}`}):(0,b.jsx)("circle",{cx:f.x,cy:f.y,r:h,fill:i,fillOpacity:g.reached?1:.85,stroke:g.reached&&"hidden"!==g.reached?ag:"none",strokeWidth:g.reached?Math.max(.8,.3*h):0}),"hidden"===g.reached&&(0,b.jsx)(av,{x:f.x,y:f.y-.1*h,s:h/4.2}),d.id===j&&(0,b.jsx)("circle",{cx:f.x,cy:f.y,r:2*h,fill:"none",stroke:ae[3],strokeWidth:1/O,strokeDasharray:`${3/O} ${2/O}`}),(g.reached||c&&"S"===d.tier)&&(0,b.jsx)("text",{x:f.x,y:f.y+h+10/O,textAnchor:"middle",fontSize:8.5/O,fontWeight:g.reached?700:400,fill:"hidden"===g.reached?"#999":g.reached?ag:"#aaa",pointerEvents:"none",stroke:"#0a0a1a",strokeWidth:2.4/O,paintOrder:"stroke",children:aj(d)})]},d.id)})},[z,L,M,O,k,j]),Q=(a,b)=>{let c=F.current;if(!c)return null;let d=c.getBoundingClientRect(),e=(a-d.left-I-C.x)/O,f=(b-d.top-J-C.y)/O;if(30>=Math.hypot(e,f))return"center";let g=Math.max(.6*L.spacing,10/O),h=null,i=g;return L.points.forEach((a,b)=>{let c=Math.hypot(a.x-e,a.y-f);c<i&&(i=c,h=b)}),h},R=(a,b={x:0,y:0})=>D(c=>{let d=Math.max(.5,Math.min(6,c.k*a));return{k:d,x:b.x-(b.x-c.x)*d/c.k,y:b.y-(b.y-c.y)*d/c.k}}),T=M.filter(a=>"ready"===a.reached).length,U=M.filter(a=>"hidden"===a.reached).length,V=M.filter(a=>a.reached).length,W=M.filter(a=>a.requested).length,X=["S","A","B","C","D"].map(a=>[a,z.filter(b=>b.tier===a).length]).filter(([,a])=>a),Z=null!=j&&j===x.id,$="number"==typeof A?z[A]:null,_="number"==typeof A?L.points[A]:null;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("svg",{ref:F,width:g.w,height:g.h,style:{display:"block",touchAction:"none",cursor:null!=A?"pointer":"grab"},onPointerDown:a=>{E.current={x:a.clientX,y:a.clientY,vx:C.x,vy:C.y,moved:!1},a.currentTarget.setPointerCapture?.(a.pointerId)},onPointerMove:a=>{let b=E.current;if(b){let c=a.clientX-b.x,d=a.clientY-b.y;if(!b.moved&&Math.hypot(c,d)>5&&(b.moved=!0),b.moved)return void D(a=>({...a,x:b.vx+c,y:b.vy+d}))}let c=Q(a.clientX,a.clientY);B(a=>a===c?a:c)},onPointerUp:a=>{let b=E.current;if(E.current=null,!b||b.moved)return;let c=Q(a.clientX,a.clientY);"center"===c?o?.(x):null!=c&&N(c)?G.push(ak(z[c])):null!=c&&m(z[c].id)},onPointerLeave:()=>{E.current||B(null)},onWheel:a=>{let b=F.current?.getBoundingClientRect();b&&R(Math.exp(-(.0015*a.deltaY)),{x:a.clientX-b.left-I,y:a.clientY-b.top-J})},role:"img","aria-label":`${x.name}’s circle: ${z.length} ${1===z.length?"person":"people"}`,children:[(0,b.jsx)("defs",{children:(0,b.jsxs)("filter",{id:"focusGlow",children:[(0,b.jsx)("feGaussianBlur",{stdDeviation:"4",result:"blur"}),(0,b.jsxs)("feMerge",{children:[(0,b.jsx)("feMergeNode",{in:"blur"}),(0,b.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})}),(0,b.jsxs)("g",{transform:`translate(${I+C.x} ${J+C.y}) scale(${O})`,children:[L.rings.map(a=>(0,b.jsx)("circle",{r:a.radius,fill:"none",stroke:`${ae[2]}10`,strokeWidth:1/O},a.radius)),P,_&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("line",{x1:0,y1:0,x2:_.x,y2:_.y,stroke:ad[$.tier]||"#888",strokeWidth:1.6/O,strokeOpacity:.8}),(0,b.jsx)("circle",{cx:_.x,cy:_.y,r:ac(L.spacing,$.tier)*(M[A].reached?1.4:1)+2/O,fill:"none",stroke:"#fff",strokeWidth:1.6/O})]}),"ready"===(0,Y.reachState)(x,f)&&(0,b.jsx)(au,{x:0,y:0,r:40,still:k}),(0,b.jsx)("circle",{r:28,fill:"#0a0a1a",stroke:ad[x.tier]||"#888",strokeWidth:"center"===A?4:3,filter:"url(#focusGlow)"}),(0,H.localPhoto)(x.profile_image_url)?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("clipPath",{id:"focus-clip",children:(0,b.jsx)("circle",{r:24})}),(0,b.jsx)("image",{href:(0,H.localPhoto)(x.profile_image_url),x:-24,y:-24,width:48,height:48,clipPath:"url(#focus-clip)"})]}):(0,b.jsx)("text",{y:5,textAnchor:"middle",fill:ad[x.tier]||"#888",fontSize:16,fontWeight:800,children:x.name?.charAt(0)}),(0,b.jsx)("text",{y:40,textAnchor:"middle",fill:"#fff",fontSize:11,fontWeight:700,pointerEvents:"none",children:x.name})]}),$&&(0,b.jsx)(ay,{x:I+C.x+_.x*O,y:J+C.y+_.y*O,w:g.w,lines:(p=$,q=M[A],r=j,s=y,t=N(A),u=aj(p),v=p.id===r?"Their circle is being scanned now":"ready"===q.reached?"You added them · their circle is ready to scan":"hidden"===q.reached?"You added them · their list is hidden":"scanned"===q.reached?`You added them \xb7 ${q.own.toLocaleString("en-US")} in their circle`:q.requested?"Request sent":"Not connected yet",w=t?`Click to scan ${u}’s circle on the Scan page`:q.own>0?`Click to open ${u}’s circle (${al(s+2)} degree)`:`Click to open ${u}’s circle`,[p.name,`${p.tier}-tier \xb7 ${(0,S.score)(p).toFixed(1)}`,v,w]),accent:M[A].reached?ag:ad[$.tier]}),"center"===A&&(0,b.jsx)(ay,{x:I+C.x,y:J+C.y-28*O,w:g.w,lines:[x.name,"Open their card"],accent:ad[x.tier]})]}),(0,b.jsxs)("div",{style:{position:"absolute",top:14,left:64,right:64,pointerEvents:"none",display:"flex",flexDirection:"column",gap:8,alignItems:"flex-start"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",pointerEvents:"auto"},children:[(0,b.jsxs)("button",{type:"button",onClick:()=>n(y-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===y?"All bridges":`${aj(a[y-2])}’s circle`]}),(0,b.jsxs)("nav",{"aria-label":"Trail",style:{fontSize:11,color:"#777",display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[(0,b.jsx)("button",{type:"button",onClick:()=>n(0),style:aA,children:"All bridges"}),a.map((a,c)=>(0,b.jsxs)("span",{style:{display:"inline-flex",gap:6,alignItems:"center"},children:[(0,b.jsx)("span",{"aria-hidden":"true",children:"›"}),c===y-1?(0,b.jsx)("span",{style:{color:"#fff",fontWeight:700},children:a.name}):(0,b.jsx)("button",{type:"button",onClick:()=>n(c+1),style:aA,children:a.name})]},a.id))]})]}),(0,b.jsxs)("div",{style:{fontSize:11,color:"#999"},children:[aj(x),"’s circle · ",z.length.toLocaleString("en-US")," ",1===z.length?"person":"people"," · ",al(y+1)," degree",y>1?", counted along this chain":""]}),Z&&z.length>0&&(0,b.jsxs)("div",{role:"status",style:{...aB,borderColor:"rgba(52,152,219,0.4)",color:"#cfe6f7"},children:["Scanning ",aj(x),"’s circle now. More people appear here as it saves, every 10 pages."]})]}),0===z.length&&(0,b.jsx)(az,{person:x,depth:y,reach:f,requests:i,scanning:Z,canScan:l,onSelect:o,top:J+64}),z.length>0&&(0,b.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,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1,marginBottom:6},children:"IN THIS CIRCLE"}),X.map(([a,c])=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:ad[a]}}),(0,b.jsxs)("span",{style:{color:ad[a],fontWeight:600,width:40},children:[a,"-Tier"]}),(0,b.jsx)("span",{children:c.toLocaleString("en-US")})]},a)),(V>0||W>0)&&(0,b.jsxs)("div",{style:{marginTop:6},children:[V>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{style:{color:ag},children:"● "}),"you added ",V,T?`, ${T} ready to scan`:"",U?`, ${U} hidden`:""]}),W>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{style:{color:"#FFD700"},children:"◌ "}),W," ",1===W?"request":"requests"," out"]})]}),(0,b.jsxs)("div",{style:{marginTop:6,color:"#555"},children:["Click anyone for their circle",T>0&&l?", or someone ready to scan theirs":""," · drag to move · scroll to zoom"]})]}),(0,b.jsx)(aw,{onIn:()=>R(1.35),onReset:()=>D({k:1,x:0,y:0}),onOut:()=>R(1/1.35)})]})}function ay({x:a,y:c,w:d,lines:e,accent:f}){let g=Math.max(150,Math.min(240,5.6*Math.max(...e.map(a=>String(a).length))+20)),h=12+12*e.length,i=Math.max(6,Math.min(d-g-6,a-g/2)),j=Math.max(6,c-h-12);return(0,b.jsxs)("g",{pointerEvents:"none",children:[(0,b.jsx)("rect",{x:i,y:j,width:g,height:h,rx:6,fill:"rgba(0,0,0,0.92)",stroke:f||"#555",strokeWidth:.6}),e.map((a,c)=>(0,b.jsx)("text",{x:i+g/2,y:j+16+12*c,textAnchor:"middle",fill:0===c?"#fff":2===c?f||"#aaa":"#999",fontSize:0===c?10.5:9,fontWeight:0===c?700:400,children:a},c))]})}function az({person:a,depth:c,reach:d,requests:e,scanning:f,canScan:g,onSelect:i,top:j}){let k,l,m=aj(a),n=al(c+1),o=1===a.degree,p=o?(0,Y.circleState)(a,d):null,q=(0,Y.circleScanCost)(),r=null;return f?(k=`Scanning ${m}’s circle now`,l="Their people appear here as the scan saves them, every 10 pages."):"hidden"===p?(k=`${m} keeps their connections hidden`,l="LinkedIn doesn’t show their list, so there is no circle to scan."):"scanned"===p?(k=`${m}’s list has been read`,l="Everyone on it was already one of your connections, so nobody new is here."):o?(k=`${m}’s circle isn’t scanned yet`,l=`${m} is your connection, so their circle can be scanned. That brings in the people they know: ${n} degree${c>1?", counted along this chain":""}.`,g&&(r=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(R.default,{href:ak(a),style:aC,children:["Scan ",m,"’s circle →"]}),(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#888",marginTop:8},children:[q.profileViews," profile view, then one LinkedIn search per page of their list (up to ",q.searches,", about ",q.minutes," min). It starts only once you confirm it on the Scan page."]})]}))):(0,h.hasRequest)(a,e)?(k=`Request sent to ${m}`,l=`Once ${m} accepts, ↻ Check for new brings them into your connections. Then their circle can be scanned, and the people they know fill in here: ${n} degree.`):(k=`Nobody from ${m}’s circle yet`,l=`LinkedIn only shows the connections of people you’re connected to. Connect with ${m}; once they accept and their circle is scanned, the people they know fill in here: ${n} degree.`,r=(0,b.jsxs)("button",{type:"button",onClick:()=>i?.(a),style:aD,children:["Open ",m,"’s card"]})),(0,b.jsxs)("div",{role:"status",style:{position:"absolute",left:"50%",top:j,transform:"translateX(-50%)",width:"min(360px, calc(100% - 32px))",background:"rgba(10,10,26,0.94)",border:`1px solid ${"hidden"===p?"rgba(255,255,255,0.12)":"rgba(0,255,136,0.25)"}`,borderRadius:12,padding:"14px 16px",textAlign:"center"},children:[(0,b.jsxs)("div",{style:{fontSize:13,fontWeight:800,color:"hidden"===p?"#aaa":"#fff",marginBottom:6},children:["hidden"===p&&(0,b.jsx)("span",{"aria-hidden":"true",children:"🔒 "}),k]}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#9aa",lineHeight:1.55,marginBottom:12*!!r},children:l}),r]})}let aA={background:"none",border:"none",color:"#8fb8d6",fontSize:11,fontWeight:600,cursor:"pointer",padding:0},aB={fontSize:11,padding:"6px 10px",borderRadius:8,border:"1px solid",background:"rgba(0,0,0,0.6)",pointerEvents:"auto"},aC={display:"inline-block",padding:"9px 16px",borderRadius:8,textDecoration:"none",fontSize:12.5,fontWeight:800,color:"#0a0a1a",background:"linear-gradient(135deg, #00ff88, #3498DB)"},aD={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"},aE={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aF=["S","A","B","C","D"],aG={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aH={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aI=["S","A","B","C","D"],aJ=[{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"}],aK=new Map(aJ.map(a=>[a.key,a]));function aL(a){return aK.get(a)??null}function aM(a,b=1){let c,d=function(a,b=1){let c=Number(a?.mutual_count);return Number.isFinite(c)&&c>=1?{count:Math.floor(c),from:"linkedin"}:{count:Math.max(1,Math.floor(Number(b)||1)),from:"scans"}}(a,b);return{key:(c=Math.max(1,Math.floor(Number(d.count)||1)),aJ.find(a=>c<=a.max).key),...d}}function aN({tier:a,rarity:b},{tiers:c=new Set,rarities:d=new Set}={}){return(!c.size||!!c.has(a))&&(!d.size||!!(b&&d.has(b)))}function aO(a,b){let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c}let aP={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function aQ({person:a,size:c=32,tierColors:d=aP}){let e=d[a?.tier]||"#666",f=(0,H.localPhoto)(a?.profile_image_url);return(0,b.jsxs)("span",{style:{position:"relative",display:"inline-block",width:c,height:c,flexShrink:0,borderRadius:"50%",boxShadow:`0 0 0 ${c>=24?2:1}px ${e}`},children:[(0,b.jsx)("span",{style:{position:"absolute",inset:0,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:`${e}2e`,color:e,fontWeight:800,fontSize:Math.max(7,Math.round(.36*c)),lineHeight:1},children:(0,O.initialsFor)(a?.name)}),f&&(0,b.jsx)("img",{src:f,alt:"",loading:"lazy",decoding:"async",onError:a=>{a.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:c,height:c,borderRadius:"50%",objectFit:"cover"}})]})}let aR="#FF6B35",aS={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},aT="a connection we can’t name",aU=a=>Number(a||0).toLocaleString("en-US"),aV=(a,b,c)=>`${aU(a)} ${1===a?b:c}`;function aW(a){return a.role&&a.company?`${a.role} @ ${a.company}`:a.headline||a.role||a.company||""}let aX=`
2
10
  .sepmap .sp { cursor: pointer; transition: opacity .12s; }
3
11
  .sepmap .ppl:hover .sp { opacity: .28; }
4
12
  .sepmap .ppl:hover .sp:hover, .sepmap .ppl:hover .sp.sel { opacity: 1; }
@@ -6,13 +14,7 @@ module.exports=[30100,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(37732
6
14
  .sepmap .br { cursor: pointer; }
7
15
  .sepmap .br:hover text { text-decoration: underline; }
8
16
  .sepmap .rt { pointer-events: none; }
9
- `,aV={paintOrder:"stroke",stroke:"#0a0a1a",strokeWidth:3,strokeLinejoin:"round"},aW=(0,c.memo)(function({layout:a,selectedKey:d,tierColors:e,youLabel:f,isMobile:g,onPick:h,onPickBridge:i}){let{width:j,height:k,you:l,people:m,bridges:n,links:o,spokes:p}=a,q=(0,c.useMemo)(()=>{let a=new Map;for(let b of o)a.has(b.key)||a.set(b.key,[]),a.get(b.key).push(b);return a},[o]),r=g?36:26,s=g?12:11;return(0,b.jsxs)("svg",{className:"sepmap",width:j,height:k,"aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[(0,b.jsx)("style",{children:aU}),(0,b.jsx)("defs",{children:(0,b.jsxs)("linearGradient",{id:"sepYouGrad",x1:"0",y1:"0",x2:"1",y2:"1",children:[(0,b.jsx)("stop",{offset:"0",stopColor:"#FFD700"}),(0,b.jsx)("stop",{offset:"1",stopColor:"#FF6B35"})]})}),p.map(a=>(0,b.jsx)("line",{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,stroke:"#fff",strokeOpacity:.12,strokeWidth:1},`s-${a.id??"unresolved"}`)),(0,b.jsx)("g",{className:"ppl",children:m.map(a=>{let{p:c}=a,f=e[c.tier]||"#888",g=a.key===d,i=c.routes.map(a=>a.bridge?a.bridge.name:aQ).join(", ");return(0,b.jsxs)("g",{className:g?"sp sel":"sp",onClick:()=>h(c),children:[(0,b.jsx)("title",{children:`${c.person.name} \xb7 #${c.rank}${c.tied?"=":""} \xb7 ${c.tier} \xb7 ${c.score.toFixed(1)} \xb7 via ${i}`}),(q.get(a.key)||[]).map(c=>{let d=(c.x1+c.x2)/2,f=c.unresolved?"#777":c.primary?aO:e[c.tier]||"#888";return(0,b.jsx)("path",{className:"rt",d:`M${c.x1+5},${c.y1} C${d},${c.y1} ${d},${c.y2} ${c.x2-a.r},${c.y2}`,fill:"none",stroke:f,strokeWidth:c.primary?1.5:1,strokeOpacity:c.primary?.8:.35,strokeDasharray:c.primary?void 0:"3 3"},`${c.key}-${c.bridgeId??"u"}`)}),(0,b.jsx)("rect",{x:a.x-12,y:a.y-r/2,width:Math.max(0,j-a.x+12),height:r,fill:"transparent"}),g&&(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r+3.5,fill:"none",stroke:"#fff",strokeWidth:1.5}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r,fill:f}),(0,b.jsxs)("text",{x:a.x+14,y:a.y,dy:"0.35em",fontSize:s,fill:"#ddd",style:aV,children:[a.label,(0,b.jsx)("tspan",{dx:6,fill:f,fontWeight:700,children:c.score.toFixed(1)})]})]},a.key)})}),n.map(a=>{let c=a.unresolved?"#777":e[a.bridge.tier]||"#888";return(0,b.jsxs)("g",{className:a.unresolved?void 0:"br",onClick:a.unresolved?void 0:()=>i(a.bridge),children:[(0,b.jsx)("title",{children:a.unresolved?"Routes whose connection record doesn’t match anyone in your 1st-degree list, so who introduces you can’t be named":`${a.bridge.name} \xb7 ${a.bridge.tier}-tier \xb7 a way in to ${a.count} of these \xb7 click to open`}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r,fill:a.unresolved?"none":c,stroke:a.unresolved?"#777":"#0a0a1a",strokeWidth:a.unresolved?1:1.5,strokeDasharray:a.unresolved?"2 2":void 0}),(0,b.jsx)("text",{x:a.x-9,y:a.y,dy:"0.35em",textAnchor:"end",fontSize:s-1,fill:c,fontStyle:a.unresolved?"italic":void 0,fontWeight:a.unresolved?400:600,style:aV,children:a.label})]},`b-${a.id??"unresolved"}`)}),(0,b.jsxs)("g",{children:[(0,b.jsx)("circle",{cx:l.x,cy:l.y,r:l.r,fill:"url(#sepYouGrad)"}),(0,b.jsx)("text",{x:l.x,y:l.y,dy:"0.35em",textAnchor:"middle",fontSize:f.length>2?9:10,fontWeight:800,fill:"#000",children:f})]})]})}),aX={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function aY({p:a,route:c,tierColors:d,compact:e}){if(!c?.bridge)return(0,b.jsxs)("span",{style:{...aX,color:"#777",fontStyle:"italic",fontSize:e?11:12},children:["via ",aQ]});let f=c.bridge,g=a.waysIn-1;return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:e?11:12},children:[(0,b.jsx)("span",{style:{color:"#666",flexShrink:0},children:"via"}),!e&&(0,b.jsx)(aN,{person:f,size:16,tierColors:d}),(0,b.jsx)("span",{style:{...aX,color:d[f.tier]||"#aaa",fontWeight:600,minWidth:0},children:e?aK(f.name):f.name}),g>0&&(0,b.jsxs)("span",{title:`Every way in:
10
- ${a.routes.map(a=>a.bridge?`${a.bridge.name} (${a.bridge.tier})`:aQ).join("\n")}`,style:{flexShrink:0,padding:"1px 6px",borderRadius:8,fontSize:10,fontWeight:800,color:aO,background:"rgba(255,107,53,0.15)"},children:["+",g]})]})}let aZ=(0,c.memo)(function({p:a,top:c,height:d,isMobile:e,selected:f,tierColors:g,onPick:h,q:i}){let{person:j}=a,k=g[a.tier]||"#888",l=function(a,b){if(b){let c=a.routes.find(a=>a.bridge&&String(a.bridge.name||"").toLowerCase().includes(b));if(c)return c}return a.routes[0]||null}(a,i),m=a.rank<=3,n=f?"rgba(255,107,53,0.08)":m?`${k}08`:"transparent",o="LinkedIn Member"===j.name,p=`#${a.rank}${a.tied?"=":""}`,q=a.waysIn-1,r=l?.bridge?`via ${l.bridge.name}${q>0?` and ${q} other${q>1?"s":""}`:""}`:`via ${aQ}${q>0?` and ${q} other${q>1?"s":""}`:""}`;return(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-label":`Rank ${a.rank}${a.tied?", tied":""}, ${j.name}, ${a.tier} tier, ${a.score.toFixed(1)}, ${a.waysIn} way${1===a.waysIn?"":"s"} in, ${r}`,"aria-pressed":f,onClick:()=>h(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),h(a))},onMouseEnter:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:a=>{a.currentTarget.style.background=n},style:{position:"absolute",top:c,left:0,right:0,height:d,boxSizing:"border-box",display:"grid",alignItems:"center",gap:10,padding:"0 12px",gridTemplateColumns:e?"44px 36px 1fr 44px":"64px 36px minmax(0,1.4fr) minmax(0,1fr) 96px 44px",borderLeft:`3px solid ${f?aO:"transparent"}`,borderBottom:"1px solid rgba(255,255,255,0.04)",background:n,cursor:"pointer"},children:[(0,b.jsx)("span",{style:{fontSize:e?11:12,fontWeight:800,color:m?k:"#555",whiteSpace:"nowrap"},children:p}),(0,b.jsx)(aN,{person:j,size:32,tierColors:g}),e?(0,b.jsxs)("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,b.jsxs)("span",{style:{...aX,fontSize:13,fontWeight:600,color:o?"#888":"#fff"},children:[j.name,o&&(0,b.jsx)("span",{style:{fontSize:10,color:"#666",fontWeight:400},children:" · out of network"})]}),(0,b.jsx)(aY,{p:a,route:l,tierColors:g,compact:!0}),(0,b.jsx)("span",{style:{...aX,fontSize:10,color:"#666"},children:aT(j)})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0},children:[(0,b.jsx)("span",{style:{...aX,fontSize:13,fontWeight:600,color:o?"#888":"#fff"},children:j.name}),(0,b.jsx)("span",{style:{flexShrink:0,fontSize:9,fontWeight:800,color:k,border:`1px solid ${k}55`,borderRadius:4,padding:"0 4px"},children:a.tier}),o&&(0,b.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"#666"},children:"out of network"})]}),(0,b.jsx)("div",{style:{...aX,fontSize:10,color:"#777",marginTop:2},children:aT(j)})]}),(0,b.jsx)(aY,{p:a,route:l,tierColors:g}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:k,width:`${100*Math.max(0,Math.min(1,a.score/10))}%`}})})]}),(0,b.jsxs)("div",{style:{textAlign:"right"},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:800,color:k},children:a.score.toFixed(1)}),e&&(0,b.jsx)("div",{style:{fontSize:9,color:"#666",fontWeight:700},children:a.tier})]})]})}),a$={galaxy:{component:function({connections:a,degree2:d=[],onSelect:e,tierColors:o,mode:u,focusNodeRef:C,userName:D}){let E=(0,c.useRef)(null),F=(0,c.useRef)(null),G=(0,c.useRef)(u),O=(0,c.useRef)(null),S=(0,c.useRef)(null),[T,U]=(0,c.useState)(null),[V,X]=(0,c.useState)({width:800,height:600}),Y=(0,c.useRef)(e);(0,c.useEffect)(()=>{Y.current=e});let Z="degrees"===u?d:null;return(0,c.useEffect)(()=>{let a=E.current?.parentElement;if(!a)return;let b=()=>{let b=Math.round(a.clientWidth),c=Math.round(a.clientHeight);X(a=>a.width===b&&a.height===c?a:{width:b,height:c})};b();let c=null,d=new ResizeObserver(()=>{clearTimeout(c),c=setTimeout(b,150)});return d.observe(a),()=>{d.disconnect(),clearTimeout(c)}},[]),(0,c.useEffect)(()=>{let a=a=>U(a.detail);return window.addEventListener("cluster-focus",a),()=>window.removeEventListener("cluster-focus",a)},[]),(0,c.useEffect)(()=>{if(!E.current||!a.length)return;let b=null,{width:c,height:d}=V,e=f.select(E.current);e.selectAll("*").remove();let T=u!==G.current;G.current=u;let U=T?null:F.current,X=a=>Y.current?.(a);return b="degrees"===u?function(a,b,c,d,e,g,h,o,p,u,C,D){let E,F,G,O,S,T=new Set(d.map(a=>a.profile_url)),U=[...new Set(e.map(a=>a.source_connection_id).filter(Boolean))],V=d.filter(a=>U.includes(a.id));V.length;let X=b/2,Y=c/2,Z={S:350,A:600,B:820,C:1e3,D:1150},$={S:40,A:70,B:100,C:125,D:145},_=["S","A","B","C","D"],aa={id:ah,name:u||"You",tier:"center",degree:0,power_score:10,nodeType:"center",fx:X,fy:Y},ab={},ac={};V.forEach(a=>{let b=a.tier||"D";ab[b]=(ab[b]||0)+1,ac[a.id]=ac[a.id]||0});let ad={},ae=V.map(a=>{let b=a.tier||"D",c=ab[b]||1,d=ad[b]||0;ad[b]=d+1;let e=Z[b]||600,f=2*Math.PI*d/c+(({S:0,A:Math.PI/7,B:Math.PI/4,C:Math.PI/3,D:Math.PI/2.5})[b]||0);return{id:a.id,name:a.name,tier:a.tier,degree:1,nodeType:"bridge",power_score:parseFloat(a.power_score)||1,company:a.company,role:a.role,headline:a.headline,profile_url:a.profile_url,profile_image_url:a.profile_image_url,seniority_score:a.seniority_score,company_prestige_score:a.company_prestige_score,is_catalyst:a.is_catalyst,catalyst_score:a.catalyst_score,circle_power:a.circle_power,circle_s_count:a.circle_s_count,circle_a_count:a.circle_a_count,unlocked_from_bridge_id:a.unlocked_from_bridge_id,unlocked_from_name:a.unlocked_from_name,_orbitRadius:e,x:X+Math.cos(f)*e,y:Y+Math.sin(f)*e}}),af=[];ae.forEach(a=>{let b=e.filter(b=>b.source_connection_id===a.id),c={};_.forEach(a=>{c[a]=[]}),b.forEach(a=>{(c[a.tier]||c.D).push(a)}),_.forEach(b=>{let d=c[b],e=$[b];d.forEach((b,c)=>{let f=2*Math.PI*c/Math.max(d.length,1)-Math.PI/2,g=T.has(b.profile_url);af.push({id:b.id,name:b.name,tier:b.tier,degree:2,nodeType:"degree2",power_score:parseFloat(b.power_score)||1,company:b.company,role:b.role,headline:b.headline,profile_url:b.profile_url,profile_image_url:b.profile_image_url,source_connection_id:b.source_connection_id,seniority_score:b.seniority_score,company_prestige_score:b.company_prestige_score,isMutual:g,unlock_status:b.unlock_status,x:a.x+Math.cos(f)*e,y:a.y+Math.sin(f)*e})})})});let al=[aa,...ae,...af],am=[...ae.map(a=>({source:ah,target:a.id,linkType:"bridge"})),...af.map(a=>({source:a.source_connection_id,target:a.id,linkType:"degree2"}))],an={};ae.forEach(a=>{an[a.id]=a});let ao=a=>"center"===a.nodeType?24:"bridge"===a.nodeType?16:Math.max(4,Math.min(10,1.1*(a.power_score||1))),ap=a.append("g"),aq=i.default().scaleExtent([.15,5]).on("zoom",a=>{ap.attr("transform",a.transform),p&&(p.current=a.transform)});a.call(aq),o&&a.call(aq.transform,o),C&&(C.current=d=>{let e=b/2-2.5*d.x,f=c/2-2.5*d.y;a.transition().duration(750).call(aq.transform,j.identity.translate(e,f).scale(2.5))}),D&&(D.current=()=>{let d=(ae.length>0?Math.max(...ae.map(a=>a._orbitRadius||500)):500)+200,e=Math.min(b/(2.2*d),c/(2.2*d),.85);a.transition().duration(750).call(aq.transform,j.identity.translate(b/2,c/2).scale(e).translate(-X,-Y))});let ar=a.append("defs"),as=["#FFD700","#FF6B35","#9B59B6","#3498DB"],at=0,au="#00ff88";ae.forEach((a,b)=>{let c=a.is_catalyst?au:as[at++%as.length];a._clusterColor=c;let d=ar.append("radialGradient").attr("id",`nebula-${b}`);d.append("stop").attr("offset","0%").attr("stop-color",c).attr("stop-opacity",.08),d.append("stop").attr("offset","40%").attr("stop-color",c).attr("stop-opacity",.03),d.append("stop").attr("offset","100%").attr("stop-color",c).attr("stop-opacity",0)});let av=ar.append("filter").attr("id","glow").attr("x","-50%").attr("y","-50%").attr("width","200%").attr("height","200%");av.append("feGaussianBlur").attr("stdDeviation","4").attr("result","blur"),av.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>');let aw=ar.append("filter").attr("id","bridge-glow").attr("x","-80%").attr("y","-80%").attr("width","260%").attr("height","260%");aw.append("feGaussianBlur").attr("stdDeviation","8").attr("result","blur"),aw.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>'),ar.append("style").text(`
11
- @keyframes pulse { 0%,100% { opacity: 0.6; } 50% { opacity: 1; } }
12
- @keyframes selectedPulse { 0%,100% { stroke-opacity: 0.4; r: attr(r); } 50% { stroke-opacity: 1; } }
13
- .bridge-pulse { animation: pulse 2s ease-in-out infinite; }
14
- @keyframes boundary-breathe { 0%,100% { stroke-opacity: 0.5; } 50% { stroke-opacity: 0.75; } }
15
- .boundary-ring { animation: boundary-breathe 3s ease-in-out infinite; }
16
- `);let ax=ar.append("filter").attr("id","boundary-glow").attr("x","-20%").attr("y","-20%").attr("width","140%").attr("height","140%");ax.append("feGaussianBlur").attr("stdDeviation","3").attr("result","blur"),ax.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>');let ay=ae.map((a,b)=>{let c=ap.append("g"),d=a._clusterColor,e=af.filter(b=>b.source_connection_id===a.id).length,f=af.filter(b=>b.source_connection_id===a.id&&"S"===b.tier).length;return c.append("circle").attr("r",200).attr("fill",`url(#nebula-${b})`),[{inner:0,outer:55,color:h.S,opacity:.06},{inner:55,outer:85,color:h.A,opacity:.05},{inner:85,outer:112,color:h.B,opacity:.04},{inner:112,outer:137,color:h.C,opacity:.03},{inner:137,outer:165,color:h.D,opacity:.02}].forEach(a=>{let b=(function(){var a=I,b=J,c=q(0),d=null,e=K,f=L,g=M,h=null,i=H(j);function j(){var j,k,l=+a.apply(this,arguments),m=+b.apply(this,arguments),n=e.apply(this,arguments)-z,o=f.apply(this,arguments)-z,p=r(o-n),q=o>n;if(h||(h=j=i()),m<l&&(k=m,m=l,l=k),m>1e-12)if(p>A-1e-12)h.moveTo(m*t(n),m*w(n)),h.arc(0,0,m,n,o,!q),l>1e-12&&(h.moveTo(l*t(o),l*w(o)),h.arc(0,0,l,o,n,q));else{var u,C,D=n,E=o,F=n,G=o,H=p,I=p,J=g.apply(this,arguments)/2,K=J>1e-12&&(d?+d.apply(this,arguments):x(l*l+m*m)),L=v(r(m-l)/2,+c.apply(this,arguments)),M=L,O=L;if(K>1e-12){var P=B(K/l*w(J)),Q=B(K/m*w(J));(H-=2*P)>1e-12?(P*=q?1:-1,F+=P,G-=P):(H=0,F=G=(n+o)/2),(I-=2*Q)>1e-12?(Q*=q?1:-1,D+=Q,E-=Q):(I=0,D=E=(n+o)/2)}var R=m*t(D),S=m*w(D),T=l*t(G),U=l*w(G);if(L>1e-12){var V,W=m*t(E),X=m*w(E),Y=l*t(F),Z=l*w(F);if(p<y)if(V=function(a,b,c,d,e,f,g,h){var i=c-a,j=d-b,k=g-e,l=h-f,m=l*i-k*j;if(!(m*m<1e-12))return m=(k*(b-f)-l*(a-e))/m,[a+m*i,b+m*j]}(R,S,Y,Z,W,X,T,U)){var $,_=R-V[0],aa=S-V[1],ab=W-V[0],ac=X-V[1],ad=1/w((($=(_*ab+aa*ac)/(x(_*_+aa*aa)*x(ab*ab+ac*ac)))>1?0:$<-1?y:Math.acos($))/2),ae=x(V[0]*V[0]+V[1]*V[1]);M=v(L,(l-ae)/(ad-1)),O=v(L,(m-ae)/(ad+1))}else M=O=0}I>1e-12?O>1e-12?(u=N(Y,Z,R,S,m,O,q),C=N(W,X,T,U,m,O,q),h.moveTo(u.cx+u.x01,u.cy+u.y01),O<L?h.arc(u.cx,u.cy,O,s(u.y01,u.x01),s(C.y01,C.x01),!q):(h.arc(u.cx,u.cy,O,s(u.y01,u.x01),s(u.y11,u.x11),!q),h.arc(0,0,m,s(u.cy+u.y11,u.cx+u.x11),s(C.cy+C.y11,C.cx+C.x11),!q),h.arc(C.cx,C.cy,O,s(C.y11,C.x11),s(C.y01,C.x01),!q))):(h.moveTo(R,S),h.arc(0,0,m,D,E,!q)):h.moveTo(R,S),l>1e-12&&H>1e-12?M>1e-12?(u=N(T,U,W,X,l,-M,q),C=N(R,S,Y,Z,l,-M,q),h.lineTo(u.cx+u.x01,u.cy+u.y01),M<L?h.arc(u.cx,u.cy,M,s(u.y01,u.x01),s(C.y01,C.x01),!q):(h.arc(u.cx,u.cy,M,s(u.y01,u.x01),s(u.y11,u.x11),!q),h.arc(0,0,l,s(u.cy+u.y11,u.cx+u.x11),s(C.cy+C.y11,C.cx+C.x11),q),h.arc(C.cx,C.cy,M,s(C.y11,C.x11),s(C.y01,C.x01),!q))):h.arc(0,0,l,G,F,q):h.lineTo(T,U)}else h.moveTo(0,0);if(h.closePath(),j)return h=null,j+""||null}return j.centroid=function(){var c=(+a.apply(this,arguments)+ +b.apply(this,arguments))/2,d=(+e.apply(this,arguments)+ +f.apply(this,arguments))/2-y/2;return[t(d)*c,w(d)*c]},j.innerRadius=function(b){return arguments.length?(a="function"==typeof b?b:q(+b),j):a},j.outerRadius=function(a){return arguments.length?(b="function"==typeof a?a:q(+a),j):b},j.cornerRadius=function(a){return arguments.length?(c="function"==typeof a?a:q(+a),j):c},j.padRadius=function(a){return arguments.length?(d=null==a?null:"function"==typeof a?a:q(+a),j):d},j.startAngle=function(a){return arguments.length?(e="function"==typeof a?a:q(+a),j):e},j.endAngle=function(a){return arguments.length?(f="function"==typeof a?a:q(+a),j):f},j.padAngle=function(a){return arguments.length?(g="function"==typeof a?a:q(+a),j):g},j.context=function(a){return arguments.length?(h=null==a?null:a,j):h},j})().innerRadius(a.inner).outerRadius(a.outer).startAngle(0).endAngle(2*Math.PI);c.append("path").attr("d",b()).attr("fill",a.color).attr("opacity",a.opacity)}),[{r:40,color:h.S,w:1.5,dash:"none"},{r:70,color:h.A,w:.8,dash:"4,4"},{r:100,color:h.B,w:.8,dash:"4,4"},{r:125,color:h.C,w:.6,dash:"3,5"},{r:145,color:h.D,w:.6,dash:"3,5"}].forEach(a=>{c.append("circle").attr("r",a.r).attr("fill","none").attr("stroke",a.color).attr("stroke-opacity",.2).attr("stroke-width",a.w).attr("stroke-dasharray",a.dash)}),c.append("circle").attr("r",25).attr("fill",d).attr("opacity",.15).attr("class","bridge-pulse"),a.is_catalyst&&(c.append("rect").attr("x",-40).attr("y",-185).attr("width",80).attr("height",18).attr("rx",9).attr("fill",au).attr("opacity",.9),c.append("text").attr("y",-172).text("CATALYST").attr("fill","#000").attr("font-size",9).attr("font-weight",800).attr("text-anchor","middle").attr("letter-spacing",1)),c.append("text").attr("y",a.is_catalyst?-160:-170).text(a.name+(a.company?" · "+a.company:"")).attr("fill",d).attr("font-size",10).attr("font-weight",600).attr("text-anchor","middle").attr("opacity",.8),c.append("text").attr("y",a.is_catalyst?-148:-158).text(e+" connections · "+f+" S-tier").attr("fill","rgba(255,255,255,0.35)").attr("font-size",8).attr("text-anchor","middle"),c}),az=ae.map((a,b)=>ap.append("path").attr("fill","none").attr("stroke",h.D).attr("stroke-opacity",.5).attr("stroke-width",2.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").attr("filter","url(#boundary-glow)").attr("class","boundary-ring")),aA=ap.append("g").selectAll("line").data(ae).join("line").attr("stroke",a=>a._clusterColor).attr("stroke-opacity",.4).attr("stroke-width",2.5),aB=ae.filter(a=>a.unlocked_from_bridge_id&&an[a.unlocked_from_bridge_id]),aC=ap.append("g").selectAll("line").data(aB).join("line").attr("stroke","#FF6B35").attr("stroke-width",1.5).attr("stroke-dasharray","6,4").attr("stroke-opacity",.5),aD=ap.append("g").selectAll("text").data(aB).join("text").text(a=>"unlocked via "+(a.unlocked_from_name||an[a.unlocked_from_bridge_id]?.name||"")).attr("fill","rgba(255,107,53,0.5)").attr("font-size",8).attr("text-anchor","middle").style("pointer-events","none"),aE=null,aF=ap.append("g").selectAll("circle").data(al).join("circle").attr("r",ao).attr("fill",a=>"center"===a.nodeType?"#fff":"bridge"===a.nodeType?h[a.tier]||"#FFD700":h[a.tier]||"#666").attr("stroke",a=>"center"===a.nodeType?"#FFD700":"bridge"===a.nodeType?"#fff":a.isMutual?"#00ff88":"S"===a.tier?"rgba(255,215,0,0.5)":"none").attr("stroke-width",a=>"center"===a.nodeType||"bridge"===a.nodeType?3:a.isMutual?2.5:1.5*("S"===a.tier)).attr("filter",a=>"bridge"===a.nodeType?"url(#bridge-glow)":"S"===a.tier?"url(#glow)":null).style("cursor","pointer"),aG=al.filter(a=>"center"===a.nodeType||"bridge"===a.nodeType||2===a.degree&&a.power_score>=7),aH=ap.append("g").selectAll("text").data(aG).join("text").text(a=>a.name).attr("font-size",a=>"center"===a.nodeType?15:"bridge"===a.nodeType?13:9).attr("font-weight",a=>"center"===a.nodeType||"bridge"===a.nodeType?700:600).attr("fill",a=>"center"===a.nodeType||"bridge"===a.nodeType?"#fff":h[a.tier]||"#FF6B35").attr("text-anchor","middle").attr("dy",a=>ao(a)+("bridge"===a.nodeType?24:15)).style("pointer-events","none").style("text-shadow",a=>"bridge"===a.nodeType?"0 0 10px rgba(0,0,0,0.8)":"none"),aI=am.filter(a=>"bridge"===a.linkType),aJ=new Map,aK={};af.forEach(a=>{let b=a.source_connection_id;aK[b]||(aK[b]={});let c=a.tier||"D";aK[b][c]||(aK[b][c]=[]),aK[b][c].push(a)});let aL={S:0,A:Math.PI/5,B:Math.PI/3,C:Math.PI/2.2,D:Math.PI/1.7};for(let a in aK)for(let b in aK[a]){let c=aK[a][b],d=Math.min($[b]||130,160),e=aL[b]||0;c.forEach((b,f)=>{let g=2*Math.PI*f/c.length+e;aJ.set(b.id,{angle:g,radius:d,bridgeId:a})})}let aM=k.forceSimulation(al).force("charge",m.forceManyBody().strength(a=>"center"===a.nodeType?0:"bridge"===a.nodeType?-400:0)).force("bridgeOrbit",((G=a=>{if(!F)return;let b=F.fx??F.x,c=F.fy??F.y;for(let d of E){if("bridge"!==d.nodeType)continue;let e=d._orbitRadius||500,f=d.x-b,g=d.y-c,h=Math.sqrt(f*f+g*g)||1,i=h-e;d.vx-=f/h*i*a*.4,d.vy-=g/h*i*a*.4}}).initialize=a=>{E=a,F=a.find(a=>a.id===ah)},G)).force("clusterPositioning",((S=a=>{for(let b of O){if("degree2"!==b.nodeType)continue;let c=aJ.get(b.id);if(!c)continue;let d=an[c.bridgeId];if(!d)continue;let e=c.radius;for(let a=0;a<ae.length;a++){let b=ae[a];if(b.id===c.bridgeId)continue;let f=b.x-d.x,g=b.y-d.y,h=Math.sqrt(f*f+g*g);if(h<425){let a=Math.atan2(g,f),b=Math.abs(c.angle-a);if(b>Math.PI&&(b=2*Math.PI-b),b<Math.PI/1.5){let a=Math.pow(Math.cos(1.5*b/Math.PI*(Math.PI/2)),2),c=Math.max(h/2-6-12,25);c<e&&(e=e*(1-a)+c*a)}}}let f=d.x+Math.cos(c.angle)*e,g=d.y+Math.sin(c.angle)*e;b.vx+=(f-b.x)*a*.6,b.vy+=(g-b.y)*a*.6}}).initialize=a=>{O=a},S)).force("collision",n.forceCollide().radius(a=>20*("bridge"===a.nodeType))).force("link",l.forceLink(aI).id(a=>a.id).distance(a=>a.target?._orbitRadius||500).strength(.01)).alphaDecay(.02).velocityDecay(.4),aN=!1;aM.on("tick",()=>{aF.attr("cx",a=>a.x).attr("cy",a=>a.y),aH.attr("x",a=>a.x).attr("y",a=>a.y),ay.forEach((a,b)=>{a.attr("transform",`translate(${ae[b].x},${ae[b].y})`)}),ae.forEach((a,b)=>{let c=[];for(let d=0;d<64;d++){let e=2*Math.PI*d/64,f=170;for(let c=0;c<ae.length;c++){if(b===c)continue;let d=ae[c],g=d.x-a.x,h=d.y-a.y,i=Math.sqrt(g*g+h*h);if(i<425){let a=Math.abs(e-Math.atan2(h,g));if(a>Math.PI&&(a=2*Math.PI-a),a<Math.PI/1.5){let b=Math.pow(Math.cos(1.5*a/Math.PI*(Math.PI/2)),2),c=Math.max(i/2-6,35);c<f&&(f=f*(1-b)+c*b)}}}c.push([a.x+Math.cos(e)*f,a.y+Math.sin(e)*f])}az[b].attr("d",(function(a,b){var c=q(!0),d=null,e=P,f=null,g=H(h);function h(h){var i,j,k,l,m=(h="object"==typeof(i=h)&&"length"in i?i:Array.from(i)).length,n=!1;for(null==d&&(f=e(l=g())),j=0;j<=m;++j)!(j<m&&c(k=h[j],j,h))===n&&((n=!n)?f.lineStart():f.lineEnd()),n&&f.point(+a(k,j,h),+b(k,j,h));if(l)return f=null,l+""||null}return a="function"==typeof a?a:void 0===a?Q:q(a),b="function"==typeof b?b:void 0===b?R:q(b),h.x=function(b){return arguments.length?(a="function"==typeof b?b:q(+b),h):a},h.y=function(a){return arguments.length?(b="function"==typeof a?a:q(+a),h):b},h.defined=function(a){return arguments.length?(c="function"==typeof a?a:q(!!a),h):c},h.curve=function(a){return arguments.length?(e=a,null!=d&&(f=e(d)),h):e},h.context=function(a){return arguments.length?(null==a?d=f=null:f=e(d=a),h):d},h})().curve(W.tension(.3))(c))});let a=aa.fx??aa.x,b=aa.fy??aa.y;if(aA.attr("x1",a).attr("y1",b).attr("x2",a=>a.x).attr("y2",a=>a.y),aC.attr("x1",a=>an[a.unlocked_from_bridge_id]?.x||0).attr("y1",a=>an[a.unlocked_from_bridge_id]?.y||0).attr("x2",a=>a.x).attr("y2",a=>a.y),aD.attr("x",a=>((an[a.unlocked_from_bridge_id]?.x||0)+a.x)/2).attr("y",a=>((an[a.unlocked_from_bridge_id]?.y||0)+a.y)/2-8),!aN&&.05>aM.alpha()){aN=!0;let a=am.filter(a=>"degree2"===a.linkType);aE=ap.insert("g",":first-child").selectAll("line").data(a).join("line").attr("x1",a=>a.source.x).attr("y1",a=>a.source.y).attr("x2",a=>a.target.x).attr("y2",a=>a.target.y).attr("stroke","rgba(255,255,255,0.04)").attr("stroke-width",.3)}aE&&aE.attr("x1",a=>a.source.x).attr("y1",a=>a.source.y).attr("x2",a=>a.target.x).attr("y2",a=>a.target.y)}),ak(aF,aM,ah);let aO=aj(),aP=f.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");if(aF.on("mouseover",function(a,b){if(f.select(this).attr("r",1.5*ao(b)).attr("filter","url(#glow)"),b.profile_image_url&&b.id!==ah){let c=Math.max(48,4*ao(b));aP.style("opacity",1),ai(aP,b,c,h[b.tier]||"#555"),aP.style("left",a.clientX-c/2+"px").style("top",a.clientY-c-8+"px")}let c="bridge"===b.nodeType?af.filter(a=>a.source_connection_id===b.id).length+" connections":null,d="degree2"===b.nodeType?ae.find(a=>a.id===b.source_connection_id)?.name:null;aO.style("opacity",1).html([`<strong>${ag(b.name)}</strong>`,b.role?ag(b.role.substring(0,60)):"",b.company?`<span style="color:${h[b.tier]||"#888"}">@ ${ag(b.company)}</span>`:"",b.tier&&"center"!==b.tier?`Tier ${ag(b.tier)} \xb7 Score: ${parseFloat(b.power_score).toFixed(1)}`:"",c?`<span style="color:#FFD700">${ag(c)}</span>`:"",d?`<span style="color:#FF6B35">via ${ag(d)}</span>`:"",b.isMutual?'<span style="color:#00ff88">Mutual connection</span>':""].filter(Boolean).join("<br/>")).style("left",a.clientX+12+"px").style("top",a.clientY+12+"px")}).on("mousemove",function(a,b){if(b.profile_image_url&&b.id!==ah){let c=Math.max(48,4*ao(b));aP.style("left",a.clientX-c/2+"px").style("top",a.clientY-c-8+"px")}aO.style("left",a.clientX+12+"px").style("top",a.clientY+12+"px")}).on("mouseout",function(a,b){f.select(this).attr("r",ao(b)).attr("filter","bridge"===b.nodeType?"url(#bridge-glow)":"S"===b.tier?"url(#glow)":null),aO.style("opacity",0),aP.style("opacity",0)}),aF.on("click",(b,c)=>{if(c.id!==ah&&(ap.selectAll(".selected-glow").remove(),ap.append("circle").attr("class","selected-glow").attr("cx",c.x).attr("cy",c.y).attr("r",ao(c)+8).attr("fill","none").attr("stroke",h[c.tier]||"#FFD700").attr("stroke-width",2.5).attr("stroke-opacity",.8).style("animation","selectedPulse 1.5s ease-in-out infinite"),g(c),"bridge"===c.nodeType&&C?.current&&(C.current(c),window.dispatchEvent(new CustomEvent("cluster-focus",{detail:{id:c.id,name:c.name}}))),ap.selectAll(".unlock-overlay").remove(),"degree2"===c.nodeType&&("S"===c.tier||"A"===c.tier)&&"unlocked"!==c.unlock_status)){aM.stop();let d=c.x,e=c.y,f=ap.append("g").attr("class","unlock-overlay");aF.transition().duration(300).attr("opacity",a=>a.id===c.id||a.id===ah||a.id===c.source_connection_id?1:.2),aH.transition().duration(300).attr("opacity",a=>a.id===c.id||a.id===ah||a.id===c.source_connection_id?1:.1),[30,55,80].forEach(a=>{f.append("circle").attr("cx",d).attr("cy",e).attr("r",a).attr("fill","none").attr("stroke","rgba(255,215,0,0.12)").attr("stroke-dasharray","4,4").attr("stroke-width",.8)});for(let a=0;a<8;a++){let b=2*Math.PI*a/8,c=30+50*Math.random();f.append("circle").attr("cx",d+Math.cos(b)*c).attr("cy",e+Math.sin(b)*c).attr("r",3+3*Math.random()).attr("fill","rgba(255,255,255,0.06)").attr("stroke","rgba(255,255,255,0.08)").attr("stroke-width",.5)}let g=an[c.source_connection_id];aa&&g&&(f.append("line").attr("x1",aa.x).attr("y1",aa.y).attr("x2",g.x).attr("y2",g.y).attr("stroke","#FFD700").attr("stroke-width",2).attr("stroke-opacity",.6),f.append("line").attr("x1",g.x).attr("y1",g.y).attr("x2",d).attr("y2",e).attr("stroke","#FF6B35").attr("stroke-width",2).attr("stroke-opacity",.6));let h="pending"===c.unlock_status;f.append("rect").attr("x",d-70).attr("y",e-115).attr("width",140).attr("height",h?40:55).attr("rx",8).attr("fill","rgba(0,0,0,0.92)").attr("stroke",h?"rgba(255,165,0,0.5)":"rgba(255,215,0,0.4)").attr("stroke-width",1),f.append("text").attr("x",d).attr("y",e-97).text(h?"PENDING...":"LOCKED PATH").attr("fill",h?"#FFA500":"#FFD700").attr("font-size",9).attr("font-weight",800).attr("text-anchor","middle").attr("letter-spacing",1),h?f.append("text").attr("x",d).attr("y",e-82).text("Run a scan to check").attr("fill","#888").attr("font-size",9).attr("text-anchor","middle"):(f.append("rect").attr("x",d-60).attr("y",e-84).attr("width",120).attr("height",24).attr("rx",6).attr("fill","#FFD700").style("cursor","pointer").on("click",a=>{a.stopPropagation();let b=an[c.source_connection_id];fetch("/api/unlock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connectionId:c.id,bridgeId:c.source_connection_id,bridgeName:b?.name||""})}).catch(()=>{}),window.open(c.profile_url,"_blank"),f.select("text").text("PENDING...")}),f.append("text").attr("x",d).attr("y",e-68).text("Connect to Unlock").attr("fill","#000").attr("font-size",10).attr("font-weight",700).attr("text-anchor","middle").style("pointer-events","none")),b.stopPropagation(),a.on("click.unlock",()=>{aF.transition().duration(300).attr("opacity",1),aH.transition().duration(300).attr("opacity",1),ap.selectAll(".unlock-overlay").remove(),a.on("click.unlock",null),aM.alpha(.1).restart()})}}),!o){let d=(ae.length>0?Math.max(...ae.map(a=>a._orbitRadius||500)):500)+200,e=Math.min(b/(2.2*d),c/(2.2*d),.85),f=j.identity.translate(b/2,c/2).scale(e).translate(-X,-Y);a.call(aq.transform,f),p&&(p.current=f)}return aM}(e,c,d,a,Z||[],X,o,U,F,D,O,S):function(a,b,c,d,e,g,h,o,q,r){let s=[{id:ah,name:r||"You",tier:"center",degree:0,power_score:10,fx:b/2,fy:c/2},...d.map(a=>({id:a.id,name:a.name,tier:a.tier,degree:1,power_score:parseFloat(a.power_score)||1,company:a.company,role:a.role,headline:a.headline,profile_url:a.profile_url,profile_image_url:a.profile_image_url,connected_date:a.connected_date,seniority_score:a.seniority_score,company_prestige_score:a.company_prestige_score,influence_signals:a.influence_signals,is_catalyst:a.is_catalyst,catalyst_score:a.catalyst_score,circle_power:a.circle_power,circle_s_count:a.circle_s_count,circle_a_count:a.circle_a_count}))],t=d.map(a=>({source:ah,target:a.id})),u=a=>{switch(a){case"S":return 150;case"A":return 250;case"B":return 350;case"C":return 450;default:return 520}},v=a=>a.id===ah?18:Math.max(3,Math.min(12,1.3*(a.power_score||1))),w=a.append("g"),x=i.default().scaleExtent([.3,4]).on("zoom",a=>{w.attr("transform",a.transform),q&&(q.current=a.transform)});a.call(x),o&&a.call(x.transform,o),h&&(h.current=d=>{let e=s.find(a=>a.id===d);if(!e)return;let f=b/2-2.5*e.x,h=c/2-2.5*e.y;a.transition().duration(750).call(x.transform,j.identity.translate(f,h).scale(2.5)),w.selectAll(".selected-glow").remove(),w.append("circle").attr("class","selected-glow").attr("cx",e.x).attr("cy",e.y).attr("r",v(e)+8).attr("fill","none").attr("stroke",g[e.tier]||"#FFD700").attr("stroke-width",2.5).attr("stroke-opacity",.8).style("animation","selectedPulse 1.5s ease-in-out infinite")});let y=b<768;if(y){let a={};s.forEach(b=>{let c=b.tier||"D";a[c]||(a[c]=[]),a[c].push(b)}),Object.entries(a).forEach(([a,d])=>{d.forEach((e,f)=>{if(e.id===ah){e.x=b/2,e.y=c/2,e.fx=e.x,e.fy=e.y;return}let g=u(a),h=f/d.length*Math.PI*2-Math.PI/2;e.x=b/2+g*Math.cos(h),e.y=c/2+g*Math.sin(h),e.fx=e.x,e.fy=e.y})})}let z=k.forceSimulation(s).force("link",l.forceLink(t).id(a=>a.id).distance(a=>u(a.target.tier||"D")).strength(.1*!y)).force("charge",m.forceManyBody().strength(y?0:a=>a.id===ah?-300:-15)).force("center",y?null:function(a,b){var c,d=1;function e(){var e,f,g=c.length,h=0,i=0;for(e=0;e<g;++e)h+=(f=c[e]).x,i+=f.y;for(h=(h/g-a)*d,i=(i/g-b)*d,e=0;e<g;++e)f=c[e],f.x-=h,f.y-=i}return null==a&&(a=0),null==b&&(b=0),e.initialize=function(a){c=a},e.x=function(b){return arguments.length?(a=+b,e):a},e.y=function(a){return arguments.length?(b=+a,e):b},e.strength=function(a){return arguments.length?(d=+a,e):d},e}(b/2,c/2)).force("collision",y?null:n.forceCollide().radius(a=>v(a)+2)).force("radial",y?null:p(a=>a.id===ah?0:u(a.tier),b/2,c/2).strength(.3)),A=w.append("g").selectAll("line").data(t).join("line").attr("stroke",a=>{let b=s.find(b=>b.id===(a.target.id||a.target));return g[b?.tier]||"#333"}).attr("stroke-opacity",.15).attr("stroke-width",.5),B=s.filter(a=>a.is_catalyst);if(B.length){let b=a.select("defs").size()?a.select("defs"):a.append("defs");if(!b.select("#catalyst-glow-nm").size()){let a=b.append("filter").attr("id","catalyst-glow-nm").attr("x","-60%").attr("y","-60%").attr("width","220%").attr("height","220%");a.append("feGaussianBlur").attr("stdDeviation","5").attr("result","blur"),a.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>')}w.append("g").selectAll("circle").data(B).join("circle").attr("r",a=>v(a)+6).attr("fill","none").attr("stroke","#00ff88").attr("stroke-width",2).attr("stroke-dasharray","3,3").attr("filter","url(#catalyst-glow-nm)").attr("cx",a=>a.x||0).attr("cy",a=>a.y||0).attr("class","catalyst-ring")}let C=w.append("g").selectAll("circle").data(s).join("circle").attr("r",v).attr("fill",a=>a.id===ah?"#fff":g[a.tier]||"#666").attr("stroke",a=>a.id===ah?"#FFD700":a.is_catalyst?"#00ff88":"none").attr("stroke-width",a=>a.id===ah?3:2.5*!!a.is_catalyst).style("cursor","pointer").on("click",(a,b)=>{if(b.id===ah)return;w.selectAll(".selected-glow").remove();let c=v(b);w.append("circle").attr("class","selected-glow").attr("cx",b.x).attr("cy",b.y).attr("r",c+8).attr("fill","none").attr("stroke",g[b.tier]||"#FFD700").attr("stroke-width",2.5).attr("stroke-opacity",.8).style("animation","selectedPulse 1.5s ease-in-out infinite"),e(b)}),D=aj(),E=f.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");C.on("mouseover",function(a,b){if(f.select(this).attr("r",1.5*v(b)),b.profile_image_url&&b.id!==ah){let c=Math.max(48,5*v(b));E.style("opacity",1),ai(E,b,c,g[b.tier]||"#555"),E.style("left",a.clientX-c/2+"px").style("top",a.clientY-c-8+"px"),D.style("opacity",1).html(`<strong>${ag(b.name)}</strong>`).style("left",a.clientX-40+"px").style("top",a.clientY+12+"px").style("text-align","center").style("min-width","80px")}else D.style("opacity",1).html(`<strong>${ag(b.name)}</strong>${b.company?"<br/>"+ag(b.company):""}${b.tier?"<br/>Tier: "+ag(b.tier):""}`).style("left",a.clientX+12+"px").style("top",a.clientY-10+"px")}).on("mousemove",function(a,b){if(b.profile_image_url&&b.id!==ah){let c=Math.max(48,5*v(b));E.style("left",a.clientX-c/2+"px").style("top",a.clientY-c-8+"px"),D.style("left",a.clientX-40+"px").style("top",a.clientY+12+"px")}else D.style("left",a.clientX+12+"px").style("top",a.clientY-10+"px")}).on("mouseout",function(a,b){f.select(this).attr("r",v(b)),D.style("opacity",0),E.style("opacity",0)}),ak(C,z,ah);let F=w.append("g").selectAll("text").data(s.filter(a=>a.id===ah||"S"===a.tier||a.is_catalyst)).join("text").text(a=>a.is_catalyst&&"S"!==a.tier?a.name+" ⚡":a.name).attr("font-size",a=>a.id===ah?14:10).attr("font-weight",a=>a.id===ah?700:500).attr("fill",a=>a.id===ah?"#fff":a.is_catalyst?"#00ff88":g[a.tier]).attr("text-anchor","middle").attr("dy",a=>v(a)+14).style("pointer-events","none"),G=w.selectAll(".catalyst-ring");if(z.on("tick",()=>{A.attr("x1",a=>a.source.x).attr("y1",a=>a.source.y).attr("x2",a=>a.target.x).attr("y2",a=>a.target.y),C.attr("cx",a=>a.x).attr("cy",a=>a.y),G.attr("cx",a=>a.x).attr("cy",a=>a.y),F.attr("x",a=>a.x).attr("y",a=>a.y),w.selectAll(".selected-glow").each(function(){let a=f.select(this),b=s.find(b=>b.x&&30>Math.abs(b.x-parseFloat(a.attr("cx"))));b&&a.attr("cx",b.x).attr("cy",b.y)})}),!o&&b>0&&b<768){let d=Math.min(b/1248,c/1248),e=j.identity.translate(b/2,c/2).scale(d).translate(-b/2,-c/2);a.call(x.transform,e),q&&(q.current=e)}return z}(e,c,d,a,X,o,C,U,F,D),()=>{var a;b?.stop(),("string"==typeof(a=".graph-tooltip")?new h.Selection([document.querySelectorAll(a)],[document.documentElement]):new h.Selection([(0,g.default)(a)],h.root)).remove()}},[a,Z,V,o,u]),(0,b.jsxs)("div",{style:{flex:1,position:"relative",overflow:"hidden"},children:[(0,b.jsx)("svg",{ref:E,width:V.width,height:V.height,style:{background:"#0a0a1a"}}),T&&"degrees"===u&&(0,b.jsx)("button",{onClick:()=>{U(null),S.current&&S.current()},style:{position:"absolute",top:16,left:16,zIndex:20,padding:"8px 16px",borderRadius:8,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#fff",fontSize:12,fontWeight:600,backdropFilter:"blur(8px)"},children:"← All Bridges"}),(0,b.jsxs)("div",{style:{position:"absolute",bottom:20,left:20,display:"flex",gap:12,fontSize:11,color:"#888"},children:[Object.entries(o).map(([a,c])=>(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:c,display:"inline-block"}}),a]},a)),"degrees"===u&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:0,border:"2px solid #00ff88",background:"transparent",display:"inline-block"}}),"Mutual"]}),(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:"#00ff88",display:"inline-block"}}),"Catalyst"]})]})]})]})},modes:["network"],label:"Galaxy",icon:"🌌",desc:"Force-directed layout"},orbit:{component:ao,modes:["network","degrees"],label:"Orbit",icon:"🪐",desc:"Tier orbits + circle dots; in Degrees, every mapped circle fanned out",allDegree2:!0},separation:{component:function({connections:a=[],degree2:d=[],onSelect:e,userName:f,selectedId:g,tierColors:h=aP}){let i=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),j=i?68:56,k=i?5:10,l=i?8:16,[m,n]=(0,c.useState)(""),o=(0,c.useDeferredValue)(m.trim().toLowerCase()),[p,q]=(0,c.useState)("power"),[r,s]=(0,c.useState)("all"),[t,u]=(0,c.useState)(0),[v,w]=(0,c.useState)({w:0,h:800}),[x,y]=(0,c.useState)(null),z=(0,c.useRef)(null),A=(0,c.useCallback)(a=>{z.current=a,y(a)},[]),B=(0,c.useRef)(null),C=(0,c.useMemo)(()=>(function(a=[],b=[]){let c=new Map;for(let a of b||[])c.set(a.id,a);let d=new Map,e=new Map;for(let b of a||[]){let a=aD(b);e.set(b.id,a);let c=d.get(a);c?function(a,b){let c=aC(a)-aC(b);if(c)return c>0;let d=!!a.profile_image_url;return!!b.profile_image_url!==d?d:0>aE(a.id,b.id)}(b,c.person)&&(c.person=b):(c={key:a,person:b,rowIds:[],routeIds:new Set},d.set(a,c)),c.rowIds.push(b.id),c.routeIds.add(b.source_connection_id??null)}let f={people:d.size,byTier:{S:0,A:0,B:0,C:0,D:0},multi:0,bridges:0,unresolvedIds:0,peopleOnlyUnresolved:0,onlyUnresolvedVia:0},g=new Set,h=new Set,i=new Set,j=[];for(let a of d.values()){let b=[...a.routeIds].map(a=>({id:a,bridge:c.get(a)??null}));b.sort(aG);let d=b.filter(a=>a.bridge);for(let a of b)(a.bridge?g:h).add(a.id);if(!d.length)for(let a of(f.peopleOnlyUnresolved++,b))i.add(a.id);let{person:e}=a,k=e.tier;void 0!==f.byTier[k]&&f.byTier[k]++,b.length>1&&f.multi++,j.push({key:a.key,person:e,score:aC(e),tier:k,routes:b,waysIn:b.length,rowIds:a.rowIds,haystack:[e.name,e.headline,e.company,e.role,...d.map(a=>a.bridge.name)].filter(Boolean).join("\n").toLowerCase(),rank:0,tied:!1})}return f.bridges=g.size,f.unresolvedIds=h.size,f.onlyUnresolvedVia=i.size,j.sort(aH),function(a){for(let b=0;b<a.length;b++){let c=a[b],d=a[b-1],e=d&&d.score===c.score&&d.waysIn===c.waysIn;c.rank=e?d.rank:b+1,e&&(c.tied=!0,d.tied=!0)}}(j),{people:j,rowToKey:e,summary:f}})(d,a),[d,a]),D=(0,c.useMemo)(()=>"ways"===p?[...C.people].sort(aJ):C.people,[C,p]),E=(0,c.useMemo)(()=>o||"all"!==r?D.filter(a=>("all"===r||a.tier===r)&&(!o||a.haystack.includes(o))):D,[D,o,r]),F=(0,c.useMemo)(()=>E.slice(0,k),[E,k]),G=null!=g?C.rowToKey.get(g)??null:null,H=(0,c.useRef)(e);(0,c.useEffect)(()=>{H.current=e});let I=(0,c.useCallback)(a=>H.current?.(a.person),[]),J=(0,c.useCallback)(a=>{a&&H.current?.(a)},[]);(0,c.useEffect)(()=>{if(!x)return;let a=new ResizeObserver(()=>{let a=Math.round(x.clientWidth),b=Math.round(x.clientHeight);w(c=>c.w===a&&c.h===b?c:{w:a,h:b})});return a.observe(x),()=>a.disconnect()},[x]);let K=Math.max(0,Math.min(980,v.w-2*l)),L=(0,c.useMemo)(()=>(function(a=[],b=800,c=!1){let d=c?36:26,e=Math.round(.42*b),f=Math.round(.58*b),g=a.map((a,c)=>{var e;return{key:a.key,p:a,x:f,y:16+c*d,r:(e=a.waysIn)>=4?8.5:3===e?7:2===e?5.5:4,label:aL(`#${a.rank}${a.tied?"=":""} ${a.person.name||""}`,Math.floor((b-f-60)/6.2))}}),h=new Map,i="\0unresolved";for(let a of g)for(let b of a.p.routes){let c=b.bridge?b.id:i,d=h.get(c);d||(d={id:b.bridge?b.id:null,bridge:b.bridge,unresolved:!b.bridge,ys:[],count:0},h.set(c,d)),d.count++,d.ys.push(a.y)}let j=[...h.values()].map(a=>({...a,bary:a.ys.reduce((a,b)=>a+b,0)/a.ys.length}));j.sort((a,b)=>a.bary-b.bary||a.unresolved-b.unresolved||(a.bridge&&b.bridge?aF(a.bridge,b.bridge):0));let k=g.length?g[g.length-1].y:16,l=j.length>1?Math.max(18,(k-16)/(j.length-1)):0,m=Math.max(4,Math.floor((e-10-42)/6));j.forEach((a,b)=>{if(a.x=e,a.y=1===j.length?(16+k)/2:16+b*l,a.r=5,a.unresolved)a.label=aL(`can't be named (${a.count})`,m);else{let b=a.bridge.name||"";a.label=b.length<=m?b:aL(aK(b),m)}delete a.ys});let n=new Map(j.map(a=>[a.unresolved?i:a.id,a])),o=[];for(let a of g){let b=new Set;a.p.routes.forEach((c,d)=>{let e=c.bridge?c.id:i;if(b.has(e))return;b.add(e);let f=n.get(e);o.push({key:a.key,bridgeId:f.id,primary:0===d&&!f.unresolved,unresolved:f.unresolved,tier:f.bridge?.tier??null,x1:f.x,y1:f.y,x2:a.x,y2:a.y})})}let p=Math.max(k,j.length?j[j.length-1].y:0),q=g.length?Math.ceil(p+16):0,r={x:20,y:g.length?(16+Math.max(k,p))/2:16,r:14},s=j.map(a=>({id:a.id,x1:r.x,y1:r.y,x2:a.x,y2:a.y}));return{width:b,height:q,you:r,people:g,bridges:j,links:o,spokes:s}})(F,K||800,i),[F,K,i]),M=i?58:40,N=F.length?M+L.height+12:0,O=N+28,P=O+E.length*j+72,Q=Math.max(0,Math.floor((t-O)/j)-8),R=Math.min(E.length,Q+Math.ceil(v.h/j)+16),S=(0,c.useCallback)(a=>{let b=16*Math.floor(a.currentTarget.scrollTop/16);u(a=>a===b?a:b)},[]),T=(0,c.useCallback)(()=>{z.current&&(z.current.scrollTop=0),u(0)},[]);(0,c.useEffect)(()=>{let a=a=>{if("/"!==a.key||a.metaKey||a.ctrlKey||a.altKey)return;let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||"SELECT"===b.tagName||b.isContentEditable)||(a.preventDefault(),B.current?.focus())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]);let U=a=>{n(a),T()},{summary:V}=C,W=!!o||"all"!==r,X=!f||/^you$/i.test(String(f).trim())?"You":(0,am.initialsFor)(f),Y=E.slice(Q,R);return(0,b.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",background:"#0a0a1a",color:"#fff",overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{padding:"10px 56px 8px",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:800,background:"linear-gradient(135deg, #FFD700, #FF6B35)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Separation"}),(0,b.jsx)("span",{style:{fontSize:12,color:"#aaa"},children:i?`${aS(V.people,"person","people")} \xb7 ${aR(V.byTier.S)} S \xb7 ${aR(V.multi)} with 2+ ways`:`${aS(V.people,"person","people")} two steps away \xb7 ${aR(V.byTier.S)} S-tier \xb7 ${aR(V.multi)} reachable 2+ ways \xb7 through ${aR(V.bridges)} of your connections`})]}),(0,b.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:aA.filter(a=>V.byTier[a]>0).map(a=>(0,b.jsx)("div",{style:{flex:V.byTier[a],background:h[a]||"#555"}},a))}),(0,b.jsx)("div",{style:{fontSize:11,color:"#777",lineHeight:1.4},children:i?"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."}),V.peopleOnlyUnresolved>0&&(0,b.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:[aS(V.peopleOnlyUnresolved,"of these people","of these people")," ","came only through ",aS(V.onlyUnresolvedVia,"connection record","connection records")," ","that ",1===V.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,b.jsxs)("div",{style:{padding:"0 56px 10px",flexShrink:0,display:"flex",gap:8,flexDirection:i?"column":"row",alignItems:i?"stretch":"center",flexWrap:i?"nowrap":"wrap",borderBottom:"1px solid rgba(255,255,255,0.06)"},children:[(0,b.jsx)("input",{ref:B,type:"search",value:m,onChange:a=>U(a.target.value),onKeyDown:a=>{if("Enter"===a.key){let a=m.trim().toLowerCase(),b=D.find(b=>("all"===r||b.tier===r)&&(!a||b.haystack.includes(a)));b&&I(b)}else"Escape"===a.key&&(m?U(""):a.currentTarget.blur())},placeholder:"Search people, companies, or who knows them","aria-label":"Search people, companies, or who knows them",style:{flex:i?"none":"1 1 260px",minWidth:0,height:i?44:34,boxSizing:"border-box",padding:"0 12px",borderRadius:8,outline:"none",color:"#fff",fontSize:i?16:13,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)"}}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flexWrap:i?"nowrap":"wrap",overflowX:i?"auto":"visible",scrollbarWidth:"thin",flexShrink:+!i},children:[(0,b.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(([a,c])=>(0,b.jsx)("button",{type:"button","aria-pressed":p===a,onClick:()=>{q(a),T()},style:{height:i?40:30,padding:"0 12px",border:"none",borderRadius:6,cursor:"pointer",fontSize:12,fontWeight:700,whiteSpace:"nowrap",background:p===a?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:p===a?"#000":"#999"},children:c},a))}),(0,b.jsx)("span",{style:{fontSize:10,color:"#666",whiteSpace:"nowrap",flexShrink:0,textTransform:"uppercase",letterSpacing:.5},children:"Their tier"}),["all",...aA].map(a=>{let c=r===a,d="all"===a?"#fff":h[a]||"#888",e="all"===a?V.people:V.byTier[a];return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>{s(a),T()},style:{height:i?40:30,padding:"0 10px",borderRadius:15,cursor:"pointer",flexShrink:0,fontSize:12,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${c?d:"rgba(255,255,255,0.1)"}`,background:c?`${"#fff"===d?"#ffffff":d}22`:"rgba(255,255,255,0.03)",color:c?d:"#999"},children:["all"===a?"All":a,(0,b.jsx)("span",{style:{marginLeft:5,fontWeight:500,color:c?d:"#666",opacity:.85},children:aR(e)})]},a)})]})]}),(0,b.jsx)("div",{ref:A,onScroll:S,style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",position:"relative",padding:`0 ${l}px`},children:(0,b.jsxs)("div",{style:{position:"relative",maxWidth:980,margin:"0 auto",height:P},children:[F.length>0&&(0,b.jsxs)("div",{style:{height:N,boxSizing:"border-box",paddingTop:10},children:[(0,b.jsxs)("div",{style:{height:M-10,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:"#ddd",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["Top ",aR(F.length)," of ",aR(E.length),W?" shown":""," · every way in drawn"]}),(0,b.jsxs)("div",{style:{fontSize:10,color:"#777",marginTop:2,whiteSpace:i?"normal":"nowrap",overflow:"hidden",textOverflow:"ellipsis",lineHeight:1.35},children:[(0,b.jsx)("span",{style:{color:aO},children:"solid orange"})," = top-scored bridge · dashed = other routes · dot size = ways in"]})]}),K>0&&(0,b.jsx)(aW,{layout:L,selectedKey:G,tierColors:h,youLabel:X,isMobile:i,onPick:I,onPickBridge:J})]}),E.length>0&&(0,b.jsxs)("div",{style:{height:28,display:"grid",alignItems:"center",gap:10,padding:"0 12px 0 15px",gridTemplateColumns:i?"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,b.jsx)("span",{title:"Rank by score, then ways in. = means tied",children:"#"}),(0,b.jsx)("span",{}),i?(0,b.jsx)("span",{children:"Person · way in"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"Person"}),(0,b.jsx)("span",{children:"Way in"}),(0,b.jsx)("span",{children:"Power"})]}),(0,b.jsx)("span",{style:{textAlign:"right"},children:i?"Score":""})]}),Y.map((a,c)=>(0,b.jsx)(aZ,{p:a,top:O+(Q+c)*j,height:j,isMobile:i,selected:a.key===G,tierColors:h,onPick:I,q:o},a.key)),0===E.length&&(0,b.jsxs)("div",{style:{position:"absolute",top:40,left:0,right:0,textAlign:"center",color:"#888",fontSize:13,padding:"0 16px"},children:[o?(0,b.jsxs)(b.Fragment,{children:["No one matches ‘",m.trim(),"’. Search covers names, headlines, companies and who knows them."]}):(0,b.jsxs)(b.Fragment,{children:["No ",r,"-tier people here."]}),(0,b.jsx)("div",{style:{marginTop:12},children:(0,b.jsx)("button",{type:"button",onClick:()=>{n(""),s("all"),T()},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:a,degree2:d=[],onSelect:e,userName:f}){let g=(0,c.useRef)(null),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(1.3),[n,o]=(0,c.useState)({w:800,h:600}),[p,q]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=g.current;if(!a)return;let b=()=>{let b=Math.round(a.clientWidth),c=Math.round(a.clientHeight);o(a=>a.w===b&&a.h===c?a:{w:b,h:c})},c=new ResizeObserver(b);return c.observe(a),b(),()=>c.disconnect()},[]);let r=(0,c.useRef)([]);(0,c.useEffect)(()=>{let b={};d.forEach(a=>{a.source_connection_id&&(b[a.source_connection_id]||(b[a.source_connection_id]=[]),b[a.source_connection_id].push(a))});let c=a.filter(a=>b[a.id]).sort((a,c)=>(b[c.id]?.length||0)-(b[a.id]?.length||0));r.current=c.map((a,b)=>({id:a.id,angle:b/c.length*Math.PI*2-Math.PI/2}))},[a,d]);let s=(0,c.useRef)(0);(0,c.useEffect)(()=>{let a=g.current;if(!a)return;let b=(b,c)=>{let d=a.getBoundingClientRect(),e=n.w/2,f=n.h/2,g=b-d.left,h=Math.atan2(c-d.top-f,g-e),i=null,j=1/0;return r.current.forEach(a=>{let b=Math.abs(h-a.angle);b>Math.PI&&(b=2*Math.PI-b),b<j&&(j=b,i=a.id)}),i},c=a=>{if(q(!0),a.touches[0]){let c=b(a.touches[0].clientX,a.touches[0].clientY);c&&i(c)}},d=a=>{a.preventDefault();let c=Date.now();if(!(c-s.current<16)&&(s.current=c,a.touches[0])){let c=b(a.touches[0].clientX,a.touches[0].clientY);c&&i(c)}},e=()=>{q(!1)};return a.addEventListener("touchstart",c,{passive:!1}),a.addEventListener("touchmove",d,{passive:!1}),a.addEventListener("touchend",e),()=>{a.removeEventListener("touchstart",c),a.removeEventListener("touchmove",d),a.removeEventListener("touchend",e)}},[n,l]);let t={};d.forEach(a=>{a.source_connection_id&&(t[a.source_connection_id]||(t[a.source_connection_id]=[]),t[a.source_connection_id].push(a))});let u=a.filter(a=>t[a.id]&&t[a.id].length>0).sort((a,b)=>(t[b.id]?.length||0)-(t[a.id]?.length||0)),v=n.w/2,w=n.h/2,x=Math.min(v,w)-30;if(j){let c=u.find(a=>a.id===j);if(!c)return k(null),null;let d=(t[c.id]||[]).sort((a,b)=>{let c={S:0,A:1,B:2,C:3,D:4};return(c[a.tier]||9)-(c[b.tier]||9)||(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)}),f=.7*x,l=(a,b)=>{if(!g.current)return;let c=g.current.getBoundingClientRect(),e=a-c.left,f=Math.atan2(b-c.top-w,e-v),h=null,j=1/0;d.forEach((a,b)=>{let c=Math.abs(f-(b/d.length*Math.PI*2-Math.PI/2));c>Math.PI&&(c=2*Math.PI-c),c<j&&(j=c,h=a.id)}),h&&i(h)};return(0,b.jsxs)("div",{ref:g,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},onTouchStart:a=>{a.touches[0]&&l(a.touches[0].clientX,a.touches[0].clientY)},onTouchMove:a=>{a.preventDefault(),a.touches[0]&&l(a.touches[0].clientX,a.touches[0].clientY)},onTouchEnd:()=>{if(h){let a=d.find(a=>a.id===h);a&&e&&e(a)}},children:[(0,b.jsxs)("svg",{width:n.w,height:n.h,children:[(0,b.jsx)("defs",{children:(0,b.jsxs)("filter",{id:"focusGlow",children:[(0,b.jsx)("feGaussianBlur",{stdDeviation:"4",result:"blur"}),(0,b.jsxs)("feMerge",{children:[(0,b.jsx)("feMergeNode",{in:"blur"}),(0,b.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})}),(0,b.jsx)("circle",{cx:v,cy:w,r:f,fill:"none",stroke:`${aq[2]}08`,strokeWidth:1}),h&&(0,b.jsx)("circle",{cx:v,cy:w,r:.93*x,fill:"none",stroke:`${aq[3]}10`,strokeWidth:1,strokeDasharray:"3,5"}),d.map((a,c)=>{let e=c/d.length*Math.PI*2-Math.PI/2,g=v+f*Math.cos(e),i=w+f*Math.sin(e),j=h===a.id;return(0,b.jsx)("line",{x1:v,y1:w,x2:g,y2:i,stroke:ap[a.tier]||"#555",strokeWidth:j?2:.5,strokeOpacity:j?.8:.12},"fl-"+c)}),d.map((c,g)=>{let j=g/d.length*Math.PI*2-Math.PI/2,k=v+f*Math.cos(j),l=w+f*Math.sin(j),m=h===c.id,n="S"===c.tier?7:"A"===c.tier?6:"B"===c.tier?5:4,o="accepted"===c.outreach_status||a.some(a=>a.profile_url===c.profile_url&&"accepted"===a.outreach_status),p=.93*x;return(0,b.jsxs)("g",{onClick:()=>e&&e(c),onMouseEnter:()=>i(c.id),onMouseLeave:()=>i(null),style:{cursor:"pointer"},children:[o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("circle",{cx:k,cy:l,r:n+6,fill:"none",stroke:aq[3],strokeWidth:1.5,strokeOpacity:.2,children:[(0,b.jsx)("animate",{attributeName:"r",values:`${n+4};${n+9};${n+4}`,dur:"2s",repeatCount:"indefinite"}),(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.1;0.4;0.1",dur:"2s",repeatCount:"indefinite"})]}),(0,b.jsxs)("circle",{cx:k,cy:l,r:n+1,fill:aq[3],fillOpacity:.3,stroke:"none",children:[(0,b.jsx)("animate",{attributeName:"fill",values:"#3498DB;#FFD700;#FF6B35;#9B59B6;#3498DB",dur:"4s",repeatCount:"indefinite"}),(0,b.jsx)("animate",{attributeName:"fillOpacity",values:"0.2;0.4;0.2",dur:"2s",repeatCount:"indefinite"})]}),Array.from({length:3},(a,c)=>{let d=.25*Math.PI,e=j-d/2+c/2*d,f=v+p*Math.cos(e),g=w+p*Math.sin(e);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:k,y1:l,x2:f,y2:g,stroke:aq[3],strokeWidth:.6,strokeOpacity:.1,strokeDasharray:"3,4",children:(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.05;0.2;0.05",dur:"3s",repeatCount:"indefinite"})}),(0,b.jsxs)("circle",{cx:f,cy:g,r:4,fill:aq[3],fillOpacity:.2,stroke:aq[3],strokeWidth:.8,strokeOpacity:.2,children:[(0,b.jsx)("animate",{attributeName:"fillOpacity",values:"0.1;0.35;0.1",dur:"2.5s",repeatCount:"indefinite"}),(0,b.jsx)("animate",{attributeName:"r",values:"3;5;3",dur:"3s",repeatCount:"indefinite"})]})]},"d3g-"+c)})]}),!o&&("S"===c.tier||"A"===c.tier)&&(0,b.jsx)("circle",{cx:k,cy:l,r:n+4,fill:`${ap[c.tier]}12`}),(0,b.jsx)("circle",{cx:k,cy:l,r:m?n+2:n,fill:o?aq[3]:ap[c.tier]||"#555",fillOpacity:m?1:o?.7:.5,stroke:m?"#fff":o?aq[3]:"none",strokeWidth:m?2:1.5*!!o,children:o&&!m&&(0,b.jsx)("animate",{attributeName:"fill",values:"#3498DB;#FFD700;#FF6B35;#3498DB",dur:"4s",repeatCount:"indefinite"})}),m&&(0,b.jsxs)("g",{children:[(0,b.jsx)("rect",{x:k-70,y:l-36,width:140,height:28,rx:6,fill:"rgba(0,0,0,0.92)",stroke:o?aq[3]:ap[c.tier],strokeWidth:.5}),(0,b.jsx)("text",{x:k,y:l-20,textAnchor:"middle",fill:"#fff",fontSize:10,fontWeight:700,children:c.name?.substring(0,22)}),(0,b.jsx)("text",{x:k,y:l-10,textAnchor:"middle",fill:o?aq[3]:ap[c.tier],fontSize:8,children:o?"⚡ Bridge to unlock D3":`${c.tier} \xb7 ${parseFloat(c.power_score||0).toFixed(1)}`})]}),("S"===c.tier||o)&&!m&&(0,b.jsx)("text",{x:k,y:l+n+12,textAnchor:"middle",fill:o?aq[3]:"#aaa",fontSize:8,fontWeight:o?700:400,children:c.name?.split(" ")[0]})]},"fn-"+g)}),h&&(()=>{let a=d.findIndex(a=>a.id===h);if(-1===a)return null;let c=a/d.length*Math.PI*2-Math.PI/2,e=v+f*Math.cos(c),g=w+f*Math.sin(c),i=.93*x,j=.35*Math.PI;return Array.from({length:5},(a,d)=>{let f=c-j/2+d/4*j,h=v+i*Math.cos(f),k=w+i*Math.sin(f);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:e,y1:g,x2:h,y2:k,stroke:aq[3],strokeWidth:.8,strokeOpacity:.2,strokeDasharray:"3,3"}),(0,b.jsx)("circle",{cx:h,cy:k,r:9,fill:"rgba(52,152,219,0.06)",stroke:aq[3],strokeWidth:1.5,strokeOpacity:.3,strokeDasharray:"2,2"}),(0,b.jsx)("text",{x:h,y:k+4,textAnchor:"middle",fill:aq[3],fontSize:12,fontWeight:800,fillOpacity:.5,children:"?"})]},"g3-"+d)})})(),(0,b.jsx)("circle",{cx:v,cy:w,r:28,fill:"#0a0a1a",stroke:ap[c.tier],strokeWidth:3,filter:"url(#focusGlow)"}),c.profile_image_url?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("clipPath",{id:"focus-clip",children:(0,b.jsx)("circle",{cx:v,cy:w,r:24})}),(0,b.jsx)("image",{href:c.profile_image_url,x:v-24,y:w-24,width:48,height:48,clipPath:"url(#focus-clip)"})]}):(0,b.jsx)("text",{x:v,y:w+5,textAnchor:"middle",fill:ap[c.tier],fontSize:16,fontWeight:800,children:c.name?.charAt(0)}),(0,b.jsx)("text",{x:v,y:w+38,textAnchor:"middle",fill:"#fff",fontSize:11,fontWeight:700,children:c.name}),(0,b.jsxs)("text",{x:v,y:w+50,textAnchor:"middle",fill:"#888",fontSize:9,children:[d.length," D2 connections"]})]}),(0,b.jsx)("button",{onClick:()=>k(null),style:{position:"absolute",top:16,left:16,padding:"8px 16px",borderRadius:8,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.08)",color:"#aaa",fontSize:12,fontWeight:600},children:"← All Bridges"}),(0,b.jsxs)("div",{style:{position:"absolute",bottom:20,left:20,background:"rgba(0,0,0,0.75)",borderRadius:10,padding:"10px 14px",backdropFilter:"blur(8px)"},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1,marginBottom:6},children:"CLUSTER BREAKDOWN"}),["S","A","B","C","D"].map(a=>{let c=d.filter(b=>b.tier===a).length;return 0===c?null:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:3},children:[(0,b.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:ap[a]}}),(0,b.jsxs)("span",{style:{fontSize:10,color:ap[a],fontWeight:600,width:40},children:[a,"-Tier"]}),(0,b.jsx)("span",{style:{fontSize:10,color:"#888"},children:c})]},a)})]})]})}let y=.55*x,z=.82*x,A=u.map((a,b)=>{let c=b/u.length*Math.PI*2-Math.PI/2;return{...a,x:v+y*Math.cos(c),y:w+y*Math.sin(c),angle:c,clusterSize:(t[a.id]||[]).length}}),B=a.filter(a=>"accepted"===a.outreach_status&&!t[a.id]);B.map((a,b)=>{let c=b/Math.max(B.length,1)*Math.PI*2-Math.PI/2;return{...a,x:v+z*Math.cos(c),y:w+z*Math.sin(c),angle:c}});let C=d.length,D=d.filter(a=>"S"===a.tier).length,E=d.filter(a=>"A"===a.tier).length;return(0,b.jsxs)("div",{ref:g,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},children:[(0,b.jsx)("svg",{width:n.w,height:n.h,children:(0,b.jsxs)("g",{transform:`translate(${v*(1-l)}, ${w*(1-l)}) scale(${l})`,children:[(0,b.jsx)("circle",{cx:v,cy:w,r:y,fill:"none",stroke:`${aq[1]}10`,strokeWidth:1}),h&&(0,b.jsx)("circle",{cx:v,cy:w,r:.88*x,fill:"none",stroke:`${aq[2]}08`,strokeWidth:1}),h&&(()=>{let a=A.find(a=>a.id===h);if(!a)return null;let c=(t[a.id]||[]).filter(a=>"S"===a.tier||"A"===a.tier||"B"===a.tier),d=.75*x,e=.95*x,f=Math.min(.8*Math.PI,c.length/40*Math.PI),g=a.angle-f/2;return(0,b.jsxs)("g",{children:[(0,b.jsx)("circle",{cx:v,cy:w,r:d,fill:"none",stroke:`${aq[2]}06`,strokeWidth:1}),(0,b.jsx)("circle",{cx:v,cy:w,r:e,fill:"none",stroke:`${aq[3]}05`,strokeWidth:1,strokeDasharray:"3,5"}),c.map((h,i)=>{let j=g+(c.length>1?i/(c.length-1):.5)*f,k=v+d*Math.cos(j),l=w+d*Math.sin(j),m="S"===h.tier?5:"A"===h.tier?4:3,n="S"===h.tier||"A"===h.tier,o=v+e*Math.cos(j),p=w+e*Math.sin(j);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:a.x,y1:a.y,x2:k,y2:l,stroke:ap[h.tier],strokeWidth:.5,strokeOpacity:.15}),(0,b.jsx)("circle",{cx:k,cy:l,r:m,fill:ap[h.tier],fillOpacity:.45,stroke:ap[h.tier],strokeWidth:.5,strokeOpacity:.25}),"S"===h.tier&&(0,b.jsx)("text",{x:k,y:l+m+10,textAnchor:"middle",fill:"#aaa",fontSize:7,children:h.name?.split(" ")[0]}),n&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("line",{x1:k,y1:l,x2:o,y2:p,stroke:aq[3],strokeWidth:.5,strokeOpacity:.12,strokeDasharray:"2,3"}),(0,b.jsx)("circle",{cx:o,cy:p,r:6,fill:"rgba(52,152,219,0.04)",stroke:aq[3],strokeWidth:1,strokeOpacity:.2,strokeDasharray:"2,2"}),(0,b.jsx)("text",{x:o,y:p+3.5,textAnchor:"middle",fill:aq[3],fontSize:9,fontWeight:700,fillOpacity:.35,children:"?"})]})]},"pv-"+i)})]})})(),h&&(()=>{let a=A.find(a=>a.id===h);if(!a)return null;let c=B.filter(b=>!!d.find(c=>c.profile_url===b.profile_url&&c.source_connection_id===a.id));if(0===c.length)return null;let f=.75*x;return c.map((c,d)=>{let g=Math.min(.8*Math.PI,(t[a.id]||[]).filter(a=>"S"===a.tier||"A"===a.tier||"B"===a.tier).length/40*Math.PI),h=a.angle+g/2+.15+.25*d,i=v+f*Math.cos(h),j=w+f*Math.sin(h),l=.95*x;return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:a.x,y1:a.y,x2:i,y2:j,stroke:aq[3],strokeWidth:1.5,strokeOpacity:.3,children:(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.15;0.5;0.15",dur:"2s",repeatCount:"indefinite"})}),(0,b.jsxs)("circle",{cx:i,cy:j,r:16,fill:"none",stroke:aq[3],strokeWidth:1,strokeOpacity:.1,children:[(0,b.jsx)("animate",{attributeName:"r",values:"14;19;14",dur:"2s",repeatCount:"indefinite"}),(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.05;0.25;0.05",dur:"2s",repeatCount:"indefinite"})]}),(0,b.jsxs)("circle",{cx:i,cy:j,r:12,fill:aq[3],fillOpacity:.3,stroke:aq[3],strokeWidth:2,onClick:()=>{e&&e(c),k(a.id)},style:{cursor:"pointer"},children:[(0,b.jsx)("animate",{attributeName:"fill",values:"rgba(52,152,219,0.3);rgba(255,215,0,0.3);rgba(52,152,219,0.3)",dur:"3s",repeatCount:"indefinite"}),(0,b.jsx)("animate",{attributeName:"stroke",values:"#3498DB;#FFD700;#3498DB",dur:"3s",repeatCount:"indefinite"})]}),(0,b.jsx)("text",{x:i,y:j+20,textAnchor:"middle",fill:"#fff",fontSize:9,fontWeight:700,children:c.name?.split(" ")[0]}),Array.from({length:4},(a,c)=>{let d=.3*Math.PI,e=h-d/2+c/3*d,f=v+l*Math.cos(e),g=w+l*Math.sin(e);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:i,y1:j,x2:f,y2:g,stroke:aq[3],strokeWidth:.5,strokeOpacity:.12,children:(0,b.jsx)("animate",{attributeName:"stroke-opacity",values:"0.06;0.18;0.06",dur:"2.5s",repeatCount:"indefinite"})}),(0,b.jsx)("circle",{cx:f,cy:g,r:5,fill:aq[3],fillOpacity:.25,stroke:aq[3],strokeWidth:1,strokeOpacity:.2,children:(0,b.jsx)("animate",{attributeName:"fillOpacity",values:"0.15;0.35;0.15",dur:"2s",repeatCount:"indefinite"})})]},"pg-"+c)})]},"promo-"+d)})})(),A.map(a=>{let c=h===a.id,e=(t[a.id]||[]).filter(a=>"S"===a.tier).length,f=(t[a.id]||[]).filter(a=>"A"===a.tier).length,g=B.some(b=>d.some(c=>c.profile_url===b.profile_url&&c.source_connection_id===a.id));return(0,b.jsxs)("g",{onClick:()=>k(a.id),onMouseEnter:()=>i(a.id),onMouseLeave:()=>i(null),style:{cursor:"pointer"},children:[(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?20:16,fill:`${ap[a.tier]}08`,stroke:`${ap[a.tier]}${c?"60":"25"}`,strokeWidth:1}),g&&(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?22:18,fill:"none",strokeWidth:2,strokeOpacity:.6,children:(0,b.jsx)("animate",{attributeName:"stroke",values:"#3498DB;#FFD700;#FF6B35;#9B59B6;#3498DB",dur:"4s",repeatCount:"indefinite"})}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?13:11,fill:a.profile_image_url?"#1a1a2e":ap[a.tier],stroke:c?"#fff":g?"#3498DB":ap[a.tier],strokeWidth:c?2.5:2,children:g&&!c&&(0,b.jsx)("animate",{attributeName:"stroke",values:"#3498DB;#FFD700;#FF6B35;#9B59B6;#3498DB",dur:"4s",repeatCount:"indefinite"})}),a.profile_image_url&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("clipPath",{id:"bc-"+a.id,children:(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?11:9})}),(0,b.jsx)("image",{href:a.profile_image_url,x:a.x-(c?11:9),y:a.y-(c?11:9),width:c?22:18,height:c?22:18,clipPath:`url(#bc-${a.id})`})]}),!a.profile_image_url&&(0,b.jsx)("text",{x:a.x,y:a.y+4,textAnchor:"middle",fill:"S"===a.tier?"#000":"#fff",fontSize:11,fontWeight:700,children:a.name?.charAt(0)}),(0,b.jsx)("text",{x:a.x,y:a.y+(c?24:22),textAnchor:"middle",fill:"#fff",fontSize:9,fontWeight:600,children:a.name?.split(" ")[0]}),(0,b.jsxs)("text",{x:a.x,y:a.y+(c?34:32),textAnchor:"middle",fill:"#888",fontSize:7,children:[a.clusterSize," · ",e>0?e+"S ":"",f>0?f+"A":""]})]},"b-"+a.id)}),(0,b.jsx)("circle",{cx:v,cy:w,r:22,fill:"#0a0a1a",stroke:"#FFD700",strokeWidth:3}),(0,b.jsx)("text",{x:v,y:w+4,textAnchor:"middle",fill:"#FFD700",fontSize:11,fontWeight:800,children:f?.split(" ")[0]||"YOU"})]})}),(0,b.jsxs)("div",{style:{position:"absolute",bottom:20,right:20,zIndex:20,display:"flex",flexDirection:"column",gap:4},children:[(0,b.jsx)("button",{onClick:()=>m(a=>Math.min(3,a+.3)),style:{width:32,height:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#fff",fontSize:18,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)"},children:"+"}),(0,b.jsx)("button",{onClick:()=>m(1.3),style:{width:32,height:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.06)",color:"#666",fontSize:10,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},children:"⊙"}),(0,b.jsx)("button",{onClick:()=>m(a=>Math.max(.4,a-.3)),style:{width:32,height:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#fff",fontSize:18,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)"},children:"−"})]}),(0,b.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,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1.5,marginBottom:8},children:"DEGREES OF SEPARATION"}),(0,b.jsx)("div",{style:{display:"flex",gap:8},children:[1,2,3,4,5,6].map(c=>(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsxs)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:11,fontWeight:800,display:"flex",alignItems:"center",justifyContent:"center",background:c<=2?aq[c]:"rgba(255,255,255,0.04)",color:c<=2?"#000":"#333",border:c<=2?"none":"1px solid rgba(255,255,255,0.08)",boxShadow:c<=2?`0 0 6px ${aq[c]}30`:"none"},children:["D",c]}),(0,b.jsx)("div",{style:{fontSize:7,color:c<=2?"#aaa":"#333",marginTop:3},children:1===c?a.length:2===c?C:"—"})]},c))}),(0,b.jsxs)("div",{style:{fontSize:9,color:"#555",marginTop:8},children:[u.length," bridges · ",D," S + ",E," A at D2"]}),(0,b.jsx)("div",{style:{fontSize:8,color:"#444",marginTop:4},children:"Click a bridge to see their D2 paths"})]})]})},modes:["degrees"],label:"Bridge Chains",icon:"🔗",desc:"Degree paths"},revolver:{component:function({connections:a=[],degree2:d=[],onSelect:e,userName:g="You",userImage:h=null}){let i=(0,c.useRef)(null),j=(0,c.useRef)(null),k=(0,c.useRef)(0),l=(0,c.useRef)(null),m=(0,c.useRef)(!1),n=(0,c.useRef)({onSelect:e}),[o,p]=(0,c.useState)({w:0,h:0}),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(0),u=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}();(0,c.useEffect)(()=>{n.current={onSelect:e}},[e]);let{bridges:v,clusters:w}=(0,c.useMemo)(()=>{let b=new Map;for(let a of d){let c=a.source_connection_id;if(!c)continue;let d=b.get(c);d?d.push(a):b.set(c,[a])}let c=a.filter(a=>b.has(a.id)).sort((a,b)=>(Number(b.circle_power)||0)-(Number(a.circle_power)||0));return{bridges:c.length?c:[...a].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)),clusters:b}},[a,d]),x=(0,c.useMemo)(()=>`${v.map(a=>a.id).join(",")}|${d.length}|${s}`,[v,d,s]),y=(0,c.useRef)({bridges:v,clusters:w});return(0,c.useEffect)(()=>{y.current={bridges:v,clusters:w}},[v,w]),(0,c.useEffect)(()=>{!q&&v.length&&r(v[0].id)},[q,v]),(0,c.useEffect)(()=>{let a=i.current;if(!a)return;let b=()=>{let b=a.getBoundingClientRect();p(a=>{let c=Math.round(b.width),d=Math.round(b.height);return a.w===c&&a.h===d?a:{w:c,h:d}})};b();let c=new ResizeObserver(b);return c.observe(a),window.addEventListener("resize",b),()=>{c.disconnect(),window.removeEventListener("resize",b)}},[]),(0,c.useEffect)(()=>{let a=j.current,{w:b,h:c}=o;if(!a||b<80||c<80)return;let{bridges:d,clusters:e}=y.current,i=d.length;if(0===i)return;let p=372*!u,v=u?56:70,w=u?32:40,x=v+2*w,z=Math.max(90,Math.min(u?150:230,(c-x-84)/2,(b-p)/2-56)),A=u?b/2:Math.max(z+60,(b-p)/2),B=Math.max(z+x+38,Math.min(c-z-46,c*(u?.42:.55))),C=Math.max(12,Math.floor(2*Math.PI*z/25)),D=Math.max(1,Math.ceil(i/C)),E=(s%D+D)%D,F=E*C,G=i>C?d.slice(F,F+C):d,H=G.length;if(0===H)return;let I=(0,f.select)(a);I.selectAll("*").remove(),I.attr("viewBox",`0 0 ${b} ${c}`),a.style.cursor="grab";let J=2*Math.PI/H,K=a=>ar+a*J,L=2*Math.PI*z/Math.max(1,H),M=Math.max(9,Math.min(26,L/2.6)),N=L>70,O=G.findIndex(a=>a.id===q);O<0&&(O=0);let P=G[O],Q=I.append("defs");Q.append("filter").attr("id","bridge-cloud-blur").attr("x","-40%").attr("y","-40%").attr("width","180%").attr("height","180%").append("feGaussianBlur").attr("stdDeviation",5);let R=Q.append("radialGradient").attr("id","bridge-nebula").attr("cx","50%").attr("cy","50%").attr("r","50%");function S(a,b){if(a.append("circle").attr("r",b.r).attr("fill",b.fill).attr("stroke","rgba(255,255,255,0.25)").attr("stroke-width",1),b.showInitials&&a.append("text").attr("text-anchor","middle").attr("dy","0.35em").attr("font-size",Math.max(6.5,.72*b.r)).attr("font-weight",700).attr("fill",b.textFill??"rgba(8,10,25,0.92)").attr("pointer-events","none").text((0,am.initialsFor)(b.name)),b.imageUrl){let c=`bridgering-clip-${String(b.key).replace(/[^\w-]/g,"_")}`;Q.append("clipPath").attr("id",c).append("circle").attr("r",b.r),a.append("image").attr("href",b.imageUrl).attr("x",-b.r).attr("y",-b.r).attr("width",2*b.r).attr("height",2*b.r).attr("clip-path",`url(#${c})`).attr("preserveAspectRatio","xMidYMid slice").attr("pointer-events","none").on("error",a=>{(0,f.select)(a.currentTarget).attr("display","none")})}}R.append("stop").attr("offset","0%").attr("stop-color","currentColor").attr("stop-opacity",.22),R.append("stop").attr("offset","60%").attr("stop-color","currentColor").attr("stop-opacity",.06),R.append("stop").attr("offset","100%").attr("stop-color","currentColor").attr("stop-opacity",0),I.append("circle").attr("cx",A).attr("cy",B).attr("r",z).attr("fill","none").attr("stroke","rgba(255,255,255,0.06)").attr("stroke-width",1.5).attr("stroke-dasharray","2 7");let T=I.append("line").attr("x1",A).attr("y1",B).attr("stroke","rgba(255,255,255,0.15)").attr("stroke-width",1),U=I.append("g").attr("transform",`translate(${A}, ${B-z})`).append("g").attr("transform","scale(0.88)").style("opacity",0).style("transition","opacity 260ms ease"),V=null,W=null,X=a=>U.attr("transform",`scale(${a})`);function Y(){U.style("opacity",0),X(.92)}function Z(){let a,b;U.style("opacity",1),U.selectAll(".cluster-node, .cluster-chip").style("opacity",1),null!==V&&cancelAnimationFrame(V),null!==W&&clearTimeout(W),a=performance.now(),b=c=>{let d=Math.min(1,(c-a)/300);X(.9+.09999999999999998*(1-Math.pow(1-d,3))),V=d<1?requestAnimationFrame(b):null},V=requestAnimationFrame(b),W=setTimeout(()=>{X(1),W=null},420)}let $=!1,_=e.get(P.id)??[],aa=[..._].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,24);if(aa.length>0){let a=aa.length<=6?2:3,b=100*Math.PI/180,c=Array.from({length:a},()=>[]);aa.forEach((b,d)=>c[d%a].push(d));let d=[];c.forEach((a,c)=>{let e=z+v+c*w;a.forEach((c,f)=>{let g=1===a.length?ar:ar-b/2+b*f/(a.length-1),h=aa[c];d.push({c:h,x:e*Math.cos(g),y:e*Math.sin(g)+z,r:Math.max(5,Math.min(9,5+(Number(h.power_score)||0)/13*4))})})});let e=[];d.forEach(a=>{for(let b=0;b<8;b++){let c=b/8*Math.PI*2;e.push({x:a.x+(a.r+18)*Math.cos(c),y:a.y+(a.r+18)*Math.sin(c)})}});let f=function(a){let b=a.length;if(b<3)return"";let c=`M ${a[0].x.toFixed(1)} ${a[0].y.toFixed(1)}`;for(let d=0;d<b;d++){let e=a[(d-1+b)%b],f=a[d],g=a[(d+1)%b],h=a[(d+2)%b],i=f.x+(g.x-e.x)/6,j=f.y+(g.y-e.y)/6,k=g.x-(h.x-f.x)/6,l=g.y-(h.y-f.y)/6;c+=` C ${i.toFixed(1)} ${j.toFixed(1)}, ${k.toFixed(1)} ${l.toFixed(1)}, ${g.x.toFixed(1)} ${g.y.toFixed(1)}`}return`${c} Z`}(function(a){let b=[...a].sort((a,b)=>a.x-b.x||a.y-b.y);if(b.length<=2)return b;let c=(a,b,c)=>(b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x),d=[];for(let a of b){for(;d.length>=2&&0>=c(d[d.length-2],d[d.length-1],a);)d.pop();d.push(a)}let e=[];for(let a=b.length-1;a>=0;a--){let d=b[a];for(;e.length>=2&&0>=c(e[e.length-2],e[e.length-1],d);)e.pop();e.push(d)}return d.pop(),e.pop(),d.concat(e)}(e)),g=am.TIER_COLORS[P.tier]||am.TIER_COLORS.D,h=d.reduce((a,b)=>a+b.x,0)/d.length,i=d.reduce((a,b)=>a+b.y,0)/d.length,j=Math.max(...d.map(a=>Math.hypot(a.x-h,a.y-i)))+40;U.append("circle").attr("cx",h).attr("cy",i).attr("r",j).style("color",g).attr("fill","url(#bridge-nebula)"),f&&(U.append("path").attr("d",f).attr("fill",g).attr("fill-opacity",.07).attr("filter","url(#bridge-cloud-blur)"),U.append("path").attr("d",f).attr("fill","none").attr("stroke",g).attr("stroke-opacity",.2).attr("stroke-width",1)),d.forEach(a=>{U.append("line").attr("x1",0).attr("y1",0).attr("x2",a.x).attr("y2",a.y).attr("stroke","rgba(255,255,255,0.06)").attr("stroke-width",1)}),d.forEach((a,b)=>{let c=U.append("g").attr("class","cluster-node").attr("transform",`translate(${a.x}, ${a.y})`).style("cursor","pointer").style("opacity",0).style("transition",`opacity 200ms ease ${16*b}ms`);S(c,{key:`c-${a.c.id}`,r:a.r,fill:am.TIER_COLORS[a.c.tier]||am.TIER_COLORS.D,name:a.c.name,imageUrl:a.c.profile_image_url,showInitials:a.r>=8}),c.append("title").text(a.c.headline?`${a.c.name} — ${a.c.headline}`:a.c.name),c.on("click",b=>{if(b.stopPropagation(),$){$=!1;return}n.current.onSelect?.(a.c)})});let k=Math.min(...d.map(a=>a.y-a.r))-22,l=P.circle_s_count??0,m=P.circle_a_count??0,o=d.length<_.length?`showing ${d.length} of ${_.length}`:`${d.length} people`,p=P.is_catalyst?`⚡ catalyst circle \xb7 ${o}`:`circle unlocked \xb7 ${o} \xb7 ${l}S ${m}A`,q=U.append("g").attr("class","cluster-chip").attr("transform",`translate(${h}, ${k})`).style("opacity",0).style("transition",`opacity 240ms ease ${16*d.length+80}ms`),r=q.append("text").attr("text-anchor","middle").attr("dy","0.35em").attr("font-size",11).attr("font-weight",600).attr("fill",P.is_catalyst?am.TIER_COLORS.S:"#e2e8f0").text(p),s=(r.node()?.getComputedTextLength()??6*p.length)+20;q.insert("rect","text").attr("x",-s/2).attr("y",-11).attr("width",s).attr("height",22).attr("rx",11).attr("fill","rgba(10,10,25,0.75)").attr("stroke",P.is_catalyst?am.TIER_COLORS.S:"rgba(255,255,255,0.15)").attr("stroke-opacity",P.is_catalyst?.6:1).attr("stroke-width",1)}let ab=I.append("g"),ac=G.map((a,b)=>{let c=N?Math.min(M,14+(Number(a.power_score)||0)):M+4*(b===O),d=b===O,e=ab.append("g").style("cursor","pointer").attr("opacity",d?1:.6);if(a.is_catalyst&&e.append("circle").attr("r",c+4).attr("fill","none").attr("stroke",am.TIER_COLORS.S).attr("stroke-opacity",.85).attr("stroke-width",1.5),d&&e.append("circle").attr("r",c+(a.is_catalyst?8:5)).attr("fill","none").attr("stroke","rgba(255,255,255,0.35)").attr("stroke-width",1),S(e,{key:`b-${a.id}`,r:c,fill:am.TIER_COLORS[a.tier]||am.TIER_COLORS.D,name:a.name,imageUrl:a.profile_image_url,showInitials:!0}),!N&&!d)return e;let f=e.append("g").attr("opacity",d?1:u?.15:.7).attr("pointer-events","none");return f.append("text").attr("text-anchor","middle").attr("y",c+15).attr("font-size",11).attr("font-weight",d?700:500).attr("fill",d?"#f8fafc":"#94a3b8").text(at(a.name)),f.append("text").attr("text-anchor","middle").attr("y",c+28).attr("font-size",9.5).attr("fill",am.TIER_COLORS[a.tier]||am.TIER_COLORS.D).attr("fill-opacity",.9).text(`${(Number(a.circle_power)||0).toFixed(1)} circle power`),e.append("title").text(a.headline?`${a.name} — ${a.headline}`:a.name),e.on("click",a=>{if(a.stopPropagation(),$){$=!1;return}ag(),ak(b)}),e}),ad=I.append("g").attr("transform",`translate(${A}, ${B})`),ae=u?22:28;if(ad.append("circle").attr("r",ae+6).attr("fill","none").attr("stroke","rgba(255,255,255,0.08)").attr("stroke-width",1),S(ad,{key:"user",r:ae,fill:"#1c1c42",textFill:"#e2e8f0",name:g,imageUrl:h,showInitials:!0}),ad.append("text").attr("text-anchor","middle").attr("y",ae+17).attr("font-size",11).attr("font-weight",600).attr("fill","#cbd5e1").text(at(g)),ad.append("text").attr("text-anchor","middle").attr("y",ae+30).attr("font-size",9).attr("fill","#64748b").text("you"),i>12){let a=Math.max(20,B-z-(u?96:118)),b=F+1,c=F+H,d=[...new Set(G.map(a=>a.tier).filter(Boolean))].sort((a,b)=>"SABCD".indexOf(a)-"SABCD".indexOf(b)),e=I.append("g").attr("transform",`translate(${A}, ${a})`);e.append("text").attr("text-anchor","middle").attr("font-size",10.5).attr("fill","rgba(255,255,255,0.4)").attr("letter-spacing","0.06em").attr("pointer-events","none").text(D>1?`${b}\u2013${c} of ${i} \u00b7 page ${E+1}/${D} \u00b7 by circle power`:`all ${i} bridges \u00b7 by circle power`),e.append("text").attr("y",15).attr("text-anchor","middle").attr("font-size",10).attr("pointer-events","none").selectAll("tspan").data(d).join("tspan").attr("dx",(a,b)=>7*!!b).attr("fill",a=>am.TIER_COLORS[a]||am.TIER_COLORS.D).text(a=>a);let f=(a,b,c)=>{let d=e.append("g").attr("transform",`translate(${a}, 0)`).style("cursor","pointer");d.append("circle").attr("r",11).attr("fill","rgba(255,255,255,0.06)").attr("stroke","rgba(255,255,255,0.14)").attr("stroke-width",1),d.append("text").attr("text-anchor","middle").attr("dy","0.34em").attr("font-size",12).attr("fill","#cbd5e1").attr("pointer-events","none").text(c),d.append("title").text(b>0?"Next bridges":"Previous bridges"),d.on("click",a=>{a.stopPropagation(),$=!0,t(a=>a+b)})};D>1&&(f(-(u?92:118),-1,"‹"),f(u?92:118,1,"›"))}let af=m.current?null:I.append("text").attr("x",A).attr("y",Math.min(u?.54*c-12:c-12,B+z+(u?42:54))).attr("text-anchor","middle").attr("font-size",11).attr("fill","rgba(255,255,255,0.3)").attr("letter-spacing","0.08em").attr("pointer-events","none").style("transition","opacity 600ms ease").text("drag to rotate · release to snap");function ag(){m.current||(m.current=!0,af?.style("opacity",0))}function ah(){let a=k.current;ac.forEach((b,c)=>{let d=K(c)+a;b.attr("transform",`translate(${A+z*Math.cos(d)}, ${B+z*Math.sin(d)})`)});let b=K(O)+a;T.attr("x2",A+z*Math.cos(b)).attr("y2",B+z*Math.sin(b))}let ai=null;function aj(){null!==l.current&&(cancelAnimationFrame(l.current),l.current=null),null!==ai&&(clearTimeout(ai),ai=null)}function ak(a){var b;let c,d,e,f,g,h,i=k.current+as(ar-K(a)-k.current),j=G[a],m=j.id;m!==q&&Y(),b=()=>{n.current.onSelect?.(j),m!==q?r(m):Z()},aj(),d=as(i-(c=k.current)),e=performance.now(),f=!1,g=()=>{f||(f=!0,aj(),k.current=c+d,ah(),b?.())},h=a=>{let b=Math.min(1,(a-e)/350);k.current=c+d*(1-Math.pow(1-b,3)),ah(),b<1?l.current=requestAnimationFrame(h):(l.current=null,g())},l.current=requestAnimationFrame(h),ai=setTimeout(g,470)}let al=!1,an=!1,ao=0,ap=0,aq=0,au=d=>{let e=a.getBoundingClientRect();return{x:e.width>0?(d.clientX-e.left)/e.width*b:0,y:e.height>0?(d.clientY-e.top)/e.height*c:0}};function av(b){if("mouse"===b.pointerType&&0!==b.button)return;aj(),al=!0,an=!1,$=!1,ao=b.clientX,ap=b.clientY;let c=au(b);aq=Math.atan2(c.y-B,c.x-A);try{a.setPointerCapture(b.pointerId)}catch{}}function aw(b){if(!al)return;if(!an){if(6>Math.hypot(b.clientX-ao,b.clientY-ap))return;an=!0,$=!0,a.style.cursor="grabbing",Y(),ag()}let c=au(b),d=Math.atan2(c.y-B,c.x-A);k.current+=as(d-aq),aq=d,ah()}function ax(b){if(!al)return;al=!1,a.style.cursor="grab";try{a.releasePointerCapture(b.pointerId)}catch{}if(!an)return;let c=0,d=1/0;for(let a=0;a<H;a++){let b=Math.abs(as(K(a)+k.current-ar));b<d&&(d=b,c=a)}ak(c)}function ay(){if($){$=!1;return}n.current.onSelect?.(null)}function az(a){let b=0;if("ArrowRight"===a.key||"ArrowDown"===a.key)b=1;else{if("ArrowLeft"!==a.key&&"ArrowUp"!==a.key)return;b=-1}(a.preventDefault(),ag(),a.shiftKey&&D>1)?t(a=>a+b):ak((O+b+H)%H)}a.addEventListener("pointerdown",av),a.addEventListener("pointermove",aw),a.addEventListener("pointerup",ax),a.addEventListener("pointercancel",ax),a.addEventListener("click",ay),a.addEventListener("keydown",az),k.current=as(-O*J),ah();let aA=[],aB=!1,aC=()=>{aB||(aB=!0,Z())};aA.push(requestAnimationFrame(()=>{aA.push(requestAnimationFrame(aC))}));let aD=setTimeout(aC,200);return()=>{aj(),null!==V&&cancelAnimationFrame(V),null!==W&&clearTimeout(W),clearTimeout(aD),aA.forEach(a=>cancelAnimationFrame(a)),a.removeEventListener("pointerdown",av),a.removeEventListener("pointermove",aw),a.removeEventListener("pointerup",ax),a.removeEventListener("pointercancel",ax),a.removeEventListener("click",ay),a.removeEventListener("keydown",az),I.selectAll("*").remove()}},[x,q,s,u,o,g,h]),(0,b.jsx)("div",{ref:i,style:{position:"relative",flex:1,minHeight:0,width:"100%"},children:(0,b.jsx)("svg",{ref:j,tabIndex:0,role:"application","aria-label":"Bridge dial. Drag to rotate, or use the arrow keys to select the previous or next bridge; the selected bridge sits at the top with their known circle fanned above.",style:{height:"100%",width:"100%",userSelect:"none",touchAction:"none",borderRadius:12,outline:"none"}})})},modes:["degrees"],label:"Revolver",icon:"🎯",desc:"Rotary dial · spin to switch"},rings:{component:function({connections:a,degree2:d=[],onSelect:e,mode:f}){let[g,h]=(0,c.useState)(null);if("degrees"===f&&d.length>0){let c={};d.forEach(a=>{a.source_connection_id&&(c[a.source_connection_id]||(c[a.source_connection_id]=[]),c[a.source_connection_id].push(a))});let f=Object.entries(c).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length,value:3*e+2*f+c.length}}).filter(Boolean).sort((a,b)=>b.value-a.value),i={S:36,A:28,B:22,C:16,D:12};return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:f.map((a,c)=>{let d={};return ay.forEach(a=>{d[a]=[]}),a.members.forEach(a=>{(d[a.tier]||d.D).push(a)}),ay.forEach(a=>{d[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}),(0,b.jsxs)("div",{style:{marginBottom:30},children:[(0,b.jsx)("div",{style:{textAlign:"center",marginBottom:12},children:(0,b.jsxs)("div",{onClick:()=>e&&e(a.bridge),onMouseEnter:()=>h(a.bridge.id),onMouseLeave:()=>h(null),style:{display:"inline-block",cursor:"pointer",position:"relative"},children:[(0,b.jsx)("div",{style:{width:56,height:56,borderRadius:"50%",margin:"0 auto",border:`3px solid ${ax[a.bridge.tier]}`,overflow:"hidden",background:"#1a1a2e",boxShadow:g===a.bridge.id?`0 0 20px ${ax[a.bridge.tier]}60`:`0 0 10px ${ax[a.bridge.tier]}20`,transition:"box-shadow 0.2s"},children:a.bridge.profile_image_url?(0,b.jsx)("img",{src:a.bridge.profile_image_url,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):(0,b.jsx)("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:ax[a.bridge.tier],color:"S"===a.bridge.tier?"#000":"#fff",fontSize:20,fontWeight:800},children:a.bridge.name?.charAt(0)})}),(0,b.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"#fff",marginTop:4},children:a.bridge.name}),(0,b.jsxs)("div",{style:{fontSize:9,color:ax[a.bridge.tier],fontWeight:600},children:[a.bridge.tier,"-Tier · ",a.total," connections · ",a.sCount>0?a.sCount+"S ":"",a.aCount>0?a.aCount+"A":""]})]})}),ay.map(a=>{let c=d[a];if(0===c.length)return null;let f=i[a],j="S"===a?10:"A"===a?6:4;return(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:j},children:c.map(c=>{let d=g===c.id;return(0,b.jsxs)("div",{onClick:()=>e&&e(c),onMouseEnter:()=>h(c.id),onMouseLeave:()=>h(null),style:{position:"relative",cursor:"pointer"},children:[(0,b.jsx)("div",{style:{width:f,height:f,borderRadius:"50%",border:`2px solid ${ax[a]}`,overflow:"hidden",background:c.profile_image_url?"#111":ax[a],transition:"transform 0.15s, box-shadow 0.15s",transform:d?"scale(1.3)":"scale(1)",boxShadow:d?`0 0 12px ${ax[a]}60`:"none"},children:c.profile_image_url?(0,b.jsx)("img",{src:c.profile_image_url,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:b=>{b.target.style.display="none",b.target.parentElement.style.background=ax[a]}}):(0,b.jsx)("span",{style:{display:"flex",width:"100%",height:"100%",alignItems:"center",justifyContent:"center",fontSize:.4*f,fontWeight:700,color:"S"===a?"#000":"#fff"},children:c.name?.charAt(0)})}),("S"===a||d)&&(0,b.jsx)("div",{style:{position:"absolute",top:f+2,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:(0,b.jsxs)("div",{style:{fontSize:d?10:8,fontWeight:600,color:d?"#fff":"#aaa",background:d?"rgba(0,0,0,0.85)":"transparent",padding:d?"3px 8px":0,borderRadius:4},children:[c.name?.split(" ")[0],d&&(0,b.jsx)("span",{style:{color:ax[a],marginLeft:4},children:parseFloat(c.power_score||0).toFixed(1)})]})})]},c.id)})}),(0,b.jsx)("div",{style:{height:1,margin:"6px auto 0",width:`${40+10*ay.indexOf(a)}%`,background:`linear-gradient(90deg, transparent, ${ax[a]}20, transparent)`}})]},a)})]},a.bridge.id)})})})}let i={};ay.forEach(a=>{i[a]=[]}),a.forEach(a=>{let b=a.tier||"D";i[b]&&i[b].push(a)}),ay.forEach(a=>{i[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))});let j={S:44,A:34,B:26,C:20,D:16};return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:ay.map((a,c)=>{let d=i[a];if(0===d.length)return null;let f=j[a],k="S"===a?12:"A"===a?8:"B"===a?6:4;return(0,b.jsxs)("div",{style:{marginBottom:"S"===a?20:"A"===a?16:10},children:[(0,b.jsxs)("div",{style:{textAlign:"center",marginBottom:8,fontSize:"S"===a?14:11,fontWeight:700,color:ax[a],opacity:"S"===a?1:.7},children:["S"===a&&"👑 ",a,"-Tier (",d.length,")"]}),(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:k,padding:"0 20px"},children:d.map(c=>{let d=g===c.id;return(0,b.jsxs)("div",{onClick:()=>e&&e(c),onMouseEnter:()=>h(c.id),onMouseLeave:()=>h(null),style:{position:"relative",cursor:"pointer"},children:[(0,b.jsx)("div",{style:{width:f,height:f,borderRadius:"50%",border:`2px solid ${ax[a]}`,overflow:"hidden",background:c.profile_image_url?"#111":ax[a],display:"flex",alignItems:"center",justifyContent:"center",transition:"transform 0.15s, box-shadow 0.15s",transform:d?"scale(1.3)":"scale(1)",boxShadow:d?`0 0 16px ${ax[a]}60`:"none",zIndex:d?10:1,position:"relative"},children:c.profile_image_url?(0,b.jsx)("img",{src:c.profile_image_url,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:b=>{b.target.style.display="none",b.target.parentElement.style.background=ax[a]}}):(0,b.jsx)("span",{style:{fontSize:.4*f,fontWeight:700,color:"S"===a?"#000":"#fff"},children:c.name?.charAt(0)})}),("S"===a||d)&&(0,b.jsxs)("div",{style:{position:"absolute",top:f+4,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:[(0,b.jsxs)("div",{style:{fontSize:"S"===a?9:10,fontWeight:600,color:d?"#fff":"#aaa",background:d?"rgba(0,0,0,0.85)":"transparent",padding:d?"3px 8px":0,borderRadius:4},children:[c.name?.split(" ")[0],d&&(0,b.jsx)("span",{style:{color:ax[a],marginLeft:4,fontWeight:800},children:parseFloat(c.power_score||0).toFixed(1)})]}),d&&c.headline&&(0,b.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:c.headline.substring(0,40)})]})]},c.id)})}),c<ay.length-1&&(0,b.jsx)("div",{style:{height:1,margin:"12px auto 0",width:`${50+12*c}%`,background:`linear-gradient(90deg, transparent, ${ax[a]}30, transparent)`}})]},a)})})})},modes:["network","degrees"],label:"Pyramid",icon:"🔺",desc:"Tier hierarchy"},list:{component:function({connections:a,degree2:c=[],onSelect:d,mode:e}){if("degrees"===e){let e={};c.forEach(a=>{a.source_connection_id&&(e[a.source_connection_id]||(e[a.source_connection_id]=[]),e[a.source_connection_id].push(a))});let f=Object.entries(e).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length,g=3*e+2*f+c.length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length,value:g}}).filter(Boolean).sort((a,b)=>b.value-a.value);return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,b.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,b.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,b.jsx)("span",{children:"#"}),(0,b.jsx)("span",{children:"Bridge"}),(0,b.jsx)("span",{children:"S"}),(0,b.jsx)("span",{children:"A"}),(0,b.jsx)("span",{children:"Total"}),(0,b.jsx)("span",{children:"Value"})]}),f.map((a,c)=>(0,b.jsxs)("div",{onClick:()=>d&&d(a.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:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"#444"},children:c+1}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[a.bridge.profile_image_url?(0,b.jsx)("img",{src:a.bridge.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${aw[a.bridge.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:aw[a.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.name}),(0,b.jsxs)("div",{style:{fontSize:9,color:aw[a.bridge.tier],fontWeight:600},children:[a.bridge.tier,"-Tier"]})]})]}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:800,color:"#FFD700"},children:a.sCount}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"#9B59B6"},children:a.aCount}),(0,b.jsx)("span",{style:{fontSize:12,color:"#888"},children:a.total}),(0,b.jsx)("div",{children:(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:`linear-gradient(90deg, ${aw[a.bridge.tier]}, #FF6B35)`,width:`${Math.min(100,a.value/Math.max(f[0]?.value||1,1)*100)}%`}})})})]},a.bridge.id))]})})}let f=[...a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)),g=parseFloat(f[0]?.power_score)||10;return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,b.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,b.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,b.jsx)("span",{children:"#"}),(0,b.jsx)("span",{}),(0,b.jsx)("span",{children:"Name"}),(0,b.jsx)("span",{children:"Score"}),(0,b.jsx)("span",{children:"Power"})]}),f.map((a,c)=>(0,b.jsxs)("div",{onClick:()=>d&&d(a),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:c<3?`${aw[a.tier]}08`:"transparent",transition:"background 0.1s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:b=>b.currentTarget.style.background=c<3?`${aw[a.tier]}08`:"transparent",children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700,color:c<3?aw[a.tier]:"#444"},children:c+1}),a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",border:`2px solid ${aw[a.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:10,fontWeight:700,background:aw[a.tier],color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("span",{style:{fontSize:13,fontWeight:800,color:aw[a.tier]},children:parseFloat(a.power_score||0).toFixed(1)}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:a.tier})]}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:aw[a.tier],width:`${parseFloat(a.power_score||0)/g*100}%`}})})]},a.id))]})})},modes:["network","degrees"],label:"List",icon:"☰",desc:"Ranked power list"},grid:{component:function({connections:a,degree2:c=[],onSelect:d,mode:e}){if("degrees"===e){let e={};c.forEach(a=>{a.source_connection_id&&(e[a.source_connection_id]||(e[a.source_connection_id]=[]),e[a.source_connection_id].push(a))});let f=Object.entries(e).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length}}).filter(Boolean).sort((a,b)=>3*b.sCount+2*b.aCount+b.total-(3*a.sCount+2*a.aCount+a.total));return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))",gap:12,maxWidth:1200,margin:"0 auto"},children:f.map(a=>(0,b.jsxs)("div",{onClick:()=>d&&d(a.bridge),style:{padding:16,borderRadius:12,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${au[a.bridge.tier]||"#333"}30`,borderLeft:`4px solid ${au[a.bridge.tier]||"#555"}`,transition:"all 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[a.bridge.profile_image_url?(0,b.jsx)("img",{src:a.bridge.profile_image_url,alt:"",style:{width:40,height:40,borderRadius:"50%",objectFit:"cover",border:`2px solid ${au[a.bridge.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:40,height:40,borderRadius:"50%",fontSize:16,fontWeight:700,background:au[a.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:a.bridge.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.headline?.substring(0,40)})]}),(0,b.jsx)("span",{style:{fontSize:12,fontWeight:800,color:au[a.bridge.tier]},children:a.bridge.tier})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,fontSize:10},children:[a.sCount>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[a.sCount,"S"]}),a.aCount>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[a.aCount,"A"]}),(0,b.jsxs)("span",{style:{color:"#666"},children:[a.total," total"]})]}),(0,b.jsxs)("div",{style:{display:"flex",marginTop:8},children:[a.members.slice(0,8).map((a,c)=>(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:8,fontWeight:700,background:a.profile_image_url?"transparent":au[a.tier]||"#333",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid #0a0a1a",marginLeft:c>0?-6:0,position:"relative",zIndex:8-c,overflow:"hidden"},children:a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):a.name?.charAt(0)},a.id)),a.total>8&&(0,b.jsxs)("span",{style:{fontSize:9,color:"#555",marginLeft:4,alignSelf:"center"},children:["+",a.total-8]})]})]},a.bridge.id))})})}let f={};return av.forEach(a=>{f[a]=[]}),a.forEach(a=>{let b=a.tier||"D";f[b]&&f[b].push(a)}),av.forEach(a=>{f[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}),(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:av.map(a=>{let c=f[a];return 0===c.length?null:(0,b.jsxs)("div",{style:{marginBottom:24},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 0 10px",borderBottom:`2px solid ${au[a]}30`,marginBottom:10},children:[(0,b.jsx)("div",{style:{width:10,height:10,borderRadius:"50%",background:au[a]}}),(0,b.jsxs)("span",{style:{fontSize:15,fontWeight:800,color:au[a]},children:[a,"-Tier"]}),(0,b.jsx)("span",{style:{fontSize:12,color:"#555"},children:c.length})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(180px, 1fr))",gap:8},children:c.map(c=>(0,b.jsxs)("div",{onClick:()=>d&&d(c),style:{padding:10,borderRadius:8,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${au[a]}20`,transition:"all 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[c.profile_image_url?(0,b.jsx)("img",{src:c.profile_image_url,alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",border:`2px solid ${au[a]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",fontSize:12,fontWeight:700,background:au[a],color:"S"===a?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:c.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.headline?.substring(0,30)})]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:6,alignItems:"center"},children:[(0,b.jsx)("span",{style:{fontSize:10,fontWeight:700,color:au[a]},children:parseFloat(c.power_score||0).toFixed(1)}),(0,b.jsx)("div",{style:{flex:1,marginLeft:8,height:3,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:2,background:au[a],width:`${Math.min(100,10*(parseFloat(c.power_score)||0))}%`}})})]})]},c.id))})]},a)})})})},modes:["network","degrees"],label:"Grid",icon:"▦",desc:"Cards"}},a_=["galaxy","orbit","separation","chain","revolver","rings","list"];function a0(a){return a_.filter(b=>a$[b]?.modes.includes(a)).map(a=>({key:a,...a$[a]}))}var a1=a.i(75857),a2=a.i(30889);function a3({selected:a,stats:d,tierColors:e,connections:f,degree2:g=[],mode:h,collapsed:i,filter:j,pending:k=[],onToggle:l,onSelect:m,onSwitchMode:n,onFocusNode:o,onMarkSent:p,onUndoPending:q}){let r,s="degrees"===h,{userId:t,userProfile:u}=(0,a1.useUser)(),[v,w]=(0,c.useState)(""),x=(0,c.useMemo)(()=>{let a={};return g.forEach(b=>{b.source_connection_id&&(a[b.source_connection_id]||(a[b.source_connection_id]=[]),a[b.source_connection_id].push(b))}),a},[g]),y=(0,c.useMemo)(()=>(function(a=[]){let b=new Map;for(let c of a||[]){let a=aD(c),d=b.get(a);d||(d=new Set,b.set(a,d)),d.add(c.source_connection_id??null)}return b})(g),[g]),z=(0,c.useMemo)(()=>new Map(f.map(a=>[a.id,a])),[f]);if(a){let c,d,f,h=1===a.degree&&x[a.id],j=x[a.id]||[],k=2===a.degree?a?[...y?.get(aD(a))??(null!=a.source_connection_id?new Set([a.source_connection_id]):new Set)].map(a=>({id:a,bridge:z?.get(a)??null})).sort(aG):[]:[];return(0,b.jsxs)(a4,{collapsed:i,onToggle:l,children:[(0,b.jsxs)("button",{onClick:()=>m&&m(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,b.jsx)("span",{style:{fontSize:16},children:"←"})," Back to list"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8,letterSpacing:1,textTransform:"uppercase"},children:2===a.degree?"Degree 2 Connection":"Degree 1 Connection"}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,flexWrap:"wrap"},children:[(0,b.jsx)("div",{style:{background:2===a.degree?"#FF6B35":e[a.tier],color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:700},children:2===a.degree?`DEGREE 2 \xb7 TIER ${a.tier}`:`TIER ${a.tier}`}),a.unlocked_from_name&&(0,b.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===a.degree?"You met them through ":"Reachable through ",(0,b.jsx)("b",{style:{color:"#cfe6f7"},children:a.unlocked_from_name})]}),a.is_catalyst&&(0,b.jsx)("div",{style:{background:"#00ff88",color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:800,letterSpacing:.5},children:"CATALYST"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"center",marginBottom:16},children:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:a.name,style:{width:52,height:52,borderRadius:"50%",objectFit:"cover",border:`2px solid ${e[a.tier]||"#555"}`,flexShrink:0},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:52,height:52,borderRadius:"50%",flexShrink:0,background:e[a.tier]||"#555",display:a.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,color:"S"===a.tier?"#000":"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("h2",{style:{fontSize:18,fontWeight:700,margin:0},children:a.name}),(0,b.jsx)("p",{style:{color:"#aaa",fontSize:11,margin:"3px 0 0",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,60)}),a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"#0077B5",textDecoration:"none",fontWeight:600},children:"View on LinkedIn"})]})]}),a.is_catalyst&&(0,b.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,b.jsx)("div",{style:{fontSize:10,color:"#00ff88",fontWeight:700,marginBottom:4,letterSpacing:1},children:"CATALYST NODE"}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#ccc"},children:["This person's network power exceeds their own tier. They connect to"," ",(0,b.jsxs)("strong",{style:{color:"#00ff88"},children:[a.catalyst_score," S+A tier"]})," ","people — making them a high-value stepping stone to reach elite connections."]})]}),2===a.degree&&k.length>0&&(0,b.jsx)(a7,{routes:k,selected:a,tierColors:e,onSelect:m},a.id),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:8,padding:12,marginBottom:16},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:8},children:[(0,b.jsx)("span",{style:{fontSize:11,color:"#888",fontWeight:600,letterSpacing:1,textTransform:"uppercase"},children:"Score"}),(0,b.jsx)("span",{style:{fontSize:28,fontWeight:800,color:e[a.tier]||"#fff"},children:parseFloat(a.power_score).toFixed(1)})]}),a.score_why&&(0,b.jsx)("div",{style:{fontSize:11,color:"#aab7b7",lineHeight:1.5,marginBottom:10},children:a.score_why}),(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Title"}),(0,b.jsxs)("span",{children:[a.seniority_score||0,"/10"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${10*(a.seniority_score||0)}%`,background:e[a.tier]||"#FFD700",borderRadius:2}})})]}),(0,b.jsxs)("div",{style:{marginBottom:6*(a.circle_power>0)},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Company"}),(0,b.jsxs)("span",{children:[a.company_prestige_score||0,"/10"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${10*(a.company_prestige_score||0)}%`,background:"#3498DB",borderRadius:2}})})]}),a.circle_power>0&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Circle Power"}),(0,b.jsxs)("span",{style:{color:"#FF6B35"},children:[a.circle_s_count||0,"S · ",a.circle_a_count||0,"A"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.min(parseFloat(a.circle_power)/70*100,100)}%`,background:"#FF6B35",borderRadius:2}})})]})]}),(0,b.jsxs)("div",{style:{marginBottom:16},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#FFD700",letterSpacing:1,marginBottom:6,textTransform:"uppercase"},children:"Why This Matters"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:11,color:"#ccc"},children:(function(a,b,c,d=[]){let e=[],f=(a.headline||"").toLowerCase(),g=(a.role||"").toLowerCase(),h=(a.company||"").toLowerCase(),i=b.sectors.map(a=>a.toLowerCase());g.match(/ceo|chief|founder|president|chairman/i)?e.push({icon:"👑",text:`${a.role} — C-suite executive, highest leverage contact`,color:"#FFD700"}):g.match(/vp|vice president|svp|evp|managing director/i)?e.push({icon:"⚡",text:`${a.role} — VP-level, strong decision-making authority`,color:"#FFD700"}):g.match(/director|head of|senior director/i)?e.push({icon:"🎯",text:`${a.role} — Senior leadership, controls team/budget`,color:"#FF6B35"}):g.match(/manager|lead|principal/i)&&e.push({icon:"📊",text:`${a.role} — Mid-senior, operational influence`,color:"#3498DB"});let{now:j,before:k}=(0,a2.topCompanies)(a);j&&e.push({icon:"🏢",text:`At ${j.name} (${j.score}/10) — top-tier company network access`,color:"#9B59B6"}),k&&e.push({icon:"📜",text:`Former ${k.name} (${k.score}/10) — carries network from previous role`,color:"#95A5A6"});let l=i.filter(a=>f.includes(a)||h.includes(a));l.length>0&&e.push({icon:"🔗",text:`Shared sector: ${l.join(", ")} — direct industry relevance to you`,color:"#2ECC71"});let m=c.filter(b=>b.source_connection_id===a.id).length;if(m>0){let b=c.filter(b=>b.source_connection_id===a.id&&"S"===b.tier).length;e.push({icon:"🌐",text:`Gateway to ${m} degree-2 connections${b>0?` (${b} S-tier)`:""}`,color:"#FF6B35"})}if(a.is_catalyst&&e.push({icon:"⚡",text:"Catalyst — network power exceeds personal tier, high stepping-stone value",color:"#00ff88"}),2===a.degree&&d.length>0){let a=d.filter(a=>a.bridge);if(1===d.length)e.push(a.length?{icon:"🤝",text:`Reachable via ${a[0].bridge.name} (${a[0].bridge.tier}-tier)`,color:"#3498DB"}:{icon:"🤝",text:"Reachable through a connection we can’t name",color:"#888"});else{let b=a.slice(0,2).map(a=>`${String(a.bridge.name||"").trim().split(/\s+/)[0]} (${a.bridge.tier})`),c=d.length-b.length,f=0===b.length?"connections we can’t name":c>0?`${b.join(", ")} and ${c} more`:b.join(" and ");e.push({icon:"🤝",text:`Reachable ${d.length} ways — via ${f}`,color:"#3498DB"})}}return 0===e.length&&e.push({icon:"📌",text:`${a.tier}-tier connection with ${parseFloat(a.power_score).toFixed(1)} power score`,color:"#888"}),e.slice(0,5)})(a,u||{name:"User",sectors:[],goals:[]},g,k).map((a,c)=>(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{color:a.color||"#888",fontSize:13,lineHeight:1},children:a.icon}),(0,b.jsx)("span",{children:a.text})]},c))})]}),a.company&&(0,b.jsxs)("div",{style:{marginBottom:8},children:[(0,b.jsx)("div",{style:{color:"#666",fontSize:10},children:"Company"}),(0,b.jsx)("div",{style:{fontWeight:600,fontSize:12},children:a.company})]}),a.role&&(0,b.jsxs)("div",{style:{marginBottom:12},children:[(0,b.jsx)("div",{style:{color:"#666",fontSize:10},children:"Role"}),(0,b.jsx)("div",{style:{fontSize:12},children:a.role})]}),h&&j.length>0&&(c=j.filter(a=>"S"===a.tier),d=j.filter(a=>"A"===a.tier),f=[...j].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)).slice(0,8),(0,b.jsxs)("div",{style:{marginBottom:16},children:[(0,b.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:"#FF6B35",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:["Cluster Overview — ",j.length," connections"]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,fontSize:10},children:[c.length>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[c.length," S-tier"]}),d.length>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[d.length," A-tier"]})]}),(0,b.jsxs)("a",{href:`/queue?bridge=${a.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 ",j.filter(a=>"S"===a.tier||"A"===a.tier||"B"===a.tier).length," People"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8},children:"Most valuable in this cluster:"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:f.map(a=>(0,b.jsxs)("div",{onClick:()=>m&&m(a),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 6px",borderRadius:4,cursor:"pointer",borderLeft:`2px solid ${e[a.tier]||"#555"}`,background:"rgba(255,255,255,0.03)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",flexShrink:0,fontSize:9,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:a.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,40)})]}),(0,b.jsx)("span",{style:{fontSize:9,color:e[a.tier],fontWeight:600,flexShrink:0},children:parseFloat(a.power_score).toFixed(1)})]},a.id))})]})),h&&j.length>0&&(0,b.jsxs)("div",{style:{marginTop:16},children:[(0,b.jsxs)("div",{style:{fontSize:12,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["Gateway to ",j.length," degree-2 connections:"]}),j.sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)).slice(0,10).map(a=>(0,b.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,b.jsx)("div",{style:{fontWeight:600},children:a.name}),(0,b.jsxs)("div",{style:{color:"#888",fontSize:11},children:[a.role,a.company?` @ ${a.company}`:""]}),(0,b.jsxs)("div",{style:{color:"#FF6B35",fontSize:10},children:["Score: ",parseFloat(a.power_score).toFixed(1)]})]},a.id))]}),!s&&h&&j.length>0&&n&&(0,b.jsxs)("button",{onClick:()=>{n("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 → ",j.length," connections"]}),(2===a.degree||a.source_connection_id)&&1!==a.degree&&"unlocked"!==a.unlock_status&&(0,b.jsxs)("div",{style:{background:"rgba(255,215,0,0.06)",border:"1px solid rgba(255,215,0,0.25)",borderRadius:10,padding:16,marginTop:16,textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#FFD700",fontWeight:700,letterSpacing:1,marginBottom:6},children:"pending"===a.unlock_status?"CONNECTION PENDING":"LOCKED PATH"}),(0,b.jsx)("div",{style:{fontSize:13,color:"#ccc",marginBottom:12},children:"pending"===a.unlock_status?`Waiting for ${a.name} to accept. Run a scan to check.`:`Connect with ${a.name} to unlock their network and extend your 6 degrees.`}),(0,b.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:"pending"===a.unlock_status?"[ Cluster Pending... ]":"[ Hidden Network ]"}),"pending"!==a.unlock_status&&(0,b.jsx)("a",{href:a.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:()=>{fetch("/api/unlock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connectionId:a.id})}).catch(()=>{}),fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:a.id,profileUrl:a.profile_url,userId:t})}).catch(()=>{})},children:"Connect to Unlock Path"})]}),(1===a.degree||"accepted"===a.outreach_status)&&(0,b.jsx)(a8,{selected:a,degree2:g}),a.profile_url&&(0,b.jsx)("a",{href:a.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(s){let a,c,h,n;return(0,b.jsxs)(a4,{collapsed:i,onToggle:l,children:[(0,b.jsxs)("button",{onClick:l,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,b.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,b.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0,color:"#FF6B35"},children:"Degrees"}),(0,b.jsx)("p",{style:{fontSize:12,color:"#888",marginBottom:12},children:"Your bridge connections and who they unlock."}),(0,b.jsx)(ba,{connections:f,degree2:g}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:12},children:[(0,b.jsx)(a5,{label:"Degree-2 Found",value:g.length}),(0,b.jsx)(a5,{label:"D2 S-Tier",value:d?.d2Tiers?.S||0}),(0,b.jsx)(a5,{label:"D2 A-Tier",value:d?.d2Tiers?.A||0}),(0,b.jsx)(a5,{label:"Bridges Used",value:Object.keys(x).length})]}),(0,b.jsxs)("div",{style:{position:"relative",marginBottom:16},children:[(0,b.jsx)("input",{type:"text",placeholder:"Search bridges or d2...",value:v,onChange:a=>w(a.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"}}),v.length>=2&&(a=v.toLowerCase(),c=f.filter(b=>g.some(a=>a.source_connection_id===b.id)&&b.name.toLowerCase().includes(a)).slice(0,5),h=g.filter(b=>b.name?.toLowerCase().includes(a)).slice(0,5),0===(n=[...c.map(a=>({...a,_matchType:"bridge"})),...h.map(a=>({...a,_matchType:"d2"}))]).length?null:(0,b.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:n.map(a=>(0,b.jsxs)("div",{onClick:()=>{m(a),w(""),o&&"bridge"===a._matchType&&o(a.id)},style:{padding:"8px 12px",cursor:"pointer",display:"flex",alignItems:"center",gap:8,borderBottom:"1px solid rgba(255,255,255,0.05)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover"}}):(0,b.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",background:e[a.tier]||"#555",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666"},children:"bridge"===a._matchType?"Bridge":"Degree-2"})]}),(0,b.jsx)("span",{style:{fontSize:9,fontWeight:700,color:e[a.tier]},children:a.tier})]},a.id))}))]}),"pending"===j&&k.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["⏳ Pending Requests (",k.length,")"]}),(0,b.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,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:k.map(a=>{let c=2===a.degree?f.find(b=>b.id===a.source_connection_id):null;return(0,b.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:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,40)}),c&&(0,b.jsxs)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:1},children:["via ",c.name?.split(" ")[0]]})]}),(0,b.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:800,color:e[a.tier]||"#888"},children:a.tier}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666"},children:parseFloat(a.power_score||0).toFixed(1)})]}),(0,b.jsx)("button",{onClick:()=>q&&q(a),title:"Remove from pending",style:{background:"none",border:"none",color:"#555",cursor:"pointer",fontSize:12,padding:2,flexShrink:0},children:"✕"})]},a.id)})})]}),"pending"!==j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:"Most Valuable Clusters"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:Object.entries(x).map(([a,b])=>{let c=f.find(b=>b.id===a);if(!c)return null;let d=b.length;if(0===d)return null;let e=b.filter(a=>"S"===a.tier),g=b.filter(a=>"A"===a.tier),h=b.filter(a=>"B"===a.tier),i=e.length,j=g.length,k=h.length,l=i>0?e.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/i:0,m=j>0?g.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/j:0,n=h.filter(a=>(parseFloat(a.power_score)||0)>=5).length,o=(i+j)/d,p=l/7*i*15+m/5.5*j*6+3*n+25*o+2*Math.log2(d+1)+10*!!c.is_catalyst,q=b.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/d;return{bridge:c,members:d,sCount:i,aCount:j,bCount:k,risingCount:n,sAvgPower:l,avgPower:q,elitePct:o,clusterValue:p,sTier:e,aTier:g,topMembers:[...b].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}}).filter(Boolean).sort((a,b)=>b.clusterValue-a.clusterValue).map((a,c)=>(0,b.jsx)(a9,{cs:a,rank:c+1,tierColors:e,onSelect:m},a.bridge.id))})]})]})}let A=[...f||[]].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)),B=v.length>=2?A.filter(a=>a.name.toLowerCase().includes(v.toLowerCase())).slice(0,8):[];return(0,b.jsxs)(a4,{collapsed:i,onToggle:l,children:[(0,b.jsxs)("button",{onClick:l,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,b.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,b.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0},children:"Network Circle"}),d&&(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:16},children:[(0,b.jsx)(a5,{label:"Total Connections",value:d.total}),(0,b.jsx)(a5,{label:"S-Tier",value:d.tiers?.S||0}),(0,b.jsx)(a5,{label:"A-Tier",value:d.tiers?.A||0}),(0,b.jsx)(a5,{label:"B-Tier",value:d.tiers?.B||0})]}),(0,b.jsxs)("div",{style:{position:"relative",marginBottom:12},children:[(0,b.jsx)("input",{type:"text",placeholder:"Search connections...",value:v,onChange:a=>w(a.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"}}),B.length>0&&(0,b.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:B.map(a=>(0,b.jsxs)("div",{onClick:()=>{m&&m(a),o&&o(a.id),w("")},style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.04)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666"},children:a.headline?.substring(0,35)})]}),(0,b.jsx)("span",{style:{fontSize:10,color:e[a.tier],fontWeight:700},children:a.tier})]},a.id))})]}),(0,b.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FFD700",marginBottom:8},children:["Power Rankings (",A.length,")"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:(r={},A.map((a,c)=>{let d=c>0?A[c-1].tier:null,f=a.tier!==d;f&&(r[a.tier]=0),r[a.tier]=(r[a.tier]||0)+1;let g=r[a.tier],h={};return A.forEach(a=>{h[a.tier]=(h[a.tier]||0)+1}),(0,b.jsxs)("div",{children:[f&&(0,b.jsxs)("div",{style:{padding:"8px 10px",marginTop:8*(c>0),marginBottom:4,background:`${e[a.tier]||"#555"}15`,borderLeft:`3px solid ${e[a.tier]||"#555"}`,borderRadius:4,fontSize:11,fontWeight:700,color:e[a.tier]||"#888",display:"flex",justifyContent:"space-between"},children:[(0,b.jsx)("span",{children:{S:"S-Tier — Elite",A:"A-Tier — High Value",B:"B-Tier — Notable",C:"C-Tier — Standard",D:"D-Tier — Entry"}[a.tier]||a.tier}),(0,b.jsx)("span",{style:{fontWeight:400,opacity:.7},children:h[a.tier]||0})]}),(0,b.jsxs)("div",{onClick:()=>{m&&m(a),o&&o(a.id)},style:{padding:"6px 8px",background:"rgba(255,255,255,0.03)",borderRadius:6,borderLeft:`3px solid ${e[a.tier]||"#555"}`,cursor:"pointer",display:"flex",alignItems:"center",gap:8,transition:"background 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.1)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("span",{style:{color:"#555",fontSize:10,fontWeight:600,minWidth:22,textAlign:"right"},children:["#",g]}),a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,background:e[a.tier]||"#555",display:a.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,color:"S"===a.tier?"#000":"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),(0,b.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:e[a.tier]||"#555"},children:parseFloat(a.power_score).toFixed(1)}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:a.tier})]})]})]},a.id)}))})]})}function a4({children:a,collapsed:d,onToggle:e}){let[f,g]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let a=()=>g(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),d)?(0,b.jsxs)("div",{onClick:e,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:a=>{a.currentTarget.style.width="120px"},onMouseLeave:a=>{a.currentTarget.style.width="36px"},children:[(0,b.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"‹"}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginRight:6,opacity:.9},children:"Details"})]}):(0,b.jsxs)("div",{style:f?{position:"fixed",top:0,right:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[f&&(0,b.jsx)("div",{onClick:e,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,b.jsx)("div",{style:{width:f?"80vw":320,minWidth:320*!f,maxWidth:f?300:320,height:"100%",borderLeft:"1px solid rgba(255,215,0,0.12)",padding:f?"12px 10px":"16px 16px",overflowY:"auto",overflowX:"hidden",background:f?"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:f?"auto":0},children:a})]})}function a5({label:a,value:c}){return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",padding:"10px 12px",borderRadius:8},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:2},children:a}),(0,b.jsx)("div",{style:{fontSize:18,fontWeight:700},children:c})]})}function a6(){return(0,b.jsx)("span",{style:{color:"#555",fontSize:16},children:"→"})}function a7({routes:a,selected:d,tierColors:e,onSelect:f}){let[g,h]=(0,c.useState)(!1),i=a.length,j=g?a:a.slice(0,4),k={display:"flex",alignItems:"center",gap:6,fontSize:13,flexWrap:"wrap"};return(0,b.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,b.jsxs)("div",{style:{fontSize:10,color:"#FF6B35",fontWeight:600,marginBottom:8},children:["PATH TO THIS PERSON",i>1?` \xb7 ${i} WAYS IN`:""]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:j.map((a,c)=>{if(!a.bridge)return(0,b.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:{...k,color:"#888",fontStyle:"italic"},children:[(0,b.jsx)("span",{style:{fontWeight:700,fontStyle:"normal",color:"#fff"},children:"You"}),(0,b.jsx)(a6,{}),(0,b.jsx)("span",{children:"a connection we can’t name"}),(0,b.jsx)(a6,{}),(0,b.jsx)("span",{children:"them"})]},`unnamed-${a.id}`);let g=a.bridge,h=e[g.tier]||"#ccc",j=[[g.role,g.company].filter(Boolean).join(" @ "),g.tier?`${g.tier}-tier`:""].filter(Boolean).join(" · ");return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:k,children:[(0,b.jsx)("span",{style:{fontWeight:700},children:"You"}),(0,b.jsx)(a6,{}),(0,b.jsxs)("button",{onClick:()=>f&&f(g),title:`Open ${g.name}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:0,border:"none",background:"none",cursor:"pointer",color:h,fontWeight:600,fontSize:13,textAlign:"left"},children:[(0,b.jsx)(aN,{person:g,size:18,tierColors:e}),g.name]}),(0,b.jsx)(a6,{}),(0,b.jsx)("span",{style:{color:"#FF6B35",fontWeight:600},children:d.name}),0===c&&i>1&&(0,b.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"})]}),j&&(0,b.jsx)("div",{style:{fontSize:11,color:"#888",marginTop:3},children:j})]},a.id)})}),i>4&&(0,b.jsx)("button",{onClick:()=>h(a=>!a),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:g?"Show fewer":`Show all ${i}`})]})}function a8({selected:a,degree2:e}){let{userId:f}=(0,a1.useUser)(),[g,h]=(0,c.useState)("idle"),[i,j]=(0,c.useState)([]),k=e?.some(b=>b.source_connection_id===a.id),l=e?.filter(b=>b.source_connection_id===a.id).length||0;if(k&&"idle"===g)return(0,b.jsxs)("div",{style:{background:"rgba(0,255,136,0.06)",border:"1px solid rgba(0,255,136,0.2)",borderRadius:10,padding:16,marginTop:16,textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#00ff88",fontWeight:700,letterSpacing:1,marginBottom:4},children:"CLUSTER ACTIVE"}),(0,b.jsxs)("div",{style:{fontSize:13,color:"#aaa"},children:[l," connections mapped in 6 Degrees"]}),(0,b.jsx)("button",{onClick:m,style:{marginTop:10,padding:"8px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"rgba(0,255,136,0.12)",color:"#00ff88",fontWeight:600,fontSize:11},children:"Rescan Cluster"})]});async function m(){h("checking"),j(["Checking the scanner..."]);let b=(0,d.notReadyMessage)(await (0,d.scraperStatus)().catch(()=>null));if(b){h("offline"),j([b]);return}h("scraping"),j(["Mapping the circle behind "+a.name+"..."]);try{let b=await (0,d.runScrape)("bridge",{name:a.name,onLog:j});0===b.exitCode?(h("done"),j(a=>[...a,"Done. Refresh to see the cluster."])):h("error")}catch{h("error"),j(["Failed to start the scan"])}}return(0,b.jsxs)("div",{style:{background:"rgba(155,89,182,0.08)",border:"1px solid rgba(155,89,182,0.3)",borderRadius:10,padding:16,marginTop:16},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#9B59B6",fontWeight:700,letterSpacing:1,marginBottom:6,textAlign:"center"},children:"CREATE CLUSTER"}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#ccc",marginBottom:12,textAlign:"center"},children:["Scan ",a.name,"'s connections to map their network"]}),"idle"===g&&(0,b.jsxs)("button",{onClick:m,style:{width:"100%",padding:"12px",borderRadius:8,border:"none",cursor:"pointer",background:"linear-gradient(135deg, #9B59B6, #3498DB)",color:"#fff",fontWeight:700,fontSize:14},children:["Scan ",a.name,"'s Network"]}),"offline"===g&&(0,b.jsxs)(b.Fragment,{children:[(0,b.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,b.jsxs)("div",{style:{fontSize:10,color:"#888",textAlign:"center",marginBottom:8},children:["Open the ",(0,b.jsx)("strong",{children:"Scan"})," page to finish setting the scanner up"]}),(0,b.jsx)("button",{onClick:()=>{h("idle")},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"})]}),("checking"===g||"scraping"===g)&&(0,b.jsx)("div",{children:(0,b.jsxs)("div",{style:{padding:"10px",borderRadius:8,background:"rgba(155,89,182,0.1)",border:"1px solid rgba(155,89,182,0.3)",marginBottom:8},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,b.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:"#9B59B6",animation:"pulse 1s infinite"}}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"#9B59B6"},children:"Scanning..."})]}),(0,b.jsx)("div",{style:{fontFamily:"monospace",fontSize:10,color:"#888",maxHeight:100,overflow:"auto"},children:i.map((a,c)=>(0,b.jsx)("div",{children:a},c))})]})}),"done"===g&&(0,b.jsx)("div",{style:{padding:"10px",borderRadius:8,background:"rgba(0,255,136,0.1)",border:"1px solid rgba(0,255,136,0.3)",color:"#00ff88",fontSize:12,fontWeight:600,textAlign:"center"},children:"Cluster created! Refresh the page to see it."}),"error"===g&&(0,b.jsxs)(b.Fragment,{children:[(0,b.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,textAlign:"center",marginBottom:8},children:"Scan failed — connections may be private"}),(0,b.jsx)("button",{onClick:()=>{h("idle"),j([])},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:"Try Again"})]})]})}function a9({cs:a,rank:d,tierColors:e,onSelect:f}){let[g,h]=(0,c.useState)(!1);return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:6,borderLeft:`3px solid ${e[a.bridge.tier]||"#FF6B35"}`,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{padding:"10px 10px"},children:[(0,b.jsxs)("div",{onClick:()=>f&&f(a.bridge),style:{cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:4},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[a.bridge.profile_image_url?(0,b.jsx)("img",{src:a.bridge.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.bridge.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:11,fontWeight:700,background:e[a.bridge.tier]||"#555",color:"S"===a.bridge.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{fontWeight:600,fontSize:12},children:[(0,b.jsxs)("span",{style:{color:"#555",marginRight:4},children:["#",d]}),a.bridge.name]}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666"},children:a.bridge.headline?.substring(0,40)})]})]}),(0,b.jsx)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:4,background:e[a.bridge.tier],color:"S"===a.bridge.tier?"#000":"#fff"},children:a.bridge.tier})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginTop:6,fontSize:10},children:[a.sCount>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[a.sCount,"S",a.sAvgPower>0?` (${a.sAvgPower.toFixed(1)})`:""]}),a.aCount>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[a.aCount,"A"]}),a.bCount>0&&(0,b.jsxs)("span",{style:{color:"#3498DB"},children:[a.bCount,"B"]}),a.risingCount>0&&(0,b.jsxs)("span",{style:{color:"#2ECC71"},children:[a.risingCount," rising"]}),(0,b.jsxs)("span",{style:{color:"#555"},children:[a.members," total"]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:4,fontSize:10},children:[(0,b.jsxs)("span",{style:{color:"#666"},children:["Elite: ",(100*a.elitePct).toFixed(0),"% · Avg: ",a.avgPower.toFixed(1)]}),(0,b.jsx)("span",{style:{color:"#FF6B35",fontWeight:700},children:a.clusterValue.toFixed(1)})]}),(a.sTier.length>0||a.aTier.length>0)&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginTop:8},children:[[...a.sTier,...a.aTier].slice(0,4).map(a=>a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:a.name,style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"},title:a.name},a.id):(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:9,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},title:a.name,children:a.name?.charAt(0)},a.id)),a.sCount+a.aCount>4&&(0,b.jsxs)("span",{style:{fontSize:9,color:"#666"},children:["+",a.sCount+a.aCount-4," more"]})]}),(0,b.jsxs)("button",{onClick:()=>h(!g),style:{marginTop:6,background:"none",border:"none",color:"#888",fontSize:10,cursor:"pointer",padding:0,display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{fontSize:12},children:g?"▾":"▸"}),g?"Hide members":`View all ${a.members} members`]})]}),g&&(0,b.jsx)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",padding:"6px 10px 10px",maxHeight:250,overflowY:"auto"},children:a.topMembers.map(a=>(0,b.jsxs)("div",{onClick:()=>f&&f(a),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 2px",cursor:"pointer",borderRadius:4},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[a.profile_image_url?(0,b.jsx)("img",{src:a.profile_image_url,alt:"",style:{width:20,height:20,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:20,height:20,borderRadius:"50%",flexShrink:0,fontSize:8,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:a.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsx)("div",{style:{minWidth:0,flex:1},children:(0,b.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name})}),(0,b.jsxs)("span",{style:{fontSize:9,color:e[a.tier]||"#555",fontWeight:600,flexShrink:0},children:[a.tier," ",parseFloat(a.power_score).toFixed(1)]})]},a.id))})]})}function ba({connections:a,degree2:e}){let[f,g]=(0,c.useState)("idle"),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(null),l=new Set(e.map(a=>a.source_connection_id).filter(Boolean)),m=(a||[]).filter(a=>("S"===a.tier||"A"===a.tier)&&!l.has(a.id)).sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0));if(0===m.length&&"idle"===f)return(0,b.jsx)("div",{style:{padding:"10px",borderRadius:8,marginBottom:16,background:"rgba(0,255,136,0.06)",border:"1px solid rgba(0,255,136,0.2)",color:"#00ff88",fontSize:11,fontWeight:600,textAlign:"center"},children:"All S/A-tier bridges mapped"});async function n(){let a=m[0];if(!a)return;k(a),g("checking"),i([`Scanning ${a.name}'s network...`]);let b=(0,d.notReadyMessage)(await (0,d.scraperStatus)().catch(()=>null));if(b){g("offline"),i([b]);return}g("scraping");try{let b=await (0,d.runScrape)("bridge",{name:a.name,onLog:i});g(0===b.exitCode?"done":"error")}catch{g("error")}}return(0,b.jsxs)("div",{style:{background:"rgba(155,89,182,0.08)",border:"1px solid rgba(155,89,182,0.2)",borderRadius:10,padding:14,marginBottom:16},children:["idle"===f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{fontSize:11,color:"#9B59B6",fontWeight:700,marginBottom:6},children:[m.length," bridges unmapped"]}),(0,b.jsxs)("div",{style:{fontSize:11,color:"#aaa",marginBottom:8},children:["Next: ",(0,b.jsx)("strong",{children:m[0]?.name})," (",m[0]?.tier,"-tier, ",parseFloat(m[0]?.power_score).toFixed(1),")"]}),(0,b.jsx)("button",{onClick:n,style:{width:"100%",padding:"10px",borderRadius:8,border:"none",cursor:"pointer",background:"linear-gradient(135deg, #9B59B6, #FF6B35)",color:"#fff",fontWeight:700,fontSize:13},children:"Auto-Bridge Next"})]}),"offline"===f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{padding:"8px",borderRadius:6,background:"rgba(255,80,80,0.1)",color:"#ff5050",fontSize:11,marginBottom:6,textAlign:"center"},children:"Scanner offline"}),(0,b.jsx)("button",{onClick:()=>g("idle"),style:{width:"100%",padding:"8px",borderRadius:6,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#aaa",fontSize:11},children:"Retry"})]}),("checking"===f||"scraping"===f)&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,b.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:"#9B59B6",animation:"pulse 1s infinite"}}),(0,b.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"#9B59B6"},children:["Scanning ",j?.name,"..."]})]}),(0,b.jsx)("div",{style:{fontFamily:"monospace",fontSize:9,color:"#777",maxHeight:80,overflow:"auto"},children:h.map((a,c)=>(0,b.jsx)("div",{children:a},c))})]}),"done"===f&&(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsxs)("div",{style:{padding:"8px",borderRadius:6,background:"rgba(0,255,136,0.1)",color:"#00ff88",fontSize:11,fontWeight:600,marginBottom:6},children:[j?.name,"’s bridge mapped! Refresh to see."]}),(0,b.jsx)("button",{onClick:()=>{g("idle"),k(null),i([])},style:{width:"100%",padding:"8px",borderRadius:6,border:"none",cursor:"pointer",background:"linear-gradient(135deg, #9B59B6, #FF6B35)",color:"#fff",fontWeight:600,fontSize:11},children:"Bridge Next"})]}),"error"===f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{padding:"8px",borderRadius:6,background:"rgba(255,80,80,0.1)",color:"#ff5050",fontSize:11,marginBottom:6,textAlign:"center"},children:"Failed — connections may be private"}),(0,b.jsx)("button",{onClick:()=>{g("idle"),k(null),i([])},style:{width:"100%",padding:"8px",borderRadius:6,border:"none",cursor:"pointer",background:"rgba(255,255,255,0.1)",color:"#aaa",fontSize:11},children:"Try Next"})]})]})}let bb={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function bc({collapsed:a,onToggle:d,mode:e,filter:f,onFilterChange:g,visualMode:h,onVisualModeChange:i,tierCounts:j,bridgeTierCounts:k}){let l=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),m="degrees"===e,n=a0(m?"degrees":"network"),o=m?k||{}:j||{},p=m?Object.values(k||{}).reduce((a,b)=>a+b,0):Object.values(j||{}).reduce((a,b)=>a+b,0);return a?(0,b.jsxs)("div",{onClick:d,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:a=>{a.currentTarget.style.width="120px"},onMouseLeave:a=>{a.currentTarget.style.width="36px"},children:[(0,b.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"›"}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginLeft:6,opacity:.9},children:"Filters"})]}):(0,b.jsxs)("div",{style:l?{position:"fixed",top:0,left:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[l&&(0,b.jsx)("div",{onClick:d,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,b.jsxs)("div",{style:{width:l?"80vw":320,minWidth:320*!l,maxWidth:l?300:320,height:"100%",borderRight:"1px solid rgba(52,152,219,0.15)",padding:l?"12px 10px":"16px 14px",overflowY:"auto",overflowX:"hidden",background:l?"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,b.jsxs)("button",{onClick:d,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,b.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),(0,b.jsxs)("div",{style:{marginBottom:18},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Visual"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:n.map(a=>(0,b.jsxs)("button",{onClick:()=>i&&i(a.key),style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",textAlign:"left",background:h===a.key?"rgba(52,152,219,0.15)":"rgba(255,255,255,0.03)",color:h===a.key?"#3498DB":"#888",transition:"all 0.15s"},children:[(0,b.jsx)("span",{style:{fontSize:14,width:20,textAlign:"center"},children:a.icon}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600},children:a.label}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555",marginTop:1},children:a.desc})]})]},a.key))})]}),(0,b.jsxs)("div",{style:{marginBottom:18},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:m?"Filter by bridge tier":"Filter"}),(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[(0,b.jsxs)("button",{onClick:()=>g&&g("all"),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:"all"===f?"rgba(255,255,255,0.12)":"rgba(255,255,255,0.03)",color:"all"===f?"#fff":"#888"},children:[(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600},children:"All"}),(0,b.jsx)("span",{style:{fontSize:10,color:"#555"},children:p})]}),["S","A","B","C","D"].map(a=>(0,b.jsxs)("button",{onClick:()=>g&&g(a),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:f===a?`${bb[a]}20`:"rgba(255,255,255,0.03)",color:f===a?bb[a]:"#888",borderLeft:f===a?`3px solid ${bb[a]}`:"3px solid transparent"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:bb[a],opacity:f===a?1:.4}}),(0,b.jsxs)("span",{style:{fontSize:11,fontWeight:600},children:[a,"-Tier"]})]}),(0,b.jsx)("span",{style:{fontSize:10,color:"#555"},children:o[a]||0})]},a))]})]}),(0,b.jsxs)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",paddingTop:12},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Stats"}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[Object.entries(o).filter(([a])=>["S","A","B"].includes(a)).map(([a,c])=>(0,b.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:`${bb[a]}10`,textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:16,fontWeight:800,color:bb[a]},children:c}),(0,b.jsxs)("div",{style:{fontSize:8,color:"#555"},children:[a,"-Tier"]})]},a)),(0,b.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:"rgba(255,255,255,0.04)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:16,fontWeight:800,color:"#fff"},children:p}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:"Total"})]})]})]})]})]})}var bd=a.i(36839),be=a.i(58834);function bf(){let[a,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)("");async function g(){d(!0),f("");try{await (0,be.loadSampleIntoSession)(),window.location.reload()}catch(a){f(a.message||"Could not load the sample network."),d(!1)}}return(0,b.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,overflowY:"auto"},children:(0,b.jsxs)("div",{style:{maxWidth:520,width:"100%",textAlign:"center"},children:[(0,b.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,b.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 6 Degrees"}),(0,b.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,b.jsx)(bg,{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,b.jsx)(bg,{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,b.jsx)(bg,{onClick:g,disabled:a,title:a?"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."}),e&&(0,b.jsx)("div",{style:{color:"#ff6b6b",fontSize:13,marginTop:18},children:e}),(0,b.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,b.jsx)("a",{href:"/settings#data",style:{color:"rgba(255,255,255,0.75)"},children:"Import your saved copy in Settings → Your data."})]})]})})}function bg({href:a,onClick:c,disabled:d,primary:e,badge:f,title:g,body:h}){let i={display:"block",width:"100%",boxSizing:"border-box",textAlign:"left",padding:"16px 18px",borderRadius:12,marginBottom:12,textDecoration:"none",cursor:d?"default":"pointer",font:"inherit",border:e?"1px solid rgba(255,215,0,0.45)":"1px solid rgba(255,255,255,0.12)",background:e?"linear-gradient(135deg, rgba(255,215,0,0.12), rgba(155,89,182,0.14))":"rgba(255,255,255,0.03)",color:"#fff"},j=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:5},children:[(0,b.jsx)("span",{style:{fontSize:15.5,fontWeight:750},children:g}),f&&(0,b.jsx)("span",{style:{fontSize:10.5,fontWeight:800,letterSpacing:.5,textTransform:"uppercase",padding:"3px 8px",borderRadius:20,background:"#FFD700",color:"#0a0a1a"},children:f}),(0,b.jsx)("span",{style:{marginLeft:"auto",color:"rgba(255,255,255,0.4)"},children:"→"})]}),(0,b.jsx)("div",{style:{fontSize:13,color:"rgba(255,255,255,0.5)",lineHeight:1.6},children:h})]});return a?(0,b.jsx)("a",{href:a,style:i,children:j}):(0,b.jsx)("button",{onClick:c,disabled:d,style:i,children:j})}var bh=a.i(42510),bi=a.i(38246);let bj=[],bk={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function bl(){let a,f,g,h,{userId:i,userName:j}=(0,a1.useUser)(),k=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)([]),[p,q]=(0,c.useState)(null),r=(0,c.useRef)(null),[s,t]=(0,c.useState)("all"),[u,v]=(0,c.useState)("network"),[w,x]=(0,c.useState)(!0),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(!0),[C,D]=(0,c.useState)(!0),[E,F]=(0,c.useState)("galaxy"),[G,H]=(0,c.useState)([]),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)([]),[M,N]=(0,c.useState)(!1),[O,P]=(0,c.useState)("csv");(0,c.useEffect)(()=>{i&&(a(),be.IS_DEMO||(0,bh.hasCsvNetwork)()||(fetch(`/api/notifications?userId=${i}`).then(a=>a.json()).then(a=>H(a.notifications||[])).catch(()=>{}),fetch(`/api/outreach?userId=${i}`).then(a=>a.json()).then(a=>L(a.pending||[])).catch(()=>{})));async function a(){let a=(0,bh.hasCsvNetwork)()?(0,bh.loadCsvNetwork)():null;a&&(N(!0),P(a.source||"csv"));let{degree1:b,degree2:c}=be.IS_DEMO?await (0,be.loadDemoNetwork)():a||await (async()=>await (0,e.loadNetwork)(i))();m(b),o(c);let d={};b.forEach(a=>{d[a.tier]=(d[a.tier]||0)+1});let f={};c.forEach(a=>{f[a.tier]=(f[a.tier]||0)+1}),z({total:b.length,tiers:d,d2Total:c.length,d2Tiers:f}),x(!1)}},[i]);let Q="degrees"===u,R=(0,c.useMemo)(()=>"all"===s?l:l.filter(a=>a.tier===s),[l,s]),S=(0,c.useMemo)(()=>new Map(l.map(a=>[a.id,a])),[l]),T=(0,c.useMemo)(()=>new Set(n.map(a=>a.source_connection_id).filter(Boolean)),[n]),U=(0,c.useMemo)(()=>{let a={};return l.forEach(b=>{T.has(b.id)&&(a[b.tier]=(a[b.tier]||0)+1)}),a},[l,T]),V=(0,c.useMemo)(()=>Q?"all"===s?n:n.filter(a=>S.get(a.source_connection_id)?.tier===s):bj,[Q,s,S,n]),W=(0,c.useCallback)(a=>{q(a),a&&B(!1)},[]);if(w)return(0,b.jsxs)("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700},children:"Loading 6 Degrees of Separation..."}),(0,b.jsx)("div",{style:{fontSize:14,color:"#888",marginTop:8},children:"Mapping your LinkedIn network"})]});let X=(a=a$[E])&&a.modes.includes(u)?{key:E,...a}:a0(u)[0]??{key:"list",...a$.list};return(0,b.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,b.jsxs)("header",{style:{padding:k?"10px 12px":"20px 30px",borderBottom:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:k?4:8,flexWrap:k?"wrap":"nowrap",gap:6*!!k},children:[(0,b.jsx)("h1",{style:{fontSize:k?16:28,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"6 Degrees"}),(0,b.jsxs)("div",{style:{display:"flex",gap:k?2:4,background:"rgba(255,255,255,0.08)",borderRadius:8,padding:k?2:3,flexWrap:k?"wrap":"nowrap"},children:[(0,b.jsx)("button",{onClick:()=>{v("network"),q(null),t("all"),F("galaxy")},style:{padding:k?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:k?11:13,fontWeight:600,cursor:"pointer",background:"network"===u?"#fff":"transparent",color:"network"===u?"#000":"#888"},children:k?"Circle":"Network Circle"}),(0,b.jsx)("button",{onClick:()=>{v("degrees"),q(null),t("all"),F("separation")},style:{padding:k?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:k?11:13,fontWeight:600,cursor:"pointer",background:"degrees"===u?"linear-gradient(135deg, #FFD700, #FF6B35)":"rgba(255,255,255,0.12)",color:"degrees"===u?"#000":"#fff"},children:"Degrees"}),M&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginLeft:k?4:10,padding:k?"4px 8px":"5px 10px",borderRadius:999,background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.12)"},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"sample"===O?"#9B59B6":"#2ecc71"}}),(0,b.jsx)("span",{style:{fontSize:k?10:12,color:"rgba(255,255,255,0.65)",whiteSpace:"nowrap"},children:"sample"===O?"Sample network":"Your CSV"}),(0,b.jsx)("button",{onClick:()=>{(0,bh.clearCsvNetwork)(),window.location.href="/"},title:"sample"===O?"Leave the sample network":"Clear this import",style:{border:"none",background:"transparent",cursor:"pointer",color:"#888",fontSize:k?13:15,lineHeight:1,padding:"0 0 0 2px"},children:"×"})]}),!be.IS_DEMO&&(0,b.jsx)(bi.default,{href:"/paths",style:{padding:k?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:k?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#00ff88",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Paths"}),!be.IS_DEMO&&!M&&(0,b.jsx)(bi.default,{href:"/queue",style:{padding:k?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:k?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FF6B35",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Outlink"}),!be.IS_DEMO&&!M&&(0,b.jsx)(bi.default,{href:"/setup",style:{padding:k?"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"})]}),!be.IS_DEMO&&(0,b.jsx)(bi.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:k?28:32,height:k?28:32,borderRadius:"50%",flexShrink:0,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:k?14:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center",marginLeft:k?4:8},children:"⚙︎"}),!be.IS_DEMO&&!M&&(0,b.jsxs)("div",{style:{position:"relative",marginLeft:k?4:8},children:[(0,b.jsxs)("button",{onClick:()=>J(!I),style:{width:k?28:32,height:k?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.06)",color:"#888",fontSize:k?12:14,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:["🔔",G.filter(a=>!a.seen).length>0&&(0,b.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:G.filter(a=>!a.seen).length})]}),I&&(0,b.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,b.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.08)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,b.jsx)("span",{style:{fontWeight:700,fontSize:14},children:"Notifications"}),G.filter(a=>!a.seen).length>0&&(0,b.jsx)("button",{onClick:()=>{fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-all-seen"})}),H(a=>a.map(a=>({...a,seen:!0})))},style:{background:"none",border:"none",color:"#3498DB",fontSize:11,cursor:"pointer",fontWeight:600},children:"Mark all read"})]}),(0,b.jsx)("div",{style:{overflowY:"auto",maxHeight:340},children:0===G.length?(0,b.jsx)("div",{style:{padding:20,textAlign:"center",color:"#555",fontSize:12},children:"No notifications yet"}):G.slice(0,20).map(a=>(0,b.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid rgba(255,255,255,0.04)",background:a.seen?"transparent":"rgba(255,215,0,0.04)"},children:(0,b.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.icon||"📌"}),(0,b.jsxs)("div",{style:{flex:1},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:a.seen?"#888":"#fff"},children:a.title}),a.message&&(0,b.jsx)("div",{style:{fontSize:10,color:"#666",marginTop:2},children:a.message}),(0,b.jsx)("div",{style:{fontSize:9,color:"#444",marginTop:3},children:new Date(a.created_at).toLocaleDateString()})]})]})},a.id))})]})]}),!be.IS_DEMO&&!M&&(0,b.jsx)("button",{onClick:async()=>{try{let a=await (0,d.scraperStatus)(),b=(0,d.notReadyMessage)(a);if(b)return void alert(b);if(a.running)return void alert("The scanner is already busy.");await (0,d.startScrape)("refresh"),alert("Checking for new connections — watch it on the Scan page.")}catch(a){alert(a.message)}},title:"Refresh connections + bridges",style:{width:k?28:32,height:k?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.06)",color:"#888",fontSize:k?12:14,display:k?"none":"flex",alignItems:"center",justifyContent:"center",marginLeft:8},children:"↻"}),(0,b.jsx)("a",{href:be.IS_DEMO?"/launch":M?"/import":"/profile",style:{width:k?30:36,height:k?30:36,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:k?11:14,textDecoration:"none",marginLeft:k?6:12,flexShrink:0},children:(f=l.filter(a=>"S"===a.tier).length,g=l.filter(a=>"A"===a.tier).length,h=l.filter(a=>"B"===a.tier).length,Math.floor(Math.sqrt((100*f+40*g+15*h+200*l.filter(a=>T.has(a.id)).length+50*n.filter(a=>"S"===a.tier).length+l.length)/10)))})]}),Q&&K.length>0&&(0,b.jsxs)(bi.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,b.jsx)("span",{style:{fontSize:10},children:"⏳"}),K.length," Pending"]})]}),(0,b.jsxs)("div",{style:{display:"flex",height:k?"calc(100vh - 70px)":"calc(100vh - 130px)",position:"relative"},children:[(0,b.jsx)(bc,{collapsed:C,onToggle:()=>D(!C),mode:u,filter:s,onFilterChange:t,visualMode:E,onVisualModeChange:F,tierCounts:y?.tiers||{},bridgeTierCounts:U}),(()=>{if(0===l.length)return(0,b.jsx)(bf,{});if(Q&&0===n.length)return(0,b.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,textAlign:"center"},children:(0,b.jsxs)("div",{style:{maxWidth:440},children:[(0,b.jsx)("div",{style:{fontSize:40,marginBottom:16,opacity:.5},children:"🔗"}),(0,b.jsx)("h2",{style:{fontSize:22,fontWeight:800,margin:"0 0 12px",color:"#fff"},children:"Degrees need 2nd-degree data"}),(0,b.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,b.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,b.jsxs)("p",{style:{color:"#666",fontSize:13,lineHeight:1.7,margin:0},children:["The local scanner maps those circles (and captures real photos)."," ",(0,b.jsx)(bi.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"Set up scanning →"})]})]})});let a=X.component,c={connections:R,degree2:X.allDegree2?n:V,onSelect:W,mode:u,userName:j,userImage:null,selectedId:p?.id??null,tierColors:bk,focusNodeRef:r};return(0,b.jsx)(a,{...c})})(),(0,b.jsx)(a3,{selected:p,stats:y,tierColors:bk,connections:l,degree2:n,mode:u,collapsed:A,filter:s,pending:K,onToggle:()=>B(!A),onSelect:a=>{q(a||null)},onSwitchMode:a=>{v(a),t("all")},onFocusNode:a=>{r.current&&r.current(a)},onMarkSent:async a=>{if(be.IS_DEMO)return;let b=a.id,c=a.profile_url;await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:b,profileUrl:c})}),L(b=>[...b,a])},onUndoPending:async a=>{if(be.IS_DEMO)return;let b=a.id;await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:b})}),L(a=>a.filter(a=>a.id!==b))}}),Q&&"separation"!==X.key&&(0,b.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,b.jsx)("span",{style:{fontSize:10,color:"#666"},children:"🧪 Galaxy"}),(0,b.jsx)("div",{onClick:()=>F("galaxy"===E?"chain":"galaxy"),style:{width:32,height:18,borderRadius:9,cursor:"pointer",background:"galaxy"===E?"#FF6B35":"rgba(255,255,255,0.15)",position:"relative",transition:"background 0.2s"},children:(0,b.jsx)("div",{style:{width:14,height:14,borderRadius:"50%",background:"#fff",position:"absolute",top:2,left:"galaxy"===E?16:2,transition:"left 0.2s"}})})]})]})]})}a.s(["default",0,function(){return(0,b.jsx)(bd.default,{children:(0,b.jsx)(bl,{})})}],30100)}];
17
+ `,aY={paintOrder:"stroke",stroke:"#0a0a1a",strokeWidth:3,strokeLinejoin:"round"},aZ=(0,c.memo)(function({layout:a,selectedKey:d,tierColors:e,youLabel:f,isMobile:g,onPick:h,onPickBridge:i}){let{width:j,height:k,you:l,people:m,bridges:n,links:o,spokes:p}=a,q=(0,c.useMemo)(()=>{let a=new Map;for(let b of o)a.has(b.key)||a.set(b.key,[]),a.get(b.key).push(b);return a},[o]),r=g?36:26,s=g?12:11;return(0,b.jsxs)("svg",{className:"sepmap",width:j,height:k,"aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[(0,b.jsx)("style",{children:aX}),(0,b.jsx)("defs",{children:(0,b.jsxs)("linearGradient",{id:"sepYouGrad",x1:"0",y1:"0",x2:"1",y2:"1",children:[(0,b.jsx)("stop",{offset:"0",stopColor:"#FFD700"}),(0,b.jsx)("stop",{offset:"1",stopColor:"#FF6B35"})]})}),p.map(a=>(0,b.jsx)("line",{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,stroke:"#fff",strokeOpacity:.12,strokeWidth:1},`s-${a.id??"unresolved"}`)),(0,b.jsx)("g",{className:"ppl",children:m.map(a=>{let{p:c}=a,f=e[c.tier]||"#888",g=a.key===d,i=c.routes.map(a=>a.bridge?a.bridge.name:aT).join(", ");return(0,b.jsxs)("g",{className:g?"sp sel":"sp",onClick:()=>h(c),children:[(0,b.jsx)("title",{children:`${c.person.name} \xb7 #${c.rank}${c.tied?"=":""} \xb7 ${c.tier} \xb7 ${c.score.toFixed(1)} \xb7 via ${i}`}),(q.get(a.key)||[]).map(c=>{let d=(c.x1+c.x2)/2,f=c.unresolved?"#777":c.primary?aR:e[c.tier]||"#888";return(0,b.jsx)("path",{className:"rt",d:`M${c.x1+5},${c.y1} C${d},${c.y1} ${d},${c.y2} ${c.x2-a.r},${c.y2}`,fill:"none",stroke:f,strokeWidth:c.primary?1.5:1,strokeOpacity:c.primary?.8:.35,strokeDasharray:c.primary?void 0:"3 3"},`${c.key}-${c.bridgeId??"u"}`)}),(0,b.jsx)("rect",{x:a.x-12,y:a.y-r/2,width:Math.max(0,j-a.x+12),height:r,fill:"transparent"}),g&&(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r+3.5,fill:"none",stroke:"#fff",strokeWidth:1.5}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r,fill:f}),(0,b.jsxs)("text",{x:a.x+14,y:a.y,dy:"0.35em",fontSize:s,fill:"#ddd",style:aY,children:[a.label,(0,b.jsx)("tspan",{dx:6,fill:f,fontWeight:700,children:c.score.toFixed(1)})]})]},a.key)})}),n.map(a=>{let c=a.unresolved?"#777":e[a.bridge.tier]||"#888";return(0,b.jsxs)("g",{className:a.unresolved?void 0:"br",onClick:a.unresolved?void 0:()=>i(a.bridge),children:[(0,b.jsx)("title",{children:a.unresolved?"Routes whose connection record doesn’t match anyone in your 1st-degree list, so who introduces you can’t be named":`${a.bridge.name} \xb7 ${a.bridge.tier}-tier \xb7 a way in to ${a.count} of these \xb7 click to open`}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:a.r,fill:a.unresolved?"none":c,stroke:a.unresolved?"#777":"#0a0a1a",strokeWidth:a.unresolved?1:1.5,strokeDasharray:a.unresolved?"2 2":void 0}),(0,b.jsx)("text",{x:a.x-9,y:a.y,dy:"0.35em",textAnchor:"end",fontSize:s-1,fill:c,fontStyle:a.unresolved?"italic":void 0,fontWeight:a.unresolved?400:600,style:aY,children:a.label})]},`b-${a.id??"unresolved"}`)}),(0,b.jsxs)("g",{children:[(0,b.jsx)("circle",{cx:l.x,cy:l.y,r:l.r,fill:"url(#sepYouGrad)"}),(0,b.jsx)("text",{x:l.x,y:l.y,dy:"0.35em",textAnchor:"middle",fontSize:f.length>2?9:10,fontWeight:800,fill:"#000",children:f})]})]})}),a$={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function a_({p:a,route:c,tierColors:d,compact:e}){if(!c?.bridge)return(0,b.jsxs)("span",{style:{...a$,color:"#777",fontStyle:"italic",fontSize:e?11:12},children:["via ",aT]});let f=c.bridge,g=a.waysIn-1;return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0,fontSize:e?11:12},children:[(0,b.jsx)("span",{style:{color:"#666",flexShrink:0},children:"via"}),!e&&(0,b.jsx)(aQ,{person:f,size:16,tierColors:d}),(0,b.jsx)("span",{style:{...a$,color:d[f.tier]||"#aaa",fontWeight:600,minWidth:0},children:e?(0,S.shortName)(f.name):f.name}),g>0&&(0,b.jsxs)("span",{title:`Every way in:
18
+ ${a.routes.map(a=>a.bridge?`${a.bridge.name} (${a.bridge.tier})`:aT).join("\n")}`,style:{flexShrink:0,padding:"1px 6px",borderRadius:8,fontSize:10,fontWeight:800,color:aR,background:"rgba(255,107,53,0.15)"},children:["+",g]})]})}function a0({status:a,rarity:c}){let d=c?aL(c.key):null;return(0,b.jsxs)(b.Fragment,{children:["asked"===a&&(0,b.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"===a&&(0,b.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"}),d&&"connected"!==a&&(0,b.jsx)("span",{title:`${c.count} mutual connection${1===c.count?"":"s"}${"scans"===c.from?" (from your scans, so it can only go up)":""}. ${a1}`,style:{flexShrink:0,fontSize:9,fontWeight:700,color:d.color,border:`1px solid ${d.color}55`,borderRadius:4,padding:"0 4px"},children:d.label})]})}let a1="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.",a2=(0,c.memo)(function({p:a,top:c,height:d,isMobile:e,selected:f,tierColors:g,onPick:h,q:i,status:j,rarity:k}){let{person:l}=a,m=g[a.tier]||"#888",n=function(a,b){if(b){let c=a.routes.find(a=>a.bridge&&String(a.bridge.name||"").toLowerCase().includes(b));if(c)return c}return a.routes[0]||null}(a,i),o=a.rank<=3,p=f?"rgba(255,107,53,0.08)":o?`${m}08`:"transparent",q="LinkedIn Member"===l.name,r=`#${a.rank}${a.tied?"=":""}`,s=a.waysIn-1,t=n?.bridge?`via ${n.bridge.name}${s>0?` and ${s} other${s>1?"s":""}`:""}`:`via ${aT}${s>0?` and ${s} other${s>1?"s":""}`:""}`;return(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-label":`Rank ${a.rank}${a.tied?", tied":""}, ${l.name}, ${a.tier} tier, ${a.score.toFixed(1)}, ${a.waysIn} way${1===a.waysIn?"":"s"} in, ${t}`,"aria-pressed":f,onClick:()=>h(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),h(a))},onMouseEnter:a=>{f||(a.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:a=>{a.currentTarget.style.background=p},style:{position:"absolute",top:c,left:0,right:0,height:d,boxSizing:"border-box",display:"grid",alignItems:"center",gap:10,padding:"0 12px",gridTemplateColumns:e?"44px 36px 1fr 44px":"64px 36px minmax(0,1.4fr) minmax(0,1fr) 96px 44px",borderLeft:`3px solid ${f?aR:"transparent"}`,borderBottom:"1px solid rgba(255,255,255,0.04)",background:p,cursor:"pointer"},children:[(0,b.jsx)("span",{style:{fontSize:e?11:12,fontWeight:800,color:o?m:"#555",whiteSpace:"nowrap"},children:r}),(0,b.jsx)(aQ,{person:l,size:32,tierColors:g}),e?(0,b.jsxs)("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,minWidth:0},children:[(0,b.jsxs)("span",{style:{...a$,fontSize:13,fontWeight:600,color:q?"#888":"#fff",minWidth:0},children:[l.name,q&&(0,b.jsx)("span",{style:{fontSize:10,color:"#666",fontWeight:400},children:" · out of network"})]}),(0,b.jsx)(a0,{status:j,rarity:k})]}),(0,b.jsx)(a_,{p:a,route:n,tierColors:g,compact:!0}),(0,b.jsx)("span",{style:{...a$,fontSize:10,color:"#666"},children:aW(l)})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0},children:[(0,b.jsx)("span",{style:{...a$,fontSize:13,fontWeight:600,color:q?"#888":"#fff"},children:l.name}),(0,b.jsx)("span",{style:{flexShrink:0,fontSize:9,fontWeight:800,color:m,border:`1px solid ${m}55`,borderRadius:4,padding:"0 4px"},children:a.tier}),(0,b.jsx)(a0,{status:j,rarity:k}),q&&(0,b.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"#666"},children:"out of network"})]}),(0,b.jsx)("div",{style:{...a$,fontSize:10,color:"#777",marginTop:2},children:aW(l)})]}),(0,b.jsx)(a_,{p:a,route:n,tierColors:g}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:m,width:`${100*Math.max(0,Math.min(1,a.score/10))}%`}})})]}),(0,b.jsxs)("div",{style:{textAlign:"right"},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:800,color:m},children:a.score.toFixed(1)}),e&&(0,b.jsx)("div",{style:{fontSize:9,color:"#666",fontWeight:700},children:a.tier})]})]})}),a3={galaxy:{component:function({connections:a,onSelect:d,tierColors:e,focusNodeRef:f,userName:g,selectedId:h=null}){let i=(0,c.useRef)(null),m=(0,c.useRef)(null),u=(0,c.useRef)(null),w=(0,c.useRef)({transform:null,size:null}),x=(0,c.useRef)(null),[y,z]=(0,c.useState)(null),A=(0,c.useRef)(d);(0,c.useEffect)(()=>{A.current=d});let B=(0,c.useRef)(h);(0,c.useEffect)(()=>{let a=i.current?.parentElement;if(!a)return;let b=()=>{let b=Math.round(a.clientWidth),c=Math.round(a.clientHeight);x.current={width:b,height:c},z(a=>a&&a.width===b&&a.height===c?a:{width:b,height:c})};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[]),(0,c.useEffect)(()=>{B.current=h,u.current?.select(h)},[h]),(0,c.useEffect)(()=>{y&&u.current?.resize(y)},[y]);let C=null!==y;return(0,c.useEffect)(()=>{if(!C||!i.current||!a.length)return;let b=j.select(i.current);b.selectAll("*").remove();let c=x.current,{transform:d,size:h}=w.current,y=d?I(d,h,c):null,z=function(a,b,c,d,e,f,g,h,i,k){var l,m,u;let w=[{id:K,name:k||"You",tier:"center",degree:0,power_score:10,fx:0,fy:0},...d.map(a=>({id:a.id,name:a.name,tier:a.tier,degree:1,power_score:parseFloat(a.power_score)||1,company:a.company,role:a.role,headline:a.headline,profile_url:a.profile_url,profile_image_url:(0,H.localPhoto)(a.profile_image_url),connected_date:a.connected_date,seniority_score:a.seniority_score,company_prestige_score:a.company_prestige_score,influence_signals:a.influence_signals,is_catalyst:a.is_catalyst,catalyst_score:a.catalyst_score,circle_power:a.circle_power,circle_s_count:a.circle_s_count,circle_a_count:a.circle_a_count}))],x=new Map(w.map(a=>[a.id,a])),y=d.map(a=>({source:K,target:a.id})),z=a=>{switch(a){case"S":return 150;case"A":return 250;case"B":return 350;case"C":return 450;default:return 520}},A=a=>a.id===K?18:Math.max(3,Math.min(12,1.3*(a.power_score||1))),B=window.innerWidth<768,C=a.append("g"),D=null,E=n.default().scaleExtent([.3,4]).on("zoom",a=>{C.attr("transform",a.transform),i.current={transform:D??a.transform,size:c},P()});a.call(E);let F=(b,d)=>{if(L()){D=null,a.interrupt().call(E.transform,b);return}D=b,i.current={transform:b,size:c},a.transition().duration(d).call(E.transform,b).on("end interrupt cancel",()=>{D===b&&(D=null)})},M=b.firstChild,O=null,P=()=>{if(!O)return;let c=o.default(a.node());b.style.transform=`translate(${c.applyX(O.x)}px, ${c.applyY(O.y)}px) scale(${c.k})`},Q=a=>{if(O=null!=a&&a!==K?x.get(a)??null:null,b.style.display=O?"block":"none",!O)return;let c=A(O)+8;M.style.width=M.style.height=`${2*c+2.5}px`,M.style.margin=`${-(c+1.25)}px`,M.style.borderColor=f[O.tier]||"#FFD700",P()};if(h)a.call(E.transform,p.identity.translate(h.x,h.y).scale(h.k));else{let b=B&&c.width>0&&c.height>0?Math.min(c.width/1248,c.height/1248):1;a.call(E.transform,p.identity.translate(c.width/2,c.height/2).scale(b))}if(g&&(g.current=a=>{let b=x.get(a);b&&(F(p.identity.translate(c.width/2-2.5*b.x,c.height/2-2.5*b.y).scale(2.5),750),Q(a))}),B){let a={};w.forEach(b=>{let c=b.tier||"D";a[c]||(a[c]=[]),a[c].push(b)}),Object.entries(a).forEach(([a,b])=>{b.forEach((c,d)=>{if(c.id===K){c.x=0,c.y=0,c.fx=c.x,c.fy=c.y;return}let e=z(a),f=d/b.length*Math.PI*2-Math.PI/2;c.x=e*Math.cos(f),c.y=e*Math.sin(f),c.fx=c.x,c.fy=c.y})})}let R=q.forceSimulation(w).force("link",r.forceLink(y).id(a=>a.id).distance(a=>z(a.target.tier||"D")).strength(.1*!B)).force("charge",s.forceManyBody().strength(B?0:a=>a.id===K?-300:-15)).force("center",B?null:function(a,b){var c,d=1;function e(){var e,f,g=c.length,h=0,i=0;for(e=0;e<g;++e)h+=(f=c[e]).x,i+=f.y;for(h=(h/g-a)*d,i=(i/g-b)*d,e=0;e<g;++e)f=c[e],f.x-=h,f.y-=i}return null==a&&(a=0),null==b&&(b=0),e.initialize=function(a){c=a},e.x=function(b){return arguments.length?(a=+b,e):a},e.y=function(a){return arguments.length?(b=+a,e):b},e.strength=function(a){return arguments.length?(d=+a,e):d},e}(0,0)).force("collision",B?null:t.forceCollide().radius(a=>A(a)+2)).force("radial",B?null:v(a=>a.id===K?0:z(a.tier),0,0).strength(.3)),S=C.append("g").selectAll("line").data(y).join("line").attr("stroke",a=>f[a.target.tier]||"#333").attr("stroke-opacity",.15).attr("stroke-width",.5),T=w.filter(a=>a.is_catalyst);if(T.length){let b=a.select("defs").size()?a.select("defs"):a.append("defs");if(!b.select("#catalyst-glow-nm").size()){let a=b.append("filter").attr("id","catalyst-glow-nm").attr("x","-60%").attr("y","-60%").attr("width","220%").attr("height","220%");a.append("feGaussianBlur").attr("stdDeviation","5").attr("result","blur"),a.append("feMerge").html('<feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/>')}C.append("g").selectAll("circle").data(T).join("circle").attr("r",a=>A(a)+6).attr("fill","none").attr("stroke","#00ff88").attr("stroke-width",2).attr("stroke-dasharray","3,3").attr("filter","url(#catalyst-glow-nm)").attr("cx",a=>a.x||0).attr("cy",a=>a.y||0).attr("class","catalyst-ring")}let U=C.append("g").selectAll("circle").data(w).join("circle").attr("r",A).attr("fill",a=>a.id===K?"#fff":f[a.tier]||"#666").attr("stroke",a=>a.id===K?"#FFD700":a.is_catalyst?"#00ff88":"none").attr("stroke-width",a=>a.id===K?3:2.5*!!a.is_catalyst).style("cursor","pointer").on("click",(a,b)=>{b.id!==K&&(Q(b.id),e(b))}),V=j.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"),W=j.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");U.on("mouseover",function(a,b){if(N(this,1.5*A(b)),b.profile_image_url&&b.id!==K){var c;let d,e=Math.max(48,5*A(b));W.style("opacity",1),c=f[b.tier]||"#555",W.selectAll("*").remove(),(d=(0,H.localPhoto)(b.profile_image_url))?W.append("img").attr("src",d).style("width",e+"px").style("height",e+"px").style("border-radius","50%").style("object-fit","cover").style("border",`2px solid ${c}`).style("display","block").on("error",function(){this.parentElement.style.display="none"}):W.style("opacity",0),W.style("left",a.clientX-e/2+"px").style("top",a.clientY-e-8+"px"),V.style("opacity",1).html(`<strong>${J(b.name)}</strong>`).style("left",a.clientX-40+"px").style("top",a.clientY+12+"px").style("text-align","center").style("min-width","80px")}else V.style("opacity",1).html(`<strong>${J(b.name)}</strong>${b.company?"<br/>"+J(b.company):""}${b.tier?"<br/>Tier: "+J(b.tier):""}`).style("left",a.clientX+12+"px").style("top",a.clientY-10+"px")}).on("mousemove",function(a,b){if(b.profile_image_url&&b.id!==K){let c=Math.max(48,5*A(b));W.style("left",a.clientX-c/2+"px").style("top",a.clientY-c-8+"px"),V.style("left",a.clientX-40+"px").style("top",a.clientY+12+"px")}else V.style("left",a.clientX+12+"px").style("top",a.clientY-10+"px")}).on("mouseout",function(a,b){N(this,A(b)),V.style("opacity",0),W.style("opacity",0)}),l=U,m=R,u=K,l.call(G().on("start",(a,b)=>{a.active||m.alphaTarget(.3).restart(),b.fx=b.x,b.fy=b.y}).on("drag",(a,b)=>{b.fx=a.x,b.fy=a.y}).on("end",(a,b)=>{a.active||m.alphaTarget(0),b.id!==u&&(b.fx=null,b.fy=null)}));let X=C.append("g").selectAll("text").data(w.filter(a=>a.id===K||"S"===a.tier||a.is_catalyst)).join("text").text(a=>a.is_catalyst&&"S"!==a.tier?a.name+" ⚡":a.name).attr("font-size",a=>a.id===K?14:10).attr("font-weight",a=>a.id===K?700:500).attr("fill",a=>a.id===K?"#fff":a.is_catalyst?"#00ff88":f[a.tier]).attr("text-anchor","middle").attr("dy",a=>A(a)+14).style("pointer-events","none"),Y=C.selectAll(".catalyst-ring");return R.on("tick",()=>{S.attr("x1",a=>a.source.x).attr("y1",a=>a.source.y).attr("x2",a=>a.target.x).attr("y2",a=>a.target.y),U.attr("cx",a=>a.x).attr("cy",a=>a.y),Y.attr("cx",a=>a.x).attr("cy",a=>a.y),X.attr("x",a=>a.x).attr("y",a=>a.y),P()}),{simulation:R,resize:b=>{let d=I(D??o.default(a.node()),c,b);c=b,F(p.identity.translate(d.x,d.y).scale(d.k),250)},select:Q}}(b,m.current,c,a,a=>A.current?.(a),e,f,y,w,g);return u.current=z,z.select(B.current),()=>{var a;z.simulation.stop(),b.interrupt(),u.current=null,("string"==typeof(a=".graph-tooltip")?new l.Selection([document.querySelectorAll(a)],[document.documentElement]):new l.Selection([(0,k.default)(a)],l.root)).remove()}},[a,e,C]),(0,b.jsxs)("div",{style:{flex:1,position:"relative",overflow:"hidden"},children:[(0,b.jsx)("style",{children:M}),(0,b.jsx)("svg",{ref:i,width:y?.width??800,height:y?.height??600,style:{background:"#0a0a1a"}}),(0,b.jsx)("div",{ref:m,className:"galaxy-ring",style:{position:"absolute",left:0,top:0,display:"none",pointerEvents:"none",transformOrigin:"0 0"},children:(0,b.jsx)("div",{className:"galaxy-ring-pulse",style:{boxSizing:"border-box",border:"2.5px solid",borderRadius:"50%"}})}),(0,b.jsx)("div",{style:{position:"absolute",bottom:20,left:20,display:"flex",gap:12,fontSize:11,color:"#888"},children:Object.entries(e).map(([a,c])=>(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:c,display:"inline-block"}}),a]},a))})]})},modes:["network"],label:"Galaxy",icon:"🌌",desc:"Force-directed layout"},orbit:{component:Q,modes:["network","degrees"],label:"Orbit",icon:"🪐",desc:"Tier orbits + circle dots; in Degrees, every mapped circle fanned out",allDegree2:!0},separation:{component:function({connections:a=[],degree2:d=[],fullDegree1:e=a,fullDegree2:f=d,onSelect:i,userName:j,selectedId:k,tierColors:l=aS}){let m=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),n=m?68:56,o=m?5:10,p=m?8:16,[q,r]=(0,c.useState)(""),s=(0,c.useDeferredValue)(q.trim().toLowerCase()),[t,u]=(0,c.useState)("power"),[v,w]=(0,c.useState)("all"),[x,y]=(0,c.useState)(()=>new Set),z=(0,g.default)(),[A,B]=(0,c.useState)(0),[C,D]=(0,c.useState)({w:0,h:800}),[E,F]=(0,c.useState)(null),G=(0,c.useRef)(null),H=(0,c.useCallback)(a=>{G.current=a,F(a)},[]),I=(0,c.useRef)(null),J=(0,c.useMemo)(()=>(0,S.separationPeople)(d,a),[d,a]),K=(0,c.useMemo)(()=>"ways"===t?[...J.people].sort(S.compareWaysIn):J.people,[J,t]),L=(0,c.useMemo)(()=>(0,S.routeIndex)(f),[f]),M=(0,c.useMemo)(()=>{let a=new Map;for(let b of J.people)a.set(b.key,aM(b.person,L.get(b.key)?.size||b.waysIn));return a},[J,L]),N=(0,c.useMemo)(()=>{let a=Object.fromEntries(aJ.map(a=>[a.key,0]));for(let b of M.values())a[b.key]++;return a},[M]),P=(0,c.useCallback)((a,b)=>("all"===v||a.tier===v)&&(!x.size||x.has(M.get(a.key)?.key))&&(!b||a.haystack.includes(b)),[v,x,M]),Q=(0,c.useMemo)(()=>s||"all"!==v||x.size?K.filter(a=>P(a,s)):K,[K,s,v,x,P]),R=(0,c.useMemo)(()=>new Set(e.map(S.keyFor)),[e]),T=(0,c.useCallback)(a=>R.has(a.key)?"connected":(0,h.hasRequest)(a.person,z)?"asked":null,[R,z]),U=(0,c.useMemo)(()=>Q.filter(a=>!T(a)).slice(0,o),[Q,o,T]),V=(0,c.useMemo)(()=>Q.reduce((a,b)=>a+ +!!T(b),0),[Q,T]),W=null!=k?J.rowToKey.get(k)??null:null,X=(0,c.useRef)(i);(0,c.useEffect)(()=>{X.current=i});let Y=(0,c.useCallback)(a=>X.current?.(a.person),[]),Z=(0,c.useCallback)(a=>{a&&X.current?.(a)},[]);(0,c.useEffect)(()=>{if(!E)return;let a=new ResizeObserver(()=>{let a=Math.round(E.clientWidth),b=Math.round(E.clientHeight);D(c=>c.w===a&&c.h===b?c:{w:a,h:b})});return a.observe(E),()=>a.disconnect()},[E]);let $=Math.max(0,Math.min(980,C.w-2*p)),_=(0,c.useMemo)(()=>(0,S.summitLayout)(U,$||800,m),[U,$,m]),aa=m?58:40,ab=U.length?aa+_.height+12:0,ac=ab+28,ad=ac+Q.length*n+72,ae=Math.max(0,Math.floor((A-ac)/n)-8),af=Math.min(Q.length,ae+Math.ceil(C.h/n)+16),ag=(0,c.useCallback)(a=>{let b=16*Math.floor(a.currentTarget.scrollTop/16);B(a=>a===b?a:b)},[]),ah=(0,c.useCallback)(()=>{G.current&&(G.current.scrollTop=0),B(0)},[]);(0,c.useEffect)(()=>{let a=a=>{if("/"!==a.key||a.metaKey||a.ctrlKey||a.altKey)return;let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||"SELECT"===b.tagName||b.isContentEditable)||(a.preventDefault(),I.current?.focus())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]);let ai=a=>{r(a),ah()},{summary:aj}=J,ak=!!s||"all"!==v||x.size>0,al=!j||/^you$/i.test(String(j).trim())?"You":(0,O.initialsFor)(j),am=Q.slice(ae,af);return(0,b.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",background:"#0a0a1a",color:"#fff",overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{padding:"10px 56px 8px",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:800,background:"linear-gradient(135deg, #FFD700, #FF6B35)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Separation"}),(0,b.jsx)("span",{style:{fontSize:12,color:"#aaa"},children:m?`${aV(aj.people,"person","people")} \xb7 ${aU(aj.byTier.S)} S \xb7 ${aU(aj.multi)} with 2+ ways`:`${aV(aj.people,"person","people")} two steps away \xb7 ${aU(aj.byTier.S)} S-tier \xb7 ${aU(aj.multi)} reachable 2+ ways \xb7 through ${aU(aj.bridges)} of your connections`})]}),(0,b.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:S.TIERS.filter(a=>aj.byTier[a]>0).map(a=>(0,b.jsx)("div",{style:{flex:aj.byTier[a],background:l[a]||"#555"}},a))}),(0,b.jsx)("div",{style:{fontSize:11,color:"#777",lineHeight:1.4},children:m?"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."}),aj.peopleOnlyUnresolved>0&&(0,b.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:[aV(aj.peopleOnlyUnresolved,"of these people","of these people")," ","came only through ",aV(aj.onlyUnresolvedVia,"connection record","connection records")," ","that ",1===aj.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,b.jsxs)("div",{style:{padding:"0 56px 10px",flexShrink:0,display:"flex",gap:8,flexDirection:m?"column":"row",alignItems:m?"stretch":"center",flexWrap:m?"nowrap":"wrap",borderBottom:"1px solid rgba(255,255,255,0.06)"},children:[(0,b.jsx)("input",{ref:I,type:"search",value:q,onChange:a=>ai(a.target.value),onKeyDown:a=>{if("Enter"===a.key){let a=q.trim().toLowerCase(),b=K.find(b=>P(b,a));b&&Y(b)}else"Escape"===a.key&&(q?ai(""):a.currentTarget.blur())},placeholder:"Search people, companies, or who knows them","aria-label":"Search people, companies, or who knows them",style:{flex:m?"none":"1 1 260px",minWidth:0,height:m?44:34,boxSizing:"border-box",padding:"0 12px",borderRadius:8,outline:"none",color:"#fff",fontSize:m?16:13,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)"}}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0,flexWrap:m?"nowrap":"wrap",overflowX:m?"auto":"visible",scrollbarWidth:"thin",flexShrink:+!m},children:[(0,b.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(([a,c])=>(0,b.jsx)("button",{type:"button","aria-pressed":t===a,onClick:()=>{u(a),ah()},style:{height:m?40:30,padding:"0 12px",border:"none",borderRadius:6,cursor:"pointer",fontSize:12,fontWeight:700,whiteSpace:"nowrap",background:t===a?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:t===a?"#000":"#999"},children:c},a))}),(0,b.jsx)("span",{style:{fontSize:10,color:"#666",whiteSpace:"nowrap",flexShrink:0,textTransform:"uppercase",letterSpacing:.5},children:"Their tier"}),["all",...S.TIERS].map(a=>{let c=v===a,d="all"===a?"#fff":l[a]||"#888",e="all"===a?aj.people:aj.byTier[a];return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>{w(a),ah()},style:{height:m?40:30,padding:"0 10px",borderRadius:15,cursor:"pointer",flexShrink:0,fontSize:12,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${c?d:"rgba(255,255,255,0.1)"}`,background:c?`${"#fff"===d?"#ffffff":d}22`:"rgba(255,255,255,0.03)",color:c?d:"#999"},children:["all"===a?"All":a,(0,b.jsx)("span",{style:{marginLeft:5,fontWeight:500,color:c?d:"#666",opacity:.85},children:aU(e)})]},a)}),(0,b.jsx)("span",{title:a1,style:{fontSize:10,color:"#666",whiteSpace:"nowrap",flexShrink:0,textTransform:"uppercase",letterSpacing:.5,marginLeft:6,cursor:"help"},children:"Rarity"}),aJ.map(a=>{let c=x.has(a.key);return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>{var b;return b=a.key,void(y(a=>aO(a,b)),ah())},title:`${a.label}: ${a.range} mutual connection${"1"===a.range?"":"s"}. ${a1}`,style:{height:m?40:30,padding:"0 10px",borderRadius:15,cursor:"pointer",flexShrink:0,fontSize:12,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${c?a.color:"rgba(255,255,255,0.1)"}`,background:c?`${a.color}22`:"rgba(255,255,255,0.03)",color:c?a.color:"#999"},children:[a.label,(0,b.jsx)("span",{style:{marginLeft:5,fontWeight:500,color:c?a.color:"#666",opacity:.85},children:aU(N[a.key])})]},a.key)})]})]}),(0,b.jsx)("div",{ref:H,onScroll:ag,style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden",position:"relative",padding:`0 ${p}px`},children:(0,b.jsxs)("div",{style:{position:"relative",maxWidth:980,margin:"0 auto",height:ad},children:[U.length>0&&(0,b.jsxs)("div",{style:{height:ab,boxSizing:"border-box",paddingTop:10},children:[(0,b.jsxs)("div",{style:{height:aa-10,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:"#ddd",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["Top ",aU(U.length)," you haven’t asked, of ",aU(Q.length),ak?" shown":""," · every way in drawn"]}),(0,b.jsxs)("div",{style:{fontSize:10,color:"#777",marginTop:2,whiteSpace:m?"normal":"nowrap",overflow:"hidden",textOverflow:"ellipsis",lineHeight:1.35},children:[V>0&&(0,b.jsxs)("span",{style:{color:"#FFD700"},children:[aU(V)," asked or connected, so it moved on · "]}),(0,b.jsx)("span",{style:{color:aR},children:"solid orange"})," = top-scored bridge · dashed = other routes · dot size = ways in"]})]}),$>0&&(0,b.jsx)(aZ,{layout:_,selectedKey:W,tierColors:l,youLabel:al,isMobile:m,onPick:Y,onPickBridge:Z})]}),Q.length>0&&(0,b.jsxs)("div",{style:{height:28,display:"grid",alignItems:"center",gap:10,padding:"0 12px 0 15px",gridTemplateColumns:m?"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,b.jsx)("span",{title:"Rank by score, then ways in. = means tied",children:"#"}),(0,b.jsx)("span",{}),m?(0,b.jsx)("span",{children:"Person · way in"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"Person"}),(0,b.jsx)("span",{children:"Way in"}),(0,b.jsx)("span",{children:"Power"})]}),(0,b.jsx)("span",{style:{textAlign:"right"},children:m?"Score":""})]}),am.map((a,c)=>(0,b.jsx)(a2,{p:a,top:ac+(ae+c)*n,height:n,isMobile:m,selected:a.key===W,tierColors:l,onPick:Y,q:s,status:T(a),rarity:M.get(a.key)},a.key)),0===Q.length&&(0,b.jsxs)("div",{style:{position:"absolute",top:40,left:0,right:0,textAlign:"center",color:"#888",fontSize:13,padding:"0 16px"},children:[s?(0,b.jsxs)(b.Fragment,{children:["No one matches ‘",q.trim(),"’. Search covers names, headlines, companies and who knows them."]}):(0,b.jsx)(b.Fragment,{children:"No one here with those filters."}),(0,b.jsx)("div",{style:{marginTop:12},children:(0,b.jsx)("button",{type:"button",onClick:()=>{r(""),w("all"),y(new Set),ah()},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:a,degree2:d=[],onSelect:f,userName:h,fullDegree1:i,fullDegree2:j,scanNotes:k,canScan:l=!0,chainOpen:m=null,onChainOpened:n}){let o=(0,c.useRef)(null),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(1.3),[t,u]=(0,c.useState)({w:800,h:600}),v=i||a,w=j||d,[x,y]=(0,c.useState)(()=>(function(a,b){if(!a)return[];let c=b.find(b=>b.id===a);if(!c)return[];let d=c.unlocked_from_bridge_id;return null!=d&&b.some(a=>a.id===d)?[d,a]:[a]})(m,v));(0,c.useEffect)(()=>{m&&n?.()},[m,n]);let z=(0,c.useSyncExternalStore)(l?e.watchScanner:ao,am,an),A=(0,c.useSyncExternalStore)(ap,aq,ar),B=(0,g.default)();(0,c.useEffect)(()=>{let a=o.current;if(!a)return;let b=()=>{let b=Math.round(a.clientWidth),c=Math.round(a.clientHeight);u(a=>a.w===b&&a.h===c?a:{w:b,h:c})},c=new ResizeObserver(b);return c.observe(a),b(),()=>c.disconnect()},[]);let C=(0,c.useMemo)(()=>U(v,w),[v,w]),D=(0,c.useMemo)(()=>(0,Y.reachIndex)(v,w,k),[v,w,k]),E=(0,c.useMemo)(()=>(0,Y.readyByCircle)(D),[D]),F=(0,c.useMemo)(()=>{let a=new Map;for(let b of w)a.set(b.id,b);for(let b of v)a.set(b.id,b);return a},[v,w]),G=[];for(let a of x){let b=F.get(a);if(!b)break;G.push(b)}let I=G.length>0;(0,c.useEffect)(()=>{if(!I)return;let a=a=>{"Escape"!==a.key||/^(INPUT|TEXTAREA|SELECT)$/.test(a.target?.tagName||"")||document.querySelector('[role="dialog"][aria-modal="true"]')||y(a=>a.slice(0,-1))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[I]);let J={};d.forEach(a=>{a.source_connection_id&&(J[a.source_connection_id]||(J[a.source_connection_id]=[]),J[a.source_connection_id].push(a))});let K=a.filter(a=>J[a.id]&&J[a.id].length>0).sort((a,b)=>(J[b.id]?.length||0)-(J[a.id]?.length||0)),L=t.w/2,M=t.h/2,N=Math.min(L,M)-30,O=ab(K.length,{inner:.55*N,innerMin:.4*N,outer:.62*N,spacing:46,minSpacing:20}),P=K.map((a,b)=>{let c=O.points[b];return{...a,x:L+c.x,y:M+c.y,angle:c.angle,clusterSize:(J[a.id]||[]).length}}),Q=(0,c.useRef)([]);(0,c.useEffect)(()=>{Q.current=P.map(a=>({id:a.id,angle:a.angle}))});let R=(0,c.useRef)(0);if((0,c.useEffect)(()=>{let a=o.current;if(!a||I)return;let b=(b,c)=>{let d=a.getBoundingClientRect(),e=b-d.left,f=Math.atan2(c-d.top-t.h/2,e-t.w/2),g=null,h=1/0;return Q.current.forEach(a=>{let b=Math.abs(f-a.angle)%(2*Math.PI);b>Math.PI&&(b=2*Math.PI-b),b<h&&(h=b,g=a.id)}),g},c=a=>{if(a.touches[0]){let c=b(a.touches[0].clientX,a.touches[0].clientY);c&&q(c)}},d=a=>{a.preventDefault();let c=Date.now();if(!(c-R.current<16)&&(R.current=c,a.touches[0])){let c=b(a.touches[0].clientX,a.touches[0].clientY);c&&q(c)}};return a.addEventListener("touchstart",c,{passive:!1}),a.addEventListener("touchmove",d,{passive:!1}),()=>{a.removeEventListener("touchstart",c),a.removeEventListener("touchmove",d)}},[t,r,I]),I)return(0,b.jsx)("div",{ref:o,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},children:(0,b.jsx)(ax,{trail:G,index:C,reach:D,dims:t,requests:B,scanningId:z,still:A,canScan:l,onOpen:a=>y(G.map(a=>a.id).concat(a)),onBack:a=>y(G.slice(0,a).map(a=>a.id)),onSelect:f},G.map(a=>a.id).join(">"))});let S=d.length,T=d.filter(a=>"S"===a.tier).length,V=d.filter(a=>"A"===a.tier).length,W=p?P.find(a=>a.id===p):null;return(0,b.jsxs)("div",{ref:o,style:{flex:1,background:"#0a0a1a",position:"relative",overflow:"hidden"},children:[(0,b.jsx)("svg",{width:t.w,height:t.h,children:(0,b.jsxs)("g",{transform:`translate(${L*(1-r)}, ${M*(1-r)}) scale(${r})`,children:[(0,b.jsx)("circle",{cx:L,cy:M,r:.55*N,fill:"none",stroke:`${ae[1]}10`,strokeWidth:1}),W&&(0,b.jsx)(at,{bridge:W,members:as(W,C),reach:D,cx:L,cy:M,maxR:N,still:A}),P.map(a=>{let c=p===a.id,d=(J[a.id]||[]).filter(a=>"S"===a.tier).length,e=(J[a.id]||[]).filter(a=>"A"===a.tier).length,f=E.get(a.id)||0;return(0,b.jsxs)("g",{onClick:()=>{q(null),y([a.id])},onMouseEnter:()=>q(a.id),onMouseLeave:()=>q(null),style:{cursor:"pointer"},children:[(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?20:16,fill:`${ad[a.tier]}08`,stroke:`${ad[a.tier]}${c?"60":"25"}`,strokeWidth:1}),(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?13:11,fill:(0,H.localPhoto)(a.profile_image_url)?"#1a1a2e":ad[a.tier],stroke:c?"#fff":ad[a.tier],strokeWidth:c?2.5:2}),(0,H.localPhoto)(a.profile_image_url)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("clipPath",{id:"bc-"+a.id,children:(0,b.jsx)("circle",{cx:a.x,cy:a.y,r:c?11:9})}),(0,b.jsx)("image",{href:(0,H.localPhoto)(a.profile_image_url),x:a.x-(c?11:9),y:a.y-(c?11:9),width:c?22:18,height:c?22:18,clipPath:`url(#bc-${a.id})`})]}),!(0,H.localPhoto)(a.profile_image_url)&&(0,b.jsx)("text",{x:a.x,y:a.y+4,textAnchor:"middle",fill:"S"===a.tier?"#000":"#fff",fontSize:11,fontWeight:700,children:a.name?.charAt(0)}),f>0&&(0,b.jsxs)("g",{children:[(0,b.jsx)("title",{children:`${f} you reached through ${aj(a)}’s circle ${1===f?"is":"are"} ready for a scan`}),(0,b.jsx)("rect",{x:a.x+7,y:a.y-21,width:f>9?40:34,height:11,rx:5.5,fill:"rgba(0,255,136,0.16)",stroke:ag,strokeWidth:.6}),(0,b.jsxs)("text",{x:a.x+7+(f>9?20:17),y:a.y-13,textAnchor:"middle",fill:ag,fontSize:7,fontWeight:800,children:[f," ready"]})]}),(0,b.jsx)("text",{x:a.x,y:a.y+(c?24:22),textAnchor:"middle",fill:"#fff",fontSize:9,fontWeight:600,children:a.name?.split(" ")[0]}),(0,b.jsxs)("text",{x:a.x,y:a.y+(c?34:32),textAnchor:"middle",fill:"#888",fontSize:7,children:[a.clusterSize," · ",d>0?d+"S ":"",e>0?e+"A":""]})]},"b-"+a.id)}),(0,b.jsx)("circle",{cx:L,cy:M,r:22,fill:"#0a0a1a",stroke:"#FFD700",strokeWidth:3}),(0,b.jsx)("text",{x:L,y:M+4,textAnchor:"middle",fill:"#FFD700",fontSize:11,fontWeight:800,children:h?.split(" ")[0]||"YOU"})]})}),(0,b.jsx)(aw,{onIn:()=>s(a=>Math.min(3,a+.3)),onReset:()=>s(1.3),onOut:()=>s(a=>Math.max(.4,a-.3))}),(0,b.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,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#666",letterSpacing:1.5,marginBottom:8},children:"DEGREES OF SEPARATION"}),(0,b.jsx)("div",{style:{display:"flex",gap:8},children:[1,2,3,4,5,6].map(c=>(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsxs)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:11,fontWeight:800,display:"flex",alignItems:"center",justifyContent:"center",background:c<=2?ae[c]:"rgba(255,255,255,0.04)",color:c<=2?"#000":"#333",border:c<=2?"none":"1px solid rgba(255,255,255,0.08)",boxShadow:c<=2?`0 0 6px ${ae[c]}30`:"none"},children:["D",c]}),(0,b.jsx)("div",{style:{fontSize:7,color:c<=2?"#aaa":"#333",marginTop:3},children:1===c?a.length:2===c?S:"—"})]},c))}),(0,b.jsxs)("div",{style:{fontSize:9,color:"#555",marginTop:8},children:[K.length," bridges · ",T," S + ",V," A at 2nd degree"]}),(0,b.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:a,degree2:d=[],onSelect:e,mode:f}){let[g,h]=(0,c.useState)(null);if("degrees"===f&&d.length>0){let c={};d.forEach(a=>{a.source_connection_id&&(c[a.source_connection_id]||(c[a.source_connection_id]=[]),c[a.source_connection_id].push(a))});let f=Object.entries(c).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length,value:3*e+2*f+c.length}}).filter(Boolean).sort((a,b)=>b.value-a.value),i={S:36,A:28,B:22,C:16,D:12};return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:f.map((a,c)=>{let d={};return aI.forEach(a=>{d[a]=[]}),a.members.forEach(a=>{(d[a.tier]||d.D).push(a)}),aI.forEach(a=>{d[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}),(0,b.jsxs)("div",{style:{marginBottom:30},children:[(0,b.jsx)("div",{style:{textAlign:"center",marginBottom:12},children:(0,b.jsxs)("div",{onClick:()=>e&&e(a.bridge),onMouseEnter:()=>h(a.bridge.id),onMouseLeave:()=>h(null),style:{display:"inline-block",cursor:"pointer",position:"relative"},children:[(0,b.jsx)("div",{style:{width:56,height:56,borderRadius:"50%",margin:"0 auto",border:`3px solid ${aH[a.bridge.tier]}`,overflow:"hidden",background:"#1a1a2e",boxShadow:g===a.bridge.id?`0 0 20px ${aH[a.bridge.tier]}60`:`0 0 10px ${aH[a.bridge.tier]}20`,transition:"box-shadow 0.2s"},children:(0,H.localPhoto)(a.bridge.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.bridge.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):(0,b.jsx)("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:aH[a.bridge.tier],color:"S"===a.bridge.tier?"#000":"#fff",fontSize:20,fontWeight:800},children:a.bridge.name?.charAt(0)})}),(0,b.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"#fff",marginTop:4},children:a.bridge.name}),(0,b.jsxs)("div",{style:{fontSize:9,color:aH[a.bridge.tier],fontWeight:600},children:[a.bridge.tier,"-Tier · ",a.total," connections · ",a.sCount>0?a.sCount+"S ":"",a.aCount>0?a.aCount+"A":""]})]})}),aI.map(a=>{let c=d[a];if(0===c.length)return null;let f=i[a],j="S"===a?10:"A"===a?6:4;return(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:j},children:c.map(c=>{let d=g===c.id;return(0,b.jsxs)("div",{onClick:()=>e&&e(c),onMouseEnter:()=>h(c.id),onMouseLeave:()=>h(null),style:{position:"relative",cursor:"pointer"},children:[(0,b.jsx)("div",{style:{width:f,height:f,borderRadius:"50%",border:`2px solid ${aH[a]}`,overflow:"hidden",background:(0,H.localPhoto)(c.profile_image_url)?"#111":aH[a],transition:"transform 0.15s, box-shadow 0.15s",transform:d?"scale(1.3)":"scale(1)",boxShadow:d?`0 0 12px ${aH[a]}60`:"none"},children:(0,H.localPhoto)(c.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(c.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:b=>{b.target.style.display="none",b.target.parentElement.style.background=aH[a]}}):(0,b.jsx)("span",{style:{display:"flex",width:"100%",height:"100%",alignItems:"center",justifyContent:"center",fontSize:.4*f,fontWeight:700,color:"S"===a?"#000":"#fff"},children:c.name?.charAt(0)})}),("S"===a||d)&&(0,b.jsx)("div",{style:{position:"absolute",top:f+2,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:(0,b.jsxs)("div",{style:{fontSize:d?10:8,fontWeight:600,color:d?"#fff":"#aaa",background:d?"rgba(0,0,0,0.85)":"transparent",padding:d?"3px 8px":0,borderRadius:4},children:[c.name?.split(" ")[0],d&&(0,b.jsx)("span",{style:{color:aH[a],marginLeft:4},children:parseFloat(c.power_score||0).toFixed(1)})]})})]},c.id)})}),(0,b.jsx)("div",{style:{height:1,margin:"6px auto 0",width:`${40+10*aI.indexOf(a)}%`,background:`linear-gradient(90deg, transparent, ${aH[a]}20, transparent)`}})]},a)})]},a.bridge.id)})})})}let i={};aI.forEach(a=>{i[a]=[]}),a.forEach(a=>{let b=a.tier||"D";i[b]&&i[b].push(a)}),aI.forEach(a=>{i[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))});let j={S:44,A:34,B:26,C:20,D:16};return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",background:"#0a0a1a",padding:"20px 10px"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:aI.map((a,c)=>{let d=i[a];if(0===d.length)return null;let f=j[a],k="S"===a?12:"A"===a?8:"B"===a?6:4;return(0,b.jsxs)("div",{style:{marginBottom:"S"===a?20:"A"===a?16:10},children:[(0,b.jsxs)("div",{style:{textAlign:"center",marginBottom:8,fontSize:"S"===a?14:11,fontWeight:700,color:aH[a],opacity:"S"===a?1:.7},children:["S"===a&&"👑 ",a,"-Tier (",d.length,")"]}),(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:k,padding:"0 20px"},children:d.map(c=>{let d=g===c.id;return(0,b.jsxs)("div",{onClick:()=>e&&e(c),onMouseEnter:()=>h(c.id),onMouseLeave:()=>h(null),style:{position:"relative",cursor:"pointer"},children:[(0,b.jsx)("div",{style:{width:f,height:f,borderRadius:"50%",border:`2px solid ${aH[a]}`,overflow:"hidden",background:(0,H.localPhoto)(c.profile_image_url)?"#111":aH[a],display:"flex",alignItems:"center",justifyContent:"center",transition:"transform 0.15s, box-shadow 0.15s",transform:d?"scale(1.3)":"scale(1)",boxShadow:d?`0 0 16px ${aH[a]}60`:"none",zIndex:d?10:1,position:"relative"},children:(0,H.localPhoto)(c.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(c.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"},onError:b=>{b.target.style.display="none",b.target.parentElement.style.background=aH[a]}}):(0,b.jsx)("span",{style:{fontSize:.4*f,fontWeight:700,color:"S"===a?"#000":"#fff"},children:c.name?.charAt(0)})}),("S"===a||d)&&(0,b.jsxs)("div",{style:{position:"absolute",top:f+4,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",zIndex:20,pointerEvents:"none"},children:[(0,b.jsxs)("div",{style:{fontSize:"S"===a?9:10,fontWeight:600,color:d?"#fff":"#aaa",background:d?"rgba(0,0,0,0.85)":"transparent",padding:d?"3px 8px":0,borderRadius:4},children:[c.name?.split(" ")[0],d&&(0,b.jsx)("span",{style:{color:aH[a],marginLeft:4,fontWeight:800},children:parseFloat(c.power_score||0).toFixed(1)})]}),d&&c.headline&&(0,b.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:c.headline.substring(0,40)})]})]},c.id)})}),c<aI.length-1&&(0,b.jsx)("div",{style:{height:1,margin:"12px auto 0",width:`${50+12*c}%`,background:`linear-gradient(90deg, transparent, ${aH[a]}30, transparent)`}})]},a)})})})},modes:["network","degrees"],label:"Pyramid",icon:"🔺",desc:"Tier hierarchy"},list:{component:function({connections:a,degree2:c=[],onSelect:d,mode:e}){if("degrees"===e){let e={};c.forEach(a=>{a.source_connection_id&&(e[a.source_connection_id]||(e[a.source_connection_id]=[]),e[a.source_connection_id].push(a))});let f=Object.entries(e).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length,g=3*e+2*f+c.length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length,value:g}}).filter(Boolean).sort((a,b)=>b.value-a.value);return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,b.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,b.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,b.jsx)("span",{children:"#"}),(0,b.jsx)("span",{children:"Bridge"}),(0,b.jsx)("span",{children:"S"}),(0,b.jsx)("span",{children:"A"}),(0,b.jsx)("span",{children:"Total"}),(0,b.jsx)("span",{children:"Value"})]}),f.map((a,c)=>(0,b.jsxs)("div",{onClick:()=>d&&d(a.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:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"#444"},children:c+1}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,H.localPhoto)(a.bridge.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.bridge.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${aG[a.bridge.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:aG[a.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.name}),(0,b.jsxs)("div",{style:{fontSize:9,color:aG[a.bridge.tier],fontWeight:600},children:[a.bridge.tier,"-Tier"]})]})]}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:800,color:"#FFD700"},children:a.sCount}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"#9B59B6"},children:a.aCount}),(0,b.jsx)("span",{style:{fontSize:12,color:"#888"},children:a.total}),(0,b.jsx)("div",{children:(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:`linear-gradient(90deg, ${aG[a.bridge.tier]}, #FF6B35)`,width:`${Math.min(100,a.value/Math.max(f[0]?.value||1,1)*100)}%`}})})})]},a.bridge.id))]})})}let f=[...a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)),g=parseFloat(f[0]?.power_score)||10;return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px",background:"#0a0a1a"},children:(0,b.jsxs)("div",{style:{maxWidth:800,margin:"0 auto"},children:[(0,b.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,b.jsx)("span",{children:"#"}),(0,b.jsx)("span",{}),(0,b.jsx)("span",{children:"Name"}),(0,b.jsx)("span",{children:"Score"}),(0,b.jsx)("span",{children:"Power"})]}),f.map((a,c)=>(0,b.jsxs)("div",{onClick:()=>d&&d(a),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:c<3?`${aG[a.tier]}08`:"transparent",transition:"background 0.1s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:b=>b.currentTarget.style.background=c<3?`${aG[a.tier]}08`:"transparent",children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700,color:c<3?aG[a.tier]:"#444"},children:c+1}),(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",border:`2px solid ${aG[a.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",fontSize:10,fontWeight:700,background:aG[a.tier],color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("span",{style:{fontSize:13,fontWeight:800,color:aG[a.tier]},children:parseFloat(a.power_score||0).toFixed(1)}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:a.tier})]}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.06)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:3,background:aG[a.tier],width:`${parseFloat(a.power_score||0)/g*100}%`}})})]},a.id))]})})},modes:["network","degrees"],label:"List",icon:"☰",desc:"Ranked power list"},grid:{component:function({connections:a,degree2:c=[],onSelect:d,mode:e}){if("degrees"===e){let e={};c.forEach(a=>{a.source_connection_id&&(e[a.source_connection_id]||(e[a.source_connection_id]=[]),e[a.source_connection_id].push(a))});let f=Object.entries(e).map(([b,c])=>{let d=a.find(a=>a.id===b);if(!d)return null;let e=c.filter(a=>"S"===a.tier).length,f=c.filter(a=>"A"===a.tier).length;return{bridge:d,members:c,sCount:e,aCount:f,total:c.length}}).filter(Boolean).sort((a,b)=>3*b.sCount+2*b.aCount+b.total-(3*a.sCount+2*a.aCount+a.total));return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))",gap:12,maxWidth:1200,margin:"0 auto"},children:f.map(a=>(0,b.jsxs)("div",{onClick:()=>d&&d(a.bridge),style:{padding:16,borderRadius:12,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${aE[a.bridge.tier]||"#333"}30`,borderLeft:`4px solid ${aE[a.bridge.tier]||"#555"}`,transition:"all 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,H.localPhoto)(a.bridge.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.bridge.profile_image_url),alt:"",style:{width:40,height:40,borderRadius:"50%",objectFit:"cover",border:`2px solid ${aE[a.bridge.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:40,height:40,borderRadius:"50%",fontSize:16,fontWeight:700,background:aE[a.bridge.tier],color:"#000",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:a.bridge.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.headline?.substring(0,40)})]}),(0,b.jsx)("span",{style:{fontSize:12,fontWeight:800,color:aE[a.bridge.tier]},children:a.bridge.tier})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,fontSize:10},children:[a.sCount>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[a.sCount,"S"]}),a.aCount>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[a.aCount,"A"]}),(0,b.jsxs)("span",{style:{color:"#666"},children:[a.total," total"]})]}),(0,b.jsxs)("div",{style:{display:"flex",marginTop:8},children:[a.members.slice(0,8).map((a,c)=>(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:8,fontWeight:700,background:(0,H.localPhoto)(a.profile_image_url)?"transparent":aE[a.tier]||"#333",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid #0a0a1a",marginLeft:c>0?-6:0,position:"relative",zIndex:8-c,overflow:"hidden"},children:(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:"100%",height:"100%",objectFit:"cover"}}):a.name?.charAt(0)},a.id)),a.total>8&&(0,b.jsxs)("span",{style:{fontSize:9,color:"#555",marginLeft:4,alignSelf:"center"},children:["+",a.total-8]})]})]},a.bridge.id))})})}let f={};return aF.forEach(a=>{f[a]=[]}),a.forEach(a=>{let b=a.tier||"D";f[b]&&f[b].push(a)}),aF.forEach(a=>{f[a].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}),(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:20,background:"#0a0a1a"},children:(0,b.jsx)("div",{style:{maxWidth:1200,margin:"0 auto"},children:aF.map(a=>{let c=f[a];return 0===c.length?null:(0,b.jsxs)("div",{style:{marginBottom:24},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 0 10px",borderBottom:`2px solid ${aE[a]}30`,marginBottom:10},children:[(0,b.jsx)("div",{style:{width:10,height:10,borderRadius:"50%",background:aE[a]}}),(0,b.jsxs)("span",{style:{fontSize:15,fontWeight:800,color:aE[a]},children:[a,"-Tier"]}),(0,b.jsx)("span",{style:{fontSize:12,color:"#555"},children:c.length})]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(180px, 1fr))",gap:8},children:c.map(c=>(0,b.jsxs)("div",{onClick:()=>d&&d(c),style:{padding:10,borderRadius:8,cursor:"pointer",background:"rgba(255,255,255,0.03)",border:`1px solid ${aE[a]}20`,transition:"all 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,H.localPhoto)(c.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(c.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",border:`2px solid ${aE[a]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",fontSize:12,fontWeight:700,background:aE[a],color:"S"===a?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:c.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,color:"#fff",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.headline?.substring(0,30)})]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:6,alignItems:"center"},children:[(0,b.jsx)("span",{style:{fontSize:10,fontWeight:700,color:aE[a]},children:parseFloat(c.power_score||0).toFixed(1)}),(0,b.jsx)("div",{style:{flex:1,marginLeft:8,height:3,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:2,background:aE[a],width:`${Math.min(100,10*(parseFloat(c.power_score)||0))}%`}})})]})]},c.id))})]},a)})})})},modes:["network","degrees"],label:"Grid",icon:"▦",desc:"Cards"}},a4=["galaxy","orbit","separation","chain","rings","list"];function a5(a){return a4.filter(b=>a3[b]?.modes.includes(a)).map(a=>({key:a,...a3[a]}))}var a6=a.i(35112),a7=a.i(30889);let a8=/\/10, (your|sample) score\)/,a9=/^(?:Former )?(?:Student · )?(.+?) \([\d.]+\) · (no company found|.+?) \(\d+(?:\.\d+)?\/10(?:[:,][^)]*)?\)/,ba={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},bb=["S","A","B","C","D"],bc="#00ff88";function bd({person:a,connections:d=[],degree2:e=[],tierColors:f=ba,onSelect:g,isRequested:h=T,canScan:i=!0}){let j=(0,c.useMemo)(()=>U(d,e),[d,e]),k=(0,c.useMemo)(()=>(0,S.routeIndex)(e),[e]),{rings:l,totals:m}=(0,c.useMemo)(()=>(function(a,b,{maxDegree:c=6,isRequested:d=T}={}){let e=[],f={people:0,connected:0,requested:0};if(!a||!b)return{rings:e,totals:f};let g=new Set([(0,S.keyFor)(a)]),h=[a];for(let a=2;a<=c&&h.length;a++){let c=[],i=[];for(let a of h){let e=[];for(let c of b.introduced.get(a.id)||[]){let b=(0,S.keyFor)(c);g.has(b)||(g.add(b),e.push({row:c,key:b,parentId:a.id,state:"connected"}),i.push(c))}for(let c of b.circles.get(a.id)||[]){let b=(0,S.keyFor)(c);g.has(b)||(g.add(b),e.push({row:c,key:b,parentId:a.id,state:d(c)?"requested":null}))}e.sort(W),c.push(...e)}if(!c.length)break;for(let a of c)f.people++,"connected"===a.state?f.connected++:"requested"===a.state&&f.requested++;e.push({degree:a,people:c}),h=i}return{rings:e,totals:f}})(a,j,{isRequested:h}),[a,j,h]),[n,o]=(0,c.useState)(()=>new Set),[p,q]=(0,c.useState)(()=>new Set),[r,s]=(0,c.useState)(!1),t=(0,c.useMemo)(()=>l.flatMap(a=>a.people.map(a=>{let b="connected"===a.state||1===a.row.degree?null:aM(a.row,k.get((0,S.keyFor)(a.row))?.size||1);return{key:a.key,tier:a.row.tier,rarity:b?.key??null,mutuals:b}})),[l,k]),u=(0,c.useMemo)(()=>new Map(t.map(a=>[a.key,a])),[t]),v=(0,c.useMemo)(()=>({tiers:n,rarities:p}),[n,p]),w=(0,c.useMemo)(()=>t.filter(a=>aN(a,v)).length,[t,v]),x=(0,c.useMemo)(()=>d.filter(a=>j.circles.has(a.id)).length,[d,j]),y=t.some(a=>a.mutuals?.from==="linkedin"),z=(0,c.useMemo)(()=>(function(a){let b,c,d,e;if(!a)return null;if(null==a.power_score||""===a.power_score||!a.tier)return{title:!1,company:!1,never:!0,companyName:null,reason:"They haven’t been scored yet."};let f=String(a.score_why||"").match(a9);if(f)b=f[1],d=!(c="no company found"===f[2]?null:f[2])||!a8.test(a.score_why)&&!["known","data"].includes((0,a7.companyScore)(c).source);else{let e=(0,a7.scorePerson)(a);b=e.title.label,c=e.company||null,d=["none","default","network"].includes(e.companySource)}let g=b.startsWith("Audience of"),h="Title unclear"===b||b.includes("Works there");return(g&&(d=!1),h||d)?(e=h&&d?c?`Their headline doesn’t say their title, and the app doesn’t know ${c}.`:"Their headline names no title or company the app can read.":h?"Their headline doesn’t say their title.":c?`The app doesn’t know ${c}, so it counts as the middle of the scale.`:"The app couldn’t find where they work.",{title:h,company:d,never:!1,companyName:c,reason:e}):null})(a),[a]);if(!a)return null;if(!l.length){let c=a.name?.split(" ")[0]||"them";return(0,b.jsxs)("div",{style:z?{...bl,borderColor:"rgba(255,215,0,0.28)"}:bl,children:[(0,b.jsx)(bk,{children:"Their circle"}),z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#d8ccb0",lineHeight:1.5,marginBottom:9*!!i},children:[(0,b.jsx)("b",{style:{color:"#FFD700"},children:"Their score is a guess."})," ",z.reason,i&&(0,b.jsxs)(b.Fragment,{children:[" Scanning ",c,"'s circle shows who you can reach through them, and a strong circle adds up to +2 to their score."]})]}),i&&(0,b.jsx)("button",{type:"button",onClick:bj,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 ↓"})]}):i?(0,b.jsxs)("div",{style:{fontSize:11,color:"#999",lineHeight:1.5},children:["Not scanned yet. Scan ",c,"'s circle below to see who they know, and everyone you reach through them after that."]}):(0,b.jsx)("div",{style:{fontSize:11,color:"#999",lineHeight:1.5},children:"Not scanned."})]})}let A=Object.fromEntries(bb.map(a=>[a,t.filter(b=>b.tier===a).length])),B=function(a=[]){let b=Object.fromEntries(aJ.map(a=>[a.key,0]));for(let c of a)c?.rarity&&void 0!==b[c.rarity]&&b[c.rarity]++;return b}(t),C=n.size>0||p.size>0,D=(0,b.jsx)(bg,{tierColors:f,byTier:A,byRarity:B,tiers:n,rarities:p,onTier:a=>o(b=>aO(b,a)),onRarity:a=>q(b=>aO(b,a)),onClear:()=>{o(new Set),q(new Set)}}),E=(0,b.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."," ",y?"LinkedIn’s own count where a scan saved it; otherwise the ways in from your scans.":`Counted from the ${x} ${1===x?"circle":"circles"} you’ve scanned, so it can only go up as you scan more.`]});return(0,b.jsxs)("div",{style:bl,children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8},children:[(0,b.jsx)(bk,{children:"Their circle"}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!0),style:bn,"aria-label":"Open the large map",children:"Enlarge ⤢"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!0),"aria-label":`${a.name}'s circle: open the large map`,style:{display:"block",width:"100%",padding:0,border:"none",background:"none",cursor:"zoom-in"},children:(0,b.jsx)(be,{person:a,rings:l,facts:u,filter:v,tierColors:f,size:240})}),(0,b.jsx)(bf,{rings:l,totals:m,shown:C?w:null}),D,E,r&&(0,b.jsxs)(bi,{onClose:()=>s(!1),title:`${a.name}’s circle`,children:[(0,b.jsx)(be,{person:a,rings:l,facts:u,filter:v,tierColors:f,size:640,labels:!0,onPick:a=>{s(!1),g?.(a)}}),(0,b.jsx)(bf,{rings:l,totals:m,shown:C?w:null}),D,(0,b.jsx)(bh,{}),E]})]})}function be({person:a,rings:d,facts:e,filter:f,tierColors:g,size:h,labels:i=!1,onPick:j}){let k=(0,c.useMemo)(()=>(function(a=[],b=240){let c=b/2,d=a.length,e=a=>c*(1===d?.78:.4+a/(d-1)*.52),f=a.map(a=>{let b=new Map;for(let c of a.people)b.has(c.parentId)||b.set(c.parentId,[]),b.get(c.parentId).push(c);return b}),g=(a,b)=>f[a+1]?.get(b)||[],h=new Map;for(let b=d-1;b>=0;b--)for(let c of a[b].people){let a="connected"===c.state?g(b,c.row.id).reduce((a,b)=>a+h.get(b),0):0;h.set(c,Math.max(1,a))}let i=[],j=[],k=new Map,l=-Math.PI/2;for(let m=0;m<d;m++){let n=e(m),o=X(2*Math.PI*n/Math.max(1,a[m].people.length)*.32,.8,b/60),p=[];for(let[a,b]of f[m]){let[d,e]=0===m?[l,l+2*Math.PI]:k.get(a)||[l,l+2*Math.PI],f=b.reduce((a,b)=>a+h.get(b),0),g=d;for(let a of b){let b=(e-d)*h.get(a)/f,i=g+b/2,j=c+n*Math.cos(i),l=c+n*Math.sin(i);p.push({...a,angle:i,x:j,y:l}),"connected"===a.state&&k.set(a.row.id,[g,g+b]),g+=b}}if(m+1<d){let a=e(m+1);for(let b of p){if("connected"!==b.state||!g(m,b.row.id).length)continue;let[d,e]=k.get(b.row.id),f=(d+e)/2;j.push({x1:b.x,y1:b.y,x2:c+a*Math.cos(f),y2:c+a*Math.sin(f)})}}i.push({degree:a[m].degree,radius:n,dotR:o,items:p})}return{size:b,center:{x:c,y:c},rings:i,spokes:j}})(d,h),[d,h]),l=k.center,m=h/240;return(0,b.jsxs)("svg",{viewBox:`0 0 ${h} ${h}`,width:"100%",style:{display:"block",maxWidth:h,margin:"0 auto"},role:"img","aria-label":`${a.name}'s circle, ${d.length} ${1===d.length?"ring":"rings"}`,children:[k.rings.map(a=>(0,b.jsxs)("g",{children:[(0,b.jsx)("circle",{cx:l.x,cy:l.y,r:a.radius,fill:"none",stroke:"rgba(255,255,255,0.07)",strokeWidth:.6*m}),(0,b.jsxs)("text",{x:l.x,y:l.y-a.radius-a.dotR-3*m,textAnchor:"middle",fontSize:6.5*m,fill:"#666",fontWeight:700,children:["D",a.degree]})]},a.degree)),k.spokes.map((a,c)=>(0,b.jsx)("line",{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,stroke:"rgba(0,255,136,0.35)",strokeWidth:.7*m},c)),k.rings.map(a=>a.items.map(c=>{let d=e.get(c.key),h=aN(d,f),k=g[c.row.tier]||"#888",l="connected"===c.state?1.7*a.dotR:a.dotR,m=[`${c.row.name} \xb7 ${c.row.tier}-tier${null!=c.row.power_score?` \xb7 ${Number(c.row.power_score).toFixed(1)}`:""}`,"connected"===c.state?"You added them":"requested"===c.state?"Request sent":null,d?.mutuals?`${aL(d.rarity)?.label}: ${d.mutuals.count} mutual${1===d.mutuals.count?"":"s"}${"scans"===d.mutuals.from?" (from your scans)":""}`:null].filter(Boolean).join("\n");return(0,b.jsxs)("g",{opacity:h?1:.12,style:j?{cursor:"pointer"}:void 0,onClick:j?a=>{a.stopPropagation(),j(c.row)}:void 0,children:[(0,b.jsx)("title",{children:m}),"requested"===c.state?(0,b.jsx)("circle",{cx:c.x,cy:c.y,r:1.25*l,fill:"none",stroke:k,strokeWidth:Math.max(.5,.45*l),strokeDasharray:`${Math.max(.6,.55*l)} ${Math.max(.5,.45*l)}`}):(0,b.jsx)("circle",{cx:c.x,cy:c.y,r:l,fill:k,stroke:"connected"===c.state?bc:"none",strokeWidth:Math.max(.6,.3*l)}),i&&"connected"===c.state&&(0,b.jsx)("text",{x:c.x,y:c.y-l-3,textAnchor:"middle",fontSize:9,fill:bc,fontWeight:700,children:String(c.row.name||"").split(" ")[0]})]},c.key)})),(0,b.jsx)("circle",{cx:l.x,cy:l.y,r:7*m,fill:g[a.tier]||"#888",stroke:"#fff",strokeWidth:.8*m}),(0,b.jsx)("text",{x:l.x,y:l.y+2.4*m,textAnchor:"middle",fontSize:6.5*m,fontWeight:800,fill:"S"===a.tier?"#000":"#fff",children:String(a.name||"?").charAt(0)})]})}function bf({rings:a,totals:c,shown:d}){return(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#aaa",marginTop:6,lineHeight:1.5},children:[a.map(a=>`D${a.degree} ${a.people.length.toLocaleString("en-US")}`).join(" · "),c.connected>0&&(0,b.jsxs)("span",{style:{color:bc},children:[" · you added ",c.connected]}),c.requested>0&&(0,b.jsxs)("span",{style:{color:"#FFD700"},children:[" · ",c.requested," ",1===c.requested?"request":"requests"," out"]}),null!=d&&(0,b.jsxs)("span",{style:{color:"#fff"},children:[" · ",d.toLocaleString("en-US")," shown"]})]})}function bg({tierColors:a,byTier:c,byRarity:d,tiers:e,rarities:f,onTier:g,onRarity:h,onClear:i}){let j=(a,b)=>({height:22,padding:"0 7px",borderRadius:11,cursor:"pointer",fontSize:10,fontWeight:700,whiteSpace:"nowrap",border:`1px solid ${a?b:"rgba(255,255,255,0.1)"}`,background:a?`${b}22`:"rgba(255,255,255,0.03)",color:a?b:"#999"});return(0,b.jsxs)("div",{style:{marginTop:8,display:"flex",flexDirection:"column",gap:5},children:[(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[(0,b.jsx)("span",{style:bm,children:"Tier"}),bb.map(d=>(0,b.jsxs)("button",{type:"button","aria-pressed":e.has(d),onClick:()=>g(d),style:j(e.has(d),a[d]||"#888"),children:[d," ",(0,b.jsx)("span",{style:{fontWeight:500,opacity:.8},children:c[d]})]},d))]}),(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[(0,b.jsx)("span",{style:bm,children:"Rarity"}),aJ.map(a=>(0,b.jsxs)("button",{type:"button","aria-pressed":f.has(a.key),onClick:()=>h(a.key),title:`${a.label}: ${a.range} mutual connection${"1"===a.range?"":"s"}`,style:j(f.has(a.key),a.color),children:[a.label," ",(0,b.jsx)("span",{style:{fontWeight:500,opacity:.8},children:d[a.key]})]},a.key)),(e.size>0||f.size>0)&&(0,b.jsx)("button",{type:"button",onClick:i,style:bn,children:"Clear"})]})]})}function bh(){let a=(a,c)=>(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,marginRight:12,whiteSpace:"nowrap"},children:[a,c]});return(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#999",marginTop:8,lineHeight:1.8},children:[a((0,b.jsx)("svg",{width:"10",height:"10",children:(0,b.jsx)("circle",{cx:"5",cy:"5",r:"4",fill:"#FFD700"})}),"colour = tier"),a((0,b.jsx)("svg",{width:"12",height:"12",children:(0,b.jsx)("circle",{cx:"6",cy:"6",r:"4",fill:"#9B59B6",stroke:bc,strokeWidth:"1.5"})}),"you added them"),a((0,b.jsx)("svg",{width:"12",height:"12",children:(0,b.jsx)("circle",{cx:"6",cy:"6",r:"4.2",fill:"none",stroke:"#3498DB",strokeWidth:"1.4",strokeDasharray:"2 1.6"})}),"request sent")]})}function bi({title:a,onClose:d,children:e}){return(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&d()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[d]),(0,a6.createPortal)((0,b.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":a,onClick:d,style:{position:"fixed",inset:0,zIndex:300,background:"rgba(0,0,0,0.78)",display:"flex",alignItems:"center",justifyContent:"center",padding:16},children:(0,b.jsxs)("div",{onClick:a=>a.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,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,b.jsx)("div",{style:{fontSize:14,fontWeight:800,color:"#fff"},children:a}),(0,b.jsx)("button",{type:"button",onClick:d,style:{...bn,fontSize:12},children:"Close ✕"})]}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"#888",marginBottom:8},children:"Click a dot to open that person."}),e]})}),document.body)}function bj(){let a=document.getElementById("scan-box");a&&(a.scrollIntoView({behavior:"smooth",block:"center"}),a.animate?.([{boxShadow:"0 0 0 3px rgba(255,215,0,0.75)"},{boxShadow:"0 0 0 0 rgba(255,215,0,0)"}],{duration:1600}),a.querySelector("button:not([disabled])")?.focus({preventScroll:!0}))}function bk({children:a}){return(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#FF6B35",letterSpacing:1,textTransform:"uppercase",marginBottom:6},children:a})}let bl={background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.07)",borderRadius:10,padding:10,marginBottom:16},bm={fontSize:9,color:"#666",textTransform:"uppercase",letterSpacing:.5,width:38,flexShrink:0},bn={background:"none",border:"none",color:"#888",fontSize:10.5,fontWeight:600,cursor:"pointer",padding:0};var bo=a.i(75857);function bp({selected:a,stats:d,tierColors:e,connections:f,degree2:i=[],mode:j,collapsed:k,filter:l,pending:m=[],onToggle:n,onSelect:o,onSwitchMode:p,onFocusNode:q,onMarkSent:r,onUndoPending:s,scanNotes:t,csvSource:u=null}){let v,w,x="degrees"===j,y=!u,{userId:z,userProfile:A}=(0,bo.useUser)(),[B,C]=(0,c.useState)(""),D=(0,c.useMemo)(()=>{let a={};return i.forEach(b=>{b.source_connection_id&&(a[b.source_connection_id]||(a[b.source_connection_id]=[]),a[b.source_connection_id].push(b))}),a},[i]),E=(0,c.useMemo)(()=>(0,S.routeIndex)(i),[i]),F=(0,c.useMemo)(()=>new Map(f.map(a=>[a.id,a])),[f]),G=(0,g.default)(),I=(0,c.useCallback)(a=>(0,h.hasRequest)(a,G),[G]);if(a){let c,d,g,j,l=1===a.degree&&D[a.id],m=D[a.id]||[],q=2===a.degree?(0,S.routesFor)(a,E,F):[];return(0,b.jsxs)(bq,{collapsed:k,onToggle:n,children:[(0,b.jsxs)("button",{onClick:()=>o&&o(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,b.jsx)("span",{style:{fontSize:16},children:"←"})," Back to list"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8,letterSpacing:1,textTransform:"uppercase"},children:2===a.degree?"Degree 2 Connection":"Degree 1 Connection"}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,flexWrap:"wrap"},children:[(0,b.jsx)("div",{style:{background:2===a.degree?"#FF6B35":e[a.tier],color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:700},children:2===a.degree?`DEGREE 2 \xb7 TIER ${a.tier}`:`TIER ${a.tier}`}),a.unlocked_from_name&&(0,b.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===a.degree?"You met them through ":"Reachable through ",(0,b.jsx)("b",{style:{color:"#cfe6f7"},children:a.unlocked_from_name})]}),a.is_catalyst&&(0,b.jsx)("div",{style:{background:"#00ff88",color:"#000",display:"inline-block",padding:"2px 10px",borderRadius:12,fontSize:11,fontWeight:800,letterSpacing:.5},children:"CATALYST"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"center",marginBottom:16},children:[(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:a.name,style:{width:52,height:52,borderRadius:"50%",objectFit:"cover",border:`2px solid ${e[a.tier]||"#555"}`,flexShrink:0},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:52,height:52,borderRadius:"50%",flexShrink:0,background:e[a.tier]||"#555",display:(0,H.localPhoto)(a.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,color:"S"===a.tier?"#000":"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("h2",{style:{fontSize:18,fontWeight:700,margin:0},children:a.name}),(0,b.jsx)("p",{style:{color:"#aaa",fontSize:11,margin:"3px 0 0",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,60)}),a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"#0077B5",textDecoration:"none",fontWeight:600},children:"View on LinkedIn"})]})]}),1===a.degree&&(0,b.jsx)(bd,{person:a,connections:f,degree2:i,tierColors:e,onSelect:o,isRequested:I,canScan:y}),a.is_catalyst&&(0,b.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,b.jsx)("div",{style:{fontSize:10,color:"#00ff88",fontWeight:700,marginBottom:4,letterSpacing:1},children:"CATALYST NODE"}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#ccc"},children:["This person's network power exceeds their own tier. They connect to"," ",(0,b.jsxs)("strong",{style:{color:"#00ff88"},children:[a.catalyst_score," S+A tier"]})," ","people — making them a high-value stepping stone to reach elite connections."]})]}),2===a.degree&&q.length>0&&(0,b.jsx)(bt,{routes:q,selected:a,tierColors:e,onSelect:o},a.id),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:8,padding:12,marginBottom:16},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:8},children:[(0,b.jsx)("span",{style:{fontSize:11,color:"#888",fontWeight:600,letterSpacing:1,textTransform:"uppercase"},children:"Score"}),(0,b.jsx)("span",{style:{fontSize:28,fontWeight:800,color:e[a.tier]||"#fff"},children:parseFloat(a.power_score).toFixed(1)})]}),a.score_why&&(0,b.jsx)("div",{style:{fontSize:11,color:"#aab7b7",lineHeight:1.5,marginBottom:10},children:a.score_why}),(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Title"}),(0,b.jsxs)("span",{children:[a.seniority_score||0,"/10"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${10*(a.seniority_score||0)}%`,background:e[a.tier]||"#FFD700",borderRadius:2}})})]}),(0,b.jsxs)("div",{style:{marginBottom:6*(a.circle_power>0)},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Company"}),(0,b.jsxs)("span",{children:[a.company_prestige_score||0,"/10"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${10*(a.company_prestige_score||0)}%`,background:"#3498DB",borderRadius:2}})})]}),a.circle_power>0&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#888",marginBottom:2},children:[(0,b.jsx)("span",{children:"Circle Power"}),(0,b.jsxs)("span",{style:{color:"#FF6B35"},children:[a.circle_s_count||0,"S · ",a.circle_a_count||0,"A"]})]}),(0,b.jsx)("div",{style:{height:4,background:"rgba(255,255,255,0.08)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.min(parseFloat(a.circle_power)/70*100,100)}%`,background:"#FF6B35",borderRadius:2}})})]})]}),(0,b.jsxs)("div",{style:{marginBottom:16},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#FFD700",letterSpacing:1,marginBottom:6,textTransform:"uppercase"},children:"Why This Matters"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:11,color:"#ccc"},children:(function(a,b,c,d=[]){let e=[],f=(a.headline||"").toLowerCase(),g=(a.role||"").toLowerCase(),h=(a.company||"").toLowerCase(),i=b.sectors.map(a=>a.toLowerCase());g.match(/ceo|chief|founder|president|chairman/i)?e.push({icon:"👑",text:`${a.role} — C-suite executive, highest leverage contact`,color:"#FFD700"}):g.match(/vp|vice president|svp|evp|managing director/i)?e.push({icon:"⚡",text:`${a.role} — VP-level, strong decision-making authority`,color:"#FFD700"}):g.match(/director|head of|senior director/i)?e.push({icon:"🎯",text:`${a.role} — Senior leadership, controls team/budget`,color:"#FF6B35"}):g.match(/manager|lead|principal/i)&&e.push({icon:"📊",text:`${a.role} — Mid-senior, operational influence`,color:"#3498DB"});let{now:j,before:k}=(0,a7.topCompanies)(a);j&&e.push({icon:"🏢",text:`At ${j.name} (${j.score}/10) — top-tier company network access`,color:"#9B59B6"}),k&&e.push({icon:"📜",text:`Former ${k.name} (${k.score}/10) — carries network from previous role`,color:"#95A5A6"});let l=i.filter(a=>f.includes(a)||h.includes(a));l.length>0&&e.push({icon:"🔗",text:`Shared sector: ${l.join(", ")} — direct industry relevance to you`,color:"#2ECC71"});let m=c.filter(b=>b.source_connection_id===a.id).length;if(m>0){let b=c.filter(b=>b.source_connection_id===a.id&&"S"===b.tier).length;e.push({icon:"🌐",text:`Gateway to ${m} degree-2 connections${b>0?` (${b} S-tier)`:""}`,color:"#FF6B35"})}if(a.is_catalyst&&e.push({icon:"⚡",text:"Catalyst — network power exceeds personal tier, high stepping-stone value",color:"#00ff88"}),2===a.degree&&d.length>0){let a=d.filter(a=>a.bridge);if(1===d.length)e.push(a.length?{icon:"🤝",text:`Reachable via ${a[0].bridge.name} (${a[0].bridge.tier}-tier)`,color:"#3498DB"}:{icon:"🤝",text:"Reachable through a connection we can’t name",color:"#888"});else{let b=a.slice(0,2).map(a=>`${String(a.bridge.name||"").trim().split(/\s+/)[0]} (${a.bridge.tier})`),c=d.length-b.length,f=0===b.length?"connections we can’t name":c>0?`${b.join(", ")} and ${c} more`:b.join(" and ");e.push({icon:"🤝",text:`Reachable ${d.length} ways — via ${f}`,color:"#3498DB"})}}return 0===e.length&&e.push({icon:"📌",text:`${a.tier}-tier connection with ${parseFloat(a.power_score).toFixed(1)} power score`,color:"#888"}),e.slice(0,5)})(a,A||{name:"User",sectors:[],goals:[]},i,q).map((a,c)=>(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{color:a.color||"#888",fontSize:13,lineHeight:1},children:a.icon}),(0,b.jsx)("span",{children:a.text})]},c))})]}),a.company&&(0,b.jsxs)("div",{style:{marginBottom:8},children:[(0,b.jsx)("div",{style:{color:"#666",fontSize:10},children:"Company"}),(0,b.jsx)("div",{style:{fontWeight:600,fontSize:12},children:a.company})]}),a.role&&(0,b.jsxs)("div",{style:{marginBottom:12},children:[(0,b.jsx)("div",{style:{color:"#666",fontSize:10},children:"Role"}),(0,b.jsx)("div",{style:{fontSize:12},children:a.role})]}),l&&m.length>0&&(c=m.filter(a=>"S"===a.tier),d=m.filter(a=>"A"===a.tier),g=[...m].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)).slice(0,8),(0,b.jsxs)("div",{style:{marginBottom:16},children:[(0,b.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:"#FF6B35",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:["Cluster Overview — ",m.length," connections"]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8,fontSize:10},children:[c.length>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[c.length," S-tier"]}),d.length>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[d.length," A-tier"]})]}),(0,b.jsxs)("a",{href:`/queue?bridge=${a.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 ",m.filter(a=>"S"===a.tier||"A"===a.tier||"B"===a.tier).length," People"]}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:8},children:"Most valuable in this cluster:"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:g.map(a=>(0,b.jsxs)("div",{onClick:()=>o&&o(a),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 6px",borderRadius:4,cursor:"pointer",borderLeft:`2px solid ${e[a.tier]||"#555"}`,background:"rgba(255,255,255,0.03)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",flexShrink:0,fontSize:9,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:(0,H.localPhoto)(a.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,40)})]}),(0,b.jsx)("span",{style:{fontSize:9,color:e[a.tier],fontWeight:600,flexShrink:0},children:parseFloat(a.power_score).toFixed(1)})]},a.id))})]})),l&&m.length>0&&(0,b.jsxs)("div",{style:{marginTop:16},children:[(0,b.jsxs)("div",{style:{fontSize:12,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["Gateway to ",m.length," degree-2 connections:"]}),m.sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)).slice(0,10).map(a=>(0,b.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,b.jsx)("div",{style:{fontWeight:600},children:a.name}),(0,b.jsxs)("div",{style:{color:"#888",fontSize:11},children:[a.role,a.company?` @ ${a.company}`:""]}),(0,b.jsxs)("div",{style:{color:"#FF6B35",fontSize:10},children:["Score: ",parseFloat(a.power_score).toFixed(1)]})]},a.id))]}),!x&&l&&m.length>0&&p&&(0,b.jsxs)("button",{onClick:()=>{p("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 → ",m.length," connections"]}),(2===a.degree||a.source_connection_id)&&1!==a.degree&&"unlocked"!==a.unlock_status&&(j=I(a),(0,b.jsxs)("div",{style:{background:"rgba(255,215,0,0.06)",border:`1px ${j?"dashed":"solid"} rgba(255,215,0,${j?.45:.25})`,borderRadius:10,padding:16,marginTop:16,textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#FFD700",fontWeight:700,letterSpacing:1,marginBottom:6},children:j?"REQUEST SENT":"LOCKED PATH"}),(0,b.jsx)("div",{style:{fontSize:13,color:"#ccc",marginBottom:12},children:j?`Waiting for ${a.name} to accept. The next scan of your own connections notices when they do.`:`Connect with ${a.name} to unlock their network and extend your six degrees.`}),(0,b.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:j?"[ Cluster Pending... ]":"[ Hidden Network ]"}),j?(0,b.jsx)("button",{onClick:()=>{(0,h.undoRequest)(a).catch(()=>{})},style:{background:"none",border:"none",color:"#888",fontSize:11,fontWeight:600,cursor:"pointer"},children:"Didn't send it? Undo"}):(0,b.jsx)("a",{href:a.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,h.markRequested)(a,{bridgeId:a.source_connection_id}).catch(()=>{})},children:"Connect to Unlock Path"})]})),(1===a.degree||"accepted"===a.outreach_status)&&(y?(0,b.jsx)(bu,{selected:a,degree2:i},a.id):(0,b.jsx)(bv,{csvSource:u,style:{marginTop:16}})),a.profile_url&&(0,b.jsx)("a",{href:a.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(x){let a,c,g,h;return(0,b.jsxs)(bq,{collapsed:k,onToggle:n,children:[(0,b.jsxs)("button",{onClick:n,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,b.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,b.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0,color:"#FF6B35"},children:"Degrees"}),(0,b.jsx)("p",{style:{fontSize:12,color:"#888",marginBottom:12},children:"Your bridge connections and who they unlock."}),y?(0,b.jsx)(bz,{connections:f,degree2:i,scanNotes:t,tierColors:e}):(0,b.jsx)(bv,{csvSource:u,style:{marginBottom:16}}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:12},children:[(0,b.jsx)(br,{label:"Degree-2 Found",value:i.length}),(0,b.jsx)(br,{label:"D2 S-Tier",value:d?.d2Tiers?.S||0}),(0,b.jsx)(br,{label:"D2 A-Tier",value:d?.d2Tiers?.A||0}),(0,b.jsx)(br,{label:"Bridges Used",value:Object.keys(D).length})]}),(0,b.jsxs)("div",{style:{position:"relative",marginBottom:16},children:[(0,b.jsx)("input",{type:"text",placeholder:"Search bridges or d2...",value:B,onChange:a=>C(a.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"}}),B.length>=2&&(a=B.toLowerCase(),c=f.filter(b=>i.some(a=>a.source_connection_id===b.id)&&b.name.toLowerCase().includes(a)).slice(0,5),g=i.filter(b=>b.name?.toLowerCase().includes(a)).slice(0,5),0===(h=[...c.map(a=>({...a,_matchType:"bridge"})),...g.map(a=>({...a,_matchType:"d2"}))]).length?null:(0,b.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:h.map(a=>(0,b.jsxs)("div",{onClick:()=>{o(a),C(""),q&&"bridge"===a._matchType&&q(a.id)},style:{padding:"8px 12px",cursor:"pointer",display:"flex",alignItems:"center",gap:8,borderBottom:"1px solid rgba(255,255,255,0.05)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover"}}):(0,b.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",background:e[a.tier]||"#555",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666"},children:"bridge"===a._matchType?"Bridge":"Degree-2"})]}),(0,b.jsx)("span",{style:{fontSize:9,fontWeight:700,color:e[a.tier]},children:a.tier})]},a.id))}))]}),"pending"===l&&m.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:["⏳ Pending Requests (",m.length,")"]}),(0,b.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,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:m.map(a=>{let c=2===a.degree?f.find(b=>b.id===a.source_connection_id):null;return(0,b.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,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,40)}),c&&(0,b.jsxs)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:1},children:["via ",c.name?.split(" ")[0]]})]}),(0,b.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:800,color:e[a.tier]||"#888"},children:a.tier}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666"},children:parseFloat(a.power_score||0).toFixed(1)})]}),(0,b.jsx)("button",{onClick:()=>s&&s(a),title:"Remove from pending",style:{background:"none",border:"none",color:"#555",cursor:"pointer",fontSize:12,padding:2,flexShrink:0},children:"✕"})]},a.id)})})]}),"pending"!==l&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h4",{style:{fontSize:13,fontWeight:600,color:"#FF6B35",marginBottom:8},children:"Most Valuable Clusters"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:Object.entries(D).map(([a,b])=>{let c=f.find(b=>b.id===a);if(!c)return null;let d=b.length;if(0===d)return null;let e=b.filter(a=>"S"===a.tier),g=b.filter(a=>"A"===a.tier),h=b.filter(a=>"B"===a.tier),i=e.length,j=g.length,k=h.length,l=i>0?e.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/i:0,m=j>0?g.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/j:0,n=h.filter(a=>(parseFloat(a.power_score)||0)>=5).length,o=(i+j)/d,p=l/7*i*15+m/5.5*j*6+3*n+25*o+2*Math.log2(d+1)+10*!!c.is_catalyst,q=b.reduce((a,b)=>a+(parseFloat(b.power_score)||0),0)/d;return{bridge:c,members:d,sCount:i,aCount:j,bCount:k,risingCount:n,sAvgPower:l,avgPower:q,elitePct:o,clusterValue:p,sTier:e,aTier:g,topMembers:[...b].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0))}}).filter(Boolean).sort((a,b)=>b.clusterValue-a.clusterValue).map((a,c)=>(0,b.jsx)(by,{cs:a,rank:c+1,tierColors:e,onSelect:o},a.bridge.id))})]})]})}let J=[...f||[]].sort((a,b)=>(parseFloat(b.power_score)||0)-(parseFloat(a.power_score)||0)),K=B.length>=2?J.filter(a=>a.name.toLowerCase().includes(B.toLowerCase())).slice(0,8):[];return(0,b.jsxs)(bq,{collapsed:k,onToggle:n,children:[(0,b.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:12,fontWeight:600},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Close"]}),(0,b.jsx)("h3",{style:{fontSize:16,fontWeight:700,marginTop:0},children:"Network Circle"}),d&&(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,marginBottom:16},children:[(0,b.jsx)(br,{label:"Total Connections",value:d.total}),(0,b.jsx)(br,{label:"S-Tier",value:d.tiers?.S||0}),(0,b.jsx)(br,{label:"A-Tier",value:d.tiers?.A||0}),(0,b.jsx)(br,{label:"B-Tier",value:d.tiers?.B||0})]}),(0,b.jsxs)("div",{style:{position:"relative",marginBottom:12},children:[(0,b.jsx)("input",{type:"text",placeholder:"Search connections...",value:B,onChange:a=>C(a.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"}}),K.length>0&&(0,b.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:K.map(a=>(0,b.jsxs)("div",{onClick:()=>{o&&o(a),q&&q(a.id),C("")},style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.04)"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:24,height:24,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:24,height:24,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666"},children:a.headline?.substring(0,35)})]}),(0,b.jsx)("span",{style:{fontSize:10,color:e[a.tier],fontWeight:700},children:a.tier})]},a.id))})]}),(0,b.jsxs)("h4",{style:{fontSize:13,fontWeight:600,color:"#FFD700",marginBottom:8},children:["Power Rankings (",J.length,")"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:(v={},w={},J.forEach(a=>{w[a.tier]=(w[a.tier]||0)+1}),J.map((a,c)=>{let d=c>0?J[c-1].tier:null,f=a.tier!==d;f&&(v[a.tier]=0),v[a.tier]=(v[a.tier]||0)+1;let g=v[a.tier];return(0,b.jsxs)("div",{children:[f&&(0,b.jsxs)("div",{style:{padding:"8px 10px",marginTop:8*(c>0),marginBottom:4,background:`${e[a.tier]||"#555"}15`,borderLeft:`3px solid ${e[a.tier]||"#555"}`,borderRadius:4,fontSize:11,fontWeight:700,color:e[a.tier]||"#888",display:"flex",justifyContent:"space-between"},children:[(0,b.jsx)("span",{children:{S:"S-Tier — Elite",A:"A-Tier — High Value",B:"B-Tier — Notable",C:"C-Tier — Standard",D:"D-Tier — Entry"}[a.tier]||a.tier}),(0,b.jsx)("span",{style:{fontWeight:400,opacity:.7},children:w[a.tier]||0})]}),(0,b.jsxs)("div",{onClick:()=>{o&&o(a),q&&q(a.id)},style:{padding:"6px 8px",background:"rgba(255,255,255,0.03)",borderRadius:6,borderLeft:`3px solid ${e[a.tier]||"#555"}`,cursor:"pointer",display:"flex",alignItems:"center",gap:8,transition:"background 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.1)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.03)",children:[(0,b.jsxs)("span",{style:{color:"#555",fontSize:10,fontWeight:600,minWidth:22,textAlign:"right"},children:["#",g]}),(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,background:e[a.tier]||"#555",display:(0,H.localPhoto)(a.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,color:"S"===a.tier?"#000":"#fff"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),(0,b.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:e[a.tier]||"#555"},children:parseFloat(a.power_score).toFixed(1)}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:a.tier})]})]})]},a.id)}))})]})}function bq({children:a,collapsed:d,onToggle:e}){let[f,g]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let a=()=>g(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),d)?(0,b.jsxs)("div",{onClick:e,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:a=>{a.currentTarget.style.width="120px"},onMouseLeave:a=>{a.currentTarget.style.width="36px"},children:[(0,b.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"‹"}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginRight:6,opacity:.9},children:"Details"})]}):(0,b.jsxs)("div",{style:f?{position:"fixed",top:0,right:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[f&&(0,b.jsx)("div",{onClick:e,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,b.jsx)("div",{style:{width:f?"80vw":320,minWidth:320*!f,maxWidth:f?300:320,height:"100%",borderLeft:"1px solid rgba(255,215,0,0.12)",padding:f?"12px 10px":"16px 16px",overflowY:"auto",overflowX:"hidden",background:f?"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:f?"auto":0},children:a})]})}function br({label:a,value:c}){return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",padding:"10px 12px",borderRadius:8},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginBottom:2},children:a}),(0,b.jsx)("div",{style:{fontSize:18,fontWeight:700},children:c})]})}function bs(){return(0,b.jsx)("span",{style:{color:"#555",fontSize:16},children:"→"})}function bt({routes:a,selected:d,tierColors:e,onSelect:f}){let[g,h]=(0,c.useState)(!1),i=a.length,j=g?a:a.slice(0,4),k={display:"flex",alignItems:"center",gap:6,fontSize:13,flexWrap:"wrap"};return(0,b.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,b.jsxs)("div",{style:{fontSize:10,color:"#FF6B35",fontWeight:600,marginBottom:8},children:["PATH TO THIS PERSON",i>1?` \xb7 ${i} WAYS IN`:""]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:j.map((a,c)=>{if(!a.bridge)return(0,b.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:{...k,color:"#888",fontStyle:"italic"},children:[(0,b.jsx)("span",{style:{fontWeight:700,fontStyle:"normal",color:"#fff"},children:"You"}),(0,b.jsx)(bs,{}),(0,b.jsx)("span",{children:"a connection we can’t name"}),(0,b.jsx)(bs,{}),(0,b.jsx)("span",{children:"them"})]},`unnamed-${a.id}`);let g=a.bridge,h=e[g.tier]||"#ccc",j=[[g.role,g.company].filter(Boolean).join(" @ "),g.tier?`${g.tier}-tier`:""].filter(Boolean).join(" · ");return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:k,children:[(0,b.jsx)("span",{style:{fontWeight:700},children:"You"}),(0,b.jsx)(bs,{}),(0,b.jsxs)("button",{onClick:()=>f&&f(g),title:`Open ${g.name}`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:0,border:"none",background:"none",cursor:"pointer",color:h,fontWeight:600,fontSize:13,textAlign:"left"},children:[(0,b.jsx)(aQ,{person:g,size:18,tierColors:e}),g.name]}),(0,b.jsx)(bs,{}),(0,b.jsx)("span",{style:{color:"#FF6B35",fontWeight:600},children:d.name}),0===c&&i>1&&(0,b.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"})]}),j&&(0,b.jsx)("div",{style:{fontSize:11,color:"#888",marginTop:3},children:j})]},a.id)})}),i>4&&(0,b.jsx)("button",{onClick:()=>h(a=>!a),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:g?"Show fewer":`Show all ${i}`})]})}function bu({selected:a,degree2:d}){let g=(0,f.default)(),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(void 0),n=d?.filter(b=>b.source_connection_id===a.id).length||0,o=n>0,p=g.running&&(0,e.scansCircleOf)(g,a),q=g.running&&!p?(0,e.busyReason)(g):null,r=g.finished.find(b=>(0,e.scansCircleOf)(b,a)),s=g.finished[0]?.startedAt??null;async function t(b){k(null),i(!0);let c=(0,e.notReadyMessage)(await (0,e.scraperStatus)().catch(()=>null));if(i(!1),c)return void k({text:c,offline:!0});try{await (0,e.beginScrape)(b,"resume"===b?{id:a.id}:{name:a.name,id:a.id})}catch(a){k({text:a.message||"Could not start the scan."})}}(0,c.useEffect)(()=>{let b=!0;return(0,e.resumePoint)(a.id).then(a=>{b&&m(a)},()=>{b&&m(null)}),()=>{b=!1}},[a.id,s]);let u=o||!!l,v=o?"#00ff88":"#9B59B6",w=!!q||h,x=a=>({flex:1,padding:"11px 8px",borderRadius:8,fontWeight:700,fontSize:a?13:12,cursor:w?"not-allowed":"pointer",opacity:w?.45:1,...a?{border:"none",background:"linear-gradient(135deg, #9B59B6, #3498DB)",color:"#fff"}:{border:`1px solid ${v}55`,background:`${v}14`,color:v}});return(0,b.jsxs)("div",{id:"scan-box",style:{background:o?"rgba(0,255,136,0.06)":"rgba(155,89,182,0.08)",border:`1px solid ${o?"rgba(0,255,136,0.2)":"rgba(155,89,182,0.3)"}`,borderRadius:10,padding:16,marginTop:16},children:[(0,b.jsx)("div",{style:{fontSize:10,color:v,fontWeight:700,letterSpacing:1,marginBottom:4,textAlign:"center"},children:o?"CLUSTER ACTIVE":"CREATE CLUSTER"}),(0,b.jsx)("div",{style:{fontSize:12,color:"#aaa",marginBottom:12,textAlign:"center"},children:o?`${n} connections mapped in Six Degrees`:(0,b.jsxs)(b.Fragment,{children:["Scan ",a.name,"'s connections to map their network"]})}),p?(0,b.jsx)(bw,{title:g.pending?"Starting…":`Scanning ${a.name}’s circle…`,log:g.log}):j?.offline?(0,b.jsxs)(b.Fragment,{children:[(0,b.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,b.jsxs)("div",{style:{fontSize:10,color:"#888",textAlign:"center",marginBottom:8},children:[j.text," Open the ",(0,b.jsx)("strong",{children:"Scan"})," page to finish setting the scanner up."]}),(0,b.jsx)("button",{onClick:()=>k(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,b.jsxs)(b.Fragment,{children:[r&&(0,b.jsx)(bx,{job:r}),(0,b.jsxs)("div",{style:{display:"flex",gap:8},children:[l&&(0,b.jsxs)("button",{onClick:()=>t("resume"),disabled:w,style:x(!0),children:["Resume from page ",l.nextPage]}),(0,b.jsx)("button",{onClick:()=>t("bridge"),disabled:w,style:x(!l&&!o),children:u?"Rescan from the start":(0,b.jsxs)(b.Fragment,{children:["Scan ",a.name,"'s Network"]})})]}),l&&(0,b.jsxs)("div",{style:{fontSize:10,color:"#888",marginTop:8,lineHeight:1.45,textAlign:"center"},children:["Read to page ",l.pagesRead," so far. Resume carries on from page ",l.nextPage,". LinkedIn lists their connections in its own order, not by date, so Rescan reads them all again from page 1."]}),o&&null===l&&(0,b.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."}),q&&(0,b.jsxs)("div",{style:{fontSize:10,color:"#bbb",marginTop:8,textAlign:"center"},children:[q,". One scan at a time: this one can start when it finishes."]}),j&&(0,b.jsx)("div",{style:{fontSize:11,color:"#ff8080",marginTop:8,textAlign:"center"},children:j.text})]})]})}function bv({csvSource:a,style:c}){return(0,b.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)",...c},children:"sample"===a?"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 bw({title:a,log:c,small:d=!1}){return(0,b.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,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,b.jsx)("div",{style:{width:d?6:8,height:d?6:8,borderRadius:"50%",background:"#9B59B6",animation:"pulse 1s infinite"}}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"#9B59B6"},children:a})]}),(0,b.jsx)("div",{style:{fontFamily:"monospace",fontSize:d?9:10,color:"#888",maxHeight:d?80:100,overflow:"auto"},children:c.slice(-40).map((a,c)=>(0,b.jsx)("div",{children:a},c))})]})}function bx({job:a,who:c=null}){let d=0===a.exitCode,e=!d&&Array.isArray(a.failure)&&a.failure.length?a.failure[a.failure.length-1]:null;return(0,b.jsx)("div",{style:{padding:"8px 10px",borderRadius:8,marginBottom:10,fontSize:11,textAlign:"center",lineHeight:1.4,background:d?"rgba(0,255,136,0.08)":"rgba(255,80,80,0.08)",border:`1px solid ${d?"rgba(0,255,136,0.25)":"rgba(255,80,80,0.25)"}`,color:d?"#00ff88":"#ff8080"},children:d?`${c?`${c}’s circle`:"The scan"} finished. What it found is on the map.`:`${c?`${c}’s scan`:"The scan"} stopped before the end${e?`: ${e}`:"."}`})}function by({cs:a,rank:d,tierColors:e,onSelect:f}){let[g,h]=(0,c.useState)(!1);return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:6,borderLeft:`3px solid ${e[a.bridge.tier]||"#FF6B35"}`,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{padding:"10px 10px"},children:[(0,b.jsxs)("div",{onClick:()=>f&&f(a.bridge),style:{cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:4},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,H.localPhoto)(a.bridge.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.bridge.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${e[a.bridge.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:11,fontWeight:700,background:e[a.bridge.tier]||"#555",color:"S"===a.bridge.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.bridge.name?.charAt(0)}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{fontWeight:600,fontSize:12},children:[(0,b.jsxs)("span",{style:{color:"#555",marginRight:4},children:["#",d]}),a.bridge.name]}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666"},children:a.bridge.headline?.substring(0,40)})]})]}),(0,b.jsx)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:4,background:e[a.bridge.tier],color:"S"===a.bridge.tier?"#000":"#fff"},children:a.bridge.tier})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginTop:6,fontSize:10},children:[a.sCount>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[a.sCount,"S",a.sAvgPower>0?` (${a.sAvgPower.toFixed(1)})`:""]}),a.aCount>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[a.aCount,"A"]}),a.bCount>0&&(0,b.jsxs)("span",{style:{color:"#3498DB"},children:[a.bCount,"B"]}),a.risingCount>0&&(0,b.jsxs)("span",{style:{color:"#2ECC71"},children:[a.risingCount," rising"]}),(0,b.jsxs)("span",{style:{color:"#555"},children:[a.members," total"]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:4,fontSize:10},children:[(0,b.jsxs)("span",{style:{color:"#666"},children:["Elite: ",(100*a.elitePct).toFixed(0),"% · Avg: ",a.avgPower.toFixed(1)]}),(0,b.jsx)("span",{style:{color:"#FF6B35",fontWeight:700},children:a.clusterValue.toFixed(1)})]}),(a.sTier.length>0||a.aTier.length>0)&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginTop:8},children:[[...a.sTier,...a.aTier].slice(0,4).map(a=>(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:a.name,style:{width:22,height:22,borderRadius:"50%",objectFit:"cover",border:`1.5px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"},title:a.name},a.id):(0,b.jsx)("div",{style:{width:22,height:22,borderRadius:"50%",fontSize:9,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},title:a.name,children:a.name?.charAt(0)},a.id)),a.sCount+a.aCount>4&&(0,b.jsxs)("span",{style:{fontSize:9,color:"#666"},children:["+",a.sCount+a.aCount-4," more"]})]}),(0,b.jsxs)("button",{onClick:()=>h(!g),style:{marginTop:6,background:"none",border:"none",color:"#888",fontSize:10,cursor:"pointer",padding:0,display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("span",{style:{fontSize:12},children:g?"▾":"▸"}),g?"Hide members":`View all ${a.members} members`]})]}),g&&(0,b.jsx)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",padding:"6px 10px 10px",maxHeight:250,overflowY:"auto"},children:a.topMembers.map(a=>(0,b.jsxs)("div",{onClick:()=>f&&f(a),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 2px",cursor:"pointer",borderRadius:4},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,H.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,H.localPhoto)(a.profile_image_url),alt:"",style:{width:20,height:20,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1px solid ${e[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:20,height:20,borderRadius:"50%",flexShrink:0,fontSize:8,fontWeight:700,background:e[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:(0,H.localPhoto)(a.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsx)("div",{style:{minWidth:0,flex:1},children:(0,b.jsx)("div",{style:{fontSize:10,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name})}),(0,b.jsxs)("span",{style:{fontSize:9,color:e[a.tier]||"#555",fontWeight:600,flexShrink:0},children:[a.tier," ",parseFloat(a.power_score).toFixed(1)]})]},a.id))})]})}function bz({connections:a,degree2:d,scanNotes:g,tierColors:h}){let i=(0,f.default)(),[j,k]=(0,c.useState)(!1),l=(0,c.useMemo)(()=>(0,Y.reachIndex)(a,d,g),[a,d,g]),m=(0,c.useMemo)(()=>(0,Y.readyToScan)(a,l),[a,l]),n=(0,c.useMemo)(()=>a.filter(a=>"hidden"===(0,Y.reachState)(a,l)),[a,l]),o=(0,c.useMemo)(()=>a.filter(a=>null===(0,Y.reachState)(a,l)&&"todo"===(0,Y.circleState)(a,l)).length,[a,l]),p=(0,c.useMemo)(()=>new Map(a.map(a=>[a.id,a])),[a]),q=(0,Y.circleScanCost)(),r=i.running&&(0,e.isCircleScan)(i),s=i.running&&!r?(0,e.busyReason)(i):null,t=i.finished.find(e.isCircleScan),u=j?m:m.slice(0,5);return(0,b.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,b.jsxs)("div",{style:{fontSize:12,fontWeight:800,color:"#00ff88",marginBottom:4},children:["Ready to scan (",m.length,")"]}),(0,b.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."}),r?(0,b.jsx)("div",{style:{marginBottom:10},children:(0,b.jsx)(bw,{small:!0,title:i.pending?"Starting…":`Scanning ${i.target?.name||"a circle"}…`,log:i.log})}):t&&(0,b.jsx)(bx,{job:t,who:t.target?.name}),0===m.length?(0,b.jsxs)("div",{style:{fontSize:11,color:"#aaa",lineHeight:1.5},children:["Nobody yet. When someone you asked from a circle accepts, ↻ ",(0,b.jsx)("b",{children:"Check for new"})," brings them into your connections, and they show here."]}):(0,b.jsxs)("div",{role:"list",style:{display:"flex",flexDirection:"column",gap:6},children:[u.map(a=>{let c=r&&(0,e.scansCircleOf)(i,a),d=p.get(a.unlocked_from_bridge_id)?.name||a.unlocked_from_name;return(0,b.jsxs)(R.default,{role:"listitem",href:`/setup?scan=${encodeURIComponent(a.id)}`,"aria-label":`Scan ${a.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,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",flexShrink:0,background:h[a.tier]||"#888",boxShadow:"0 0 0 2px rgba(0,255,136,0.45)"}}),(0,b.jsxs)("span",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700},children:a.name}),(0,b.jsx)("span",{style:{fontSize:10,color:h[a.tier]||"#888",fontWeight:700,marginLeft:6},children:a.tier}),d&&(0,b.jsxs)("span",{style:{display:"block",fontSize:10,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["was in ",String(d||"").trim().split(/\s+/)[0],"'s circle"]})]}),(0,b.jsx)("span",{style:{fontSize:10.5,fontWeight:700,color:"#00ff88",whiteSpace:"nowrap"},children:c?"Scanning…":"Scan… →"})]},a.id)}),m.length>5&&(0,b.jsx)("button",{type:"button",onClick:()=>k(a=>!a),style:{background:"none",border:"none",color:"#888",fontSize:10.5,fontWeight:600,cursor:"pointer",padding:"2px 0",textAlign:"left"},children:j?"Show fewer":`Show all ${m.length}`})]}),m.length>0&&(0,b.jsxs)("div",{style:{fontSize:10,color:"#888",lineHeight:1.5,marginTop:8},children:["Each scan: ",q.profileViews," profile view, then one LinkedIn search for every page of their list, up to ",q.searches," pages (about ",q.minutes," min for a whole list). Nothing starts until you confirm it on the Scan page."]}),n.length>0&&(0,b.jsxs)("div",{style:{marginTop:10,fontSize:10.5,color:"#777",lineHeight:1.6},children:[n.slice(0,3).map(a=>(0,b.jsxs)("div",{style:{opacity:.7},children:[(0,b.jsx)("span",{"aria-hidden":"true",children:"🔒"})," ",a.name," ",(0,b.jsx)("span",{style:{color:"#666"},children:"· their list is hidden"})]},a.id)),n.length>3&&(0,b.jsxs)("div",{style:{opacity:.7},children:["🔒 and ",n.length-3," more with hidden lists"]})]}),o>0&&(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#888",lineHeight:1.5,marginTop:10},children:[o.toLocaleString("en-US")," of your other connections aren't scanned yet."," ",(0,b.jsx)(R.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"Map them in batches on the Scan page →"})]}),s&&(0,b.jsxs)("div",{style:{fontSize:10,color:"#bbb",marginTop:8},children:[s,". One scan at a time."]})]})}let bA={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function bB({collapsed:a,onToggle:d,mode:e,filter:f,onFilterChange:g,visualMode:h,onVisualModeChange:i,tierCounts:j,bridgeTierCounts:k}){let l=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),m="degrees"===e,n=a5(m?"degrees":"network"),o=m?k||{}:j||{},p=m?Object.values(k||{}).reduce((a,b)=>a+b,0):Object.values(j||{}).reduce((a,b)=>a+b,0);return a?(0,b.jsxs)("div",{onClick:d,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:a=>{a.currentTarget.style.width="120px"},onMouseLeave:a=>{a.currentTarget.style.width="36px"},children:[(0,b.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"›"}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginLeft:6,opacity:.9},children:"Filters"})]}):(0,b.jsxs)("div",{style:l?{position:"fixed",top:0,left:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[l&&(0,b.jsx)("div",{onClick:d,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,b.jsxs)("div",{style:{width:l?"80vw":320,minWidth:320*!l,maxWidth:l?300:320,height:"100%",borderRight:"1px solid rgba(52,152,219,0.15)",padding:l?"12px 10px":"16px 14px",overflowY:"auto",overflowX:"hidden",background:l?"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,b.jsxs)("button",{onClick:d,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,b.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),(0,b.jsxs)("div",{style:{marginBottom:18},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Visual"}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:n.map(a=>(0,b.jsxs)("button",{onClick:()=>i&&i(a.key),style:{display:"flex",alignItems:"center",gap:8,padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",textAlign:"left",background:h===a.key?"rgba(52,152,219,0.15)":"rgba(255,255,255,0.03)",color:h===a.key?"#3498DB":"#888",transition:"all 0.15s"},children:[(0,b.jsx)("span",{style:{fontSize:14,width:20,textAlign:"center"},children:a.icon}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600},children:a.label}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555",marginTop:1},children:a.desc})]})]},a.key))})]}),(0,b.jsxs)("div",{style:{marginBottom:18},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:m?"Filter by bridge tier":"Filter"}),(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:[(0,b.jsxs)("button",{onClick:()=>g&&g("all"),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:"all"===f?"rgba(255,255,255,0.12)":"rgba(255,255,255,0.03)",color:"all"===f?"#fff":"#888"},children:[(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600},children:"All"}),(0,b.jsx)("span",{style:{fontSize:10,color:"#555"},children:p})]}),["S","A","B","C","D"].map(a=>(0,b.jsxs)("button",{onClick:()=>g&&g(a),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"7px 10px",borderRadius:6,border:"none",cursor:"pointer",width:"100%",background:f===a?`${bA[a]}20`:"rgba(255,255,255,0.03)",color:f===a?bA[a]:"#888",borderLeft:f===a?`3px solid ${bA[a]}`:"3px solid transparent"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("div",{style:{width:8,height:8,borderRadius:"50%",background:bA[a],opacity:f===a?1:.4}}),(0,b.jsxs)("span",{style:{fontSize:11,fontWeight:600},children:[a,"-Tier"]})]}),(0,b.jsx)("span",{style:{fontSize:10,color:"#555"},children:o[a]||0})]},a))]})]}),(0,b.jsxs)("div",{style:{borderTop:"1px solid rgba(255,255,255,0.06)",paddingTop:12},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Stats"}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[Object.entries(o).filter(([a])=>["S","A","B"].includes(a)).map(([a,c])=>(0,b.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:`${bA[a]}10`,textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:16,fontWeight:800,color:bA[a]},children:c}),(0,b.jsxs)("div",{style:{fontSize:8,color:"#555"},children:[a,"-Tier"]})]},a)),(0,b.jsxs)("div",{style:{padding:"6px 8px",borderRadius:6,background:"rgba(255,255,255,0.04)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:16,fontWeight:800,color:"#fff"},children:p}),(0,b.jsx)("div",{style:{fontSize:8,color:"#555"},children:"Total"})]})]})]})]})]})}var bC=a.i(36839),bD=a.i(58834);function bE(){let[a,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)("");async function g(){d(!0),f("");try{await (0,bD.loadSampleIntoSession)(),window.location.reload()}catch(a){f(a.message||"Could not load the sample network."),d(!1)}}return(0,b.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,overflowY:"auto"},children:(0,b.jsxs)("div",{style:{maxWidth:520,width:"100%",textAlign:"center"},children:[(0,b.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,b.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,b.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,b.jsx)(bF,{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,b.jsx)(bF,{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,b.jsx)(bF,{onClick:g,disabled:a,title:a?"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."}),e&&(0,b.jsx)("div",{style:{color:"#ff6b6b",fontSize:13,marginTop:18},children:e}),(0,b.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,b.jsx)("a",{href:"/settings#data",style:{color:"rgba(255,255,255,0.75)"},children:"Import your saved copy in Settings → Your data."})]})]})})}function bF({href:a,onClick:c,disabled:d,primary:e,badge:f,title:g,body:h}){let i={display:"block",width:"100%",boxSizing:"border-box",textAlign:"left",padding:"16px 18px",borderRadius:12,marginBottom:12,textDecoration:"none",cursor:d?"default":"pointer",font:"inherit",border:e?"1px solid rgba(255,215,0,0.45)":"1px solid rgba(255,255,255,0.12)",background:e?"linear-gradient(135deg, rgba(255,215,0,0.12), rgba(155,89,182,0.14))":"rgba(255,255,255,0.03)",color:"#fff"},j=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:5},children:[(0,b.jsx)("span",{style:{fontSize:15.5,fontWeight:750},children:g}),f&&(0,b.jsx)("span",{style:{fontSize:10.5,fontWeight:800,letterSpacing:.5,textTransform:"uppercase",padding:"3px 8px",borderRadius:20,background:"#FFD700",color:"#0a0a1a"},children:f}),(0,b.jsx)("span",{style:{marginLeft:"auto",color:"rgba(255,255,255,0.4)"},children:"→"})]}),(0,b.jsx)("div",{style:{fontSize:13,color:"rgba(255,255,255,0.5)",lineHeight:1.6},children:h})]});return a?(0,b.jsx)("a",{href:a,style:i,children:j}):(0,b.jsx)("button",{onClick:c,disabled:d,style:i,children:j})}var bG=a.i(42510);let bH=[],bI=a=>!!a&&!["install","setup","login"].includes(a.action);function bJ(a,b){let c={};a.forEach(a=>{c[a.tier]=(c[a.tier]||0)+1});let d={};return b.forEach(a=>{d[a.tier]=(d[a.tier]||0)+1}),{total:a.length,tiers:c,d2Total:b.length,d2Tiers:d}}let bK={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function bL(){let a,f,j,k,{userId:l,userName:m}=(0,bo.useUser)(),n=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=()=>b(window.innerWidth<768);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),a}(),[o,p]=(0,c.useState)([]),[q,r]=(0,c.useState)([]),[s,t]=(0,c.useState)(null),u=(0,c.useRef)(null),[v,w]=(0,c.useState)("all"),x=(0,d.useSearchParams)().get("chain"),[y,z]=(0,c.useState)(x),[A,B]=(0,c.useState)(()=>y?"degrees":"network"),[C,D]=(0,c.useState)(!0),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)(!0),[I,J]=(0,c.useState)(!0),[K,L]=(0,c.useState)(()=>y?"chain":"galaxy"),[M,N]=(0,c.useState)([]),[O,P]=(0,c.useState)(!1),[Q,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)("csv"),[V,W]=(0,c.useState)(e.NO_SCAN_NOTES),X=(0,c.useRef)(""),Y=(0,h.requestCount)((0,g.default)());(0,c.useEffect)(()=>{l&&(a(),bD.IS_DEMO||(0,bG.hasCsvNetwork)()||((0,e.loadScanNotes)().then(W),fetch(`/api/notifications?userId=${l}`).then(a=>a.json()).then(a=>N(a.notifications||[])).catch(()=>{})));async function a(){let a=(0,bG.hasCsvNetwork)()?(0,bG.loadCsvNetwork)():null;a&&(S(!0),U(a.source||"csv"));let{degree1:b,degree2:c}=bD.IS_DEMO?await (0,bD.loadDemoNetwork)():a||await (async()=>await (0,i.loadNetwork)(l))();p(b),r(c),X.current=bM(b,c),F(bJ(b,c)),D(!1)}},[l]);let Z=(0,c.useCallback)(async()=>{if(!(bD.IS_DEMO||(0,bG.hasCsvNetwork)())&&l)try{let[{degree1:a,degree2:b},c]=await Promise.all([(0,i.loadNetwork)(l),(0,e.loadScanNotes)()]);W(a=>JSON.stringify(a)===JSON.stringify(c)?a:c);let d=bM(a,b);if(d===X.current)return;X.current=d,p(a),r(b),F(bJ(a,b))}catch{}},[l]),$=(0,c.useCallback)(()=>{z(null);try{window.history.replaceState(null,"",window.location.pathname)}catch{}},[]),_="degrees"===A,aa=(0,c.useMemo)(()=>"all"===v?o:o.filter(a=>a.tier===v),[o,v]),ab=(0,c.useMemo)(()=>new Map(o.map(a=>[a.id,a])),[o]),ac=(0,c.useMemo)(()=>new Set(q.map(a=>a.source_connection_id).filter(Boolean)),[q]),ad=(0,c.useMemo)(()=>{let a={};return o.forEach(b=>{ac.has(b.id)&&(a[b.tier]=(a[b.tier]||0)+1)}),a},[o,ac]),ae=(0,c.useMemo)(()=>_?"all"===v?q:q.filter(a=>ab.get(a.source_connection_id)?.tier===v):bH,[_,v,ab,q]),af=(0,c.useCallback)(a=>{t(a),a&&H(!1)},[]);if(C)return(0,b.jsxs)("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700},children:"Loading Six Degrees…"}),(0,b.jsx)("div",{style:{fontSize:14,color:"#888",marginTop:8},children:"Mapping your LinkedIn network"})]});let ag=(a=a3[K])&&a.modes.includes(A)?{key:K,...a}:a5(A)[0]??{key:"list",...a3.list},ah=!bD.IS_DEMO&&!Q;return(0,b.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,b.jsxs)("header",{style:{padding:n?"10px 12px":"20px 30px",borderBottom:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:n?4:8,flexWrap:n?"wrap":"nowrap",gap:6*!!n},children:[(0,b.jsx)("h1",{style:{fontSize:n?16:28,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Six Degrees"}),(0,b.jsxs)("div",{style:{display:"flex",gap:n?2:4,background:"rgba(255,255,255,0.08)",borderRadius:8,padding:n?2:3,flexWrap:n?"wrap":"nowrap"},children:[(0,b.jsx)("button",{onClick:()=>{B("network"),t(null),w("all"),L("galaxy")},style:{padding:n?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:n?11:13,fontWeight:600,cursor:"pointer",background:"network"===A?"#fff":"transparent",color:"network"===A?"#000":"#888"},children:n?"Circle":"Network Circle"}),(0,b.jsx)("button",{onClick:()=>{B("degrees"),t(null),w("all"),L("separation")},style:{padding:n?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:n?11:13,fontWeight:600,cursor:"pointer",background:"degrees"===A?"linear-gradient(135deg, #FFD700, #FF6B35)":"rgba(255,255,255,0.12)",color:"degrees"===A?"#000":"#fff"},children:"Degrees"}),Q&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginLeft:n?4:10,padding:n?"4px 8px":"5px 10px",borderRadius:999,background:"rgba(255,255,255,0.05)",border:"1px solid rgba(255,255,255,0.12)"},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"sample"===T?"#9B59B6":"#2ecc71"}}),(0,b.jsx)("span",{style:{fontSize:n?10:12,color:"rgba(255,255,255,0.65)",whiteSpace:"nowrap"},children:"sample"===T?"Sample network":"Your CSV"}),(0,b.jsx)("button",{onClick:()=>{(0,bG.clearCsvNetwork)(),window.location.href="/"},title:"sample"===T?"Leave the sample network":"Clear this import",style:{border:"none",background:"transparent",cursor:"pointer",color:"#888",fontSize:n?13:15,lineHeight:1,padding:"0 0 0 2px"},children:"×"})]}),!bD.IS_DEMO&&(0,b.jsx)(R.default,{href:"/paths",style:{padding:n?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:n?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#00ff88",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Paths"}),!bD.IS_DEMO&&!Q&&(0,b.jsx)(R.default,{href:"/scores",style:{padding:n?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:n?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FFD700",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Scores"}),!bD.IS_DEMO&&!Q&&(0,b.jsx)(R.default,{href:"/queue",style:{padding:n?"6px 10px":"8px 16px",borderRadius:6,border:"none",fontSize:n?11:13,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#FF6B35",textDecoration:"none",display:"flex",alignItems:"center",gap:4},children:"Outlink"}),!bD.IS_DEMO&&!Q&&(0,b.jsx)(R.default,{href:"/setup",style:{padding:n?"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"})]}),!bD.IS_DEMO&&(0,b.jsx)(R.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:n?28:32,height:n?28:32,borderRadius:"50%",flexShrink:0,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:n?14:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center",marginLeft:n?4:8},children:"⚙︎"}),!bD.IS_DEMO&&!Q&&(0,b.jsxs)("div",{style:{position:"relative",marginLeft:n?4:8},children:[(0,b.jsxs)("button",{onClick:()=>P(!O),style:{width:n?28:32,height:n?28:32,borderRadius:"50%",border:"none",cursor:"pointer",background:"rgba(255,255,255,0.06)",color:"#888",fontSize:n?12:14,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:["🔔",M.filter(a=>!a.seen).length>0&&(0,b.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:M.filter(a=>!a.seen).length})]}),O&&(0,b.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,b.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.08)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,b.jsx)("span",{style:{fontWeight:700,fontSize:14},children:"Notifications"}),M.filter(a=>!a.seen).length>0&&(0,b.jsx)("button",{onClick:()=>{fetch("/api/notifications",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-all-seen"})}),N(a=>a.map(a=>({...a,seen:!0})))},style:{background:"none",border:"none",color:"#3498DB",fontSize:11,cursor:"pointer",fontWeight:600},children:"Mark all read"})]}),(0,b.jsx)("div",{style:{overflowY:"auto",maxHeight:340},children:0===M.length?(0,b.jsx)("div",{style:{padding:20,textAlign:"center",color:"#555",fontSize:12},children:"No notifications yet"}):M.slice(0,20).map(a=>(0,b.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid rgba(255,255,255,0.04)",background:a.seen?"transparent":"rgba(255,215,0,0.04)"},children:(0,b.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.icon||"📌"}),(0,b.jsxs)("div",{style:{flex:1},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:a.seen?"#888":"#fff"},children:a.title}),a.message&&(0,b.jsx)("div",{style:{fontSize:10,color:"#666",marginTop:2},children:a.message}),(0,b.jsx)("div",{style:{fontSize:9,color:"#444",marginTop:3},children:new Date(a.created_at).toLocaleDateString()})]})]})},a.id))})]})]}),!bD.IS_DEMO&&!Q&&(0,b.jsx)(bO,{isMobile:n}),(0,b.jsx)("a",{href:bD.IS_DEMO?"/launch":Q?"/import":"/profile",style:{width:n?30:36,height:n?30:36,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:n?11:14,textDecoration:"none",marginLeft:n?6:12,flexShrink:0},children:(f=o.filter(a=>"S"===a.tier).length,j=o.filter(a=>"A"===a.tier).length,k=o.filter(a=>"B"===a.tier).length,Math.floor(Math.sqrt((100*f+40*j+15*k+200*o.filter(a=>ac.has(a.id)).length+50*q.filter(a=>"S"===a.tier).length+o.length)/10)))})]}),_&&!Q&&Y>0&&(0,b.jsxs)(R.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,b.jsx)("span",{style:{fontSize:10},children:"⏳"}),Y," Pending"]})]}),(0,b.jsxs)("div",{style:{display:"flex",height:n?"calc(100vh - 70px)":"calc(100vh - 130px)",position:"relative"},children:[(0,b.jsx)(bB,{collapsed:I,onToggle:()=>J(!I),mode:A,filter:v,onFilterChange:w,visualMode:K,onVisualModeChange:L,tierCounts:E?.tiers||{},bridgeTierCounts:ad}),(()=>{if(0===o.length)return(0,b.jsx)(bE,{});if(_&&0===q.length)return(0,b.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",padding:24,textAlign:"center"},children:(0,b.jsxs)("div",{style:{maxWidth:440},children:[(0,b.jsx)("div",{style:{fontSize:40,marginBottom:16,opacity:.5},children:"🔗"}),(0,b.jsx)("h2",{style:{fontSize:22,fontWeight:800,margin:"0 0 12px",color:"#fff"},children:"Degrees need 2nd-degree data"}),(0,b.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,b.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,b.jsxs)("p",{style:{color:"#666",fontSize:13,lineHeight:1.7,margin:0},children:["The local scanner maps those circles (and captures real photos)."," ",(0,b.jsx)(R.default,{href:"/setup",style:{color:"#3498DB",textDecoration:"none"},children:"Set up scanning →"})]})]})});let a=ag.component,c={connections:aa,degree2:ag.allDegree2?q:ae,onSelect:af,mode:A,userName:m,userImage:null,selectedId:s?.id??null,tierColors:bK,focusNodeRef:u,fullDegree1:o,fullDegree2:q,scanNotes:V,canScan:ah,chainOpen:y,onChainOpened:$};return(0,b.jsx)(a,{...c})})(),(0,b.jsx)(bp,{selected:s,stats:E,tierColors:bK,connections:o,degree2:q,mode:A,collapsed:G,filter:v,onToggle:()=>H(!G),onSelect:a=>{t(a||null)},onSwitchMode:a=>{B(a),w("all")},onFocusNode:a=>{u.current&&u.current(a)},csvSource:bD.IS_DEMO?"sample":Q?T:null,scanNotes:V,canScan:ah}),ah&&(0,b.jsx)(bN,{onChange:Z,live:"chain"===ag.key}),_&&"separation"!==ag.key&&(0,b.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,b.jsxs)("span",{style:{fontSize:10,color:"#666"},children:[a3.orbit.icon," ",a3.orbit.label]}),(0,b.jsx)("div",{onClick:()=>L("orbit"===ag.key?"chain":"orbit"),style:{width:32,height:18,borderRadius:9,cursor:"pointer",background:"orbit"===ag.key?"#FF6B35":"rgba(255,255,255,0.15)",position:"relative",transition:"background 0.2s"},children:(0,b.jsx)("div",{style:{width:14,height:14,borderRadius:"50%",background:"#fff",position:"absolute",top:2,left:"orbit"===ag.key?16:2,transition:"left 0.2s"}})})]})]})]})}function bM(a,b){let c=0x811c9dc5,d=a=>{for(let b=0;b<a.length;b++)c=Math.imul(c^a.charCodeAt(b),0x1000193)};for(let c of[...a,...b])d(`${c.id}|${c.degree}|${c.source_connection_id??""}|${c.unlocked_from_bridge_id??""}|${c.tier}|${c.power_score}|${c.unlock_status??""}|${c.profile_image_url??""};`);return`${a.length}:${b.length}:${c>>>0}`}function bN({onChange:a,live:b}){let d=(0,f.default)(),g=d.finished.find(bI)?.startedAt??null,h=b&&d.running&&(0,e.isCircleScan)(d);return(0,c.useEffect)(()=>{null!=g&&a()},[g,a]),(0,c.useEffect)(()=>{if(!h)return;let b=setInterval(a,2e4);return()=>clearInterval(b)},[h,a]),null}function bO({isMobile:a}){let c=(0,f.default)(),d=(0,e.busyReason)(c);return(0,b.jsx)("button",{onClick:async()=>{try{let a=(0,e.notReadyMessage)(await (0,e.scraperStatus)());if(a)return void alert(a);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,e.beginScrape)("refresh"),alert("Checking for new connections — watch it on the Scan page.")}catch(a){alert(a.message)}},disabled:!!d,title:d?`${d}. One scan at a time.`:"Check for new connections",style:{width:a?28:32,height:a?28:32,borderRadius:"50%",border:"none",cursor:d?"not-allowed":"pointer",opacity:d?.4:1,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:a?12:14,display:a?"none":"flex",alignItems:"center",justifyContent:"center",marginLeft:8},children:"↻"})}a.s(["default",0,function(){return(0,b.jsx)(bC.default,{children:(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(bL,{})})})}],30100)}];
17
19
 
18
20
  //# sourceMappingURL=app_page_1fazqbf.js.map